无线通信的密钥协定的制作方法_4

文档序号:8288254阅读:来源:国知局
,并且可以按照图4A中所示的顺序或者任何合 适的顺序来执行这些操作。在一些情况下,可以(例如)迭代或重复这些操作中的一个或 更多个,直至达到指定条件。
[0069] 在402处,接收移动设备的标识符。例如该标识符可以是临时移动订户识别符 (TMSI)或与移动设备相关联的任意其他合适的标识符。在一些实施方式中,该标识符可以 与开放系统互连(OSI)模型的层中的识别码(例如电子邮件地址、电话号码、会话发起协议 (SIP)、统一资源标识符(URI)、介质访问控制标识符等)有关。可以直接或间接从移动设备 接收该标识符。例如移动设备可以将无线标识符无线发送给无线网络,并且可以通过核心 网系统中的一个或更多个通信链路来转发标识符。
[0070] 在404处,存取秘密密钥。例如,可以在核心网的任意合适的数据库或服务器中存 储该秘密密钥。在302处接收的标识符可被(例如)用于在安全数据库中定位秘密密钥。 在一些实例中,该秘密密钥是由移动设备和网络运营商二者保存的长期的对称密钥。可以 使用另外的或不同类型的密钥。
[0071] 在406处,获得询问。例如,该询问可以是随机询问值。随机值可以是先前所生成 的随机值,或者可以是响应于接收到标识符而生成的随机值。可以(例如)由伪随机生成 器或其他合适的系统生成该随机值。在一些情况下,可以通过将随机询问与运营商常量进 行异或(XOR)来更新询问。
[0072] 在408处,基于秘密密钥和询问来估计密钥导出函数KDF。该KDF可以包括任意 合适的函数或函数族。KDF可以包括MAC函数、散列函数或其他类型的单向函数、加密函数 或者这些函数和其它函数的任意合适组合。示例KDF包括:在ANSIX. 9. 63-2011中定义的 使用SHA256的基于散列的KDF、在NISTSP800-108中定义的利用来自NISTSP800-38B的 CMAC-AES128的计数器模式KDF、在NISTSP800-108中定义的利用来自FIPS198-1的带密 钥-HMAC-SHA256的NIST计数器模式KDF。可以使用另外的或不同的KDF。
[0073] 408处估计的KDF可以操作任意合适的输入。在一些示例中,KDF的输入包括秘密 密钥和询问值。视情况,可以使用另外的或不同的输入。KDF可以操作输入,该输入指示要 由KDF导出的密钥材料的长度。在408处估计KDF可以生成密钥导出密钥作为输出。
[0074] 在410处,基于密钥导出密钥估计密钥导出函数。由此,可以使用分层的密钥导出 方案。例如,408处所产生的密钥导出密钥可以用作KDF的输入之一,以在410处生成另一 KDF输出。410处所估计的KDF可以是与408处所估计KDF相同的KDF,或者可以使用不同 的KDF。无论哪种情况,由408处的KDF产生的输出的位长可以大于、等于或小于由410处 的KDF生成的输出的位长。例如,不同输出长度变量可以与同一KDF-起使用。410处估 计的KDF可以操作任意合适的输入。在一些示例中,KDF的输入包括密钥导出密钥和常量。 视情况,可以使用另外的或不同的输入。
[0075] 在412处,基于410处的KDF产生的输出来获得(一个或多个)会话密钥和预期 响应。例如,这些会话密钥可以包括密码密钥(CK)和完整性密钥(IK)之一或二者。可以 生成另外的或不同的会话密钥。预期响应可以是预期移动设备响应于406处获得的询问值 将生成的响应。由此,询问和预期响应可被用于认证移动设备。
[0076] 在414处,基于询问、预期响应和(一个或多个)会话密钥生成消息。例如,该消 息可以包括询问、预期响应、会话密钥(例如CK、IK或其他会话密钥)、认证令牌(AUTN)或 者这些和其他数据的任意合适组合。该消息可以具有任意合适结构或格式。该消息可被构 建为有序阵列或认证向量,该有序阵列或认证向量可从HLR发送给VLR。在一些情况下,可 以通过串接序列号SQN、认证管理函数(AMF)和消息认证码来组装AUTN。此外,匿名密钥亦 可以是AUTN的一部分。
[0077] 图4B是示出可被移动设备用于认证密钥协定的示例过程450的流程图。例如,可 以由无线通信系统中的移动设备或由任意其他合适的系统实现过程450。在一些实施方式 中,由移动设备与执行图4A中所示的示例过程400的无线网络服务器协同执行图4B中所 示的示例过程450。过程450可以包括另外的或不同的操作,并且可以按照图4B中示出的 顺序或者任意合适顺序来执行操作。在一些情况下,例如,可以迭代或重复这些操作中的一 个或更多个操作,直至达到指定条件。
[0078] 在452处,接收询问。该询问可以是从无线网络系统接收的。例如,VLR或无线网 络系统的另一组件可以向移动设备发送询问,以促进认证密钥协定协议。该询问可以包括 随机值、认证令牌、或者这些和其它数据的任意合适组合。在一些实例中,询问可以包括在 图4A中的406处由网络运营商产生的询问值。例如,该询问可以包括来自在图4A中的414 处由网络运营商生成的消息的数据。
[0079] 在454处,存取秘密密钥。可以通过任意合适的技术存取秘密密钥。可以响应于 从无线网络接收到询问而在移动设备上本地存取该秘密密钥。该秘密密钥可以是移动设备 和网络运营商保存的先前所计算的密钥。例如,该秘密密钥可以是存储于移动设备的USIM 上的长期的对称密钥。在一些情况下,可以使用其他类型的密钥。
[0080] 在456处,基于秘密密钥和询问来估计密钥导出函数(KDF)。在456处估计KDF产 生密钥导出密钥。在458处,基于密钥导出密钥估计KDF。在456和458处由移动设备估计 的KDF可以是分别与在408和410处由网络服务器估计的KDF相同的KDF。例如,在456和 458处估计的KDF可以是:在ANSIX. 9. 63-2011中定义的使用SHA256的基于散列的KDF、 在NISTSP800-108中定义的利用来自NISTSP800-38B的CMAC-AES128的计数器模式KDF、 在NISTSP800-108中定义的利用来自FIPS198-1的带密钥-HMAC-SHA256的NIST计数器 模式KDF,或者任意其他合适的KDF。
[0081] 在460处,基于458处估计的KDF的输出来获得响应和(一个或多个)会话密钥。 例如,这些会话密钥可以包括密码密钥(CK)和完整性密钥(IK)之一或二者。可以生成另 外的或不同的会话密钥。该响应可以包括移动设备响应于452处接收的询问值将提供的信 息。例如,移动设备可以将该响应发送给网络,并且网络可以使用该响应来认证移动设备。
[0082] 在462处,发送该响应。可以从移动设备向无线网络系统无线发送该响应。例如, 可以将该响应发送给提供在452处的询问的网络系统。在一些情况下,可以将该响应发送 给VLR或无线网络系统的另一组件。在一些情况下,视情况,该响应可以与认证令牌和其它 数据一起发送。
[0083] 图5A和5B是示出可被网络运营商系统用于UMTS系统中的认证密钥协定的示例 过程500的流程图。例如,可以由无线网络的服务器系统或由任意其它合适的系统来实现 过程500。在一些实施方式中,由归属位置寄存器(HLR)或由无线网络的另一组件执行过程 500的一个或更多个操作。过程500可以包括另外的或不同的操作,并且可以按照图5A和 5B中所示的顺序或任意合适的顺序来执行这些操作。在一些情况下,可以(例如)迭代或 重复这些操作中的一个或更多个,直至达到指定条件。
[0084] 在502处,接收临时移动订户识别符(TMSI)。TMSI与移动设备相关联。可以从移 动设备或从无线网络系统中的实体接收该TMSI。例如,HLR可以从访问者位置寄存器(VLR) 或从无线网络系统的另一组件接收TMSI。在一些实施方式中,移动设备将TMSI无线发送给 网络,并且VLR将TMSI转发给HLR以认证移动设备。
[0085] 在504处,存取密钥K和序列值SQN。密钥K和序列值SQN与在502处接收的TMSI 相关联,并且可以基于TMSI来存取密钥K和序列值SQN。可以用任意合适的方式存取与 TMSI相对应的密钥K和序列值SQN。例如,HLR可以通过在数据库中搜索与TMSI相对应的 记录来存取密钥K和序列值SQN。
[0086] 在506处,生成随机值RAND。可以利用任意合适技术来生成随机值RAND。在一些 情况下,HLR可以从数据库存取先前生成的随机值,或HLR可以包括伪随机生成器,该伪随 机生成器根据需要生成随机值。随机值可以是任意合适大小或数据格式(例如二进制等)。
[0087] 在508处,可以更新随机值RAND。如果运营商使用运营商常量OP,则计算OP。。例 如,通过计算似A//.) = /KV7.) ? 0/丨、,值OPc可被用于更新RAND。可以通过估计OPc =KDF(K,OP,klength)来计算值OPc,其中KDF表示密钥导出函数。KDF的输入包括0P(128位 运营商变量算法配置字段)、K(长期秘密密钥)和klength(密钥长度变量)。此外,0匕可 以是根据OP和K导出的128位的值。值0?。可以用在fl、fl*、f2、f3、f4、f5和f5*的计 算内。值fl可以表示消息认证码函数的输出。值f2可以表示用于计算响应(RES)和预期 响应(XRES)的消息认证码函数的输出。值f3可以表示用于计算密码密钥(CK)的密钥生 成函数的输出。值f4可以表示用于计算完整性密钥(IK)的密钥生成函数的输出。值f5 可以表示用于计算匿名密钥AK的密钥生成函数的输出。
[0088] 在510处,计算值Z。可以通过估计Z=KDF(K,R4ND,outlen)来计算值Z。这里, KDF的输入可以包括密钥K、随机值RAND和outlen,其中outlen表示f2、f3、f5和f5*所需 的位长的总和。函数KDF可以是接受输入密钥和其它输入数据以导出密钥材料的任意密钥 导出函数。示例KDF包括:在ANSIX. 9. 63-2011中定义的使用SHA256的基于散列的KDF、 在NISTSP800-108中定义的利用来自NISTSP800-38B的CMAC-AES128的计数器模式KDF、 在NISTSP800-108中定义的利用来自FIPS198-1的带密钥-HMAC-SHA256的NIST计数器 模式KDF。可以使用另外的或不同的KDF。
[0089] 在512处,从Z提取f2、f3、f5和可选f5*。例如,提取过程可以包括解析Z或任 意其他合适的技术。
[0090] 在514处,形成temp=SQNl|AMF| |
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1