(一)加密技术
(1)加密技术关键
加密/解密算法和密钥管理。
(2)加密基本过程
对明文文件或数据按某种加密算法进行处理,使其成为不可读的编码,通常称为“密文”。
“密文"只能在输入相应密钥之后才能显示出原来内容,确保数据不被窃取。
(3)加密与解密
数据加密和数据解密是一对逆过程。
数据加密是用加密算法E和加密密钥K将明文P变换成密文;
数据解密是数据加密的逆过程,用解密算法和解密密钥将密文变换成明文。
(4)密码体制分类
对称密钥体制和非对称密钥体制。
(二)对称加密技术
对称加密算法特点:文件加密和解密使用相同密钥
算法 | 说明 | |
1 | 数据加密标准(Data Enciyption Standard, DES)算法 | DES主要采用替换和移位方法加密。使用56位密钥对64位二进制数据块加密,每次加密可对64位输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据转换成完全不同的64位输出数据。 DES算法运算速度快,密钥生产容易,适合通过软件方法和在专用芯片上实现。 |
2 | 三重DES (3DES,或称TDEA) | 在DES的基础上,采用三重DES,即用两个56位密钥k1和k2。 发送方用k1加密,k2解密,再使用k1加密。 接收方使用k1解密,k2加密,再使用k1解密。 其效果相当于将密钥长度加倍。 |
3 | RC-5 (Rivest Cipher 5) | RC-5 由 RonRivest (公钥算法创始人之一)在 1994 年开发。 |
4 | 国际数据加密算法(Intemational Data Encryption Algorithm, IDEA) | IDEA 是在 DES算法基础上发展起来的,类似于三重DES„ IDEA密钥为128位,是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。 IDEA加密标准由PGP (Pretty Good Privacy)系统使用。 |
5 | 高级加密标准(Advanced Encryption Standard, AES)算法 | AES算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES使用几种不同的方法来执行排列和置换运算。 AES是一个迭代的、对称密钥分组密码,可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。 |
(三)非对称加密技术
非对称加密算法需要一对不同的密钥:公开密钥(public key)和私有密钥 (private key)
如果用公开密钥对数据进行加密,只有用对应私有密钥才能解密;
如果用私有密钥对数据进行加密,只有用对应公开密钥才能解密。
(1)非对称加密体制
(2)基本过程
甲方生成一对密钥,将其中一把作为公用密钥向其他方公开;得到该公用密钥的乙方,使用该密钥对机密信息进行加密后再发送给甲方;甲方用自己保存的另一把专用密钥对加密后的信息进行解密。
优点:保密性比较好,消除了最终用户交换密钥的需要,
缺点:加密和解密花费时间长、速度慢,不适合于对文件加密,只适用于对少量数据进行加密。
(3)RSA
RSA (Rivest, Shamir and Adleman)算法是一种公钥加密算法
1、选择两个大素数p和q(大于10100)
2、令 n=p*q 和 Φ(n)=(p-1)*(g-1)。
3、选择d与Φ(n)互质。
4、选择e使 e*d≡1(mod Φ(n))。
RSA算法安全性基于大素数分解的困难性。
加密函数:C=Pe(mod n)
解密函数:P=Cd(mod n)
(四)密钥管理
密钥的生命周期包括密钥和证书有效时间,以及已撤销密钥和证书的维护时间等。
密钥管理主要指密钥对的安全管理,包括密钥产生、密钥备份、密钥恢复和密钥更新等。
阶段 | 说明 | |
1 | 密钥产生 | 密钥对中的私钥由用户保留,公钥和其他信息则交于CA (Certificate Authority)中心进行签名,从而产生证书。 对普通证书和测试证书,一般由浏览器或固定终端应用产生,密钥强度较小,不适合应用于比较重要的安全网络交易。 对于比较重要的证书,如商家证书和服务器证书等,密钥对一般由专用应用程序或CA中心直接产生,密钥强度大,适合于重要应用场合。 根据密钥应用不同,产生方式也不同。例如,签名密钥可能在客户端或RA (Register Authority )中心产生,而加密密钥则需要在CA中心直接产生 |
2 | 密钥备份和恢复 | 在一个PKI (Public Key Infiastructiue,公开密钥体系)系统中,维护密钥对备份至关重要。 即使密钥丢失,使用PKI的企业和组织必须仍能够得到确认,受密钥加密保护的重要信息也必须能够恢复。 企业级PKI产品至少应该支持用于加密的安全密钥的存储、备份和恢复。密钥一般用口令进行保护。 PKI产品应能够备份密钥,即使口令丢失,也能够让用户在一定条件下恢复该密钥,并设置新口令。 |
3 | 密钥更新 | 重复使用同样的密钥存在着一定的安全性问题。 每个由CA颁发的证书都存在有效期,密钥对生命周期的长短由签发证书的CA中心来确定,各CA系统的证书有效期限有所不同,一般为2-3年。 当用户私钥被泄露或证书有效期快到时,用户应该更新私钥。 用户可以废除证书,产生新的密钥对,申请新的证书。 |
4 | 多密钥管理 | 为了解决大量秘钥难以管理(创建和分发)的问题,MIT发明了Kerberos。 Kerberos建立了一个安全的、可信任的密钥分发中心(Key Distribution Center, KDC),每个用户只要知道一个和KDC进行会话的密钥。 |
(五)认证技术
解决网络通信过程中通信双方的身份认可。
认证过程:加密和密钥交换。
加密可使用对称加密、不对称加密及两种加密方法的混合方法。
认证方法:账户名/口令认证、摘要算法认证和基于PKI的认证。
(六)PKI
PKI系统除了具有证书创建和发布,特别是证书撤销功能外,还必须提供相应的密钥管理服务,包括密钥备份、恢复和更新等。
PKI是一种遵循既定标准的密钥管理平台,能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。
PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。是电子商务的关键和基础技术。
PKI基础技术:加密、数字签名、数据完整性机制、数字信封和双重数字签名等。
完整的PKI系统:权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(Application Programming Interface, API)等基本构成部分。
构成 | 说明 | |
1 | 认证机构 | 数字证书的申请及签发机关,CA必须具备权威性的特征。 |
2 | 数字证书库 | 用于存储己签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥。 |
3 | 密钥备份及恢复系统 | 如果用户丢失了解密密钥,则数据将无法被解密,将造成合法数据丢失。 为避免这种情况,PKI提供备份与恢复密钥的机制。 密钥备份与恢复必须由可信机构来完成。且只能针对解密密钥,签名私钥为确保其唯一性不能备份。 |
4 | 证书作废系统 | 证书作废原因可能是密钥介质丢失或用户身份变更等。 |
5 | 应用接口 | PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,完整的PKI必须提供良好的应用接口系统,使得应用能以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。 |
PKI采用证书管理公钥,通过第三方可信任机构(认证中心即CA)把用户公钥和用户其他标识信息捆绑在一起,包括用户名和电子邮件地址等信息,以在网络上验证用户身份。PKI把公钥密码和对称密码结合起来,实现密钥自动管理,保证网上数据的安全传输。
PKI主要目的是通过自动管理密钥和证书,为用户建立一个安全的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术,从而保证网上数据的机密性、完整性和有效性。
PKI标准化包括:
(1)RSA的公钥加密标准(Public Key Ciyptogiaphy Standards, PKCS),定义了许多基本PKI部件,包括数字签名和证书请求格式等;
(2)由Intemet工程任务组(Internet Engineering Task Force, IETF)和 PKI 工作组(Public Key Infrastructure Working Group,PKIX)所定义的一组具有互操作性的公钥基础设施协议。
目前,PKCS和PKIX并存。
(七)Hash函数与信息摘要(Message Digest)
Hash (哈希)函数:输入一个长度不固定的字符串,返回一串固定长度的字符串,又称Hash值。
单向Hash函数用于产生信息摘要。
Hash函数用途:在某一特定时间内,无法查找经Hash操作后生成特定Hash值的原报文;也无法查找两个经Hash操作后生成相同Hash值的不同报文。在数字签名中解决验证签名和用户身份验证、不可抵赖性的问题。
信息摘要简要地描述了一份较长的信息或文件,可以被看作一份长文件的“数字指纹"。
信息摘要用于创建数字签名,对于特定文件而言,信息摘要是唯一的。
信息摘要可以被公开,不会透露相应文件任何内容。
MD2、MD4和MD5是被广泛使用的Hash函数,产生一种128位的信息摘要。
2)数字签名
(3)数字加密
(4)数字签名和数字加密对比
①数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。
②数字加密则使用的是接收方的密钥对,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。
③数字签名只采用了非对称密钥加密算法,能保证发送信息的完整性、身份认证和不可否认性;而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法,能保证发送信息的保密性。
(八)SSL协议
SSL(Secure Sockets Layer,安全套接层)协议最初由Netscape Communication公司设计开发的,主要用于提高应用程序之间数据的安全系数。
SSL协议服务
服务 | 说明 | |
1 | 用户和服务器的合法性认证 | 认证用户和服务器的合法性,使得它们能够确信数据等被发送到正确的客户端和服务器上。客户端和服务器都有各自的识别号(由公开密钥进行编号),为了验证用户是否合法,安全套接层协议要求在握手交换数据时进行数字认证,以此确保用户的合法性。 |
2 | 加密数据以隐藏被传送的数据 | 安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户端与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证机密性和数据的完整性,并且用数字证书进行鉴别,可以防止非法用户进行破译。 |
3 | 保护数据完整性 | 安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户端与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。 |
实现过程
阶段 | 说明 | |
1 | 接通阶段 | 客户端通过网络向服务器打招呼,服务器回应。 |
2 | 密码交换阶段 | 客户端与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellman和Fortezza-KEA密码算法。 |
3 | 会谈密码阶段 | 客户端与服务器间产生彼此交谈的会谈密码。 |
4 | 检验阶段 | 客户端检验服务器取得的密码。 |
5 | 客户认证阶段 | 服务器验证客户端的可信度。 |
6 | 结束阶段 | 客户端与服务器之间相互交换结束的信息。 |
发送时,信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。
在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。
(九)数字时间戳技术
(1)数字时间戳服务(Digital Time Stamp Service, DTS)是数字签名技术的一种变种应用。在网上电子商务安全服务中,能提供电子文件的日期和时间信息的安全保护。
(2)时间戳组成
时间戳是一个经加密后形成的凭证文档
①需加时间戳的文件的摘要(digest)
②DTS收到文件的日期和时间
③DTS的数字签名
(2)时间戳产生过程
①将需要加时间戳的文件用Hash编码加密形成摘要
②将该摘要发送到DTS, DTS加入收到文件摘要的日期和时间信息后再对该文件加密(数字签名)
③送回用户
书面签署文件的时间由签署人写上,数字时间戳由认证单位DTS加入,以DTS收到文件的时间为依据。