网络加密技术
信息安全包括系统安全和数据安全。
系统安全一般采用防火墙、病毒查杀等被动措施;数据安全主要采用现代密码技术对数据进行主动保护,如数据保密、数据完整性、数据不可否认与抵赖、双向身份认证等。
密码技术是保证信息安全的核心技术。
名词解释
明文(plaintext):未被加密的消息;
密文(ciphertext):被加密的消息;
密码算法:也叫密码(cipher),适用于加密和解密的数学函数。通常有两个相关函数:一个用于加密,一个用于解密。
加密系统:由算法以及所有可能的明文,密文和密钥组成。
加密(encrypt):通过密码算法对数据进行转化,使之成为没有正确密钥的人都无法读懂的报文。
解密(decrypt):加密的相反过程。
密钥(key):参与加密与解密算法的关键数据。
网络加密的主要方式
一个加密网络不但可以防止非授权用户的搭线窃听和入网,保护网内数据、文件、口令和控制信息,也是对付恶意软件的有效方法之一。
- 链路加密
- 节点加密
- 端点加密
链路加密保护网络节点之间的链路信息安全,节点加密对源节点到目的节点之间的传输链路提供加密保护,端点加密是对源端点到目的端点的数据提供加密保护。
链路加密又称为在线加密,在数据链路层对数据进行加密,用于信道或链路中可能被截获的那一部分数据进行保护。链路加密把报文中每一比特都加密,还对路由信息、校验和控制信息加密。所以报文传输到某节点时,必须先解密,然后再路径选择,差错控制,最后再次加密,发送到下一节点。
链路加密的优点:实现简单,在两个节点线路上安装一对密码设备,安装在调制解调器之间;用户透明性。
链路加密的缺点:1.全部报文以明文形式通过各节点;2.每条链路都需要一对设备,成本高。
节点加密除具有链路加密的优势外,还不允许报文在节点内以明文存在,先把收到的报文进行解密,然后采用另一个密钥进行加密,克服了节点处易受非法存取的缺点。
优点是比链路加密成本低,且更安全。缺点是节点加密要求报头和路由信息以明文传输,以便中间节点能得到如何处理消息的信息,对防止攻击者分析通信业务仍是脆弱的。
端对端加密又称脱线加密或包加密、面向协议加密运行数据从源点到终点的传输过程中始终以密文形式存在,报文在到达终点前不进行解密。
端对端加密在传输层或更高层中实现。若在传输层加密,则不必为每个用户提供单独的安全保护机制;若在应用层加密,则用户可根据自己特定要求选用不同加密策略。链路是对整个链路通信采取加密,端对端则是对整个网络系统采取保护措施。
优点:成本低,可靠性高,易设计、易实现、易维护。
网络加密算法
目前已公开发表的各种加密算法有200多种。
根据对明文的加密方式不同进行分类,加密算法分为分组加密算法和序列加密算法。
如果经过加密所得到的密文仅与给定的密码算法和密钥有关,与被处理的明文数据段在整个明文中所处的位置无关,就称为分组加密算法。
如果密文不仅与最初给定的密码算法和密钥有关,同时也是被处理的数据段在明文中所处的位置的函数,就成为序列加密算法。
按照收发双方的密钥是否相同分为对称加密算法(私钥加密算法)和非对称加密算法(公钥加密算法)。
对称加密算法与DES
一个加密系统的加密和解密密钥相同,或者虽不同,但是由其中一个可以容易的推导出另一个,则该系统采用的是对称加密算法。
著名的对称加密算法有美国的DES(数据加密标准)及其各种变形,如3DES、GDES、New DES和DES的前身是Lucifer,欧洲的IDEA,日本的FEAL-N、LOKI-91、RC4、RC5以及以代换密码和轮转密码为代表的古典密码等。
DES加密算法
DES是IBM公司1977年为美国政府研制,被美国国家标准局承认的算法。
DES以56位密钥为基础的密码块加密技术,每次对64位输入数据块进行加密。加密过程包括16轮编码,每一轮,DES从56位密钥中产生一个48位临时密钥,并用这个密钥进行这一轮加密。
非对称加密算法与RSA
1976年美国Diffe和Hallman提出非对称加密算法。
主要特点是对数据进行加密和解密时使用不同的密钥。每个用户都保存一对密钥,每个人的公开密钥都对外开放。加入某用户与另一用户通信,可用公开密钥对数据进行加密,而收信者则用自己的私有密钥进行解密,加密解密分别使用不同的密钥实现,且不可能由加密密钥推导出解密密钥。
著名的非对称加密算法有RSA、背包密码、McEliece密码、Diffe-Hellman、Rabin、Ong-FiatShamir、零知识证明的算法、椭圆曲线、EIGamal密码算法等。最有影响力的是RSA,能抵抗目前为止已知的所有密码攻击。
RSA算法
该算法由麻省理工学院的Ronal Rivest、Adi Shamir和Len Adleman3位年轻教授提出。
RSA是目前网络上进行保密通信和数字签名最有效的安全算法之一,其安全性依赖于大数分解,即利用数论领域的一个事实:那就是虽然把两个大质数相乘生成一个合数是十分容易的,但要把一个合数分解为两个质数却十分困难。所以,只要RSA采用足够大的整数,因子分解越困难,密码就越难以破译。
目前,安全电子贸易SET协议中要求CA采用2048位的密钥,其他实体使用1024位的密钥。