• 数据加密技术之加密算法


    数据加密技术

    数据加密是实现网络安全的关键技术之一,本文首先介绍加密的基本概念,然后着重讨论两类最常见的加密技术:私用密钥加密和公开密钥加密,并详细探讨了它们的特点、发展及今后的研究方向。

    加密算法

    由于Internet的快速发展,网络安全问题日益受到人们的重视。面 临计算机网络存在的潜在威胁与攻击,一个计算机网络安全管理者要为自己所管辖的网络建造起强大、安全的保护手段,可以通过以下六个安全层次完成:即修补和阻止网络漏洞,加密,认证,防火墙,安全协议和法律事务。

    数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小的代价即可为信息提供相当大的安全保护。

    一、加密的基本概念

    "加密",是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。

    加密的基本功能包括:

    1. 防止不速之客查看机密的数据文件;

    2. 防止机密数据被泄露或篡改;

    3. 防止特权用户(如系统管理员)查看私人数据文件;

    4. 使入侵者不能轻易地查找一个系统的文件。

    数据加密是确保计算机网络安全的一种重要机制,虽然由于成本、技术和管理上的复杂性等原因,目前尚未在网络中普及,但数据加密的确是实现分布式系统和网络环境下数据安全的重要手段之一。

    数据加密可在网络OSI七层协议(OSI是Open System Interconnect的缩写,意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。)的多层上实现、所以从加密技术应用的逻辑位置看,有三种方式:

    ①链路加密:通常把网络层以下的加密叫链路加密,主要用于保护通信节点间传输的数据,加解密由置于线路上的密码设备实现。根据传递的数据的同步方式又可分为同步通信加密和异步通信加密两种,同步通信加密又包含字节同步通信加密和位同步通信加密。

    ②节点加密:是对链路加密的改进。在协议传输层上进行加密,主要是对源节点和目标节点之间传输数据进行加密保护,与链路加密类似.只是加密算法要结合在依附于节点的加密模件中,克服了链路加密在节点处易遭非法存取的缺点。

    ③端对端加密:网络层以上的加密称为端对端加密。是面向网络层主体。对应用层的数据信息进行加密,易于用软件实现,且成本低,但密钥管理问题困难,主要适合大型网络系统中信息在多个发方和收方之间传输的情况。

    二、加密技术及其相关问题

    1.加密的分类

    加密类型可以简单地分为三种:

    1. 根本不考虑解密问题;

    2. 私用密钥加密技术;

    3. 公开密钥加密技术。

    第一种加密技术主要是针对一些像口令加密这样的类型,它只需要被加密,并与以前的加密进行比较;第二种和第三种加密技术是按如何使用密钥上的不同来划分的。以下主要介绍第二种和第三种加密技术。

    (1)私用密钥加密技术

    私用密钥加密利用一个密钥对数据进行加密,对方接收到数据后,需要用同一密钥来进行解密。这种加密技术的特点是数学运算量小,加密速度快,其主要弱点在于密钥管理困难,而且一旦密钥泄露则直接影响到信息的安全性。

    * 美国数据加密标准及其改进算法

    对称密钥加密技术中最具有代表性的算法是IBM公司提出的DES(Data Encryptiorn Standard)算法,该算法于1977年被美国国家标准局NBS颁布为商用数据加密标准。DES综合运用了置换、代替、代数多种密码技术,把消息分成64位大小的块,使用56位密钥,迭代轮数为l6轮的加密算法。它设计精巧,实现容易,使用方便。

    DES正式公布后,世界各国的许多公司都推出自己实现DES的软硬件产品。美国NBS至少已认可了30多种硬件和固件实现产品。硬件产品既有单片式的,也有单板式的;软件产品既有用于大中型机的,也有用于小型机和微型机的。

    三重DES(Triple DES)则是DES的加强版。是一种比较新的加密算法,它能够使用多个密钥,主要是对信息逐次作三次加密。

    随机化数据加密标准(RDES)算法是日本密码学家Nakao Y.Kaneko T等人于1996年初提出的一种新的DES改进算法。它只是在每轮迭代前的右半部增加了一个随机置换,其他均与DES相同,目前看来它比DES安全性要好。

    * 美国新数据加密标准CLIPPER和CAPSTONE

    l984年,美国总统里根签署154号国家安全决策会(NSDDl45)命令,国家保密局NSA着手制定美国政府非机要机构使用新的加密标准。NSA推行的商业安全通信签署计划CCEP完全改变了其密码政策,密码的算法不再公开,对用户只提供加密芯片及其硬件设备。NSA所推出加密芯片命名为CLIPPER,其加密算法命名为SKIPJACK,属于64位分组编码的对称密钥体制。

    CLIPPER主要是用于商用计算机网和通信网中对数据和语言进行加密,它被设计成允许法律监听的保密通信方式。在使用前需在一种称为SCIF的安全设备中进行编程,加解密时需将CLIPPER芯片装入加密设备中进行。

    l993年4月,美国白宫推出了EES(EscrowedEncryption Standard)加密标准,作为解决美国国家安全与美国公民需求之间的平衡问题。欲用EES来进行通信的双方都必须拥有带Clipper芯片的电信安全设备。

    美国NSA在推出CLIPPER的同时,还推出了军事通信网中进行数据加密的密码芯片CAPSTONE,并着手对CAPSTONE进行改进,以作为继CLIPPER之后的下一代的数据加密标准。CAPSTONE是在CLIPPER的基础上加入了数字签名算法,密钥交换及相关的数学函数。

    * 新一代加密算法IDEA

    IDEA(International Data Encryption Algorithm)是一种国际信息加密算法。它是1991年的瑞士ETH Zurich由James Massey 和Xueiia Lai发明的),于l992年正式公开,是一个分组大小为64位,密钥为l28位,迭代轮数为八轮的迭代型密码体制。密钥主要是通过二元和,模216加及216+l乘三种运算来完成,IDEA另一特点是用户可以根据需求选用64位或128位密钥以满足所需的安全要求。

    (2)公开密钥加密技术

    l976年,Diffie和Hellman首次提出公开密钥加密体制,即每个人都有一对密钥,其中一个为公开的,一个为私有的。发送信息时用对方的公开密钥加密,收信者用自己的私用密钥进行解密。公开密钥加密算法的核心是运用一种特殊的数学函数一单向陷门函数,即从一个方向求值是容易的。但其逆向计算却很困难,从而在实际上成为不可行的。公开密钥加密技术它不仅保证了安全性又易于管理。其不足是加密和解密的时间长。

    公开密钥算法有很多,一些算法如著名的背包算法和McELiece算法都被破译,目前公认比较安全的公开密钥算法主要就是RSA算法及其变种Rabin算法,离散对数算法等。

    RSA是Rivet,Shamir和Adleman于1978年在美国麻省理工学院研制出来的,它是一种比较典型的公开密钥加密算法,其安全性是建立在"大数分解和素性检测"这一已知的著名数论难题的基础上,即:将两个大素数相乘在计算上很容易实现,但将该乘积分解为两个大素数因子的计算量是相当巨大的,以至于在实际计算中是不能实现的。RSA被应用于保护电子邮件安全的Privacy Enhanced Mail(PEM)和Pretty Good Privacy(PGP)。

    我国学者陶仁骥。陈世华提出一种基于有限自动机的公开密钥加密方法:FAPKC0,FAPKC1,FAPKC2,FAPKC3。这是国际上的第一个时序公开密钥算法,其安全性是建立在非线性有限自动机求逆的困难上的。因为从数学上,线性有限自动机已有完美的可逆性理论,但迄今为止未解决非线性有限自动机可逆性理论,它可用于保密通信、数字签名,易于实现,密钥量适中,加解密速度快,已受到国际上的关注。此种密码体制的深人研究方向有:

    ①用大规模集成电路技术实现有限自动机公开密钥密码体制;

    ②对有限自动机公开密钥密码体制的安全做类似于针对RSA或流密码那样的充分分析。

    公开密钥加密技术在密钥管理上的优势使它越来越受到人们的重视,应用也日益广泛。

    2.加密技术发展趋势

    ①私用密钥加密技术与公开密钥加密技术相结合:鉴于两种密码体制加密的特点,在实际应用中可以采用折衷方案,即结合使用DES/IDEA和RSA,以DES为"内核",RSA为"外壳",对于网络中传输的数据可用DES或IDEA加密,而加密用的密钥则用RSA加密传送,此种方法既保证了数据安全又提高了加密和解密的速度,这也是目前加密技术发展的新方向之一。

    ②寻求新算法:跳出以常见的迭代为基础的构造思路,脱离基于某些数学问题复杂性的构造方法。如刘尊全先生提出的刘氏算法,是一种基于密钥的公开密钥体制,它采用了随机性原理构造加解密变换,并将其全部运算控制隐匿于密钥中,密钥长度可变。它是采用选取一定长度的分割来构造大的搜索空间,从而实现一次非线性变换。此种加密算法加密强度高、速度快、计算开销低。

    ③加密最终将被集成到系统和网络中,例如IPV6协议就已有了内置加密的支持,在硬件方面,Intel公司正研制一种加密协处理器。它可以集成到微机的主极上。

    3.密钥管理

    对于私用密钥加密和公开密钥加密系统来讲、并不强调对加密/解密算法的保密。计算机网络加密的安全性主要是依赖于算法本身的安全性和对密钥的保护。密钥主要有会话密钥(Session Key)、基本密钥(Basic Key)和主密钥(Master Key)三种。会话密钥是通信双方在会话中使用的密钥,此种密钥只在一次会话中有效,会话结束时密钥就失效;在网络中用来传送会话密钥的密钥,就是基本密钥;而对基本密钥进行加密的密钥则称为主密钥。网络中一般是采用这种三级密钥方案来进行保密通信的。

    从技术上看,密钥管理包括密钥的产生、存储、分配、使用和销毁等一系列技术问题,密钥分配是其中最重要的问题。从根本上讲,主要存在两种网络密钥管理:KDC(Key Distribution Center)和Diffie-Hellman方法。KDC使用可信第三方来验证通信双方的真实性,产生会话密钥,并通过数字签名等手段分自己密钥。Diffie-Hellmarl方法则不需KDC,通信发起方产生通信会话的私用密钥,并通过数字签名或零知识证明等方式安全传递通信密钥。IETF现在正在开发一种基于Diffi-Hellman技术的密钥交换协议Okaley,从而具有更好的安全性和强立性。目前多密钥分配是有待深入研究的领域。

    随着网络的应用与发展,网络安全问题日益突出。数据加密是确保计算机网络安全的一种重要的机制,虽然由于成本、技术和管理上的复杂性,目前尚未在网络中普及,但数据加密作为实现网络环境下数据安全的重要手段之一,必将得到广泛应用,设计优秀的现代加密技术还融入了防篡改和防否认等数字签名技术,故其不但适用于企业,而且也适用于其他用户。

  • 相关阅读:
    面向对象的软件测试技术
    软件质量与软件测试
    测试方法
    测试计划的编写
    Monkey环境配置
    简单非线性关系数据集测试
    支持向量机
    最邻近规则分类
    Django1.9开发博客(14)- 集成Xadmin
    决策树
  • 原文地址:https://www.cnblogs.com/skylaugh/p/2103549.html
Copyright © 2020-2023  润新知