一、加密技术
数据加密技术的关键是在于加密/解密算法以及密钥的管理。
数据加密 是用加密算法E和加密密钥K1将明文P变成密文C的过程:
数据解密 是用解密算法D 和 解密密钥K2 将密文C变成原文P. 记为
密钥加密技术的密码体制分为 对称密钥和非对称密钥两种。相应地,对数据加密技术分为对称加密 和 非对称加密
1. 对称加密技术
文件加密解密用相同的密钥,常用的加密算法如下:
a. DES(数据加密标准),采用56位密钥对64位二进制数据块加密,每次加密可对64位的输入数据块进行16轮编码,经过一系列替换移位操作后,输入完全不同的64位数据。
b. 三重DES。在DES基础上采用三重DES。用两个56位密钥K1,K2, 加密过程是K1加密,K2解密,K1再加密。解密过程则相反,用K1解密,K2加密,K1解密
c. IDEA(国际数据加密算法),类似与三重DES,IDEA采用128位密钥,增加一些加密轮次,每轮加密都从完整的加密密钥中生成一个子密钥。
d. AES(高级加密标准) ,基于排列和置换运算的加密算法。
2. 非对称加密技术
有一对密钥:公开密钥(Publickey), 私有密钥(Privatekey)。公钥加密,只能私钥才能解密。私钥加密,只能公钥解密
非对称加密有两个不同的体制:加密模型,认证模型
非对称加密算法一般有:RSA、Elgamal、背包算法、Rabin、D-H、椭圆曲线加密算法(ECC)
RSA(Rivest,Shamir and Adleman)算法是一种公钥加密算法,它按如下方法选择公钥和密钥:
(1)选择两个大素数p和q(大于)。
(2)令n=pxq, z=(p-1)x(q-1)
(3)选择d与z互质。
(4)选择e,使(exd)%z=1
明文P 被分成k位的块,k满足 < n 的最大整数,于是有0<=P<n.
加密时计算 , 公钥位(e,n) 。 解密时 。 私钥为(d,n)。
例如,设p=3,q=11,n=33,z=20,d=7,e=3, , , 则有
RSA 算法的安全性是基于大素数分解的困难性。攻击者可以分解已知的n,得到p和q,然后得知z,最后用Euclid算法,有e和z得到d。但要分解200位的数据,需要40亿年,而分解500位数,需要年。
3. 密钥管理
密钥是有生命周期的。包括密钥和证书的有效时间,以及已撤销密钥和证书的维护时间。
密钥的产生。 一般由CA或应用生成一个密钥对,私钥由用户保留,公钥及其他信息交个CA中心签名后产生证书。证书一般分普通证书或测试证书和比较重要的证书,普通的证书一般有浏览器或固定终端产生,这种产生密钥强度小,不适合比较重要的网络安全,而对于比较重要的证书一般由专用的应用程序或CA中心直接产生。
二、认证技术
认证技术主要是解决网络通信中通信双的身份认可。
认证方一般有账户名/口令认证、摘要算法认证、PKI(Public Key Infrastructure 公开密钥体系)认证。
1、 Hash函数与信息摘要。
Hash函数是这样一种计算过程:输入一个长度不固定的字符串,返回一串固定的字符串,即hash值。单向hash函数用于产生信息摘要。MD5(MD表示信息摘要) 是专门用于加密处理的并被广泛使用的Hash函数。
2、数字签名
信息发送者使用一个单向散列函数(Hash函数)对信息生成信息摘要。然后用私钥签名该信息摘要,最后将信息本身和已签名的信息摘要一起发送出去。 信息接收者收到数据后,用与信息发送相同的Hash函数对信息本身生成新的信息摘要,再使用信息发送者的公钥对原信息摘要解密后与生成的新的信息摘要比较来进行验证,以确认信息发送者的身份和信息是否被修改过。
3、数字加密
信息发送者发送信息时,首先生成一个 对称密钥A,用该密钥A加密要发送的信息。并用接收者发布的公钥加密密钥A,此过程称为数字封信。 接收者使用私钥解密得到密钥A,再用密钥A解密发送者发送的信息。
数字签名 和 数字加密 过程虽然都是使用PKI,但实现过程正好相反,使用的密钥也不同。数字签名使用发送者的密钥对,发送方用自己的私钥加密,接收方用发送方的公钥解密,这是一对多的关系,任何拥有发送方公钥的人都可以验证数字签名的正确性。 数字加密则使用的接收方的密钥对,是多对一的关系,任何知道接收方公钥的人都可以向接收方发送加密信息,但唯一拥有私钥的人才能对信息解密。
4、SSL 协议(Secure Sockets Layer 安全套接层)
SSL协议是一个保证计算机通信安全的协议,对通信过程进行安全保护,其实现过程经过如下几个阶段:
1) 接通阶段。客户端请求服务器响应。
2)密码交换阶段。客户端服务器交换双方认可的密码,一般选用RSA密码算法。
3)会谈密码阶段。客户端服务器产生交谈的密码。
4)检验阶段。客户端检验服务器取的密码。
5) 客户认证阶段。 服务器验证客户端的可信度。
6) 结束阶段。
当上述动作完成后,两者传送的资料就会加密。另一方收到资料后,再将编码资料还原。即使盗窃者在网上获得编码后的资料。如果没有原先编制的密码算法,也不能获得可以读的有用资料 。
在电子商务交易过程中,客户的购买信息按照SSL协议首先发送给商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户端购买成功,并将商品寄给客户。
5、数字时间戳技术
数字时间戳是数字签名技术的一个变种应用。在电子商务交易中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样是十分重要的防止文件被伪造和篡改的关键性内容。数字时间戳服务器(Digital Time Stamp Service, DTS)是电子商务安全服务器项目之一。时间戳是一个经过加密后形成的凭证。包含需要加时间戳的文件的信息摘要、DTS收到文件的时间、DTS的数字签名。
书面签署文件的日期是由签署人自己写上去的,而数字时间戳则是由DTS来加入的,以DTS收到文件的时间为依据。