在诸如ad-hoc情况的群组中的认证的群组密钥协商的制作方法

文档序号:7889950阅读:223来源:国知局
专利名称:在诸如ad-hoc情况的群组中的认证的群组密钥协商的制作方法
技术领域
本发明涉及能够使用诸如短程无线通信的无线通信彼此通信的两个或多个参与者的多方情况。本发明进一步涉及网络或群组中或ad-hoc网络中的安全性,网络或群组诸如为接近网络或闭合用户群组、CUG,ad-hoc网络诸如为局域网、LAN或WLAN、无线LAN。
当多个人例如处于会议室或其他环境中,并且希望在他们的诸如膝上型电脑、计算机或诸如移动电话的移动通信设备的个人设备之间建立优选为无线会话的安全通信会话时,可能出现问题。当不存在之前的环境(比如由公共认证中心CA发布的证书)或未经历附近的安全管理员的帮助时,问题在于发现建立公共安全联盟SA的用户友好装置,公共安全联盟SA可以用于保护设备间的通信。安全联盟包括加密密钥和加密保护通信所需的其他信息。
类似情况还可以出现在多用户游戏、多设备个人网络等中。
已知使用共享的短密码认证多方Diffie-Hellman密钥协商,参见Asokan和Ginzboorg的“Key agreement in ad hoc networks”,Computer Communications,2000年4月,其用于参考。
还已知使用非秘密校验和认证两方Diffie-Hellman,参见SergeVaudenay的“Secure Communications over Insecure Channels Based onShort Authenticated Strings”,Advance in Cryptology-CRYPTO 2005,Lecture Notes in Computer Science,LNCS卷3621,Springer-Verlag,pp.309-326,2005年。
在名称为“System,Method And Computer Program Product ForAuthenticating A Data Agreement Between Network Entities”的美国专利申请US 3.10.2005也公开了认证网络实体之间的数据协商的方式。
该美国专利申请以及Asokan和Ginzboorg的上述文章“Keyagreement in ad hoc networks”,Computer Communications,2000年4月以及Serge Vaudenay的“Secure Communications over InsecureChannels Based on Short Authenticated Strings”,Springer-Verlag,pp.309-326,2005年的公开内容,在此将其全文合并到本专利申请中。


发明内容
本发明提供了如权利要求中定义的方法、系统、设备和网元。
而且,本发明提供用于优选地仅使用非秘密校验和认证多方密钥协商的方法、系统和设备。
本发明示出了用于认证设备群组的方式,从而它们可以执行例如认证的群组Diffie-Hellman密钥协商。优选地,通过将如上的Vaudenay,CRYPTO 2005年的交互数据认证协议方法扩展到多方情况来达到该目的。
本发明提供用于在通信群组的三个或多个设备或多方间建立安全会话的方法、系统设备和产品,包括认证通信群组的设备或各方之间的密钥协商。该群组的设备启动用于认证密钥协商的协议,优选为多方数据完整性协议。该群组的设备优选地在计算或协商密钥之后启动该协议。可以存在变形,其中甚至在协商密钥之前可以完成或启动该协议。
本发明提供用户(诸如非专家用户)的设备之间简单可靠的以及安全的安全联盟的形成。本发明主要涉及三个或多个参与者的多方情况,但不限于此。
本发明示出了如何认证设备群组从而它们可以执行例如认证的群组Diffie-Hellman密钥协商的可能性。
在多方情况中,本发明允许由非专家用户在设备间简单以及安全地形成安全联盟。

具体实施例方式 在下文中,将描述本发明实施方式的其他方面、优势和细节。
在本发明的实施方式中,使用基本的多方数据完整性协议。该多方数据完整性协议包括以下特征和步骤。
1.设备共享数据D,它们希望验证的该数据D在所有设备中都是相同的。
以下步骤2-7由所有设备Di(i=1...n)平等地执行。
2.设备Di选出新的256比特随机数Ri,以hi=h(Ri)的形式计算Ri的承诺,并且广播hi。
3.Di等待直到其已经从所有其他设备接收到值hj(j=1...n,j≠i)。
4.Di现在广播Ri。
5.Di针对每个j(j=1...n,j≠i)检查在步骤3中接收的hj是否等于h(Rj)。如果在任何情况中检查失败,则放弃Di。
6.如果在步骤5中检查成功,则Di计算f(R1,R2,...Rn,M)。M是数据D的唯一表示,从而如果D改变,那么很可能M也改变。f()的输出是短的数字字符串,例如,4个数字。Di显示字符串并且提示用户接受/拒绝。
7.如果用户接受,则Di接受D。
在上述h()中,h()是加密承诺函数。在实际中,它可以是单向哈希函数,比如SHA-256(在美国国家标准和技术委员会的FIPS-180-2文档中定义,http//csrc.nist.gov/CryptoToolkit/tkhash.html);并且f()是具有短输出的函数。该函数f()例如可以是截短为四个数字的HMAC_SHA256(XOR(R1,R2,...Rn);M)或SHA_256(R1,R2,...Rn;M)。
步骤3,其中Di等待直到其在之前步骤从所有方接收到广播消息,这对于安全性很关键。该技术还可应用于其他多方认证的密钥协商协议,其中认证基于公共共享秘密密码。
在本发明中使用的密钥协商可以例如是多方认证的Diffie-Hellman密钥协商。该密钥协商将在下面描述。
设备Di(i=1...n)的群组计算或已经计算共享的秘密Diffie-Hellman密钥DHKey。设备优选地是诸如计算机、膝上型电脑、移动设备等的用户设备,这些用户设备希望形成或进入作为ad-hoc群组,ad-hoc群组是彼此通信的设备的临时群组。已知存在进行该计算的方法。简单的方法如下。
所有设备Di平等地执行以下步骤 1.)Di具有私有密钥ai以及公共密钥gai。设备Di设置Mi0=gai。
对于每个j=1...n-1,执行以下步骤2.)和3.) 2.)Di发送Mi(j-1)到D(i+1),(这里D(n+1)=D1)。
3.)Di计算 那么,Mi(n-1)等于共享的秘密Diffie-Hellman密钥DHKey=ga1 a2...an,对于所有i=1...n。
在计算了Diffie-Hellman密钥之后,设备设置M=DHKey,并且启动上述多方数据完整性协议。
类似地,使用数据完整性协议的该密钥认证方法可以应用于基于任何未认证的多方公共密钥的密钥协商方法。
在本发明的另一个实施方式中,认证的密钥协商协议可与上述的协议相同,但是其中取代M=DHKey的是M如下设置 M=(gA1,gA2,....,gAn),其中Ai=(ai)-1(a1·a2…an)。
本发明实施方式的示例性实现可以包括以下特征或步骤。
用户动作的示例顺序如下 1.待形成的群组的用户例如通过按下每个设备上的按钮启动对每个设备的关联。
2.设备进行上述协议或特征/步骤,并且每个生成并且例如显示作为步骤2结果生成的数字的短字符串。
3.用户或设备检查该字符串在所有设备中是否是相同的。作为示例,一个用户大声读出数字,并且其他用户检查他们各自的设备是否显示相同的字符串。也可以通过群组的一个或多个设备,来自动检查该字符串是否相同,例如,通过使用诸如红外传输的可靠传输将设备生成的字符串传送到一个或多个设备。一个或多个设备检查接收的字符串以及可能还有内部生成的字符串彼此是否一致,并且如果一致,则由一个或多个设备确认联盟。
4.如果所有设备显示或已经生成了相同的字符串,则用户例如通过按下确认按钮在它们的设备中的每个上接受该联盟。
然后,在该群组的用户间的通信中使用已接受的联盟以确保隐私。
当例如每个设备具有能够显示短字符串(例如,4个数字)的显示器和简单输入设施(例如,确认按钮)时,可应用该方法。
因此,本发明在ad hoc情况中提供了认证的群组密钥协商。本发明可以与Ad-hoc群组或Ad-hoc网络(诸如一个房间中或诸如建筑之类的限制区域中的多个计算机)一起使用,与属于相同群组或网络的其他设备进行通信,通常仅持续诸如会议之类的有限时间周期,但是并不限于此类情况。
本发明除了其他事物之外通过使用Diffie-Hellman密钥协商提供用于多方情况的数据认证协议,用于认证多方会话的方法和执行此类步骤的设备。
尽管已经在上面描述了优选的实施方式,但是本发明不限于此并且旨在覆盖本领域技术人员能力之内的特征的所有修改、改善、添加以及删除。
权利要求
1.一种用于在通信群组的三个或多个设备或多方间建立安全会话的方法,包括
认证所述通信群组的所述三个或多个设备或多方间的密钥协商,
其中优选地在计算或协商密钥之后,所述通信群组的所述设备启动多方数据完整性协议,用于认证所述密钥协商。
2.根据权利要求1所述的方法,其中所述多方数据完整性协议包括以下的至少一项、多项或全部内容
由所述三个或多个设备共享所述三个或多个设备希望验证的数据,所述数据在所有三个或多个设备中是相同的;
由所述三个或多个设备中的至少一个设备选择随机数;
基于所述随机数计算值;
将计算的值发送或广播到所述三个或多个设备中的其他设备;
所述三个或多个设备中的至少一个设备等待,直到它已经从其他设备接收到所述计算的值;
由所述三个或多个设备中的所述至少一个设备将所述随机数发送或广播到其他设备;
由所述三个或多个设备中的所述至少一个设备检查每个接收的计算的值是否是正确的;以及
由所述三个或多个设备中的所述至少一个设备基于所述随机数以及所述共享的数据或所述共享的数据的唯一表示来计算值,计算的值用于接受或拒绝所述安全会话。
3.根据权利要求2所述的方法,其中所述计算包括使用单向哈希函数。
4.根据前述权利要求中的任意一项所述的方法,其中所述密钥协商是多方认证的Diffie-Hellman密钥协商。
5.根据前述权利要求中的任意一项所述的方法,其中所述三个或多个设备计算或存储共享的秘密Diffie-Hellman密钥。
6.根据前述权利要求中的任意一项所述的方法,其中计算Diffie-Hellman密钥,所述设备设置所述共享的数据或所述共享的数据的唯一表示以对应于所述计算的密钥,并且启动所述多方数据完整性协议。
7.根据前述权利要求中的任意一项所述的方法,其中所述三个或多个设备是用户设备、计算机、膝上型电脑或移动设备,它们希望形成ad-hoc群组。
8.根据前述权利要求中的任意一项所述的方法,包括在认证所述密钥协商之前执行所述密钥协商的步骤。
9.根据前述权利要求中的任意一项所述的方法,包括执行认证的群组密钥协商的步骤。
10.根据前述权利要求中的任意一项所述的方法,包括执行认证的群组Diffie-Hellman密钥协商的步骤。
11.根据前述权利要求中的任意一项所述的方法,包括计算共享的秘密密钥的步骤,所述共享的秘密密钥包括Diffie-Hellman密钥K。
12.根据前述权利要求中的任意一项所述的方法,其中所述三个或多个设备使用基于公钥的密钥协商方法来协商密钥。
13.根据前述权利要求中的任意一项所述的方法,其中所述群组的所述三个或多个设备适于或使用无线通信。
14.根据前述权利要求中的任意一项所述的用于认证多方密钥协商的方法,包括使用非秘密校验和。
15.一种用于在通信群组的三个或多个设备或多方间建立安全会话的系统,包括用于认证所述通信群组的所述三个或多个设备或多方间的密钥协商的装置,
其中所述通信群组的所述三个或多个设备配置为在计算或协商密钥之后启动多方数据完整性协议。
16.根据权利要求15所述的系统,其中提供以下的至少一项、多项或全部内容,所述三个或多个设备共享它们希望验证的数据,所述数据是在所有三个或多个设备中相同的数据;
所述三个或多个设备中的至少一个设备选择随机数并且基于所述随机数计算值,以及将计算的值发送或广播到所述三个或多个设备中的其他设备;
所述三个或多个设备中的所述至少一个设备等待,直到它已经从其他设备接收到所述计算的值;
所述三个或多个设备中的所述至少一个设备将所述随机数发送或广播到所述三个或多个设备中的其他设备;
所述三个或多个设备中的所述至少一个设备检查每个接收的计算的值是否是正确的;以及
所述三个或多个设备中的所述至少一个设备基于所述随机数以及所述共享的数据计算值,计算的值用于接受或拒绝所述会话。
17.一种用于在通信群组的设备与两个或多个设备或多方之间建立安全会话的设备,包括
用于认证所述通信群组的多个设备或多方之间的密钥协商的装置,
其中所述设备配置为优选地在计算或协商密钥之后启动多方数据完整性协议。
18.根据权利要求17所述的设备,其中所述设备配置为执行所述多方数据完整性协议的以下步骤中的至少一项、多项或全部
由所述设备共享所述设备希望验证的数据,所述数据在所有设备中是相同的;
由所述设备选择随机数;基于所述随机数计算值;
将计算的值发送或广播到其他设备;
所述设备等待,直到它已经从其他设备接收到所述计算的值;
由所述设备将所述随机数发送或广播到其他设备;
由所述设备检查每个接收的计算的值是否是正确的;以及
由所述设备基于所述随机数以及共享的数据来计算值,计算的值用于接受或拒绝所述会话。
19.一种包含在计算机可读介质上的计算机程序,所述程序配置为控制计算机执行以下步骤
认证所述通信群组的三个或多个设备或多方之间的密钥协商,
其中所述通信群组的所述设备在计算或协商密钥之后启动多方数据完整性协议,用于认证所述密钥协商。
全文摘要
本发明提供用于在通信群组的三个或多个设备或多方之间建立安全会话的方法、系统、设备和计算机程序产品,包括认证通信群组的多个设备或多方之间的密钥协商,其中优选地在计算或协商密钥以后,群组的设备启动优选为多方数据完整性协议的协议,用于认证密钥协商。
文档编号H04L9/08GK101379758SQ200780004098
公开日2009年3月4日 申请日期2007年1月26日 优先权日2006年2月2日
发明者K·尼伯格, N·阿索坎 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1