一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

密钥分发方法、系统和卡应用与流程

2021-10-22 22:51:00 来源:中国专利 TAG:互联网 密钥 分发 联网 公开


1.本公开涉及互联网与物联网领域,尤其涉及一种密钥分发方法、系统和卡应用。


背景技术:

2.目前,基于3gpp ts 33.220所描述的通用引导架构(gba)可以实现利用网络与终端之间的双向认证确定终端合法性,进而派生密钥,解决了应用的终端认证以及安全会话的需求。
3.但是当前gba方案有两个部署问题。首先,移动通信网络认证aka依赖于modem(调制解调器)芯片的支持,而由于资源裁剪,车规模组以及大量的物联网模组中,对gba功能是不支持的;另外,当前网络中的bsf(bootstrapping service function,引导服务功能)与naf(network application function,网络应用功能)紧耦合,仅用于volte补充业务配置,新接入的应用需要一定的改造。


技术实现要素:

4.本公开要解决的一个技术问题是,提供密钥分发方法、系统和卡应用,能够在不对网络中的bsf或其他网元进行改造的前提下,实现终端和应用的认证和密钥分发。
5.根据本公开一方面,提出一种密钥分发方法,包括:与认证服务器完成双向认证;与认证服务器使用相同算法对根密钥进行计算,得到派生密钥;接收认证服务器通过终端应用发送的派生密钥标识;利用与派生密钥标识对应的派生密钥对终端应用的业务会话数据进行加密,以便终端应用与应用服务器进行业务会话,其中,应用终端与应用服务器进行业务会话时携带派生密钥标识,应用服务器根据派生密钥标识从认证服务器获取派生密钥。
6.在一些实施例中,接收卡应用认证服务器返回的派生密钥的生存周期,其中,若保存的派生密钥在生存周期内,则利用已保存的派生密钥对业务会话数据进行加密,否则,重新生成派生密钥。
7.在一些实施例中,派生密钥包括第一派生密钥和第二派生密钥,其中,第一派生密钥用于终端应用和应用服务器的双向认证;第二派生密钥用于加密业务会话数据。
8.在一些实施例中,对根密钥进行计算得到派生密钥包括:基于多级分散因子对根密钥进行多级分散计算,得到派生密钥。
9.在一些实施例中,根据终端应用标识、集成电路卡识别码和随机数,对根密钥进行多级分散计算,得到派生密钥。
10.在一些实施例中,根据派生密钥标识、终端应用标识、集成电路卡识别码和随机数,对根密钥进行多级分散计算,得到派生密钥。
11.根据本公开的另一方面,还提出一种卡应用,包括:认证单元,被配置为与认证服务器完成双向认证;密钥生成单元,被配置为与认证服务器使用相同算法对根密钥进行计算,得到派生密钥;信息接收单元,被配置为接收认证服务器通过终端应用发送的派生密钥
标识;数据加解密单元,被配置为利用与派生密钥标识对应的派生密钥对终端应用的业务会话数据进行加密,以便终端应用与应用服务器进行业务会话,其中,应用终端与应用服务器进行业务会话时携带派生密钥标识,应用服务器根据派生密钥标识从认证服务器获取派生密钥。
12.根据本公开的另一方面,还提出一种卡应用,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行如上述的密钥分发方法。
13.根据本公开的另一方面,还提出一种密钥分发系统,包括:上述的卡应用;终端应用,被配置为将认证服务器发送的派生密钥标识发送至卡应用,以便卡应用利用与派生密钥标识对应的派生密钥对业务会话数据进行加密,以及向应用服务器发送携带加密后的业务会话数据、派生密钥标识和终端标识的业务会话请求;认证服务器,被配置为与卡应用使用相同算法对根密钥进行计算得到派生密钥,并向终端应用返回派生密钥标识;以及应用服务器,被配置为根据派生密钥标识从认证服务器获取派生密钥,并根据派生密钥,和与终端标识对应的终端应用进行业务会话。
14.根据本公开的另一方面,还提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述的密钥分发方法。
15.本公开实施例中,卡应用和认证服务器完成双向认证后,利用相同算法计算出派生密钥,卡应用利用派生密钥对终端应用的业务会话数据加密,终端应用与应用服务器会话时携带认证服务器发送的派生密钥标识,应用服务器根据派生密钥标识从认证服务器获取派生密钥,从而实现终端应用与应用服务器的安全业务会话。该实施例不依赖通信模组芯片能力,也无需对网络中的bsf或其他网元进行改造,能够实现终端和应用的认证和密钥分发。
16.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
17.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
18.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
19.图1为本公开的密钥分发方法的一些实施例的流程示意图。
20.图2a为本公开的密钥分发方法的另一些实施例的流程示意图。
21.图2b为本公开的密钥分发方法的另一些实施例的流程示意图。
22.图3为本公开的卡应用的一些实施例的结构示意图。
23.图4为本公开的卡应用的另一些实施例的结构示意图。
24.图5为本公开的密钥分发系统的一些实施例的结构示意图。
具体实施方式
25.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
26.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
27.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
28.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
29.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
30.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
31.为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
32.图1为本公开的密钥分发方法的一些实施例的流程示意图。
33.在步骤110,卡应用与认证服务器完成双向认证。即建立终端与服务器侧的安全通道,确保终端的合法性。
34.在一些实施例中,卡应用可以直接与认证服务器进行交互,也可以通过终端应用与认证服务器进行交互。
35.在步骤120,卡应用与认证服务器使用相同算法对根密钥进行计算,得到派生密钥。其中,认证服务器向终端应用发送派生密钥标识。该派生密钥标识为btid(business transaction id,业务事物标识)。
36.在一些实施例中,认证服务器采用与卡应用相同的因子和算法生成派生密钥。例如,卡应用与认证服务器基于多级分散因子对共享的根密钥进行多级分散计算,得到派生密钥。
37.在一些实施例中,卡应用与认证服务器根据终端应用标识、根密钥、iccid(集成电路卡识别码)和随机数等参数生成派生密钥。例如,采用pboc密钥分散算法对根密钥进行多级分散计算,得到该派生密钥。
38.在步骤130,卡应用接收认证服务器通过终端应用发送的派生密钥标识。卡应用可以保存该派生密钥标识,并保存派生密钥标识与对应派生密钥的关系。
39.在步骤140,卡应用利用与派生密钥标识对应的派生密钥对终端应用的业务会话数据进行加密,以便终端应用与应用服务器进行业务会话,其中,应用终端与应用服务器进行业务会话时携带派生密钥标识,应用服务器根据派生密钥标识从认证服务器获取派生密钥。
40.例如,终端应用在与应用服务器进行业务会话之前,向卡应用发送使用密钥请求。卡应用对终端应用待发送的业务会话数据进行加密,并将加密后的业务会话数据返回给终端应用。终端应用携带加密后的业务会话数据、派生密钥标识和终端标识向应用服务器发送业务会话请求。应用服务器根据派生密钥标识从认证服务器获取派生密钥,并根据派生密钥,对与终端标识对应的终端应用发送的加密业务会话数据进行认证、解密,从而完成与终端应用的业务会话。
41.在上述实施例中,基于卡应用认证系统,借鉴gba架构,卡应用和认证服务器完成
双向认证后,利用相同算法计算出派生密钥,卡应用利用派生密钥对终端应用的业务会话数据加密,终端应用与应用服务器会话时携带认证服务器发送的派生密钥标识,应用服务器根据派生密钥标识从认证服务器获取派生密钥,从而实现终端应用与应用服务器的安全业务会话。该实施例不依赖通信模组芯片能力,也无需对网络中的bsf或其他网元进行改造,能够实现终端和应用的认证和密钥分发。
42.图2a为本公开的密钥分发方法的另一些实施例的流程示意图。
43.在步骤210,终端应用向应用服务器发起业务请求。
44.在步骤220,应用服务器向终端应用发送业务请求响应,返回认证请求。
45.在步骤230,终端应用通过sdk(software development kit,软件开发工具包)向卡应用发送密钥使用请求,其中,该请求中携带终端应用标识,以及业务会话数据。
46.在步骤240,卡应用和认证服务器完成双向认证。
47.在步骤250,卡应用基于终端应用标识、根密钥、iccid和随机数,采用pboc密钥分散算法对根密钥进行多级分散计算,生成派生密钥。
48.派生密钥可以为一个密钥也可以为多个密钥。在一些实施例中,采用标准pboc密钥分散算法对根密钥进行三级分散得到派生密钥,使用3des_ecb。例如,一级分散因子为“00” iccid后14位;二级分散因子为rand随机数,不足8字节右补空格0x20;三级分散因子为naf-id高8字节,即终端应用id。
49.在一些实施例中,派生密钥包括第一派生密钥和第二派生密钥,其中,第一派生密钥用于终端应用和应用服务器的双向认证,第二派生密钥用于加密业务会话数据。
50.在步骤260,卡应用向认证服务器发送派生密钥生成请求,该请求中携带终端应用标识。
51.在步骤270,认证服务器基于终端应用标识、根密钥、iccid和随机数,采用pboc密钥分散算法对根密钥进行多级分散计算,生成派生密钥。
52.在步骤280,认证服务器向通过终端应用向卡应用返回该次派生密钥标识和派生密钥生存周期。
53.派生密钥的生存周期可以是认证服务器根据应用的需求配置,然后再传给卡应用的;也可以是在应用服务器通知卡应用,再由卡应用传给认证服务器的。卡应用和认证服务器根据派生密钥的生存周期,判断派生密钥是否过期的依据。
54.在一些实施例中,卡应用在接收到终端应用发送的密钥生成请求时,若保存派生密钥,并且派生密钥在生存周期内,则向终端应用发送保存的派生密钥,无需再次生成派生密钥,实现资源利用最大化。若保存的派生密钥已经超过生存周期,则卡应用和认证服务器需要重新生成派生密钥。
55.在一些实施例中,卡应用在接收到派生密钥标识后,还可以根据派生密钥标识、终端应用标识、集成电路卡识别码和随机数,对根密钥进行多级分散计算,得到派生密钥。同时,认证服务器也利用相同算法重新生成派生密钥。
56.在步骤290,卡应用根据派生密钥标识对应的派生密钥对终端应用的业务会话数据进行加密,并将加密后的业务会话数据返回至终端应用。该步骤中的派生密钥可以包括第一派生密钥和第二派生密钥。
57.在步骤2100,终端应用向应用服务器发送携带加密后的业务会话数据、派生密钥
标识和终端标识的业务会话请求。
58.在步骤2110,应用服务器向认证服务器发送派生密钥获取请求,其中,该请求中携带派生密钥标识。
59.在步骤2120,认证服务器向应用服务器返回派生密钥。
60.在步骤2130,终端应用和应用服务器使用派生密钥进行安全业务会话。
61.在一些实施例中,终端应用和应用服务器使用第一派生密钥进行双向认证。例如使用第一派生密钥和哈希函数对信息明文进行mac计算。使用第二派生密钥加解密业务会话数据,即加解密通信数据,从而完成信息保密性和完整性保护。第一派生密钥和第二派生密钥和相同,也可以不同。
62.在上述实施例中,不依赖通信模组芯片能力,也无需对网络中的bsf或其他网元进行改造,就能实现终端与应用的认证和密钥分发,保证终端应用业务的安全性。
63.图2b为本公开的密钥分发方法的另一些实施例的流程示意图。
64.在步骤2001,终端应用向应用服务器发起业务请求。
65.在步骤2002,应用服务器向终端应用发送业务请求响应,返回认证请求。
66.在步骤2003,终端应用向卡应用发送认证及密钥生成请求,该请求中携带终端应用标识。
67.在步骤2004,卡应用和认证服务器完成双向认证。
68.在步骤2005,卡应用基于终端应用标识、根密钥、iccid和随机数,采用pboc密钥分散算法对根密钥进行多级分散计算,生成第一派生密钥和第二派生密钥。
69.在步骤2006,卡应用向认证服务器发送派生密钥生成请求,该请求中携带终端应用标识。
70.在步骤2007,认证服务器基于终端应用标识、根密钥、iccid和随机数,采用pboc密钥分散算法对根密钥进行多级分散计算,生成第一派生密钥和第二派生密钥。
71.在步骤2008,认证服务器向向卡应用返回该次派生密钥标识和派生密钥生存周期。
72.在一些实施例中,可以通过终端应用向卡应用返回该次派生密钥标识和派生密钥生存周期,也可以直接向卡应用返回该次派生密钥标识和派生密钥生存周期。
73.在步骤2009,卡应用利用第一派生密钥对随机数进行加密,并将加密后的随机数发送给终端应用。随机数例如可以为派生密钥标识,也可以为派生密钥生存周期。
74.在步骤2010,终端应用携带加密的随机数以及派生密钥标识向应用服务器发送认证请求。
75.在步骤2011,应用服务器向认证服务器发送派生密钥获取请求,其中,该请求中携带派生密钥标识。
76.在步骤2012,认证服务器向应用服务器返回第一派生密钥和第二派生密钥。
77.在步骤2013,应用服务器利用第一派生密钥对终端应用的认证请求进行认证后,返回认证响应。例如,若使用第一派生密钥能够解密该加密后的随机数,则认为终端应用与应用服务器实现认证。
78.在步骤2014,终端应用将业务会话数据发送至卡应用。
79.在步骤2015,卡应用利用第二派生密钥对业务会话数据进行加密,并将加密后的
业务会话数据返回至终端应用。
80.在一些实施例中,卡应用先判断第二派生密钥是否还在生存周期内,若是,则可以利用该第二派生密钥对业务会话数据进行加密,否则,需要重新生成派生密钥。
81.在步骤2016,终端应用和应用服务器使用第二派生密钥进行安全业务会话。
82.上述方案能够应用于车规模组以及大量的物联网模组中。例如,目前obu(on board unit,车载单元)设备的初始安全配置主要是由车辆生产企业在生产线上完成,即obu生产线方案,需要完成以下操作:控制obu安全硬件产生公私钥对,或将公私钥对在外部设备产生后注入;将根ca(certificate authority,证书颁发机构)证书及ca服务器信息安全注入obu安全硬件;触发obu与eca实体交互获取eca证书,或者生产线获取eca证书后安全注入obu安全硬件。
83.使用上述方案,obu的卡应用和卡应用认证平台完成车载单元认证后,obu的ca应用向ca服务器发起车载证书下载请求,ca服务器向ca应用返回下载请求响应以及认证要求。卡应用和卡应用认证平台生成派生密钥,卡应用利用派生密钥对ca应用数据进行加密,ca应用获取该次事物btid,并向ca服务器发送该次事物btid,ca服务器从卡应用认证平台获取派生密钥,与ca应用进行安全业务会话,从而实现车载证书自动安全下载。
84.图3为本公开的卡应用的一些实施例的结构示意图。该卡应用包括:认证单元310、密钥生成单元320、信息接收单元330以及数据加解密单元340。
85.认证单元310被配置为与认证服务器完成双向认证。保证终端的合法性。
86.密钥生成单元320被配置为与认证服务器使用相同算法对根密钥进行计算,得到派生密钥。其中,认证服务器向终端应用发送派生密钥标识。
87.在一些实施例中,认证服务器采用与卡应用相同的因子和算法生成派生密钥。例如,卡应用与认证服务器基于多级分散因子对共享的根密钥进行多级分散计算,得到派生密钥。
88.在一些实施例中,卡应用与认证服务器根据终端应用标识、根密钥、iccid(集成电路卡识别码)和随机数等参数生成派生密钥。例如,采用pboc密钥分散算法对根密钥进行多级分散计算,得到该派生密钥。
89.在一些实施例中,密钥生成单元320还被配置为根据派生密钥标识、终端应用标识、集成电路卡识别码和随机数,对根密钥进行多级分散计算,得到派生密钥。
90.派生密钥可以为一个密钥也可以为多个密钥。在一些实施例中,采用标准pboc密钥分散算法对根密钥进行三级分散得到派生密钥,使用3des_ecb。例如,一级分散因子为“00” iccid后14位;二级分散因子为rand随机数,不足8字节右补空格0x20;三级分散因子为naf-id高8字节,即终端应用id。
91.在一些实施例中,派生密钥包括第一派生密钥和第二派生密钥,其中,第一派生密钥用于终端应用和应用服务器的双向认证,第二派生密钥用于加密业务会话数据。
92.信息接收单元330被配置为接收终端应用发送的派生密钥标识。卡应用可以保存该派生密钥标识,并保存派生密钥标识与对应派生密钥的关系。
93.在一些实施例中,信息接收单元330被配置为接收派生密钥生存周期。
94.派生密钥的生存周期可以是认证服务器根据应用的需求配置,然后再传给卡应用的;也可以是在应用服务器通知卡应用,再由卡应用传给认证服务器的。卡应用和认证服务
器根据派生密钥的生存周期,判断派生密钥是否过期的依据。
95.数据加解密单元340被配置为利用与派生密钥标识对应的派生密钥对终端应用的业务会话数据进行加密,以便终端应用与应用服务器进行业务会话,其中,应用终端与应用服务器进行业务会话时携带派生密钥标识,应用服务器根据派生密钥标识从认证服务器获取派生密钥。
96.例如,终端应用在与应用服务器进行业务会话之前,向卡应用发送使用密钥请求。卡应用对终端应用待发送的业务会话数据进行加密,并将加密后的业务会话数据返回给终端应用。终端应用携带加密后的业务会话数据、派生密钥标识和终端标识向应用服务器发送业务会话请求。应用服务器根据派生密钥标识从认证服务器获取派生密钥,并根据派生密钥,对与终端标识对应的终端应用发送的加密业务会话数据进行认证、解密,从而完成与终端应用的业务会话。
97.在一些实施例中,卡应用在接收到终端应用发送的密钥生成请求时,若保存派生密钥,并且派生密钥在生存周期内,则向终端应用发送保存的派生密钥,无需再次生成派生密钥,实现资源利用最大化。
98.在上述实施例中,基于卡应用认证系统,借鉴gba架构,卡应用和认证服务器完成双向认证后,利用相同算法计算出派生密钥,卡应用利用派生密钥对终端应用的业务会话数据加密,应用服务器根据派生密钥标识从认证服务器获取派生密钥,从而实现终端应用与应用服务器的安全业务会话。该实施例不依赖通信模组芯片能力,也无需对网络中的bsf或其他网元进行改造,能够实现终端和应用的认证和密钥分发。
99.图4为本公开的卡应用的另一些实施例的结构示意图。该卡应用400包括存储器410和处理器420。其中:存储器410可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1-2所对应实施例中的指令。处理器420耦接至存储器410,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器420用于执行存储器中存储的指令。
100.在一些实施例中,处理器420通过bus总线430耦合至存储器410。该卡应用400还可以通过存储接口440连接至外部存储系统450以便调用外部数据,还可以通过网络接口460连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
101.在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,该实施例不依赖通信模组芯片能力,也无需对网络中的bsf或其他网元进行改造,能够实现终端和应用的认证和密钥分发。
102.图5为本公开的密钥分发系统的一些实施例的结构示意图。该系统包括:卡应用510、终端应用520、认证服务器530和应用服务器540。其中卡应用510已在上述实施例中进行了详细介绍。
103.终端应用520被配置为接收认证服务器530发送的派生密钥标识,向卡应用510发送派生密钥标识,以及向应用服务器540发送携带加密后的业务会话数据、派生密钥标识和终端标识的业务会话请求,使用派生密钥与应用服务器540进行安全通信。
104.终端应用520还被配置为向应用服务器540发送业务请求,并接收应用服务器540返回的业务请求响应和认证请求。
105.认证服务器530被配置为与卡应用510使用相同算法对根密钥进行计算得到派生密钥,并向终端应用520返回派生密钥标识,以及根据派生密钥标识将派生密钥返回至应用
服务器540。
106.认证服务器530采用与卡应用相同的因子和算法生成派生密钥。
107.应用服务器540被配置为根据派生密钥标识从认证服务器获取派生密钥,并根据派生密钥,和与终端标识对应的终端应用进行业务会话。
108.应用服务器540依照约定算法对传递信息进行加解密。例如,使用派生密钥对明文信息进行加密,使用相同或不同的派生密钥和哈希函数对原文计算mac,从而完成与终端应用的保密性和完整性保护。
109.在另一些实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1-2所对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
110.本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
111.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
112.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
113.至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
114.虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜