密钥分配

   密钥分配分为对称密钥分配和公钥分配体制。

1.对称密钥分配

   Kerberos一词来源于希腊神话“三个头的狗——地狱之门守护者”。

   Kerberos协议主要用于计算机网络的身份鉴别(Authentication),鉴别验证对方是合法的,而不是冒充的。

   Kerberos协议也是密钥分配中心(Key Distribution Center,KDC)的核心。

   Kerberos进行密钥分配时使用AES加密。

   使用Kerberos时,用户只需输入一次身份验证信息,就可以凭借此验证获得的票据访问多个服务,即单点登录(Single Sign On,SSO)。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。

(1)Kerberos组成

   Kerberos使用两个服务器:鉴别服务器(Authentication Server,AS)和票据授予服务器(Ticket-Granting Server, TGS)。

   AS就是一个密钥分配中心(KDC)。同时负责用户的AS注册、分配账号和密码,负责确认用户并发布用户和TGS之间的会话密钥。

   TGS是发行服务器方的票据,提供用户和服务器之间的会话密钥。Kerberos把用户验证和票据发行分开了。虽然AS只用对用户本身的ID验证一次,但为了获得不同的真实服务器票据,用户需要多次联系TGS。

(2)Kerberos流程。

   Kerberos的工作原理:

   第1步:用户A使用明文向AS验证身份。认证成功后,用户A和TGS联系。

   第2步:AS向A发送用A的对称密钥 KA 加密的报文,该报文包含A和TGS通信的会话密钥 KS 及AS发送到TGS的票据(该票据使用TGS的对称密钥KTGS加密)。报文到达A时,输入口令则得到数据。

   注意:票据包含发送人身份和会话密钥。

   第3步:转发AS获得的票据、要访问的应用服务器B名称,以及用会话密钥 KS 加密的时间戳(防止重发攻击)发送给TGS。

   第4步:TGS返回两个票据,第一个票据包含B名称和会话密钥KAB,使用 KS 加密;第二个票据包含A和会话密钥 KAB ,使用 KB 加密。

   第5步: A将TGS收到的第二个票据(包含A名称和会话密钥KAB ,使用 KB 加密)使用 KAB 加密的时间戳(防止重发攻击)发送给应用服务器B。

   第6步:服务器B进行应答,完成认证过程。

   最后,A和B就使用TGS发的密钥 KAB 加密。

2.公钥分配

   公钥基础设施(Public Key Infrastructure,PKI)是一种遵循既定标准的密钥管理平台,它能为所有网络应用提供加密和数字签名等密码服务及必需的密钥和证书管理体系。简单来说,PKI是一组规则、过程、人员、设施、软件和硬件的集合,可以用来进行公钥证书的发放、分发和管理。

   典型的PKI系统由5个基本部分组成:证书申请者、注册机构、CA认证中心、证书库和证书信任方。

   国际电信联盟ITU X.509协议是PKI技术体系中应用最广泛、最基础的一个国际标准,它定义了一个规范的数字证书的格式。

3.SET协议

   电子商务在提供机遇和便利的同时,也面临着一个巨大的挑战,即交易的安全问题。在网上购物环境中,持卡人希望在交易中保密自己的账户信息,使之不被人盗用;商家则希望客户的定单不可抵赖,并且在交易过程中,交易双方都希望验明其他方的身份,以防止被欺骗。

   针对这种情况,由美国Visa和MasterCard两大信用卡组织联合国际上多家科技机构,共同制定了应用于Internet上的以信用卡为基础进行在线交易的安全标准,这就是安全电子交易(Secure Electronic Transaction,SET)。它采用公钥密码体制和X.509数字证书标准,主要用于保障网上购物信息的安全性。

   由于SET提供了消费者、商家和银行之间的认证,确保了交易数据的安全性、完整可靠性和交易的不可否认性,特别是使用双签名的技术保证不将消费者的银行卡号暴露给商家等优点,因此成为了目前公认的信用卡/借记卡网上交易的国际安全标准。

   SET协议本身比较复杂,设计比较严格,安全性高,它能保证信息传输的机密性、真实性、完整性和不可否认性。SET协议是PKI框架下的一个典型实现。