基于信任的新鲜性建立密码协议安全性的方法

文档序号:7685735阅读:160来源:国知局

专利名称::基于信任的新鲜性建立密码协议安全性的方法
技术领域
:本发明涉及的是一种信息安全
技术领域
的方法,特别涉及一种基于信任的新鲜性建立密码协议安全性的方法。
背景技术
:密码协议,又称安全协议,是建立在密码体制基础上的交互通信协议,为在开放的网络环境中传送的各种信息,提供保密性、认证性、完整性和不可否认性。密码协议的安全目标是多种多样的。认证协议是以主体身份的认证或会话密钥的建立为目标的密码协议,是其它安全通信协议的基础。但已有的密码协议往往被证实并不如它们的设计者所期望的那样安全,设计和验证一个正确的密码协议是一项十分困难的任务。人们常常借助形式化方法,对密码协议进行设计和验证。虽然研究人员提出了许多严格的安全性验证方法,用于密码协议安全性的验证,并取得了有目共睹的成绩,但是,仍有许多重要问题还没有得到满意的解决(l).不能有效判定消息是否具有新鲜性,从而无法防止重放和混淆的攻击,是多协议运行环境、攻击者能力的具体形式化描述相关的。(2).没有给出具体量化指标以保证密码协议具有足够的安全性,从而无法对协议的正确性给出既充分又必要的判定。经对现有技术的文献检索发现,MichaelBurrows等在《ACMTransactionsonComputerSystems》(ACM计算机系统学报)(1989,第8巻,第1期,第18一36页)上发表的"Alogicofauthentication"(—种认证逻辑,以下简称BAN逻辑)开创性地提出了基于逻辑推理的密码协议安全性验证方法,成功地找出了许多认证协议中的安全缺陷,其后,研究人员对它进行了改进和扩充,形成了BAN类逻辑,它们从各个不同的方面对BAN逻辑作了改进。但是,BAN类逻辑认为X从来没有出现在密码协议的任何一条消息中,则X就是新鲜的。所以,尽管BAN类逻辑在揭示协议所遗漏的隐含假设方面是非常成功的,但它的推理规则却不能有效区分消息是否新鲜,从而是多协议运行环境、攻击者能力的具体形式化描述相关的,也无法检测到交错攻击和重放攻击。另外,由于BAN类逻辑中协议的理想化过程是非标准的,给出的保证密码协议具有足够的安全性的具体量化指标不能对协议的正确性给出既充分又必要的判定,从而,BAN类逻辑证明为安全的协议,却并不能令人信服其安全性。
发明内容本发明针对现有技术的不足,提供了一种基于信任的新鲜性建立密码协议安全性的方法,本发明基于新鲜性原则提出了保证认证协议单方实体认证安全、双方实体认证安全、单方密钥安全、双方密钥传输安全、双方密钥协商安全的精确量化指标。这些量化指标能对协议的正确性给出既充分又必要的判定,也就是说,验证结果或者能证明验证的密码协议是正确的,或者能指出密码协议安全属性的缺失,并能由安全属性的缺失直接导出攻击的结构。本发明是通过如下技术方案实现的,本发明包括如下步骤步骤-一,明确密码协议将要达成的安全目标单方实体认证,双方实体认证,单方密钥安全,或者双方密钥安全。安全目标指密码协议运行完成时期望满足的一些安全性质,如保密性、认证性、完整性、不可否认性和公平性等。密码协议的安全目标各有不同,认证协议是以认证和认证的密钥建立为目标的密码协议,主要有单方实体认证在协议的某次运行中,参与通信的某一方认证另一方的身份。双方实体认证在协议的某次运行中,参与通信的双方互相认证对方的身份。单方密钥安全在协议的某次运行中,参与通信的某一方认证另一方的身份,并相信由被认证的另一方为本次运行产生的新会话密钥能够在不安全的网络环境中为敏感数据提供一个安全的通信信道。双方密钥安全在协议的某次运行中,参与通信的双方互相认证对方的身份,并由其中一个主体或者两个主体共同生成一个新的会话密钥。通信的双方都相信新会话密钥能够在不安全的网络环境中为敏感数据提供一个安全的通信信道。本发明中,密码协议安全属性指协议某次运行中一个合法参与主体拥有的关于该密码协议安全性的信任,包括主体的活现性信任、新鲜性标识符的保密性信任、新鲜性标识符的新鲜性信任、新鲜性标识符的关联性信任。主体的活现性指协议中的一个合法参与者相信交互的另一方的确参与了协议的本次运行;新鲜性标识符的保密性指协议中的某个合法参与者相信该标识符是以攻击者不可知的密文方式传送的,即是保密的;新鲜性标识符的新鲜性指协议中的某个合法参与者相信该标识符是本次协议运行中新产生的,而不是一个旧的会话值;新鲜性标识符的关联性指协议中的某个合法参与者相信这个新鲜性标识符是与本次协议运行的主体相关联的,而不可能与其它主体关联。单方实体认证的安全目标在协议的某次运行中,参与通信的某一方认证另一方的主体活现性。双方实体认证的安全目标在协议的某次运行中,参与通信的双方互相认证对方的主体活现性。单方密钥安全的安全目标在协议的某次运行中,参与通信的某一方认证另一方的主体活现性,并相信由被认证的另一方为本次运行产生的新会话密钥是保密的、新鲜的、是与通信双方关联的。双方密钥安全的安全目标在协议的某次运行中,参与通信的双方互相认证对方的主体活现性,并由其中一个主体或者两个主体共同生成一个新的会话密钥。通信的双方都相信新会话密钥是保密的、新鲜的、是与通信双方关联的。假设存在一个认证协议n,它的目标是进行主体身份的认证,或者在两个主体A和B之间建立一个用于安全通信的新会话密钥kab。新会话密钥kab可以有这样三种产生方式(1)由协议的某个参与方产生的;(2)由认证协议it中的可信第三方S产生;(3)由通信双方A、B的随机输入Na、Nb共同生成。保证认证协议安全性的充分必要条件,即保证认证协议足够安全的量化安全目标如下<table>tableseeoriginaldocumentpage7</column></row><table>注'""表示主体活现性不可知,"1"表示主体活现性得到认证。u""或""表示新鲜性标识符的保密性不可知,"o"表示没有保密性,"r表示具有保密性。m""或""表示新鲜性标识符的新鲜性不可知,"o"表示没有新鲜性,"r表示具有新鲜性。w"#"或""表示新鲜性标识符未与任何主体关联,IIA(或IIB)表示与A(或B)关联。11BA和11AB均表示新鲜性标识符与A和B关联。这些量化指标能对协议的正确性给出既充分又必要的判定,也就是说,验证结果或者能证明验证的密码协议是正确的,或者能指出密码协议安全属性的缺失,并能由安全属性的缺失直接导出攻击的结构-(1)主体活现性缺失伪装成该主体发起针对该认证协议的攻击。(2)新会话密钥的保密性缺失新会话密钥攻击者已知。(3)新会话密钥的新鲜性缺失使用一个已经得到的、或者旧的会话密钥欺骗某个诚实的协议参与者,是个重放攻击。(4)新会话密钥的关联性缺失使用与其它协议运行实例中的主体相关联的会话密钥,来欺骗某个诚实的协议参与者。如果拥有主体活现性信任,而新会话密钥的关联性缺失,则暗示了一个交错攻击。步骤二,明确密码协议安全性验证的初始假设密码协议参与者在协议运行前已经获得了自身的私钥和其他参与者的公钥,或者已经获得了自己与通信对方或者与可信第三方的长期共享密钥。假设密码协议中使用的密码算法是安全的,即密码协议不安全不是因为该底层密码算法不安全,而是因为协议设计上的缺陷。这些缺陷使得攻击者能够在不需要破解密码算法的条件下,就可以破坏密码协议的安全性目标。对于采用非对称密码技术的机制,假设密码协议参与者在协议运行前已经获得了自身的私钥和其他参与者的公钥;对于采用对称密码技术的机制,假设密码协议参与者在协议运行前已经获得了自己与通信对方(或与可信第三方)的长期共享密钥。假设密码协议参与者能保证自身为协议的某次运行产生的新鲜性标识符具有唯一性和新鲜性。步骤三,在发送或者接收每一句消息(Message*)后,基于步骤二的密码协议安全性的初始假设以及新鲜性原则建立每个通信参与主体获得的密码协议安全属性,直至协议运行结束。新会话密钥和新会话密钥生成部分之外的其他新鲜性标识符,以及非认证主体,或非建立新会话密钥主体的活现性,都仅在安全属性验证过程中出现,用于帮助得到最终的密码协议安全属性。所述新鲜性原则指对每个通信参与主体而言,密码协议的安全性取决于发送或者接收的单向变换,每个单向变换应包含自身已相信新鲜的新鲜性标识符。所述主体指通信的合法参与者,是概率多项式时间机器;所述协议指在两方或互相协作的多方之间进行通信的过程;所述新鲜性标识符指为协议的某次运行产生的一个唯一的标识符,可以是随机数、时间戳、新会话密钥、或生成新会话密钥的组成部分。会话指一个协议的运行实例,一个主体可以同时运行多个协议或一个协议的多个实例;所述已相信新鲜的新鲜性标识符即信任的新鲜性标识符,指协议的某次运行中一个合法的参与者相信新鲜的新鲜性标识符。对于不同的参与者和不同的协议运行,信任的新鲜性标识符是不同的。所述单向变换,具体为可以通过一个(m,Prfk(m))对实现,其中m为消息,k为密钥,Prfk在对称加密技术的实现中表示一个带密钥的伪随机函数(例如,CBC-MAC或HMAC),在非对称加密技术的实现中表示一个数字签名算法。所述建立每个通信参与主体获得的密码协议安全属性,具体为①获得主体活现性协议中的某个合法参与者P收到一个加密消息,该消息包括P已经信任新鲜的新鲜性标识符,而且P断定惟有欲证明主体活现性的主体才能够产生该密文。②获得新鲜性标识符的保密性新鲜性标识符在密码协议中以攻击者不可知的密文方式传送。③获得新鲜性标识符的新鲜性协议中的某个合法参与者P收到带数据完整性保护的加密消息,该消息包括P已经信任新鲜的新鲜性标识符,则加密消息中的新的新鲜性标识符是新鲜的。④获得新鲜性标识符的关联性协议中的某个合法参与者P收到带数据完整性保护的加密消息,该消息包括P已经信任新鲜的新鲜性标识符,而且该加密消息中或者显式指明了关联主体的身份,或者是某主体使用私钥或者双方共享的长期密钥对消息进行了密码学操作,从而与相应主体的身份相关联。步骤四,将步骤三获得的密码协议安全属性与步骤一的密码协议将要达成的安全目标进行比较,安全目标得到满足,则该密码协议是正确的;期望的安全目标没有满足,则该协议存在安全属性的缺失,从而可以根据安全属性的缺失直接导出构造攻击的结构。本发明在密码协议的安全性验证中,取得了显著的进步,使得在并发的多协议运行环境和攻击者对通信信道具有完全控制能力的通信环境下密码协议的安全性验证实际可行。与现有技术相比,本发明具有如下有益效果1、本发明不仅是证明密码协议正确性的方法,而且是査找协议错误的方法;2、对于存在安全属性缺失的密码协议,由本发明的检测结果能直接导出构造攻击的结构;3、本发明新鲜性原则抓住了密码协议安全性的本质,能有效区分消息是否新鲜,从而是密码协议多协议运行环境、攻击者能力的具体形式化描述无关的,能从本质上防止重放和混淆的攻击;4、基于信任的新鲜性建立密码协议安全性的方法中的新鲜性原则不仅对认证密码协议非常有效,还可以进一步扩展,应用到更多的密码协议安全属性的验证,如不可否认性和公平性等。图l是本发明流程图2是本发明中安全目标建立的流程图3是本发明中初始假设建立的流程图4是本发明中安全属性建立的流程图5是本发明中安全性验证结果判定的流程图。具体实施例方式下面结合附图对本发明的实施例作详细说明本实施例在本发明技术方案前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。Alan0.Freier等在URLi也址http:〃wp.netscape.com/eng/ssl3/draft302.txt上发表的"TheSSLProtocolVersion3.0"(SSL协议3.0版)是Netscape公司设计的基于非对称公钥密码体制的密钥传输协议。Lb是主体A为A和B的会话随机选取的一个临时会话密钥,CA是主体A的公钥证书。SSL协议与认证有关的消息传递情况如下Message1A—B:{KabMessage2B—A:{Nb}KabMessage3A—B:{CA,{Nb}Ka-1}Kab下面本发明方法验证SSL协议的安全属性。如图1所示,本实施例包括如下步骤步骤一,如图2所示,明确密码协议将要达成的安全目标;<table>tableseeoriginaldocumentpage11</column></row><table>步骤二,如图3所示,明确密码协议安全性验证的初始假设。对于采用非对称密码技术的机制,假设密码协议参与者A(或B)在协议运行前已经通过某种安全方式获得了自己的私钥Ka—1(或Kb—1)和其他参与者的公钥Ka和Kb;假设密码协议参与者A能保证自身为协议的某次运行产生的新鲜性标识符Kab具有唯一性和新鲜性。步骤三,如图4所示,基于步骤二的密码协议安全性的初始假设以及新鲜性原则建立每个通信参与主体获得的密码协议安全属性,直至协议运行结束。在协议运行的第一步,A随机选取了一个会话密钥Kab,并使用主体B的公钥加密后发送到通信信道上,所以A可以相信Kab是新鲜、保密的。在收到Messagel后,主体B相信IU是保密的,但是无法断定该随机数的新鲜性,以及是否与主体A或B关联,因为任何人(包括攻击者)都可以伪造这个密文。在协议运行的第二步,B生成了一次性随机数Nb,并使用会话密钥IU加密后发送到通信信道上,所以B可以相信Nb是新鲜、保密的;在收到Message2后,虽然主体A可以使用IU解密相应的密文,但A无法区分解密结果是一个有效随机数Nb还是一个乱码,所以A什么也得不到。在协议运行的第三步,主体A相信Kab与A关联;在收到Message3后,主体B知道只有主体A能够从发送的Message2中得到K,所以一定是A使用私钥解密了相应的密文并使用IU加密后发送了Message3,所以B相信A的确参与了通信,而IU和Nb也与A关联起来了,但不能断定是与B关联的。<table>tableseeoriginaldocumentpage11</column></row><table>至此,A相信IU是新鲜、保密的,是与A关联的,但不能断定B的确参与了通信,不能断定IU是与B关联的;B相信A的确参与了通信,IU和Nb是新鲜、保密的,是与A关联的,但是B不能断定1U和队是与B关联的。步骤四,如图5所示,将步骤三获得的密码协议安全属性与步骤一的密码协议将要达成的安全目标进行比较,A和B都不能相信SSL协议是双方密钥安全的。由本发明得到的SSL协议安全属性缺失,根据步骤一构造攻击的方法,能直接导出攻击的结构(1)针对主体A不能断定B的确参与了通信,攻击者I可以假冒主体B的身份欺骗主体A,构造攻击l:Message1A—I(B):{Kab}KbMessage2卿—A:NtMessage3A—I(B):{CA,{N!,}Ka"}Kab协议运行结束,主体A认为已经与主体B之间共享了一个会话密钥Kab,从而将收集到的信息使用Kab加密后送给主体B,而实际上主体B根本不知道存在A与B之间的这个会话密钥K化。如果主体B不与主体A进行交互,那么这个欺骗可以一直进行下去。(2)针对主体B不能断定IU是与B关联的,攻击者I可以使用I与A共享的密钥欺骗主体B,构造攻击2:Message1A—I:{Kab}kIMessage1'I(A)—B:{Kab}KbMessage2'B—I(A):{Nb}KabMessage2I—A:{Nb}KabMessage3A—I{CA,{Nb}KabMessage3,I(A)—B:{CA,{Nb}Ka"}Kab这是一个完善的攻击过程,主体A认为和I完成了一个成功的密钥建立过程,主体B认为和A(实际上是攻击者I)完成了一个成功的密钥建立过程。协议运行结束,主体B认为与主体A(实际上是攻击者I)共享了一个会话密钥Kab,而这个会话密钥实际上是攻击者I与主体A所共享的。(3)针对主体A不能断定IU是与B关联的,攻击者I利用主体B做加解密预言机欺骗主体A,构造攻击3:Message1A—1(B):{Kab}KbMessage1'I—B:{Kab}KbMessage2,B—I:{Nb}KabMessage21(B)—A:{Nb}KabMessage3A—I(B){CA,{Nb}Ka"}KabMessage3'I—B:协议运行结束后,主体A认为已经与主体B之间共享了一个会话密钥Kab,而主体B根本不知道这个会话密钥;主体B认为和主体I之间进行了一次不成功的密钥协商过程。即使将Message2更改为{B,Nb}Kab,攻击2仍然有效,而在攻击l的情况下,A可以发现这是一个乱码,从而中止通信。本实施例抓住了密码协议安全性的本质,能有效区分消息是否新鲜,从而是密码协议多协议运行环境、攻击者能力的具体形式化描述无关的,能从本质上防止重放和混淆的攻击。基于新鲜性原则给出的保证密码协议足够安全的精确量化指标不仅是充分的而且是必要的。本发明不仅是证明密码协议正确性的方法,而且是査找协议错误的方法;对于存在安全属性缺失的密码协议,由本发明的检测结果能直接导出构造攻击的结构。权利要求1、一个基于信任的新鲜性建立密码协议安全性的方法,其特征在于,包括如下步骤步骤一,明确密码协议将要达成的安全目标单方实体认证,双方实体认证,单方密钥安全,或者双方密钥安全;步骤二,明确密码协议安全性验证的初始假设密码协议参与者在协议运行前已经获得了自身的私钥和其他参与者的公钥,或者已经获得了自己与通信对方或者与可信第三方的长期共享密钥;步骤三,在发送或者接收每一句消息后,基于步骤二的密码协议安全性的初始假设以及新鲜性原则建立每个通信参与主体获得的密码协议安全属性,直至协议运行结束;所述新鲜性原则,具体为对每个通信参与主体而言,密码协议的安全性取决于发送或者接收的单向变换,每个单向变换应包含自身已相信新鲜的新鲜性标识符;步骤四,将步骤三获得的密码协议安全属性与步骤一的密码协议将要达成的安全目标进行比较,安全目标得到满足,则该密码协议是正确的,否则根据安全属性的缺失直接构造攻击。2、根据权利要求1所述的基于信任的新鲜性建立密码协议安全性的方法,其特征是,所述明确密码协议将要达成的安全目标,具体为-单方实体认证的安全目标在协议的某次运行中,参与通信的某一方认证另一方的主体活现性;双方实体认证的安全目标在协议的某次运行中,参与通信的双方互相认证对方的主体活现性;单方密钥安全的安全目标在协议的某次运行中,参与通信的某一方认证另一方的主体活现性,并相信由被认证的另一方为本次运行产生的新会话密钥是保密的、新鲜的、是与通信双方关联的;双方密钥安全的安全目标在协议的某次运行中,参与通信的双方互相认证对方的主体活现性,并由其中一个主体或者两个主体共同生成一个新的会话密钥。通信的双方都相信新会话密钥是保密的、新鲜的、是与通信双方关联的。3、根据权利要求1所述的基于信任的新鲜性建立密码协议安全性的方法,其特征是,所述明确密码协议安全性验证的初始假设,具体为对于采用非对称密码技术的机制,假设密码协议参与者在协议运行前已经获得了自身的私钥和其他参与者的公钥;对于采用对称密码技术的机制,假设密码协议参与者在协议运行前已经获得了自己与通信对方或者与可信第三方的长期共享密钥;假设密码协议参与者能保证自身为协议的某次运行产生的新鲜性标识符具有唯一性和新鲜性。4、根据权利要求1所述的基于信任的新鲜性建立密码协议安全性的方法,其特征是,所述建立每个通信参与主体获得的密码协议安全属性,具体为在发送或者接收每一句消息后,基于密码协议安全性的初始假设以及新鲜性原则建立每个通信参与主体获得的密码协议安全属性,直至协议运行结束。5、根据权利要求1所述的基于信任的新鲜性建立密码协议安全性的方法,其特征是,所述已相信新鲜的新鲜性标识符即信任的新鲜性标识符,具体为协议的某次运行中一个合法的参与者相信新鲜的新鲜性标识符。6、根据权利要求1所述的基于信任的新鲜性建立密码协议安全性的方法,其特征是,所述单向变换,具体为通过一个m,Prfk(m)对实现,其中m为消息,k为密钥,Prfk在对称加密技术的实现中表示一个带密钥的伪随机函数,在非对称加密技术的实现中表示一个数字签名算法。7、根据权利要求1所述的基于信任的新鲜性建立密码协议安全性的方法,其特征是,所述建立每个通信参与主体获得的密码协议安全属性,具体为①获得主体活现性协议中的某个合法参与者P收到一个加密消息,该消息包括p已经信任新鲜的新鲜性标识符,而且p断定惟有欲证明主体活现性的主体才能够产生该密文;②获得新鲜性标识符的保密性新鲜性标识符在密码协议中以攻击者不可知的密文方式传送;③获得新鲜性标识符的新鲜性协议中的某个合法参与者P收到带数据完整性保护的加密消息,该消息包括P已经信任新鲜的新鲜性标识符,则加密消息中的新的新鲜性标识符是新鲜的;④获得新鲜性标识符的关联性协议中的某个合法参与者P收到带数据完整性保护的加密消息,该消息包括P已经信任新鲜的新鲜性标识符,而且该加密消息中或者显式指明了关联主体的身份,或者是某主体使用私钥或者双方共享的长期密钥对消息进行了密码学操作,从而与相应主体的身份相关联。全文摘要一种信息安全领域的基于信任的新鲜性建立密码协议安全性的方法,本发明步骤为步骤一,明确密码协议将要达成的安全目标;步骤二,明确密码协议安全性验证的初始假设;步骤三,在发送或者接收每一句消息后,基于密码协议安全性的初始假设以及新鲜性原则建立每个通信参与主体获得的密码协议安全属性,直至协议运行结束;步骤四,将获得的密码协议安全属性与期望的安全目标进行比较。本发明不仅能有效区分消息是否新鲜,而且安全性的验证与并发的运行环境及攻击者能力的具体形式化描述无关,能从本质上防止重放和混淆的攻击;不仅对认证密码协议非常有效,还可以进一步扩展,应用到更多的密码协议安全属性的验证。文档编号H04L9/32GK101299752SQ200810039569公开日2008年11月5日申请日期2008年6月26日优先权日2008年6月26日发明者玲董,陈克非申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1