首页 百科知识 如何使用密钥进行加密

如何使用密钥进行加密

时间:2022-07-16 百科知识 版权反馈
【摘要】:随着因特网的迅猛发展,电子商务得到前所未有的重视,具有极为广阔的发展前景。因此,保证商务信息的安全是进行电子商务的前提。1.电子商务安全的要求在电子商务过程中,买卖双方是通过网络来联系的,因而建立交易双方的安全和信任关系相当困难。电子商务交易双方都面临安全威胁。2.电子商务安全的加密技术加密技术概述数据加密技术是电子商务领域所采用的关键安全技术,也是主要的安全防御技术。

随着因特网的迅猛发展,电子商务得到前所未有的重视,具有极为广阔的发展前景。但它的实现离不开一个重要的前提,就是安全问题的可靠解决。在国际互联网上进行买卖交易,必然需要可靠的保护买卖双方在交易过程中交换的各种重要信息,如银行账号、交易金额、信用卡号码和交易人身份等,但是开放式的国际互联网系统不能保证这一点。因此,保证商务信息的安全是进行电子商务的前提。

4.2.1 电子商务安全交易体系

建立电子商务安全交易体系,加强电子证书和密钥的管理工作,对于增强网上交易各方的信任,提高网上购物和网上交易的安全,控制交易风险,推动电子商务发展是必不可少的。

1.电子商务安全的要求

在电子商务过程中,买卖双方是通过网络来联系的,因而建立交易双方的安全和信任关系相当困难。电子商务交易双方都面临安全威胁。

(1)卖方面临的安全威胁

卖方面临的安全威胁主要有:

①中央系统安全性被破坏。入侵者假冒成合法用户来改变用户数据、解除用户订单或生成虚假订单。

②竞争者检索商品递送状况。恶意竞争者以他人的名义来订购商品,从而了解有关商品的递送状况和货物的库存情况。

客户资料被竞争者获悉。

④被他人假冒而损害公司的信誉。不诚实的人建立与销售者服务器名字相同的另一个www服务器来假冒销售者。

⑤买方提交订单后不付款。

⑥虚假订单。

(2)买方面临的安全威胁

买方面临的安全威胁主要有:

①虚假订单。一个假冒者可能会以客户的名字来订购商品,而且有可能收到商品,而假冒的合法客户却被要求付款或返还商品。

②付款后不能收到商品。在要求客户付款后,销售商中的内部人员不将订单和钱转发给执行部门,因而使客户不能收到商品。

③机密性丧失。客户有可能将秘密的个人数据或自己的身份数据发送给冒充销售商的机构,这些信息也可能会在传递过程中被窃取。

④拒绝服务。攻击者可能向销售商的服务器发送大量的虚假订单来挤占它的资源,从而使合法用户不能得到正常的服务。

(3)电子商务安全的要求

综上所述,在电子商务交易过程中,为保证交易的成功进行,对电子商务的安全要求如下:

①保密性。保护信息不被泄露或披露给未经授权的人或组织。

②认证性。保证身份的精确性,分辨参与者所声称身份的真伪,防止伪装攻击。

③接入控制。保护系统资源不被未经授权的人或以未授权方式接入、使用、披露、修改、毁坏和发出指令等。接入控制是对认证的强化。

④数据完整性。保护数据不被未授权者建立、嵌入、删除、篡改、重放。

⑤不可否认性。主要用于保护通信用户对来自其他合法用户的威胁,如发送用户对他所发信息的否认、接收用户对他已收信息的否认等,而不是对方来自未知的攻击者。

⑥匿名性。隐匿参与者的身份,保护个人或组织的隐私。可用盲签名和信息隐匿技术实现。

2.电子商务安全的加密技术

(1)加密技术概述

数据加密技术是电子商务领域所采用的关键安全技术,也是主要的安全防御技术。数据加密技术原理是采用加密(数学算法对原始信息(明文)进行再整合,使得非法接收者接收到加密数据(密文)以后变成无意义的内容,而对于合法接收者,因为掌握正确的密钥,所以可通过解密过程得到原始数据。这一技术在整体数据传输链上,保证了数据的高保密性和完整性。如果按照收发双方密钥是否相同来分类,可以将加密技术分为对称密钥加密技术和非对称密钥加密技术,两种技术最有名的代表分别为DES和RSA。

在加密和解密的过程中,都要涉及信息(明文和密文)、密钥(加密密钥和解密密钥)及算法(加密算法和解密算法),解密是加密的逆过程,加密和解密过程中依靠“算法”和“密钥”两个基本元素,缺一不可。

(2)对称密钥密码体制

对称密钥加密又称为专用密钥加密,就是双方协商使用相同的密钥(Key)来完成加密、解密过程,并且密钥是保密的。在这种加密算法中,所采用的加密算法等于解密算法,因此密钥的安全管理就显得特别重要,成为安全与否的核心因素。对称加密的特点是具有高保密性,加密与解密速度快,效率高,因此适用于数据量比较大的加密操作。最具代表性的对称加密算法是IBM公司提出的DES算法,该算法于1977年被美国国家标准局NBS颁布为商用数据加密标准。

DES综合运用了置换、代替、代数多种密码技术,把消息分成64bit大小的块,使用56bit密钥,迭代轮数为16轮的加密算法。DES密码算法输入的是64bit明文,在64bit密钥的控制下产生64bit的密文;反之输入64bit的密文,输出64bit的明文。64bit的密钥中含有8bit的奇偶校验位,所以实际有效密钥长度为56bit。DES算法加密时把明文以64bit为单位分成块,而后用密钥把每一块明文转化成同样64bit的密文块。DES提供72 000 000 000 000 000个密钥,用每微秒可进行一次DES加密的机器来破译密码需2 000年。

DES主要的设计原理是利用交乘加解密器(Product Cipher)、扩散(Diffusion)及混淆(Confusion)等方法来加密以提高安全的程度。数据保密的技巧,就是将原始数据打得越散越乱,让别人很难去组合原始数据,相对也就越能提高保密的效果。DES方法的加密过程可分16个回合,每一回合都将上一回合打散的数据再打散一次,每一回合相当于在原始数据上加了一把锁,最后总共加了16把锁。锁加得越多,相对的保密性就越高,这也就是交乘加解密器原理。采用DES的一个著名的网络安全系统是Kerberos,由麻省理工学院(MIT)开发。

自DES算法公布以来,先后出现了许多DES的替代算法,其中比较有影响的有AES(Advanced Encryption Standard)算法和欧洲数据加密标准IDEA (International Data Encryption Algorithm)。

但是,对称加密也存在以下几个方面的安全问题:

①在网络中建立通道传输数据过程中,可能导致密钥泄露,让攻击者有机可乘。

②电子商务交易存在着多个交易对,每确立一对交易对关系,就要维护一个专用密钥,给密钥的安全管理和维护带来极大的难度。

③难以对交易双方的身份进行准确识别,因此缺乏数字实名验证的可行性。

因此,后来又提出了新的密钥体制,即非对称密钥密码体制。

(3)非对称密钥密码体制

非对称密钥加密又称为公开密钥加密。在这种加密算法中有两个密钥:公开密钥(public key)和私有密钥(private key)。公钥不需要保密,可以公开;私钥必须严格保密,且加密密钥和解密密钥并不相同。这对密钥中的任何一把都可作为公开密钥(加密密钥)通过非保密方式向他人公开,而另一把则作为专用密钥(解密密钥)加以保存。专用密钥只能由生成密钥对的交易方掌握,公开密钥可广泛发布,但它只对该密钥的交易方有用。这种加密算法顺利地解决了密钥的管理和维护及数字实名验证的问题,安全性大大优于对称加密,是现在普遍采用的加密技术。

在公开密钥系统中,加密密钥Ke是公开的,加密算法E和解密算法D也是公开的,只有解密密钥Kd是需要保密的。虽然Kd是由Ke决定的,但却不能根据后者计算出前者。用Ke对明文M加密后,再用Kd解密,即可恢复明文,而且加密和解密的运算可以对调,加密密钥不能用来进行解密。

交易双方利用该方案实现机密信息交换的基本过程如下:

①交易方甲生成一对密钥,将其中的一把作为公开密钥向其他交易方公开;

②得到了该公开密钥的交易方乙使用该密钥对机密信息进行加密后再发送给交易方甲;

③交易方甲再用自己保存的另一把专用密钥对加密后的信息进行解密;

④交易方甲只能用其专用密钥解密由其公开密钥加密后的任何信息。

典型的非对称加密算法有RSA算法。RSA算法是建立在数论中大数分解和素数检测的理论基础上的。两个大素数相乘在计算上是容易实现的,但将该乘积分解为两个大素数因子的计算量却相当巨大,大到甚至在计算机上也不可能实现。

RSA算法的加密密钥和加密算法分开,使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户,可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通信,只需从公钥簿上查出对方的加密密钥,用它对所传送的信息加密发出即可。对方收到信息后,用仅为自己所知的解密密钥将信息脱密,了解报文的内容。由此可看出,RSA算法解决了大量网络用户密码管理的难题。

3.电子商务安全的认证技术

(1)数字签名。数字签名技术是基于非对称加密技术而产生的,具有数字认证、身份核查的功能。数字签名技术具有以下特点:

①发送方事后不可抵赖发送的包含自己签名的报文;

②接收方能对发送方签名的身份予以核查;

③接收方不能篡改发送方的报文;

④接收方不能伪造发送方的数字签名。

数字签名技术的实现过程为:

①发送方从报文文本中生成一个128bit的散列值(或报文摘要),并用自己的私钥对这个散列值进行加密,形成发送方的数字签名;

②这个数字签名作为报文的附件和报文一起发送给报文的接收方;

③报文接收方从接收到的原始报文中计算出128bit的散列值(或报文摘要);

④接收方再用发送方的公开密钥来对报文附加的数字签名进行解密;

⑤如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。

数字签名的加密与解密过程和一般秘密密钥的加密与解密过程虽然都使用公开密钥系统,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密。这是一对多的关系:任何拥有发送方公开密钥的人都可以验证数字签名的正确性。而一般秘密密钥的加密与解密则使用的是接收方的密钥对。这是多对一的关系:任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。

(2)数字摘要。数字摘要,是指通过单向Hash函数,将需加密的明文“摘要”成一串固定长度(128bit)的密文,不同的明文摘要形成的密文结果总是不相同的,同样的明文其摘要必定一致,并且即使知道了摘要也不能反推出明文。

数字摘要的实现过程为:

①对原文使用Hash算法得到数字摘要;

②将数字摘要与原文一起发送;

③接收方将收到的原文应用单向Hash函数产生一个新的数字摘要;

④将新数字摘要与发送方数字摘要进行比较。

一般的对称或非对称加密算法用于防止信息被篡改。数字摘要技术用于正面信息的完整性和准确性,主要用于防止原文被篡改。数字摘要是采用单向Hash函数对文件中若干重要元素进行某种变换运算而得到固定长度的摘要码,并在传输信息时将之加入文件一同送给接收方。接收方收到文件后,用相同的方法进行变换运算,若得到的结果与发送来的摘要码相同,则可断定文件未被篡改,反之亦然。

(3)数字时间戳。数字时间戳是系统自动生成的,用来确认电子商务交易发生的日期和时间,防止恶意篡改交易数据的一种有效的手段。它由专业的第三方认证机构形成,采用加密形式的文件。数字时间戳服务(DTS,Digital Time Stamp Service)是一种专门提供电子交易文件的日期和时间的服务。数字时间戳包括三个部分:需加时间戳的文件的摘要、DTS收到文件的日期和时间、DTS的数字签名。产生时间戳的具体过程为:

①需要数字时间戳的申请者向DTS发送请求(含加戳数据的散列值);

②DTS收到文件后从自己的时间源中获取一个时间值;

③DTS把时间值加入到含数据散列值的文件中,并对数据文件进行加密(用时间的私钥进行数字签名);

④最后发送给申请者。

DTS采用以下的过程:加密时将摘要信息归并到二叉树的数据结构,再将二叉树的根值发表在报纸上,这样可以为文件发布时间提供佐证。书面签署文件的时间是由签署人自己写上的,而数字时间戳是由认证单位DTS加的,以DTS收到文件的时间为依据。因此,时间戳也可作为科学家的科学发明文献的时间特征。

4.数字证书及证书授权(CA)中心

(1)数字证书。数字证书也称为公开密钥证书,在网络通信中标志着通信各方身份信息的一系列数据,其作用类似于现实生活中的身份证。它主要包含用户身份信息、用户公钥信息以及身份验证机构数字签名等数据。身份验证机构的数字签名可以确保证书信息的真实性,用户公钥信息可以保证数字信息传输的完整性,用户的数字签名可以保证数字信息的不可否认性。

数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题。人们可以在交往中用它来识别对方的身份,交易伙伴可以使用数字证书来交换公开密钥。

数字证书的内部格式是由ITU X.509V3国际标准所规定的,它包含的内容如表4-2所示。

表4-2 数字证书的内部格式

(2)CA认证中心。CA认证中心是检验管理密钥是否真实的第三方,它是一个权威机构,专门验证交易双方的身份。验证的方法是:接受个人、商家、银行等涉及交易的实体申请数字证书,核实情况,批准或拒绝申请,颁发数字证书。

CA中心包括两大部门:

①资格审查部门(简称RA,Registry Authority),它负责对证书申请者进行资格审查,并决定是否同意给该申请者发放证书,并承担因审核错误而可能引起的一切后果。

②证书操作部门(简称CP,Certificate Processor),负责制作、发放和管理证书,并承担因操作错误所产生的一切后果。它可以由审核授权部门自己担任,也可委托给第三方担任。

认证中心主要有以下几种功能:

①证书的颁发。中心接收、验证用户(包括下级认证中心和最终用户)的数字证书的申请,将申请的内容进行备案,并根据申请的内容确定是否受理该数字证书申请。如果中心接受该数字证书申请,则进一步确定给用户颁发何种类型的证书。新证书用认证中心的私钥签名以后,发送到目录服务器供用户下载和查询。为了保证消息的完整性,返回给用户的所有应答信息都要使用认证中心的签名。

②证书的更新。认证中心可以定期更新所有用户的证书,或者根据用户的请求来更新用户的证书。

③证书的查询。证书的查询可以分为两类:其一是证书申请的查询,认证中心根据用户的查询请求返回当前用户证书申请的处理过程;其二是用户证书的查询,这类查询由目录服务器来完成,目录服务器根据用户的请求返回适当的证书。

④证书的作废。当用户的私钥由于泄密等原因造成用户证书需要申请作废时,用户需要向认证中心提出证书作废请求,认证中心根据用户的请求确定是否将该证书作废。另一种证书作废的情况是证书已经过了有效期,认证中心自动将该证书作废。第三种情况是上级认证中心对下级认证中心不能信赖时,它可以主动停止下级认证中心公钥证书的合法使用。认证中心通过维护证书作废列表来完成上述功能。

⑤证书的归档。证书具有一定的有效期,证书过了有效期之后就将被作废,但是我们不能将作废的证书简单地丢弃,因为有时我们可能需要验证以前的某个交易过程中产生的数字签名,这时我们就需要查询作废的证书。基于此类考虑,认证中心还应当具备管理作废证书和作废私钥的功能。

⑥提供密钥托管和密钥恢复功能。认证中心可根据客户的要求提供密钥托管服务,备份和管理客户的加密密钥对。当客户需要时可以从密钥库中提出客户的加密密钥对,为客户恢复其加密密钥对,以解开先前加密的信息。在这种情况下,认证中心的密钥管理器采用对称加密方式对各个客户私钥进行加密,加密密钥在加密后即销毁,保证了私钥存储的安全性。密钥恢复时,采用相应的密钥恢复模块进行解密,以保证客户的私钥在恢复时没有任何风险和不安全因素。

图4-4 CA认证中心的分级示意

CA中心是通过分级体系来验证的。各级的认证中心类似于各级行政机关,上级认证中心负责签发和管理下级认证中心的证书,最下一级的认证中心直接面向最终用户。处在最高层的是金融认证中心(RootCA),它是所有人公认的权威。如图4-4所示。如果当使用者A想要验证使用者B的数字证书的正确性,则使用者A利用其熟知的CA3的公钥来验证CA3对CA2的签证,则可确信CA2的公钥为可信赖的公钥,接着再以CA2的公钥验证CA1的可信赖性,并以此类推,便可得出使用者B的公钥可被使用者A所信赖。在进行网上购物时,持卡人的证书与发卡机构的证书关联,而发卡机构的证书通过不同品牌卡的证书连接到RootCA,而RootCA的公共签名密钥对所有的软件都是已知的,可以校验每个证书。

4.2.2 电子商务安全交易协议

1.安全协议概述

安全协议,有时也称作密码协议,是以密码学为基础的消息交互协议,其目的是在网络环境中提供各种安全服务。安全目标是多种多样的,例如认证协议的目标是认证参加协议的主体的身份。电子商务协议的目标除认证性、非否认性之外,还有可追究性、公平性等。我们把为了完成某种安全任务的协议称为安全协议。安全协议为了保证安全性,其设计必须采用密码技术。因此,我们也将安全协议称作密码协议。目前,安全协议已广泛应用于计算机网络与分布式系统中,包括现在电子商务主要应用的安全协议:SSL协议和SET协议。

2.国际通用电子商务安全协议

(1)SSL协议。安全套接层协议(secure socket layer,简称SSL)是美国网景公司(Netscape)推出的一种安全通信协议,其主要设计目标是在Internet环境下提供端到端的安全连接。它能使客户/服务器应用之间的通信不被攻击者窃听。SSL协议建立在可靠的传输层协议之上。高层的应用层协议能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。

SSL协议分为两层,一是握手层,二是记录层。SSL握手协议描述建立安全连接的过程,在客户和服务器传送应用层数据之前,完成诸如加密算法和会话密钥的确定、通信双方的身份验证等功能;SSL记录协议定义了数据传送的格式,上层数据包括SSL握手协议建立安全连接时所需传送的数据都通过SSL记录协议再往下层传送。这样,应用层通过SSL协议把数据传给传输层时,已是被加密后的数据,此时TCP/IP协议只需负责将其可靠地传送到目的地,弥补了TCP/IP协议安全性较差的弱点。

SSL协议主要提供三方面的服务:

①用户和服务器的合法性认证。认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,SSL要求在握手交换数据时进行数字认证。

②加密数据以隐藏被传送的数据。SSL采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前先交换SSL初始握手协议,在SSL握手协议中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。

③保护数据的完整性。SSL采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

但是,SSL协议也存在缺点:

①客户的信息先到商家,让商家阅读。这样,客户资料的安全性就得不到保证。

②SSL只能保证资料传递过程的安全,而传递过程是否有人截取就无法保证了。

(2)SET协议。安全电子交易协议(secure electronic transaction,简称SET)是美国Visa和Master Card两大信用卡组织联合于1997年5月31日推出的电子交易行业规范,其实质是一种应用在Internet上、以信用卡为基础的电子付款系统规范,目的是为了保证网络交易的安全。SET本身并不是一个支付系统,而是一个安全协议集,SET规范保证了用户可以安全地在诸如Internet这样的开放网络上应用现有的信用卡支付设施来完成交易,SET较好地解决了信用卡在电子商务交易中的安全问题。

SET支付系统主要由持卡人、商家、发卡行、收单行、支付网关、认证中心六个部分组成。对应地,基于SET协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。

SET安全协议主要提供三方面的服务:

①保证客户交易信息的保密性和完整性。SET协议采用了双重签名技术对SET交易过程中消费者的支付信息和订单信息分别签名,使得商家看不到支付信息,只能接收用户的订单信息;而金融机构看不到交易内容,只能接收到用户支付信息和账户信息,从而充分保证了消费者账户和定购信息的安全性。

②确保商家和客户交易行为的不可否认性。SET协议的重点就是确保商家和客户的身份认证和交易行为的不可否认性,采用的核心技术包括X.509电子证书标准、数字签名、报文摘要、双重签名等技术。

③确保商家和客户的合法性。SET协议使用数字证书对交易各方的合法性进行验证。

但是,SET协议也存在缺点:

①只能建立两点之间的安全连线,所以顾客只能把付款信息先发送到商家,再由商家转发到银行,而且只能保证连接通道是安全的而没有其他保证。

②不能保证商家会私自保留或盗用顾客的付款信息。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈