一种密钥的协定方法

文档序号:7912781阅读:270来源:国知局
专利名称:一种密钥的协定方法
技术领域
本发明属于信息安全领域中密钥通信协商技术,具体地说是一种密钥的协定方法。
背景技术
在信息安全系统中,密钥是合法访问的唯一凭证。在Kerckhoff密码安全性分析假设下,一个信息安全系统的安全性取决于对密钥本身的保护,而不是对系统或者通信硬件的安全保护。在这一前提下,密码体制和算法本身可以被公开,访问策略可以公布,密码设备可能丢失,但信息安全系统仍然可以继续正常运转,不受影响。但是,密钥一旦泄漏,则安全系统将被破坏不但合法用户不能访问系统、提取信息,而且系统中的信息将会被非法用户所窃取,危害到整个系统的安全。由此可见,安全的密钥管理方法在通信系统的安全中是十分关键和极其重要的。它不仅影响着系统的安全性,而且还将涉及系统的可靠性、有效性和经济性等内容。
Shannon保密理论指出了一次一密系统的安全性和经常性更换密钥的重要性。而经常性的更换密钥在实际中操作起来却因为过于繁琐而不可行。为了使得通信的双方能够在不必频繁更换其基本密钥的情况下,得到类似于一次一密系统的安全性,人们提出了“会话密钥”的概念。所谓会话密钥,就是指通信的双方在一次通话或数据交换中所使用的临时密钥。
密钥协定方法(Key Agreement Scheme)就是一种能够让通信系统中的两个或多个参与主体在一个公开的、不安全的信道上通过通信协定联合建立一次会话所用的临时密钥的通信机制,该临时会话密钥的值是一个由参与各方提供的输入共同作用得到的对于参与各方而言是相同的函数值。
目前,已经出现的密钥协定方法有Diffie-Hellman方法,MQV方法和STS方法等几种方法,它们都被列入IEEE1363-2000和ANSI-F.9.62等标准之中。
其中,Diffie-Hellman方法是最早出现的密钥协定方法,它基于有限乘法群上的离散对数问题DLP,具有计算安全性,目前被广泛应用,但由于其密钥交换过程采用了握手方式,难以抵抗“中间人”攻击,具有安全性问题。MQV方法采用静态密钥和动态密钥两对密钥来完成握手过程和身份鉴别过程,步骤繁琐,操作复杂,实用性不强。STS方法通过三次握手完成密钥协定,需要复杂的数字签名和身份验证过程,有时还需要专用的时戳服务器,通信成本较高。这些都使得通信会话的握手过程的通信成本大大增加,而且过于复杂的密码协定方法还会留下难于觉察的安全隐患。

发明内容
本发明的目的是提供一种基于Abel有限群上离散对数问题的求解困难性,通过引入可信第三方权威认证机构,实现了一种简单实用的高效密钥的协定方法。
为了实现上述目的,本发明的具体步骤如下通信的双方为A和B,他们的私钥分别为SKA和SKB,公钥分别为PKA和PKB,并存放在可信第三方认证中心,其中,PK=SK-1×G。
当通信的双方需要通过不安全的信道协定本次通信所用的临时会话密钥时,则按如下操作完成密钥协定任务①A随机选择一整数kA,并从认证中心CA处获取B的公钥PKB,然后计算SA=kA×PKB,并将SA发送给B;②B随机选择一整数kB,并从认证中心CA处获取A的公钥PKA,然后计算SB=kB×PKA,并将SB发送给A;③A对于从B处收到的SB,用自己的私钥SKA计算KAB=kA×SKA×SB;类似地,B在收到A发出的SA后,用自己的私钥SKB计算KBA=kB×SKB×SA;则密钥协定过程结束,通信的双方协定后约定的本次通信所用的临时会话密钥为K=kA×kB×G。
本发明与之前的各种类似方法相比,本发明无需繁琐的身份鉴别认证,也不需要引入时戳服务器,只需要一次数据交换即可直接完成密钥协定任务,能够抵抗目前已知的各种攻击方法,安全性很高。本方法操作简单、高效,计算开销和空间需求很低,能够应用于如计算机、通信网络、智能卡、手机等各种软硬件环境中。


图1为本发明以图形的形式描述了上述的密钥协定过程。
图2为本发明以图形的形式描述了本发明在三方通信条件下的实施过程。
具体实施例方式
下面结合附图及实施例对本发明作进一步的描述,但实施例不应理解为对本发明的限制。
实施例1有限乘法群上的实施方式系统参数随机选定大素数p,生成元g为一个小于p的正整数。私钥SKA和SKB为小于p-1的随机正整数。则公钥PKA和PKB按如下方式得到 密钥协定过程a)A随机选择小于p-1的正整数kA,并从认证中心CA处获取B的公钥PKB,然后计算SA=(PKB)kAmodp]]>,并将SA发送给B。
b)B随机选取小于p-1的正整数kB,并从认证中心CA处获取A的公钥PKA,然后计算SB=(PKA)kBmodp]]>,并将SB发送给A。
c)A对于从B处收到的SB,用自己的私钥SKA计算KAB=(SB)(kA×SKA)modp;]]>类似地,在收到A发出的SA后,B用SKB计算KBA=(SA)(kB×SKB)modp;]]>则通信的双方协定后约定的本次通信所用的临时会话密钥K=gkAkBmodp.]]>实施例2椭圆曲线有限群上的实施方式系统参数随机选定大素数p,椭圆曲线E(GF(p)y2=x3+ax+b(mod p)是定义在有限域GF(p)上的一条安全椭圆曲线,其上随机选取的基点为G,设n=#E(GF(p)是椭圆曲线E的阶,r是n的一个大素数因子。私钥SKA和SKB为小于r-1的随机正整数。则公钥PKA和PKB按如下方式得到 密钥协定过程如下a)A随机选择正整数kA∈[1,r-1],并从认证中心CA处获取B的公钥PKB,计算SA=kAPKB,并将SA发送给B。
b)B随机选取正整数kB∈[1,r-1],并从认证中心CA处获取A的公钥PKA,然后计算SB=kBPKA,并将SB发送给A。
c)A对于从B处收到的SB,用自己的私钥SKA计算KAB=kASKASB;
类似地,在收到A发出的SA后,B用自己的私钥SKB计算KBA=kBSKBSA;则通信的双方协定后约定的本次通信所用的临时会话密钥K=kAkBG。
实施例3超椭圆曲线有限群上的实施方式系统参数随机选定大素数p,超椭圆曲线Cy2+h(x)y=f(x)modp是定义在有限域GF(p)上的一条亏格为g的安全超椭圆曲线,其中f(x)是次数为2g+1的首一多项式,h(x)是次数至多为g的多项式。设该超椭圆曲线C的Jacobian群J(C;GF(p))的阶#J(C;GF(p))为n,r是n的一个大靠数因子。在该超椭圆曲线C上随机选取基点D∈J(C;GF(p))。私钥SKA和SKB为小于r-1的随机正整数。则公钥PKA和PKB按如下方式得到 则密钥协定过程如下a)A随机选择正整数kA∈[1,r-1],并从认证中心CA处获取B的公钥PKB,计算SA=kAPKB,并将SA发送给B。
b)B随机选取正整数kB∈[1,r-1],并从认证中心CA处获取A的公钥PKA,然后计算SB=kBPKA,并将SB发送给A。
c)A对于从B处收到的SB,用自己的私钥SKA计算KAB=kASKASB;类似地,在收到A发出的SA后,B用自己的私钥SKB计算KBA=kBSKBSA;则通信的双方协定后约定的本次通信所用的临时会话密钥K=kAkBD。
实施例4多方密钥协定方法前面所讨论的实施方法只能适用于只有两个通信主体时的情景。当通信主体不只两个时,需要对具体的实施方法进行适当的改进。这里以三个通信主体为例,说明这一改进设通信的三方为A,B和C,他们的密钥对均根据PK=SK-1×G产生。设他们的私钥分别为SKA、SKB和SKC,公钥分别为PKA、PKB和PKC。则可按照如下方法协定本次通信的临时会话密钥a)A随机选择一整数kA∈[1,r-1],并从认证中心CA处获取C的公钥PKC,然后计算XA=kAPKC,并将XA发送给B;b)B随机选择一整数kB∈[1,r-1],并从认证中心CA处获取A的公钥PKA,然后计算YB=kBPKA,并将YB发送给C;c)C随机选择一整数kC∈[1,r-1],并从认证中心CA处获取B的公钥PKB,然后计算ZC=kCPKB,并将ZC发送给A;d)B对于从A处收到的XA,用刚才所选取的随机整数kB,计算XB=kBXA,并将XB发送给C;e)C对于从B处收到的YB,用刚才所选取的随机整数kC,计算YC=kCYB,并将YC发送给A;f)A对于从C处收到的ZC,用刚才所选取的随机整数kA己的私钥SKA计算ZA=kAZC,并将ZA发送给B;g)C对于从B处收到的XB,用自己的私钥SKC计算KABC=kCSKCXB;h)A对于从C处收到的Yc,用自己的私钥SKA计算KBCA=kASKAYC;i)B对于从A处收到的ZA,用自己的私钥SKB计算KCAB=kBSKBZA。
至此,三方的密钥协定过程完成。经通信三方协定后约定的本次通信所用的临时会话密钥K=kAkBkCG。对于四方或更多的通信方,只需在上述的三方XKAS密钥协定方法中增加更多的密钥传递环节即可。
本说明书中未作详细描述的内容属于本领域技术人员公知的现有技术。
权利要求
1.一种密钥的协定方法,通信的各方分别有私钥SK和公钥PK,其中,PK=SK-1×G,并存放在可信第三方认证中心,具体步骤如下通信的双方为A和B,他们的私钥分别为SKA和AKB,公钥分别为PKA和PKB,当通信的双方需要通过不安全的信道协定本次通信所用的临时会话密钥时,则按如下操作完成密钥协定任务①A随机选择一整数KA,并从认证中心CA处获取B的公钥PKB,然后计算SA=kA×PKB,并将SA发送给B;②B随机选择一整数kS,并从认证中心CA处获取A的公钥PKA,然后计算SB=kB×PKA,并将SB发送给A;③A对于从B处收到的SB,用自己的私钥SKA计算KAB=kA×SKA×SB;类似地,B在收到A发出的SA后,用自己的私钥SKB计算KBA=kB×SKB×SA;则密钥协定过程结束,通信的双方协定后约定的本次通信所用的临时会话密钥为K=kA×kB×G。
2.如权利要求1所述的密钥的协定方法,如果通信方为三方,通信的三方为A,B和C,他们的密钥对均根据PK=SK-1×G产生,设他们的私钥分别为SKA、SKB和SKC,公钥分别为PKA、PKB和PKC。则可按照如下方法协定本次通信的临时会话密钥a)A随机选择一整数kA∈[1,r-1],并从认证中心CA处获取C的公钥PKC,然后计算XA=kAPKC,并将XA发送给B;b)B随机选择一整数kB∈[1,r-1],并从认证中心CA处获取A的公钥PKA,然后计算YB=kBPKA,并将YB发送给C;c)C随机选择一整数kC∈[1,r-1],并从认证中心CA处获取B的公钥PKB,然后计算ZC=kCPKB,并将ZC发送给A;d)B对于从A处收到的XA,用刚才所选取的随机整数kB,计算XB=kBXA,并将XB发送给C;e)C对于从B处收到的YB,用刚才所选取的随机整数kC,计算YC=kBYB,并将YC发送给A;f)A对于从C处收到的ZC,用刚才所选取的随机整数kA己的私钥SKA计算ZA=kAZC,并将ZA发送给B;g)C对于从B处收到的XB,用自己的私钥SKC计算KABC=kCSKCXB;h)A对于从C处收到的YC,用自己的私钥SKA计算KBCA=kASKAYC;j)B对于从A处收到的ZA,用自己的私钥SKB计算KCAB=kBSKBZA。至此,三方的密钥协定过程完成。经通信三方协定后约定的本次通信所用的临时会话密钥K=kAkBkCG。
3.如权利要求1或2所述的密钥的协定方法,对于四方或更多的通信方,只需在权利要求2的三方XKAS密钥协定方法中增加更多的密钥传递环节即可。
全文摘要
本发明涉及一种密钥的协定方法,设通信的双方为A和B,他们的私钥分别为SK
文档编号H04L9/00GK1455543SQ0312807
公开日2003年11月12日 申请日期2003年5月30日 优先权日2003年5月30日
发明者肖攸安, 李腊元 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1