两个元素
加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准(DES,Data Encryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Ad1eman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。
对称加密
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。
非对称
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
功能作用
PKI(Public Key Infrastructure的缩写)是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。
原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密钥与加密密钥相同,这称之为对称型加密算法。采用此加密技术的理论基础的加密方法如果用于网络传输数据加密,则不可避免地出现安全漏洞。因为在发送加密数据的同时,也需要将密钥通过网络传输通知接收者,第三方在截获加密数据的同时,只需再截取相应密钥即可将数据解密使用或进行非法篡改。
区别于原有的单密钥加密技术,PKI采用非对称的加密算法,即由原文加密成密文的密钥不同于由密文解密为原文的密钥,以避免第三方获取密钥后将密文解密。
签发机构
CA(GlobalSign)是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。
CA也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证CA的签字从而信任CA,任何人都可以得到CA的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向CA提出申请。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。
证书
证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。
证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509国际标准。
加密:
我们将文字转换成不能直接阅读的形式(即密文)的过程称为加密。
解密:
我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密。
如何在电子文档上实现签名的目的呢?我们可以使用数字签名。RSA公钥体制可实现对数字信息的数字签名,方法如下:
信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在传递过程中未被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。
在数字签名中有重要作用的数字指纹是通过一类特殊的散列函数(HASH函数)生成的。对这些HASH函数的特殊要求是:
1.接受的输入报文数据没有长度限制;
2.对任何输入报文数据生成固定长度的摘要(数字指纹)输出;
3.从报文能方便地算出摘要;
4.难以对指定的摘要生成一个报文,而由该报文可以算出该指定的摘要;
5.难以生成两个不同的报文具有相同的摘要。
验证:
收方在收到信息后用如下的步骤验证您的签名:
1.使用自己的私钥将信息转为明文;
2.使用发信方的公钥从数字签名部分得到原摘要;
3.收方对您所发送的源信息进行hash运算,也产生一个摘要;
4.收方比较两个摘要,如果两者相同,则可以证明信息签名者的身份。
如果两摘要内容不符,会说明什么原因呢?
可能对摘要进行签名所用的私钥不是签名者的私钥,这就表明信息的签名者不可信;也可能收到的信息根本就不是签名者发送的信息,信息在传输过程中已经遭到破坏或篡改。
数字证书
数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥和私钥)所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。
使用数字证书能做什么鳚
数字证书在用户公钥后附加了用户信息及CA的签名。公钥是密钥对的一部分,另一部分是私钥。公钥公之于众,谁都可以使用。私钥只有自己知道。由公钥加密的信息只能由与之相对应的私钥解密。为确保只有某个人才能阅读自己的信件,发送者要用收件人的公钥加密信件;收件人便可用自己的私钥解密信件。同样,为证实发件人的身份,发送者要用自己的私钥对信件进行签名;收件人可使用发送者的公钥对签名进行验证,以确认发送者的身份。
在线交易中您可使用数字证书验证对方身份。用数字证书加密信息,可以确保只有接收者才能解密、阅读原文,信息在传递过程中的保密性和完整性。有了数字证书网上安全才得以实现,电子邮件、在线交易和信用卡购物的安全才能得到保证。
认证、数字证书和PKI解决的几个问题鳚
保密性-只有收件人才能阅读信息。
认证性-确认信息发送者的身份。
完整性-信息在传递过程中不会被篡改。
不可抵赖性-发送者不能否认已发送的信息。
加密应用
加密技术的应用是多方面的,但最为广泛的还是在电子商务和VPN上的应用,下面就分别简叙。
在电子商务方面的应用
电子商务(E-business)要求顾客可以在网上进行各种商务活动,不必担心自己的信用卡会被人盗用。在过去,用户为了防止信用卡的号码被窃取到,一般是通过电话订货,然后使用用户的信用卡进行付款。现在人们开始用RSA(一种公开/私有密钥)的加密技术,提高信用卡交易的安全性,从而使电子商务走向实用成为可能。
许多人都知道NETSCAPE公司是Internet商业中领先技术的提供者,该公司提供了一种基于RSA和保密密钥的应用于因特网的技术,被称为安全插座层(Secure Sockets Layer,SSL)。
也许很多人知道Socket,它是一个编程界面,并不提供任何安全措施,而SSL不但提供编程界面,而且向上提供一种安全的服务,SSL3.0现在已经应用到了服务器和浏览器上,SSL2.0则只能应用于服务器端。
SSL3.0用一种电子证书(electric certificate)来实行身份进行验证后,双方就可以用保密密钥进行安全的会话了。它同时使用“对称”和“非对称”加密方法,在客户与电子商务的服务器进行沟通的过程中,客户会产生一个Session Key,然后客户用服务器端的公钥将Session Key进行加密,再传给服务器端,在双方都知道Session Key后,传输的数据都是以Session Key进行加密与解密的,但服务器端发给用户的公钥必需先向有关发证机关申请,以得到公证。
基于SSL3.0提供的安全保障,用户就可以自由订购商品并且给出信用卡号了,也可以在网上和合作伙伴交流商业信息并且让供应商把订单和收货单从网上发过来,这样可以节省大量的纸张,为公司节省大量的电话、传真费用。在过去,电子信息交换(Electric Data Interchange,EDI)、信息交易(information transaction)和金融交易(financial transaction)都是在专用网络上完成的,使用专用网的费用大大高于互联网。正是这样巨大的诱惑,才使人们开始发展因特网上的电子商务,但不要忘记数据加密。
在VPN中的应用
现在,越多越多的公司走向国际化,一个公司可能在多个国家都有办事机构或销售中心,每一个机构都有自己的局域网LAN(Local Area Network),但在当今的网络社会人们的要求不仅如此,用户希望将这些LAN连结在一起组成一个公司的广域网,这个在现在已不是什么难事了。
事实上,很多公司都已经这样做了,但他们一般使用租用专用线路来连结这些局域网,他们考虑的就是网络的安全问题。现在具有加密/解密功能的路由器已到处都是,这就使人们通过互联网连接这些局域网成为可能,这就是我们通常所说的虚拟专用网(Virtual Private Network ,VPN)。当数据离开发送者所在的局域网时,该数据首先被用户湍连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当达到目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了。
接字层
SSL是一种广泛实施的公钥加密。SSL最初由网景公司(Netscape)开发,是互联网浏览器和Web服务器用于传输机密信息的互联网安全协议。SSL现在已经成为总体安全协议传输层安全(TLS)的一部分。
在您的浏览器中,您可以通过多种不同方式知道自己什么时候在使用安全协议(例如TLS)。您将注意到,地址行中的“http”中被替换为“https”,在浏览器窗口底部的状态栏中还会看到一个小的挂锁符号。
公钥加密占用大量计算资源,所以大多数系统结合使用公钥和对称密钥。当两台计算机发起安全会话时,一台计算机创建一个对称密钥,并将其发送给使用公钥加密的另一台计算机。然后这两台计算机使用对称密钥加密进行通信。一旦完成会话,每台计算机都会丢弃该会话使用的对称密钥。进行新的会话要求创建新的对称密钥,然后重复上述过程。
四种类型
1、无客户端SSL:SSL的原始应用。在这种应用中,一台主机计算机在加密的链路上直接连接到一个来源(如Web服务器、邮件服务器、目录等)。
2、配置VPN设备的无客户端SSL:这种使用SSL的方法对于主机来说与第一种类似。但是,加密通讯的工作是由VPN设备完成的,而不是由在线资源完成的(如Web或者邮件服务器)。
3、主机至网络:在上述两个方案中,主机在一个加密的频道直接连接到一个资源。在这种方式中,主机运行客户端软件(SSL或者IPsec客户端软件)连接到一台VPN设备并且成为包含这个主机目标资源的那个网络的一部分。
SSL:由于设置简单,SSL已经成为这种类型的VPN的事实上的选择。客户端软件通常是很小的基于Java的程序。用户甚至可能都注意不到。
IPsec:在SSL成为创建主机至网络的流行方式之前,要使用IPsec客户端软件。IPsec仍在使用,但是,它向用户提供了许多设置选择,容易造成混淆。
4、网络至网络:有许多方法能够创建这种类型加密的隧道VPN.但是,要使用的技术几乎总是IPsec.