建立会话密钥协定的方法

文档序号:7661982阅读:133来源:国知局
专利名称:建立会话密钥协定的方法
技术领域
本发明涉及无线电通信系统内建立会话密钥的一种方法。
技术背景美国目前使用三种主要的无线电通信系统,标准各不相同。第一 种系统是时分多址联接系统(TDMA),采用IS-136标准,第二种 是码分多址联樹CDMA )系统,釆用IS - 95标准,第三种是Advanced Mobile Phone System ( AMPS )(高级移动台系统)。所有三种系统 的系统间通话都使用IS-41标准,此标准规定了呼叫开始期的认证 程序、秘密共享数据的修改、等等。图1画出一种无线电通信系统,它包括一个认证中心(AC)和 一个归属位置寄存器(HLR) 10、 一个访问位置寄存器(VLR) 15、 和一部移动台(mobile) 20。虽然一个AC可以与多于一个HLR联接,但目前是--对应。因此,图1把HLR和AC画成一体,尽管它们是分开的。还有,为简单起见,后面论及HLR和AC的说明都 合起来称为AC/HLR。再有,VLR把信息发送至与之关联的多个移 动交换中心(MSC )之一,每一个MSC又把消息发送至多个基站(BS ) 之一,以便发送至移动台。为简单起见,此VLR、各个MSC和BS 将被称为并表示为一个VLR。为一个网络供应公司工作的各个AC、 HLR、 VLR、 MSC和BS,合起来称为一个网络。还有一个被称为共享秘密数据SSD的辅助密钥,被发送至VLR 15。 此SSD是用一种密码算法或密码函数,由A-密钥和一个随机种子 RANDSSD产生。 一个密码函数是一个函数,它根据可能输入的范围 产生具有预定位数的一个输出。 一个密钥密码函数(KCF)是一类密 码函数,它根据某个密钥来运算;例如, 一个密码函数对两个或多个 变元(即输入)进行运算,其中一个变元是密钥。除非密钥已知,否 则不能从所用的KCF的输出和知识,确定输入。加密/解密算法是密 码函数的一些类型。单向函数像伪随机函数(PRF)和消息认证码 (MAC)都属密码函数。符号KCFsk (Rn')表示用会话密钥SK作 密朝的随机数Rn,的KCF。会话密钥是维持一段会话的密钥,而一段 会话是指一段时间段,诸如一个呼叫的长度。在IS - 41协议中,使用的密码函数是CAVE ( Cellular Authentication and Voice Encryption )(蜂窝认证和声音加密)。当 移动台20漫游时,在该区域的VLR 15发送一个认证请求到AC/HLR 10。如果工作在非共享模式,AC/HLR IO会把VLR 15当作一个通 信管道,利用与移动台20关联的SSD,对移动台20加以认证。但是, 在共享模式时,AC/HLR 10则通过发送此移动台的SSD至VLR 15, 来响应认证请求。 一旦VLR15有了 SSD,便能够离开AC/HLR 10, 独立地i人证移动台20。为了安全,SSD定期地更新。SSD的长度是128位。头64位作为第一SSD,称为SSDA,第 二 64位作为第二 SSD,称为SSDB。在协议中,SSDA被用来更新SSD , 移动台20和网络用SSDB来产生会话密钥。在更新SSD时,IS-41 在更新过程中,用执行互认证(即移动台和网络互相认证)来提供安 全措施,但是,在产生会话密钥时,IS-41不提供互认证。发明内容在建立会话密钥的方法中, 一个网络和一部移动台互相传送代 码。移动台使用这些代码来认证网络,网络使用这些代码来认证移动 台。除去执行这一相互认证外,移动台和网络还用这些代码来建立会话密钥。在一个实施例中,由于用这些代码发送消息,且构成部分打 算进行的会话,从而提高了通信效率。还有,进行相互认证的代码是 根据此消息导出的。根据本发明的一个方面,提供了 一种用于在移动台上建立会话密 钥的方法,该移动台已经漫游进入了该移动台的归属覆盖区域之外的网络的覆盖区域,该方法包括a) 从所述网络接收第一随机数RN;b) 产生第二随机数RM和第一密钥密码函数; bl)产生第二密钥密码函数;c) 把所述第二随机数和所述第一密钥密码函数发送至所述网络;d) 从所述网络接收所述第二密钥密码函数;e) 如果从所述网络接收的所述第二密钥密码函数与所述移动 台产生的所述第二密钥密码函数匹配,则认证所述网络;和f) 如果所述网络被认证,则根据所述第一随机数和所述第二 随机数,建立所述会话密钥SK。根据本发明的另 一个方面,提供了 一种在网络上建立会话密钥的 方法,该网络具有在漫游移动台的归属覆盖区域之外的覆盖区域,所 述方法包括a)向所述移动台发送第一随机数RN;b )从所述漫游移动台接收第二随机数RM和第一密钥密码函数;bl)产生第一密钥密码函数;c )根据所述第一随机数RN和所述第二随机数RM,建立会 话密钥SK;d)如果从所述移动台接收的所述第一密钥密码函数与所述 网络产生的所述第一密钥密码函数匹配,则认证所述漫游移动台。


从下面详细的说明和附图,可以更完整地了解本发明,附图只为示例而给出,在各图中,用相同的参考数字标记相应的部分,其中 图1是一个功能块图,画出一个无线电通信系统的基本组成部分;图2按照本发明的第一实施例,说明在呼叫终止期,网络与移动台之间建立会话密钥的通信;图3按照本发明的第一实施例,说明在呼叫开始期,网络与移动 台之间建立会话密钥的通信;图4按照本发明的第二实施例,说明在呼叫终止期,网络与移动 台之间建立会话密钥的通信;图5按照本发明的第二实施例,说明在呼叫开始期,网络与移动 台之间建立会话密钥的通信;图6按照本发明的第三实施例,说明在呼叫终止期,网络与移动 台之间建立会话密钥的通信;和图7按照本发明的第三实施例,说明在呼叫开始期,网络与移动 台之间建立会话密钥的通信。
具体实施方式
下面将说明,按照本发明建立会话密钥的方法,被图1所示无线 电通信系统采用时的情形。仅为讨论的目的,只说明共享方式下的运 行,但同业人士明白,此系统也可以在非共享方式下运行。此外,仅 为示例的目的,在存在多段会话时,只就呼叫开始期和呼叫终止期建 立会话密钥方面说明本发明的方法。还应指出,为了简单明了,熟知 信息,诸如移动台的标识信息(如移动台的标识编号、电子序号、等 等),在移动台与网络之间的传送,也没作说明。图2按照本发明的笫一实施例,说明在呼叫终止期,网络与移动 台之间建立会话密钥的通信。如图所示,VLR 15用随机数发生器产 生一个随机数Rn,并把随机数RN发送至移动台20,作为随同呼叫终止期请求的一个询问。作为响应,移动台20产生一个计数值CM ,并对随机数RN 、 计数值CM 、 Type (类型)数据、和id (标识)数据0,用SSDA作 为密钥,完成一次KCF计算。这一计算以KCFssda (Type, 0, CM , RN )表示。最好此KCF是一个如HMAC的密钥消息认证代码,但也 可以是一个PRF,如根据NIST ( National Institute of Standard )的 Data Encryption Standard - Cipher Block Chaining ( DES - CBC ) (数据加密标准-密码分组链接)。移动台包括一个产生计数值CM 的计数器,同时对来自网络的每一次询问,在产生询问响应(即 KCFssda (Type, 0, CM , RN))之前,递增计数值CM。Type (类型)数据代表被执行的协议的类型。协议类型包括, 举例说,有呼叫终止期、呼叫开始期、移动台登记等等。id(标识) 数据0表明通信发自一部移动台,而id数据l表明通信发自网络。移动台20把计数值CM和KCFssda (Type, 0, CM , Rw)发送 至网络。因为VLR 15已启动了当前的呼叫终止期协议,包括按照本 发明的建立会话密钥的协议,VLR15现在知道此Type数据。同样, 因为来自移动台的通信包括相同的id数据,VLR15也知道这个值。 因此,VLR 15根据收到的计数值CM计算KCFSSDA (Type, 0, CM , RN),并确定这个计算值是否符合从移动台20收到的内容。如果发 现符合,VLR15便认证了此移动台20。一旦移动台20被认证,VLR 15计算KCFSSDA ( Type, 1, CM ), 并把计算结果发送至移动台20。同时移动台20也计算KCFssda (Type, 1, CM)。然后移动台20要验证,计算的KCFSSDA ( Type, 1, CM)内容是否符合从VLR 15收到的内容。如果发现符合,移动 台20便认证了此网络。移动台20和VLR15两者都产生如PRFA-Key(CM, RN)的会话 密钥SK;其中的PRF最好是DES-CBC算法。移动台20把计数值CM存储在半永久存储器,即使断电,计数 佳Cm也不用重新初始化。这样,避免了一个计数值的重复;而重复的计数值让一个攻击者在他的攻击中得手。在一个优选实施例中,计数值用一个随机数初始化,并用巨大的位计数器,例如64位或75位 计数器来产生。这样,即使移动台发生严重事故并丢失存储的计数值, 也能提供安全保障。即使一个攻击者能够随意地使某个移动台发生事 故,并假定启动一次会话要用至少一秒,那么举例说,当用一个75 位计数器时,在攻击者设法让该移动台重复一个计数值之前,要等待 一年的时间。作为一种变化,代替产生并发送一个唯一的随机数RN到每一部移动台,VLR15产生一个全局的随机数I^;即,对所有移动台都是 一个相同的随机数。在这个变化的实施例里,网络把呼叫终止期请求 作为一页在控制信道上发送。然而,由网络监测的移动台20的预期响应时间与发送一个唯一 的随机数的时间大致保持相同时,适用这个变化的实施例。换而言之, 当这个全局的随机数的有效时间能保持相对地短时,适用这个变化的 实施例。如果全局的随机数需要一个较长的有效时间,那么最好是, 在一个全局随机数的持续时间内,VLR15存储计数值CM,并确定收 到的计数值CM是否超过先前存储的计数值。如果收到的计数值CM 确实超过先前存储的计数值,那么VLR 15再进一步认证该移动台20。 如果收到的计数值CM没有超过先前存储的计数值,就不认证该移动 台20。当VLR15发送一个新的全局随机数时,每一部移动台存储的 计数值被擦除,存储计数值和比较计数值的过程又再次开始。图3按照本发明的第一实施例,说明在呼叫开始期,网络与移动 台20之间建立会话密钥的通信。如图示,移动台20向VLR 15发送 一个呼叫开始期请求。作为响应,VLR 15用随机数发生器产生随机 数Rn ,并把随机数RN发送至移动台20。作为响应,移动台20产生计数值CM ,并用SSDA作为密钥, 对随机数Rw 、拨号数字DD、计数值CM、 Type数据、和id数据0, 完成一次KCF计算。这一计算以KCFssda (Type, 0, CM , RN, DD)表示。拨号数字DD是移动台用户需要呼叫的对方电话号码。移动台20把拨号数字DD、计数值CM 、和KCFSSDA ( Type, 0, CM , RN , DD)发送至网络。因为VLR15收到了呼叫开始期请求, 所以VLR15知道Type数据。因此,VLR 15根据收到的拨号数字和 计数值CM ,奸算KCFssda (Type, 0, CM , RN , DD),并确定 这个计算是否与从移动台20收到的内容符合。如果发现符合,VLR 15 认证这个移动台20。移动台20 —旦被认证,VLR 15便计算KCFssDA (Type, 1, CM),并把计算结果发送至移动台20。同时,移动台20也计算KCFssDA (Type, 1, CM)。然后,移动台20验证计算的KCFSSDA (Type, 1, CM)内容是否与从VLR 15收到的内容符合。如果发现符合,移动 台2(W更i人证了网络。移动台20和VLR 15两者都产生如PRFA — Key ( CM , RN )的会 话密钥SK;其中PRF最好是DES-CBC算法。按照上面的讨论,移动台20把计数值存储在半永久存储器内, 且此计数值用一个随机数初始化,并用巨大的位计数器,例如64位 或75位计数器来产生。作为一种变化,代替产生并发送一个唯一的随机数RN到每一部移动台,VLR15产生一个全局的随机数RN;即,对所有移动台都是 一个相同的随机数。然而,由网络监测的移动台20的预期响应时间与发送一个唯一 的随机数的时间大致保持相同时,适用这个变化的实施例。换而言之, 当这个全局的随机数的有效时间能保持相对地短时,适用这个变化的 实施例。如果全局的随机数需要一个较长的有效时间,那么最好是, 在一个全局随机数的持续时间内,VLR 15存储计数值CM,并确定收 到的计数值CM是否超过先前存储的计数值。如果收到的计数值CM 确实超过先前存储的计数值,那么VLR 15再进一步认证该移动台20。 如果收到的计数值CM没有超过先前存储的计数值,就不认证该移动 台20。当VLR15发送一个新的全局随机数时,为每一部移动台存储 的计数值被擦除,存储计数值和比较计数值的过程又再次开始。图4按照本发明的第二实施例,说明在呼叫终止期,网络与移动 台20之间建立会话密钥的通信。如图所示,VLR15利用一个随机数 发生器产生一个随机数Rw ,并发送此随机数Rjy作为全局询问。当 为呼叫终止期与移动台20建立会话密钥时,VLR15把呼叫终止期请 求作为一页在控制信道上发送至移动台20。作为响应,移动台20利用一个随机数发生器,产生一个随机数 Rm ,并用SSDA作为密钥,用随机数Rn 、随机数Rm 、 Type数 据、和id数据0,完成一次KCF计算。这一计算以KCFssda ( Type, 0, RM , Rn)表示。KCF最好是一个密钥消息认证码,如HMAC, 但也可以是一个PRF,如根据NIST ( National Institute of Standard ) 的Data Encryption Standard - Cipher Block Chaining ( DES - CBC ) (数据加密标准-密码分组链接)。移动台把随机数RM和KCFssda (Type, 0, RM , RN)发送至 网络。VLR15根据收到的随机数Rm计算KCFssda (Type, 0, RM , RN),并确定这一计算值是否与从移动台20收到的内容符合。如果 发现符合,VLR15侵j人证了该移动台20。移动台20 —旦被认证,VLR 15便计算KCFSSDA (Type, 1, RM ),并把计算结果发送至移动台20。同时,移动台20也计算 KCFssda (Type, 1, RM )。然后,移动台20验证计算的KCFSSDA (Type, 1, RM )内容是否与从VLR 15收到的内容符合。如果发 现符合,移动台20便认证了网络。移动台20和VLR 15两者都产生如PRFA-Key(RM , RN)的会 话密钥SK;其中PRF最好是DES-CBC算法。再有,由网络监测的移动台20的预期响应时间与发送一个唯一 的随机数rn的时间大致保持相同时,适用图4的实施例。换而言之, 当这个全局的随机数的有效时间能保持相对地短时,适用这个实施 例。如果全局的随机数需要一个较长的有效时间,那么最好是,移动 台20除产生随机数rm外,还产生一个计数值CT。具体说,当收到一个新的全局随机数Rjv时,移动台20把其内置的一个计数器初始化。每一次移动台20产生一个随机数RM和一个 询问响应,移动台20递增其计数器以获得计数值CT。还有,移动台 20产生的询问响应是KCFssoA (Type, 0, RM , RN , CT),同时, 移动台20把计数值CT、随机数Rm 、和这个询问响应发送至网络。 VLR 15在一个全局随机数RN的持续时间内,把从每一部移动台收 到的计数值存储起来,并确定从某一部移动台收到的计数值CT是否 超过先前对该移动台存储的计数值。如果收到的计数值CT确实超过 先前存储的计数值,那么VLR 15便再进一步认证此移动台20。如果 收到的计数值CT没有超过先前存储的计数值,那么此移动台20便不 被认证。如果VLR 15要再进一步认证此移动台20, VLR 15便产生并 发送一个询问响应KCFSSDA (Type, 1, RM , CT)。此外,在产生 会话密钥时,移动台20和VLR15都计算如PRFA-Key(RM, RN , CT)的会话密钥。图5按照本发明的第二实施例,说明在呼叫开始期,网络与移动 台20之间建立会话密钥的通信。如图所示,移动台20把一个呼叫开 始期请求发送至VLR。作为响应,VLR 15利用一个随机数发生器产 生一个随机数Rn ,并把此随机数RN作为一个全局询问发送。当移动台用户拨号呼叫时,移动台20用随机数发生器产生一个 随机数Rm ,并用SSDA作为密钥,用随机数Rn 、拨号数字DD、 随机数Rm 、 Type数据、和id数据O,完成一次KCF计算。这一计 算以KCFssda (Type, 0, RM , RN , DD)表示。移动台20把拨号数字DD、随机数Rm、和KCFssda (Type, 0, RM , RN , DD)发送至网络。VLR 15根据收到的拨号数字和随机 数Rm ,计算KCFssDA (Type, 0, RM , RN , DD),并确定此计 算值是否与从移动台20收到内容符合。如果发现符合,VLR 15便认 证了此移动台20。移动台20 —旦被认证,VLR 15便计算KCFSSDA (Type, 1, RM ),并把计算结果发送至移动台20。同时,移动台20也计算KCFssda (Type, 1, RM )。然后,移动台20验证计算的KCFSSDA (Type, 1, RM )内容是否与从VLR 15收到的内容符合。如果发 现符合,移动台20便认证了网络。移动台20和VLR 15两者都产生如PRFA — Key(RM , RN )的会 话密钥SK;其中PRF最好是DES-CBC算法。再有,由网络监测的移动台20的预期响应时间与发送一个唯一 的随机数rn的时间大致保持相同时,适用图5的实施例。换而言之, 当这个全局的随机数的有效时间能保持相对地短时,适用这个实施 例。如果全局的随机数需要一个较长的有效时间,那么最好是,移动 台20除产生随机数rm外,还产生一个计数值CT。具体说,当收到一个新的全局随机数rn时,移动台20把其内 置的一个计数器初始化。每一次移动台20产生一个随机数rm和一个 询问响应,移动台20递增其计数器以获得计数值CT。还有,移动台 20产生的询问响应是KCFssoA (Type, 0, RM , RN , DD, CT), 同时,移动台20把呼叫开始期请求、拨号数字DD、计数值CT、随 机数Rm 、和这个询问响应发送至网络。VLR15在一个全局随机数 rn的持续时间内,把从每一部移动台收到的计数值存储起来,并确定 从某一部移动台收到的计数值CT是否超过先前对该移动台存储的计 数值。如果收到的计数值CT确实超过先前存储的计数值,那么VLR 15便再进一步认证此移动台20。如果收到的计数值CT没有超过先 前存储的计数值,那么此移动台20便不被认证。如果VLR 15要再进一步认证此移动台20, VLR 15便产生并 发送一个询问响应KCFSSDA (Type, 1, RM , CT)。因此,当使用 一个全局随机数rn时,建立会话密钥只需要两个来回的通信。此外, 在产生会话密钥时,移动台20和VLR 15都计算如PRFA-Key(RM , RN , CT)的会话密钥。下面说明本发明的第三实施例。通常的无线电通信系统,在建立 会话密钥之后,消息才在移动台20与网络之间传送。本发明的笫三 实施例则把消息传送的开头与建立会话密钥通信合并,作为其中的一部分,以此提高通信的效率。图6按照本发明的第一实施例,说明在呼叫终止期,网络与移动 台20之间建立会话密钥的通信。如图所示,VLR15用随机数发生器 产生一个随机数Rw,并把随机数RN随同呼叫终止期请求发送至移动 台20。作为响应,移动台20产生一个随机数RM ,并奸算如PRFa-Key(RM , RN)的会话密钥SK。移动台20还以典型的熟知的方式, 产生一个消息XM和与此相关的一部移动台消息计数值CTM。至于消 息和消息计数值的产生方法,同业人士众所周知,不再详述。移动台20利用会话密钥SK作为密钥,用消息XM 、计数值 CTM、和移动台的id数据O,计算KCF,以产生一个认证标记。这 一计算表示为KCFsk (0, CTM, XM)。此KCF最好是一个密钥消 息认证代码,例如HMAC,但也可以是一个PRF,如根据NIST (National Institute of Standard )的Data Encryption Standard -Cipher Block Chaining ( DES — CBC )(数据加密标准-密码分组链 接)。移动台20把消息计数值CTM、随机数Rm 、消息Xm 、和认 证标记KCFsK(O, CTM, XM)发送至网络。VLR15根据收到的随 机数Rm ,用与移动台20相同的方法计算会话密钥SK。 VLR15还 根据收到的消息XM和计数值CTM,计算KCFsK(O, CTM, XM), 并确定这一计算值是否与从移动台20收到的内容符合。如果发现符 合,VLR15便认证了此移动台20。如果VLR 15认证了移动台20, VLR 15便按典型的熟知的方 式处理消息XM和消息计数值CTM,然后按典型的熟知的方式产生一 个网络消息XN和网络消息计数值CTN。由于这些处理方法,同业人 士众所周知,不再详述。VLR 15还要计算认证标记KCFSK (1, CTN , XN ),这里1 是id数据,并把此认证标记随同消息XN和消息计数值CTN发送至 移动台20。移动台20根据收到的消息XN和计数值CTN,计算KCFSK(1, CTN, XN)。之后,移动台20验证计算的KCFsk (1, CTN, XN)内容是否与从VLR 15收到内容符合。如果发现符合,移动台 20便认证了网络;从而认证了会话密钥SK。作为一种变化,代替产生并发送一个唯一的随机数rn到每一部移动台,VLR15产生一个全局的随机数Rw;即,对所有移动台都是 一个相同的随机数。在这个变化的实施例里,网络把呼叫终止期请求 作为一页在控制信道上发送。此外,由网络监测的移动台20的预期响应时间与发送一个唯一 的随机数的时间大致保持相同时,适用这个变化的实施例。换而言之, 当这个全局的随机数rn的有效时间能保持相对地短时,适用这个变 化的实施例。如果全局的随机数需要一个较长的有效时间,那么最好 是,移动台20除产生随机数rm外,还产生一个计数值CT。具体说,当收到一个新的全局随机数R]v时,移动台20把其内 置的一个计数器初始化。每一次移动台20产生一个随机数rm和一个 认证标记,移动台20递增其计数器以获得计数值CT。还有,移动台 20把计数值CT,随同消息计数值CTM、随机数Rm 、消息Xm 、 和认证标记一起发送。VLR15在一个全局随机数Rrv的持续时间内, 把从每一部移动台收到的计数值存储起来,并确定从某一部移动台收 到的计数值CT是否超过先前对该移动台存储的计数值。如果收到的 计数值CT确实超过先前存储的计数值,那么VLR15便再进一步认 证此移动台20。如果收到的计数值CT没有超过先前存储的计数值, 那么此移动台20便不被认证。此外,在产生会话密钥时,移动台20 和VLR15都计算如PRFA-Key(RM, RN , CT)的会话密钥。图7说明按照本发明的第三实施例,在呼叫开始期,网络与移动 台20之间建立会话密钥的通信。 一旦从某一移动台用户收到拨号数 字DD,移动台20用随机数发生器产生一个随机数RM 。如图所示, 移动台20把一个呼叫开始期请求、随机数Rm 、和拨号数字DD发 送至VLR 15。作为响应,VLR 15产生一个随机数RM ,并计算如PRFA-Key(RM, RN)的会话密钥SK。 VLR15还以典型的熟知的方式,产 生一个消息Xw和与此相关的一个移动台消息计数值CTN。至于消息 和消息计数值的产生方法,同业人士众所周知,不再详述。然后,VLR15利用会话密钥SK作为密钥,用消息Xn 、计数 值CTN、和网络的id数据l,计算KCF,以产生一个认证标记。这 一计算表示为KCFsk (1, CTN, XN)。VLR 15把消息计数值CTN、随机数Rn 、消息X^和认证标 记KCFsK (1, CTN, XN)发送至移动台20。移动台20根据收到的 随机数Rn ,按与VLR15相同的方式计算会话密钥SK。移动台20 还根据收到的消息XN和计数值CTN计算KCFsk (1, CTN, XN ), 并确定这个计算值是否与从VLR 15收到的内容符合。如果发现符 合,移动台20便i人证了 VLR15。如果移动台20认证了 VLR15,那么移动台20便以典型的熟知 的方法,处理消息xn和消息计数值CTN,并以典型的熟知的方法, 产生一个网络消息xm和网络消息计数值CTM。由于这些处理方法在 同业人士中众所周知,不再详述。移动台20还要计算认证标记KCFsK (0, CTM, XM),这里0 是移动台的id数据,并把此认证标记随同消息XM和消息计数值CTM 发送至VLR 15。 VLR 15根据收到的消息xm和计数值CTM,计算 KCFsk (0, CTM, XM)。然后,VLR 15验证计算的KCFSK (0, CTM, xm)内容是否与从移动台20收到的内容符合。如果发现符合, VLR 15便认证移动台20;从而认证会话密钥SK。作为一种变化,代替产生并发送一个唯一的随机数rn到每一部移动台,VLR15产生一个全局的随机数Rw;即,对所有移动台都是 一个相同的随机数。此外,由网络监测的移动台20的预期响应时间与发送一个唯一 的随机数的时间大致保持相同时,适用这个变化的实施例。换而言之, 当这个全局的随机数rn的有效时间能保持相对地短时,适用这个变 化的实施例。如果全局的随机数需要一个较长的有效时间,那么最好是,移动台20除产生随机数RM外,还产生一个计数值CT。具体说,当收到一个新的全局随机数Rw时,移动台20把其内 置的一个计数器初始化。每一次移动台20产生一个随机数Rm和一个 认证标记,移动台20便递增其计数器以获得计数值CT。还有,移动 台20把计数值CT随同呼叫开始期请求一起发送。VLR 15在一个全 局随机数RN的持续时间内,把从每一部移动台收到的计数值存储起 来,并确定从某一部移动台收到的计数值CT是否超过先前对该移动 台存储的计数值。如果收到的计数值CT确实超过先前存储的计数值, 那么VLR 15便再进一步认证此移动台20。如果收到的计数值CT没 有超过先前存储的计数值,那么此移动台20便不被认证。此外,在 产生会话密钥时,移动台20和VLR 15都计算如PRFA-Key(RM , RN , CT)的会话密钥,与通常建立会话密钥的方法不同,按照本发明的方法,通过互认 证提供一种附加的安全措施。对本发明的说明已如上述,显然,如上说明的本发明还可以有许 多变化。这类变化不应被认为偏离本发明的精神实质和涵盖范围,所 有这类改变将包括在下面权利要求书的范围内。
权利要求
1.一种用于在移动台上建立会话密钥的方法,该移动台已经漫游进入了该移动台的归属覆盖区域之外的网络的覆盖区域,该方法包括a)从所述网络接收第一随机数RN;b)产生第二随机数RM和第一密钥密码函数;b1)产生第二密钥密码函数;c)把所述第二随机数和所述第一密钥密码函数发送至所述网络;d)从所述网络接收所述第二密钥密码函数;e)如果从所述网络接收的所述第二密钥密码函数与所述移动台产生的所述第二密钥密码函数匹配,则认证所述网络;和f)如果所述网络被认证,则根据所述第一随机数和所述第二随机数,建立所述会话密钥SK。
2. 按照权利要求1的方法,还包括g) 如果所述第 一随机数是全局询问,则在收到所述第 一随机数 RN后,递增计数器以获得计数值CM;并且,其中所述步骤c)发送所述计数值和所述第一随机数及所述第二随机 数;和所述步骤f)根据所述第一随机数及所述第二随机数和所述计数 值,建立所述会话密钥SK。
3. 按照权利要求1的方法,其中所述第二随机数是唯一的询问。
4. 按照权利要求1的方法,其中所述步骤b)通过对所述第一随机 数和所述第二随机数执行密钥密码函数而产生所述第一密钥密码函 数。
5. 按照权利要求1的方法,其中 所述步骤b)递增计数器以获得所述计数值。
6. 按照权利要求5的方法,其中所述步骤b)通过对所述第一随机 数和所述计数值执行密钥密码函数而产生所述第一密钥密码函数。
7. 按照权利要求1的方法,其中所述步骤c)把拨号数字DD连同 所述第二随机数和所述第一密钥密码函数,发送至所述网络。
8. 按照权利要求7的方法,其中所述步骤b)通过对所述第一随机 数及所述第二随机数和所述拨号数字执行密钥密码函数而产生所述 第一密钥密码函数。
9. 一种在网络上建立会话密钥的方法,该网络具有在漫游移动台 的归属覆盖区域之外的覆盖区域,所述方法包括a) 向所述移动台发送第一随机数RN;b) 从所述漫游移动台接收第二随机数RM和第一密钥密码函数; bl)产生第一密钥密码函数;c) 根据所述第一随机数RN和所述第二随机数RM,建立会话密 钥SK;d) 如果从所述移动台接收的所述第一密钥密码函数与所述网络 产生的所述第一密钥密码函数匹配,则认证所述漫游移动台。
10. 按照权利要求9的方法,其中 所述步骤b)接收计数值CM;并且,还包括e) 存储所述计数值;f) 确定所述存储的计数值是否大于先前存储的计数值;并且,其中所述步骤c)如果所述存储的计数值大于所述先前存储的计数值, 则根据所述第一随机数及所述第二随机数和所述计数值,建立所述会 话密钥。
11. 按照权利要求9的方法,其中所述第二随机数是唯一的询问。
12. 按照权利要求9的方法,其中 所述步骤b)接收计数值。
13. 按照权利要求12的方法,其中所述步骤b)接收对所述第一随机数和所述计数值执行密钥密码 函数而产生的结果。
14. 按照权利要求12的方法,还包括e) 存储所述计数值;f) 确定所述存储的计数值是否大于先前存储的计数值;并且,其中如果所述存储的计数值大于所述先前存储的计数值,则所述步骤 c)根据所述第一随机数和第二随机数,建立所述会话密钥SK。
15. 按照权利要求9的方法,其中所述步骤b)从所述漫游移动台, 接收拨号数字DD连同所述第二和第三代码。
16. 按照权利要求15的方法,其中所述步骤b)接收对所述第一随 机数及所述第二随机数和所述拨号数字执行密钥密码函数而产生的 结果,作为所述第一密钥密码函数。
17. 按照权利要求9的方法,还包括e) 如果所述移动台被认证,则产生第二密钥密码函数;和f) 把所述第二密钥密码函数发送至所述移动台。
18. 按照权利要求17的方法,其中所述步骤e)通过对所述计数值 执行密钥密码函数,来产生所述第四代码。
19. 按照权利要求1的方法,其中所述步骤a)接收所述第一随机 数作为唯一的询问。
20. 按照权利要求1的方法,其中所述步骤a)接收所述第一随机 数作为全局的询问。
21. 按照权利要求9的方法,其中所述步骤a)发送所述第一随机 数作为唯一的询问。
22. 按照权利要求9的方法,其中所述步骤a)发送所述第一随机 数作为全局的询问。
全文摘要
在建立会话密钥的方法中,一个网络和一部移动台互相之间传送代码。移动台和网络根据这些代码进行互认证。除进行这一互认证外,移动台和网络还根据这些代码建立会话密钥。在一个实施例里,组成打算进行的会话的一部分的消息随代码一起发送,并构成一个基础,在此基础上导出了认证的代码。
文档编号H04L9/08GK101222760SQ20071015435
公开日2008年7月16日 申请日期1999年8月26日 优先权日1998年8月28日
发明者萨瓦·帕特尔 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1