单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 电子商务安全认证体系,目 录,4.1,身份认证与认证体系,4.2,身份认证协议,4.3,数字证书与认证机构,4.4,安全认证体系及其实施标准,4.1,身份认证与认证体系,“,在互联网上,没有人知道你是一个人还是一条狗!”,物理身份,=,数字身份,?,-,身份认证,验证物理身份方法:,(,1,),what do you know,?,“天王盖地虎,宝塔镇河妖”、“芝麻开门”,(,2,),what do you have,?,身份证、工作证、护照、户口簿,(,3,),What are your physical characteristics?,指纹、笔迹、声音、虹膜、掌纹、,DNA,数字身份认证方式:,(,1,)用户名,/,密码方式:“,what you know”,(,2,),IC,卡认证:“,what you have”,(,3,)动态口令,(,4,)生物特征认证,(,5,),USB Key,认证,备注,1,认证:,防止主动攻击,包括验证信息真伪及防止在通信过程中被篡改、删除、插入、伪造、延迟、重放等。,包括三个方面:消息认证、,身份认证,、数字签名。,身份认证包括:认证、授权、审计,认证:鉴别身份,防止假冒。,授权:赋予合法用户文件操作、数据存取等权限。,审计:每个人的操作有记录,以便核查责任。,身份认证体系:,PKI(Pubic Key Infrastructure),是利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。,PKI,基础设施采用证书管理公钥,通过第三方的可信任机构(认证中心),把用户的公钥和用户的其他标识信息捆绑在一起,在,Internet,网上验证用户的身份。,PKI,中最基本的元素就是,数字证书,。所有安全的操作主要通过证书来实现。,PKI,还包括签置这些证书的证书机构,CA,;登记和批准证书签置的登记机构,RA,;存储和发布这些证书的电子目录;证书策略、证书路径以及证书的使用者。许多这样的基本元素有机地结合在一起就构成了,PKI,。,数字证书:,数字证书是各类实体,(,持卡人,/,个人、商户,/,企业、网关,/,银行等,),在网上进行信息交流及商务活动的身份证明。,在电子交易的各个环节,交易的各方都需验证对方证书的有效性,从而解决相互间的信任问题。,数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据。身份验证机构的数字签名可以确保证书信息的真实性。证书格式及证书内容遵循,X.509,标准。,CA,:,证书授权,(Certificate Authority),中心,是一个负责发放和管理数字证书的权威机构,它作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。,CA,为每个使用公开密钥的用户发放一个数字证书,以实现公钥的分发并证明其合法性。,CA,的数字签名使攻击者不能伪造和篡改证书。,认证中心往往采用一种多层次的分级结构,各级的认证中心类似于各级行政机关,上级认证中心负责签发和管理下级认证中心的证书,最下一级的认证中心直接面向最终用户。,认证中心(,CA,)的功能有:证书发放、证书更新、证书撤销和证书验证。,CA,的核心功能就是发放和管理数字证书。,认证中心为了实现其功能,主要由以下三部分组成:,注册服务器:通过,Web Server,建立的站点,可为客户提供每日,24,小时的服务。因此客户可在自己方便的时候在网上提出证书申请和填写相应的证书申请表,免去了排队等候等烦恼。,证书申请受理和审核机构:负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。,认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(,CRL,)的生成和处理等服务。,CA,功能:,4.2,身份认证协议,用来对被验证方和验证方之间的与验证有关的数据通信进行管理。,一般建立在通信协议(如网络层、应用层协议)之上,至少满足:,A,能向,B,证明他的确是,A,。,A,向,B,证明其身份后,,B,不能获得,A,任何有用信息,即不能仿冒,A,。,按认证的方向分:单向、双向认证协议,按使用的密码技术分:基于对称密码、基于公钥的双向认证协议。,1,、基于对称密码的双向认证协议,Needham-Schroeder,(,NS,,,1978,)认证协议。,(,1,),A KDC,:,A|B|Ra,(,2,),KDC A,:,E,Ka,Ra|B|Ks|E,Kb,Ks|A,(,3,),A B,:,E,Kb,Ks|A,(,4,),B A,:,E,Ks,Rb,(,5,),A B,:,E,Ks,Rb-1,/,避免重放攻击,其中,KDC,(密钥分发中心)是可信权威机构,,Ra,、,Rb,是一次性随机数,保密密钥,Ka,和,Kb,分别是,A,和,KDC,、,B,和,KDC,之间共享的密钥,,Ks,是由,KDC,分发的,A,与,B,的会话密钥,,E,X,表示使用密钥,X,加密。,假定攻击方,I,已经掌握,A,和,B,之间通信的一个老的会话密钥(如经过蛮力攻击等),则入侵者,I,可以冒充,A,利用老的会话密钥欺骗,B,。除非,B,记住所有以前使用的与,A,通信的会话密钥,否则,B,无法判断这是一个重放攻击。,(,3,),I,(A)B,:,E,Kb,Ks|A,/,I,截获,A,发给,B,的(旧)包,并发给,B,(,4,),B,I,(A),:,E,Ks,Rb,/B,用,Kb,解密后得到,Ks,(旧)和,A,,以为是,A,(,5,),I,(A)B,:,E,Ks,Rb-1,/,I,用(旧),Ks,解密得到,Rb,,减,1,后再用,Ks,加密发给,B,Denning-Sacco,协议使用时间戳修正这个漏洞。,(,1,),A KDC,:,A|B,(,2,),KDC A,:,EKa B|Ks|T|EKb Ks|A|T,(,3,),A B,:,EKb Ks|A|T,(,4,),B A,:,EKs Rb,(,5,),A B,:,EKs Rb-1,其中,T,表示时间戳。,T,记录了,KDC,发送消息(,2,)时的时间,,A,,,B,根据时间戳验证消息的“新鲜性”,从而避免了重放攻击。,作业:写出,Otway-Rees,认证协议的具体实现过程,2,、基于公钥的双向认证协议,一个基于临时值握手协议,WOO92a,(,1,),A KDC,:,ID,A,|ID,B,(,2,),KDC A,:,E,KRauth,ID,B,|KU,b,(,3,),A B,:,E,KUb,N,a,|ID,A,(,4,),B KDC,:,ID,B,|ID,A,|E,KUauth,N,a,(,5,),KDC B,:,E,KRauth,ID,A,|KU,a,|E,KUb,E,KRauth,N,a,|K,s,|ID,B,(,6,),B A,:,E,KUa,E,KRauth,N,a,|K,s,|ID,B,|N,b,(,7,),A B,:,E,Ks,N,b,其中,,ID,A,和,ID,A,分别是,A,,,B,的识别名称,,N,a,和,N,b,分别是,A,和,B,产生的随机数,,KU,a,是,A,的公钥,,KU,b,是,B,的公钥,,KU,auth,是,KDC,的公钥,,KR,auth,是,KDC,的私钥。,一个基于临时值握手协议,WOO92,b,(,1,),A KDC,:,ID,A,|ID,B,(,2,),KDC A,:,E,KRauth,ID,B,|KU,b,(,3,),A B,:,E,KUb,N,a,|ID,A,(,4,),B KDC,:,ID,B,|ID,A,|E,KUauth,N,a,(,5,),KDC B,:,E,KRauth,ID,A,|KU,a,|E,KUb,E,KRauth,N,a,|ID,A,|K,s,|ID,B,(,6,),B A,:,E,KUa,E,KRauth,N,a,|ID,A,|K,s,|ID,B,|N,b,(,7,),A B,:,E,Ks,N,b,3,、一次一密系统(,one-time system),假定明文:,M=(m,0,m,1,m,2,.,m,n-1,),算法:,Ci=E,Ki,(m,i,)=(m,i,+K,i,)(mod 26)0in,密钥,K=(K,0,K,1,K,2,.,K,n-1,),是一个随机序列,密钥只使用一次,且密钥长度等于明文序列的长度,即,|K|=|M|,举例:明文是,send help,对应的数字等价形式为,18,,,4,,,13,,,3,,,7,,,4,,,11,,,15,假定随机密钥序列为:,K=(5,13,1,0,7,2,20,16),,,n=8,根据上述算法可以得出密文:,C=(23,17,14,3,14,6,5,5),或等价的,C=(X,R,O,D,D,O,G,F,F),如果知道密钥序列,K,就可以很容易地将密文,C,还原。如果不知道密钥序列,该例的密钥序列共有,26,8,。,理论上不可攻破的密码系统只有这一种。在实际应用中,该系统却受到很大的限制:首先分发和存储这样大的随机密钥序列(它和明文信息等长),确保密钥的安全是困难的。其次,如何生成真正的随机序列也是一个问题。,4,、单向认证协议,零知识证明,(,1,),A,要向,B,证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。这时有,2,个方法:,A,把钥匙出示给,B,,,B,用这把钥匙打开该房间的锁,从而证明,A,拥有该房间的正确的钥匙。,B,确定该房间内有某一物体,,A,用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给,B,,从而证明自己确实拥有该房间的钥匙。后面这个方法属于零知识证明。好处在于在整个证明的过程中,,B,始终不能看到钥匙的样子,从而避免了钥匙的泄露。,(,2,),A,拥有,B,的公钥,,A,没有见过,B,,而,B,见过,A,的照片,偶然一天,2,人见面了,,B,认出了,A,,但,A,不能确定面前的人是否是,B,,这时,B,要向,A,证明自己是,B,,也有,2,个方法。,B,把自己的私钥给,A,,,A,用这个私钥对某个数据加密,然后用,B,的公钥解密,如果正确,则证明对方确实是,B,。,A,给出一个随机值,,B,用自己的私钥对其加密,然后把加密后的数据交给,A,,,A,用,B,的公钥解密,如果能够得到原来的随机值,则证明对方是,B,。后面的方法属于零知识证明。,The end.,