鉴权更新eUICC固件版本的方法及相关装置
技术领域
本申请涉及电信智能卡领域,尤其涉及鉴权更新eUICC固件版本的方法及相关装置。
背景技术
嵌入式通用集成电路卡(embedded Universal Integrated Circuit Card,eUICC)是第三代电信智能卡,能够以安全的方式执行远程配置文件管理,或者执行本地配置文件管理(比如,终端设备用户触发的配置文件激活、去激活或删除等)。eUICC一词源自嵌入式(embedded)UICC,可以是单个芯片形态嵌入在终端设备中,或者作为终端设备中其它单个芯片的一部分,但不意味着必须嵌入在终端设备中不可移动,也可以是可移动的卡片形态,就像用户身份识别(Subscriber Identification Module,SIM)卡、Micro SIM卡或Nano SIM卡一样。
在eUICC远程管理/配置系统的架构中,远程服务器包括签约管理者-数据准备+(Subscription Manager Data Preparation+,SM-DP+)服务器、签约管理者-发现(Subscription Manager Discovery Service,SM-DS)服务器、操作系统更新服务器(Operation System Patch Server,OPS)等为终端设备提供服务或与终端设备进行交互的服务器。SM-DS又称事件管理服务器,可以用于根据其他远程服务器的事件注册请求进行事件注册并在接终端设备发起查询的情况下将对应的事件记录发送给终端设备以使终端设备通过事件记录中的远程服务器地址与对应的远程服务器建立连接并进行相应的操作,其中,事件包括但不限于签约信息集(Profile)下载事件、远程Profile管理(Remote ProfileManagement,RPM)事件。目前,SM-DS服务器的事件注册和分发都是一对一的,即一个事件记录只对应一个eUICC,在一个服务对应于多个eUICC的场景下,例如该服务为eUICC固件版本更新服务,提供eUICC固件版本更新服务的远程服务器需要分别向SM-DS发起多个事件注册请求以使SM-DS分别注册多个事件记录以分别对应多个eUICC,比较繁琐;另外,在一个终端设备中有两个或多个eUICC且两个或多个eUICC同时与同一个远程服务器建立连接的情况下,两个eUICC或多个eUICC需要分别与远程服务器进行eUICC双向鉴权,效率不高。
发明内容
本申请提供鉴权更新eUICC固件版本的方法及相关装置,可以简化提供eUICC固件版本更新服务时事件注册过程和双向鉴权过程,提高效率。
本申请实施例第一方面提供了一种更新eUICC固件版本的方法,包括:
接收终端设备发送的第一信息,所述第一信息包括目标标识;
在当前保存的事件记录中查找目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
将所述目标事件记录发送给所述终端设备,所述目标事件记录用于使所述终端设备下载eUICC固件版本更新包。
本申请实施例第一方面,目标事件记录中保存有组事件标识,一个组事件标识可以对应于多个eUICC,即可以将目标事件记录发送给多个该组事件标识对应的eUICC,以使包含该组事件标识对应的eUICC下载eUICC固件版本更新包,eUICC的固件版本更新服务面向多个eUICC进行,组事件标识解决了注册事件时需注册多个事件的问题。
在第一方面的第一种可能的实现方式中,所述接收终端设备发送的第一信息之前还包括:接收更新服务器发送的事件注册请求,其中,所述事件注册请求中携带所述组事件标识;根据所述事件注册请求将所述组事件标识保存在事件记录中。
在第一方面的第二种可能的实现方式中,所述组事件标识还包括定制标识或国家码。
在第一方面的第三种可能的实现方式中,所述目标标识包括eUICC固件版本、发行者标识、定制标识或国家码中的至少一种信息。
在第一方面的第四种可能的实现方式中,所述定制标识包括附加发行者信息或处于预设定制位的个人识别码。
在第一方面的第五种可能的实现方式中,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;
所述在当前保存的事件记录中查找目标事件记录包括:在当前保存的事件记录中分别查找第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;所述将所述目标事件记录发送给所述终端设备包括:将所述第一事件记录以及所述第二事件记录发送给所述终端设备,所述第一事件记录用于使所述终端设备下载所述第一eUICC的第一eUICC固件版本更新包,所述第二事件记录用于使所述终端设备下载所述第二eUICC的第二eUICC固件版本更新包。
本申请实施例第二方面提供了另一种更新eUICC固件版本的方法,包括:
向事件管理服务器发送第一信息,所述第一信息包括目标标识;
接收所述事件管理服务器发送的查找得到的目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
根据所述目标事件记录下载eUICC固件版本更新包;
根据所述eUICC固件版本更新包更新eUICC的固件版本。
本申请实施例第二方面,根据目标事件记录下载eUICC固件版本更新包并更新eUICC的固件版本,以实现对eUICC的固件版本的更新。
在第二方面的第一种可能的实现方式中,所述组事件标识还可以包括定制标识或国家码。
在第二方面的第二种可能的实现方式中,所述目标标识包括eUICC固件版本、发行者标识、定制标识、或国家码中的至少一种信息。
在第二方面的第三种可能的实现方式中,所述定制标识包括附加发行者信息或处于预设定制位的个人识别码。
在第二方面的第四种可能的实现方式中,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;所述接收所述事件管理服务器发送的查找得到的目标事件记录包括:接收所述事件管理服务器发送的查找得到的第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;所述根据所述目标事件记录下载eUICC固件版本更新包包括:根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包;根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包;所述根据所述eUICC固件版本更新包更新eUICC的固件版本包括:根据所述第一eUICC固件版本更新包更新所述第一eUICC的固件版本;根据所述第二eUICC固件版本更新包更新所述第二eUICC的固件版本。
在第二方面的第五种可能的实现方式中,所述根据所述目标事件记录下载eUICC固件版本更新包包括:从所述目标事件记录中提取更新服务器的地址;向所述更新服务器发送当前的eUICC固件版本;接收所述更新服务器根据所述当前的eUICC固件版本发送的eUICC固件版本更新包。
在第二方面的第六种可能的实现方式中,所述接收所述更新服务器根据所述当前的eUICC固件版本发送的eUICC固件版本更新包之前还包括:向所述更新服务器发送第二信息,所述第二信息包括目标标识;所述接收所述更新服务器根据所述当前的eUICC固件版本发送的eUICC固件版本更新包包括:接收所述更新服务器在所述第二信息中的目标标识与所述更新服务器中保存的组事件标识匹配的情况下,根据所述当前的eUICC固件版本发送的eUICC固件版本更新包。
在第二方面的第七种可能的实现方式中,所述根据所述eUICC固件版本更新包更新eUICC的固件版本之后还包括:更新eUICC信息中的eUICC固件版本。
在第二方面的第八种可能的实现方式中,所述更新eUICC信息中的eUICC固件版本包括:根据所述eUICC固件版本更新包中的第一数据更新eUICC信息中的eUICC固件版本,其中,所述第一数据包括目标固件版本。
在第二方面的第九种可能的实现方式中,所述向所述更新服务器发送当前的固件版本之后还包括:接收所述更新服务器发送的第二数据,所述第二数据包括目标固件版本;所述更新eUICC信息中的eUICC固件版本包括:根据所述第二数据更新eUICC信息中的eUICC固件版本。
本申请实施例第三方面提供了又一种更新eUICC固件版本的方法,包括:
向事件管理服务器发送第一信息,所述第一信息包括目标标识;
接收所述事件管理服务器发送的查找得到的目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
根据所述目标事件记录下载eUICC固件版本更新包;
将所述eUICC固件版本更新包发送给eUICC,所述eUICC固件版本更新包被所述eUICC用于更新eUICC的固件版本。
本申请实施例第三方面,根据目标事件记录下载eUICC固件版本更新包并将eUICC固件版本更新包发送给eUICC,以使eUICC完成对自身的固件版本的更新。
在第三方面的第一种可能的实现方式中,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;所述接收所述事件管理服务器发送的查找得到的目标事件记录包括:接收所述事件管理服务器发送的查找得到的第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;所述根据所述目标事件记录下载eUICC固件版本更新包包括:根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包;根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包;所述将所述eUICC固件版本更新包发送给eUICC包括:将所述第一eUICC固件版本更新包发送给所述第一eUICC,所述第一eUICC固件版本更新包被所述第一eUICC用于更新所述第一eUICC的eUICC固件版本;将所述第二eUICC固件版本更新包发送给所述第二eUICC,所述第二eUICC固件版本更新包被所述第二eUICC用于更新所述第二eUICC的eUICC固件版本。
在第三方面的第二种可能的实现方式中,所述根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包之前还包括:根据第一eUICC标识向所述第一eUICC发送所述第一事件记录;所述根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包之前还包括:获取所述第二eUICC的第二eUICC标识;根据第二eUICC标识向所述第二eUICC发送所述第二事件记录。
在第三方面的第三种可能的实现方式中,所述根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包包括:根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包的同时,还接收所述第一eUICC对应的更新服务器发送的第一eUICC标识;所述根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包包括:根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包的同时,还接收所述第二eUICC对应的更新服务器发送的第二eUICC标识;所述将所述第一eUICC固件版本更新包发送给所述第一eUICC包括:根据所述第一eUICC标识将所述第一eUICC固件版本更新包发送给所述第一eUICC;所述将所述第二eUICC固件版本更新包发送给所述第二eUICC包括:根据所述第二eUICC标识将所述第二eUICC固件版本更新包发送给所述第二eUICC。
本申请实施例第四方面提供了又一种更新eUICC固件版本的方法,包括:
向事件管理服务器发送事件注册请求,其中,所述事件注册请求中携带组事件标识,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
所述事件注册请求用于使所述事件管理服务器将所述组事件标识保存在事件记录中,并在接收到与所述组事件标识匹配的终端设备发送的第一信息的情况下,向所述终端设备发送所述事件记录。
本申请实施例第四方面,事件注册请求中携带组事件标识,组事件标识中包括至少一个eUICC固件版本和至少一个发行者标识,eUICC固件版本和发行者标识均可对应于多个eUICC,仅注册一个事件即可对应多个eUICC,解决因要提供服务给多个终端设备而需注册多个事件的问题。
在第四方面的第一种可能的实现方式中,所述向事件管理服务器发送事件注册请求之后还包括:接收所述终端设备发送的所述终端设备的当前的eUICC固件版本;根据所述当前的eUICC固件版本确定所述终端设备的eUICC更新到目标固件版本所需的eUICC固件版本更新包;向所述终端设备发送所述eUICC固件版本更新包,所述eUICC固件版本更新包被所述终端设备用于更新所述终端设备的eUICC的固件版本。
在第四方面的第二种可能的实现方式中,所述根据所述当前的eUICC固件版本确定所述终端设备的eUICC更新到目标固件版本所需的eUICC固件版本更新包包括:接收所述终端设备发送的第二信息,所述第二信息包括eUICC性能和eUICC固件版本;在确定所述eUICC性能和eUICC固件版本满足所述目标固件版本的性能和固件版本要求的情况下,根据所述当前的eUICC固件版本确定所述终端设备的eUICC更新到目标固件版本所需的eUICC固件版本更新包。
在第四方面的第三种可能的实现方式中,所述第二信息还包括目标标识;所述根据所述当前的eUICC固件版本确定所述终端设备的eUICC更新到目标固件版本所需的eUICC固件版本更新包之前包括:在所述第二信息中的目标标识与本地保存的组事件标识匹配的情况下,确定所述eUICC性能和eUICC固件版本能否满足所述目标固件版本的性能和固件版本要求。
本申请实施例第五方面提供了一种双向鉴权方法,包括:
接收终端设备的第一eUICC的第一eUICC信息和所述终端设备的第二eUICC的第二eUICC信息;
根据所述第一eUICC信息和所述第二eUICC信息确定目标验证信息;
将第一鉴权信息发送给所述终端设备,其中所述第一鉴权信息包括所述目标验证信息;
接收所述第一eUICC和第二eUICC对所述第一鉴权信息验证通过后所述终端设备发送的第二鉴权信息;
根据所述目标验证信息验证所述第二鉴权信息。
本申请实施例第五方面,远程服务器与终端设备只建立一次通信连接即可实现终端设备的两个eUICC并行与远程服务器的进行双向鉴权,以便于在双向鉴权完成后可以各自完成针对eUICC的操作,提高操作效率。
在第五方面的第一种可能的实现方式中,所述目标验证信息包括目标签名公钥标识,所述第一eUICC信息包括所述第一eUICC的第一签名公钥标识列表,所述第二eUICC信息包括所述第二eUICC的第二签名公钥标识列表;所述根据所述第一eUICC信息和所述第二eUICC信息确定所述目标验证信息包括:从所述第一签名公钥标识列表中选择第一目标签名公钥标识,所述第一目标签名公钥标识还存在于本地证书颁发者公钥标识列表中;从所述第二签名公钥标识列表中选择第二目标签名公钥标识,所述第二目标签名公钥标识还存在于所述本地证书颁发者公钥标识列表中;将所述第一目标签名公钥标识和第二目标签名公钥标识确定为目标签名公钥标识。
在第五方面的第二种可能的实现方式中,在所述第一签名公钥标识列表、所述第二签名公钥标识列表存在相同的签名公钥标识的情况下,将所述相同的签名公钥标识确定为目标签名公钥标识,所述相同的签名公钥标识还存在于所述本地证书颁发者公钥标识列表中。
在第五方面的第三种可能的实现方式中,所述目标验证信息包括目标验证证书,所述第一eUICC信息包括所述第一eUICC的第一验证公钥标识列表,所述第二eUICC信息包括所述第二eUICC的第二验证公钥标识列表;所述根据所述第一eUICC信息和所述第二eUICC信息确定目标验证信息包括:从所述第一验证公钥标识列表中选择第一目标验证公钥标识,所述第一目标验证公钥标识还存在于本地证书颁发者公钥标识列表中;从所述第二验证公钥标识列表中选择第二目标验证公钥标识,所述第二目标验证公钥标识还存在于所述本地证书颁发者公钥标识列表中;将所述第一目标验证公钥标识对应的第一目标验证证书和第二目标验证公钥标识对应的第二目标验证证书确定为目标验证证书。
在第五方面的第四种可能的实现方式中,在所述第一验证公钥标识列表和所述第二验证公钥标识列表存在相同的验证公钥标识的情况下,将所述相同的验证公钥标识对应的验证证书确定为目标验证证书,所述相同的验证签名公钥标识还存在于所述本地证书颁发者公钥标识列表中。
本申请实施例第六方面提供了又一种双向鉴权方法,包括:
向远程服务器发送第一eUICC的第一eUICC信息和第二eUICC的第二eUICC信息;
接收所述远程服务器发送的第一鉴权信息,其中所述第一鉴权信息包括目标验证信息;
在所述第一eUICC和所述第二eUICC对所述第一鉴权信息验证通过的情况下,向所述远程服务器发送第二鉴权信息,所述第二鉴权信息包括所述第一eUICC发送的第一鉴权子信息和所述第二eUICC发送的第二鉴权子信息。
本申请实施例第五方面,同时可与远程服务器进行两个eUICC的双向鉴权,节省时间,提高双向鉴权的效率。
在第六方面的第一种可能的实现方式中,所述向远程服务器发送第一eUICC的第一eUICC信息和第二eUICC的第二eUICC信息之前还包括:从所述第一eUICC获取所述第一eUICC信息;从所述第二eUICC获取所述第二eUICC信息。
在第六方面的第二种可能的实现方式中,所述向所述远程服务器发送第二鉴权信息之前还包括:从所述第一鉴权信息中获取与所述第一eUICC对应的第三鉴权子信息并将所述第三鉴权子信息发送给所述第一eUICC;接收所述第一eUICC对所述第三鉴权子信息验证通过后发送的第一鉴权子信息;从所述第一鉴权信息中获取与所述第二eUICC对应的第四鉴权子信息并将所述第四鉴权子信息发送给所述第二eUICC;接收所述第二eUICC对所述第四鉴权子信息验证通过后发送的第二鉴权子信息。
在第六方面的第三种可能的实现方式中,所述目标验证信息包括第一目标签名公钥标识和第二目标签名公钥标识,其中,所述第一目标签名公钥标识由所述远程服务器从所述第一eUICC的第一签名公钥标识列表中选择得到,所述第一目标签名公钥标识还存在于所述远程服务器的本地证书颁发者公钥标识列表中,所述第二目标签名公钥标识由所述远程服务器从所述第二eUICC的第二签名公钥标识列表中选择得到,所述第二目标签名公钥标识还存在于所述本地证书颁发者公钥标识列表中;所述第三鉴权子信息中携带所述第一目标签名公钥标识,所述第四鉴权子信息中携带所述第二目标签名公钥标识。
在第六方面的第四种可能的实现方式中,所述目标验证信息包括目标签名公钥标识,其中,所述目标签名公钥标识同时存在于所述第一eUICC的第一签名公钥标识列表、所述第二eUICC的第二签名公钥标识列表以及所述远程服务器的本地证书颁发者公钥标识列表中;所述第三鉴权子信息以及所述第四鉴权子信息中均携带所述目标签名公钥标识。
在第六方面的第五种可能的实现方式中,所述目标验证信息包括第一目标验证公钥标识对应的第一目标验证证书和第二目标验证公钥标识对应的第二目标验证证书,其中,所述第一目标验证公钥标识由所述远程服务器从所述第一eUICC的第一验证公钥标识列表中选择得到,所述第一目标验证公钥标识还存在于所述远程服务器的本地证书颁发者公钥标识列表中,所述第二目标验证公钥标识由所述远程服务器从所述第二eUICC的第二验证公钥标识列表中选择得到,所述第二目标验证公钥标识还存在于所述本地证书颁发者公钥标识列表中;所述第三鉴权子信息中携带所述第一目标验证证书,所述第四鉴权子信息中携带所述第二目标验证证书。
在第六方面的第六种可能的实现方式中,所述目标验证信息包括目标验证证书,其中,所述目标验证证书为同时存在于所述第一eUICC的第一验证公钥标识列表、所述第二eUICC的第二验证公钥标识列表以及所述远程服务器的本地证书颁发者公钥标识列表中的目标验证公钥标识对应的验证证书;所述第三鉴权子信息以及所述第四鉴权子信息中均携带所述目标验证证书。
本申请实施例第七方面提供了一种事件管理服务器,所述事件管理服务器具备实现第一方面所述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述事件管理服务器包括接收模块、处理模块以及发送模块,所述接收模块用于接收终端设备发送的第一信息,所述第一信息包括目标标识;所述处理模块用于在当前保存的事件记录中查找目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;所述发送模块用于将所述目标事件记录发送给所述终端设备,所述目标事件记录用于使所述终端设备下载eUICC固件版本更新包。
在一种可能的实现方式中,所述接收模块还用于接收更新服务器发送的事件注册请求,其中,所述事件注册请求中携带所述组事件标识;所述处理模块还用于根据所述事件注册请求将所述组事件标识保存在事件记录中。
在一种可能的实现方式中,所述组事件标识还包括定制标识或国家码。
在一种可能的实现方式中,所述目标标识包括eUICC固件版本、发行者标识、定制标识或国家码中的至少一种信息。
在一种可能的实现方式中,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;所述处理模块具体用于在当前保存的事件记录中分别查找第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;将所述第一事件记录以及所述第二事件记录发送给所述终端设备,所述第一事件记录用于使所述终端设备下载所述第一eUICC的第一eUICC固件版本更新包,所述第二事件记录用于使所述终端设备下载所述第二eUICC的第二eUICC固件版本更新包。
在一个可能的设计中,所述事件管理服务器包括处理器和收发器,所述收发器用于接收终端设备发送的第一信息,所述第一信息包括目标标识;所述处理器,用于在当前保存的事件记录中查找目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;所述收发器还用于将所述目标事件记录发送给所述终端设备,所述目标事件记录用于使所述终端设备下载eUICC固件版本更新包。
基于同一发明构思,所述事件管理服务器解决问题的原理以及有益效果可以参见第一方面所述的方法以及所带来的有益效果,所述事件管理服务器的实施可以参见第一方面所述方法的实施,重复之处不再赘述。
本申请实施例第八方面提供一种终端设备,所述终端设备具备实现第二方面所述方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述终端设备包括发送模块、接收模块以及处理模块,所述发送模块,用于向事件管理服务器发送第一信息,所述第一信息包括目标标识;所述接收模块,用于接收所述事件管理服务器发送的查找得到的目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;所述处理模块,用于根据所述目标事件记录下载eUICC固件版本更新包;所述处理模块还用于根据所述eUICC固件版本更新包更新eUICC的固件版本。
在一种可能的实现方式中,所述组事件标识还包括定制标识或国家码。
在一种可能的实现方式中,所述目标标识包括eUICC固件版本、发行者标识、定制标识或国家码中的至少一种信息。
在一种可能的实现方式中,所述定制标识包括附加发行者信息或处于预设定制位的个人识别码。
在一种可能的实现方式中,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;所述接收模块具体用于接收所述事件管理服务器90发送的查找得到的第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;所述处理模块具体用于:根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包;根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包;根据所述第一eUICC固件版本更新包更新所述第一eUICC的固件版本;根据所述第二eUICC固件版本更新包更新所述第二eUICC的固件版本。
在一种可能的实现方式中,所述处理模块具体用于:从所述目标事件记录中提取更新服务器的地址;发送模块还用于:向所述更新服务器发送当前的eUICC固件版本;所述接收模块还用于:接收所述更新服务器根据所述当前的eUICC固件版本发送的eUICC固件版本更新包。
在一种可能的实现方式中,所述发送模块还用于:向所述更新服务器发送第二信息,所述第二信息包括目标标识;所述接收模块具体用于:接收所述更新服务器在所述第二信息中的目标标识与所述更新服务器中保存的组事件标识匹配的情况下,根据所述当前的eUICC固件版本发送的eUICC固件版本更新包。
在一种可能的实现方式中,所述处理模块具体用于:根据所述eUICC固件版本更新包中的第一数据更新eUICC信息中的eUICC固件版本,其中,所述第一数据包括目标固件版本。
在一种可能的实现方式中,所述接收模块还用于:接收所述更新服务器发送的第二数据,所述第二数据包括目标固件版本;所述处理模块还用于:根据所述第二数据更新eUICC信息中的eUICC固件版本。
在一个可能的设计中,所述终端设备包括处理器和收发器,所述收发器,用于向事件管理服务器发送第一信息,所述第一信息包括目标标识;所述收发器还用于接收所述事件管理服务器发送的查找得到的目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;所述处理器,用于根据所述目标事件记录下载eUICC固件版本更新包;所述处理器还用于根据所述eUICC固件版本更新包更新eUICC的固件版本。
基于同一发明构思,所述终端设备解决问题的原理以及有益效果可以参见第二方面所述的方法以及所带来的有益效果,所述终端设备的实施可以参见第二方面所述方法的实施,重复之处不再赘述。
本申请实施例第九方面提供一种本地文件助手,包括:
发送模块,用于向事件管理服务器发送第一信息,所述第一信息包括目标标识;
接收模块,用于接收所述事件管理服务器发送的查找得到的目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配;
处理模块,用于根据所述目标事件记录下载eUICC固件版本更新包;
所述发送模块还用于将所述eUICC固件版本更新包发送给eUICC,所述eUICC固件版本更新包被所述eUICC用于更新eUICC的固件版本。
本申请实施例第九方面提供的本地文件助手用于执行本申请第三方面提供的更新eUICC固件版本的方法,具体的可参见本申请实施例第三方面的描述,在此不再赘述。
在一种可能的设计中,本地文件助手可以作为一个或多个软件模块存在于终端设备的硬件模块上,所述本地文件助手对应的应用程序代码存储在终端设备的存储器中,所述应用程序代码可以被终端设备的处理器执行以实现所述本地文件助手的功能。
本申请实施例第十方面提供一种更新服务器,所述更新服务器具备实现第四方面所述方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述更新服务器包括发送模块,所述发送模块,用于向事件管理服务器发送事件注册请求,其中,所述事件注册请求中携带组事件标识,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;所述事件注册请求用于使所述事件管理服务器将所述组事件标识保存在事件记录中,并在接收到与所述组事件标识匹配的终端设备发送的第一信息的情况下,向所述终端设备发送所述事件记录。
在一种可能的实现方式中,所述更新服务器还包括:接收模块,用于接收所述终端设备发送的所述终端设备的当前的eUICC固件版本;处理模块,用于根据所述当前的eUICC固件版本确定所述终端设备的eUICC更新到目标固件版本所需的eUICC固件版本更新包;所述发送模块还用于向所述终端设备发送所述eUICC固件版本更新包,所述eUICC固件版本更新包被所述终端设备100用于更新所述终端设备的eUICC的固件版本。
在一种可能的实现方式中,所述接收模块还用于:接收所述终端设备100发送的第二信息,所述第二信息包括eUICC性能和eUICC固件版本;所述处理模块具体用于:在确定所述eUICC性能和eUICC固件版本满足所述目标固件版本的性能和固件版本要求的情况下,根据所述当前的eUICC固件版本确定所述终端设备100的eUICC更新到目标固件版本所需的eUICC固件版本更新包。
在一种可能的实现方式中,所述第二信息还包括目标标识;所述处理模块还用于:在所述第二信息中的目标标识与本地保存的组事件标识匹配的情况下,确定所述eUICC性能和eUICC固件版本能否满足所述目标固件版本的性能和固件版本要求。
在一个可能的设计中,更新服务器的结构中包括处理器和收发器,所述收发器,用于向事件管理服务器发送事件注册请求,其中,所述事件注册请求中携带组事件标识,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;所述事件注册请求用于使所述事件管理服务器将所述组事件标识保存在事件记录中,并在接收到与所述组事件标识匹配的终端设备发送的第一信息的情况下,向所述终端设备发送所述事件记录。
基于同一发明构思,所述更新服务器解决问题的原理以及有益效果可以参见第四方面所述的方法以及所带来的有益效果,所述事件管理服务器的实施可以参见第四方面所述方法的实施,重复之处不再赘述。
本申请实施例第十一方面提供一种远程服务器,所述远程服务器具备实现第五方面所述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述远程服务器包括接收模块、处理模块以及发送模块,所述接收模块,用于接收终端设备的第一eUICC的第一eUICC信息和所述终端设备的第二eUICC的第二eUICC信息;所述处理模块,用于根据所述第一eUICC信息和所述第二eUICC信息确定目标验证信息;所述发送模块,用于将第一鉴权信息发送给所述终端设备,其中所述第一鉴权信息包括所述目标验证信息;所述接收模块还用于接收所述第一eUICC和第二eUICC对所述第一鉴权信息验证通过后所述终端设备发送的第二鉴权息;所述处理模块还用于根据所述目标验证信息验证所述第二鉴权信息。
在一种可能的实现方式中,所述目标验证信息包括目标签名公钥标识,所述第一eUICC信息包括所述第一eUICC的第一签名公钥标识列表,所述第二eUICC信息包括所述第二eUICC的第二签名公钥标识列表;所述处理模块具体用于:从所述第一签名公钥标识列表中选择第一目标签名公钥标识,所述第一目标签名公钥标识还存在于本地证书颁发者公钥标识列表中;从所述第二签名公钥标识列表中选择第二目标签名公钥标识,所述第二目标签名公钥标识还存在于所述本地证书颁发者公钥标识列表中;将所述第一目标签名公钥标识和第二目标签名公钥标识确定为目标签名公钥标识。
在一种可能的实现方式中,所述处理模块还用于:在所述第一签名公钥标识列表、所述第二签名公钥标识列表存在相同的签名公钥标识的情况下,将所述相同的签名公钥标识确定为目标签名公钥标识,所述相同的签名公钥标识还存在于所述本地证书颁发者公钥标识列表中。
在一种可能的实现方式中,所述目标验证信息包括目标验证证书,所述第一eUICC信息包括所述第一eUICC的第一验证公钥标识列表,所述第二eUICC信息包括所述第二eUICC的第二验证公钥标识列表;所述处理模块具体用于:从所述第一验证公钥标识列表中选择第一目标验证公钥标识,所述第一目标验证公钥标识还存在于本地证书颁发者公钥标识列表中;从所述第二验证公钥标识列表中选择第二目标验证公钥标识,所述第二目标验证公钥标识还存在于所述本地证书颁发者公钥标识列表中;将所述第一目标验证公钥标识对应的第一目标验证证书和第二目标验证公钥标识对应的第二目标验证证书确定为目标验证证书。
在一种可能的实现方式中,所述处理模块还用于:在所述第一验证公钥标识列表和所述第二验证公钥标识列表存在相同的验证公钥标识的情况下,将所述相同的验证公钥标识对应的验证证书确定为目标验证证书,所述相同的验证签名公钥标识还存在于所述本地证书颁发者公钥标识列表中。
在一个可能的设计中,所述远程服务器的结构中包括处理器和收发器,所述收发器,用于接收终端设备的第一eUICC的第一eUICC信息和所述终端设备的第二eUICC的第二eUICC信息;所述处理器,用于根据所述第一eUICC信息和所述第二eUICC信息确定目标验证信息;所述收发器还用于将第一鉴权信息发送给所述终端设备,其中所述第一鉴权信息包括所述目标验证信息;所述收发器还用于接收所述第一eUICC和第二eUICC对所述第一鉴权信息验证通过后所述终端设备发送的第二鉴权信息;所述处理器还用于根据所述目标验证信息验证所述第二鉴权信息。
基于同一发明构思,所述远程服务器解决问题的原理以及有益效果可以参见第五方面所述的方法以及所带来的有益效果,所述事件管理服务器的实施可以参见第五方面所述方法的实施,重复之处不再赘述。
本申请实施例第十二方面提供一种本地文件助手,包括:
发送模块,用于向远程服务器发送第一eUICC的第一eUICC信息和第二eUICC的第二eUICC信息;
接收模块,用于接收所述远程服务器发送的第一鉴权信息,其中所述第一鉴权信息包括目标验证信息;
所述发送模块还用于在所述第一eUICC和所述第二eUICC对所述第一鉴权信息验证通过的情况下,向所述远程服务器发送第二鉴权信息,所述第二鉴权信息包括所述第一eUICC发送的第一鉴权子信息和所述第二eUICC发送的第二鉴权子信息。
本申请实施例第十二方面提供的本地文件助手用于执行本申请第六方面提供的双向鉴权方法,具体的可参见本申请实施例第六方面的描述,在此不再赘述。
在一种可能的设计中,本地文件助手可以作为一个或多个软件模块存在于终端设备的硬件模块上,所述本地文件助手对应的应用程序代码存储在终端设备的存储器中,所述应用程序代码可以被终端设备的处理器执行以实现所述本地文件助手的功能。
本申请实施例第十三方面提供一种计算机存储介质,用于储存为计算机所用的计算机程序指令,其包含用于执行上述第一方面所涉及的程序。
本申请实施例第十四方面提供一种计算机存储介质,用于储存为计算机所用的计算机程序指令,其包含用于执行上述第二方面所涉及的程序。
本申请实施例第十五方面提供一种计算机存储介质,用于储存为计算机所用的计算机程序指令,其包含用于执行上述第三方面所涉及的程序。
本申请实施例第十六方面提供一种计算机存储介质,用于储存为计算机所用的计算机程序指令,其包含用于执行上述第四方面所涉及的程序。
本申请实施例第十七方面提供一种计算机存储介质,用于储存为计算机所用的计算机程序指令,其包含用于执行上述第五方面所涉及的程序。
本申请实施例第十八方面提供一种计算机存储介质,用于储存为计算机所用的计算机程序指令,其包含用于执行上述第六方面所涉及的程序。
本申请实施例第十九方面提供一种计算机程序,用于执行上述第一方面提供的各种方法。
本申请实施例第二十方面提供一种计算机程序,用于执行上述第二方面提供的各种方法。
本申请实施例第二十一方面提供一种计算机程序,用于执行上述第三方面提供的各种方法。
本申请实施例第二十二方面提供一种计算机程序,用于执行上述第四方面提供的各种方法。
本申请实施例第二十三方面提供一种计算机程序,用于执行上述第五方面提供的各种方法。
本申请实施例第二十四方面提供一种计算机程序,用于执行上述第六方面提供的各种方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的一种eUICC远程配置/管理系统架构示意图;
图2是本申请实施例提供的一种更新固件版本的方法的流程示意图;
图3是本申请实施例提供的一种终端设备下载eUICC固件版本更新包的方法的流程示意图;
图4是本申请实施例提供的另一种更新固件版本的方法的流程示意图;
图5是本申请实施例提供的又一种更新eUICC固件版本的方法的流程示意图;
图6是本申请实施例提供的又一种更新eUICC固件版本的方法的流程示意图;
图7是本申请实施例提供的一种双向鉴权方法的流程示意图;
图8是本申请实施例提供的另一种双向鉴权的方法的流程示意图;
图9是本申请实施例提供的终端设备、事件管理服务器和更新服务器组成的系统的结构示意图;
图10是本申请实施例提供的一种事件管理服务器的硬件结构示意图;
图11是本申请实施例提供的一种本地文件助手的结构示意图;
图12是本申请实施提供的一种更新服务器的硬件结构示意图;
图13是本申请实施例提供的远程服务器、终端设备组成的系统的结构示意图;
图14是本申请实施例提供的一种远程服务器的硬件结构示意图;
图15是本申请实施例提供的另一种本地文件助手的结构示意图;
图16是本申请实施例提供的终端设备的一种实现方式的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例的技术方案适用于eUICC远程管理/配置系统,本申请实施例的eUICC远程管理/配置系统的架构可以如图1所示,图1是本申请实施例提供的一种eUICC远程配置/管理系统架构示意图。其中,SM-DP+负责准备配置文件包,并且用配置文件保护密钥来加密配置文件包,SM-DP+会将保护密钥加密过的配置文件包绑定到指定eUICC的EID,并且将绑定配置文件包安全地下载到终端,此外,SM-DP+也可以执行远程配置文件管理(Remote Profile management,RPM)以及远程eUICC管理(Remote eUICC Management,ReM),SM-DP+可以部署在运营商、eUICC制造商、原始设备制造商(Original EquipmentManufacturer,OEM)或其它方的服务器上;OPS用于准备eUICC固件版本更新包,将准备好的eUICC固件版本更新包(例如为eUICC固件版本增量包或全量包)发送给终端设备;eUICC固件版本可以指eUICC所支持的远程SIM提供(Remote SIM Provisioning,RSP)版本,也可以指eUICC平台版本,也可以指eUICC操作系统版本,也可以指eUICC平台以及操作系统版本。另外,eUICC固件版本也可以包含JAVA平台版本,或者是包含某一个新特性(i.e.新算法)的eUICC操作系统版本。eUICC固件版本也可以包含TS102241版本以及全球平台(globalplatform)版本。SM-DS用于提供一个或多个SM-DP+地址或OPS地址给终端设备,终端设备通过此SM-DP+地址可以与SM-DP+建立连接,或者,终端设备通过此OPS地址可以与OPS建立连接;终端设备包含本地文件助手(Local Profile Assitant,LPA),用于与SM-DP+建立连接以进行对Profile和eUICC的相关管理操作,如下载和安装、远程Profile管理和远程eUICC管理、eUICC固件版本更新等;终端设备还包括eUICC,用于实现SIM卡的各项功能以及Profile和eUICC配置与管理功能;Operator为运营商的业务支撑系统,它负责向SM-DP+订购Profile,以及请求对eUICC上的Profile进行管理;最终用户(End User)为终端设备使用者/用户;eUICC制造商(eUICC Manufacturer,EUM)为生产eUICC的厂商。SM-DP+,SM-DS以及OPS都可以被称为eUICC远程服务器(或远程SIM配置服务器)。在一种可能的方式中,SM-DP+与OPS可以部署在同一个服务器上。
本申请实施例涉及的终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。终端设备可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网进行通信,终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,可以是个人通信业务(PCS,Personal Communication Service)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(WLL,Wireless Local Loop)站、个人数字助理(PDA,Personal Digital Assistant)等设备。终端设备也可以是指连接传感网络层和传输网络层、采集数据并向网络层发送数据的物联网设备,例如,可以是智能家居系统中的冰箱、空调、洗衣机等设备。终端设备也可以称为系统、订户模块(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(RemoteStation)、接入点(Access Point)、远程终端(Remote Terminal)、接入终端(AccessTerminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment)。
参见图2,图2是本申请实施例提供的一种更新固件版本的方法的流程示意图,如图所示,所述方法包括:
S101、终端设备向事件管理服务器发送第一信息,第一信息包括目标标识,事件管理服务器接收第一信息。
具体地,如图1所示,终端设备可以包括LPA、eUICC,其中,LPA和eUICC可以是两个相互分离且存在物理或逻辑连接关系的模块,例如LPA存在于基带芯片上、应用处理器上或终端设备的其他硬件模块上;LPA也可以直接存在于eUICC上。具体地,LPA可以为一个软件模块,或者为分布存在且相联系的多个软件模块。
具体地,事件管理服务器可以为SM-DS,也可以为其他具备事件注册、事件删除、事件发送、事件修改等事件管理功能的服务器,或者为向终端设备提供一个或多个SM-DP+地址或OPS地址以使终端设备与SM-DS+或OPS建立通信连接的服务器。
S102、事件管理服务器在当前保存的事件记录中查找目标事件记录,其中,目标事件记录中的组事件标识与第一信息中的目标标识匹配,组事件标识包括至少一个eUICC固件版本和至少一个发行者标识。
可选地,事件管理服务器中保存的事件记录可以有多个,例如有对应于eUICC1的事件记录,对应与eUICC2的事件记录,对应于eUICC3的事件记录,等等。
可选地,事件记录与eUICC之间可以通过eUICC标识(eUICC Identity,EID)进行对应,也可以通过组事件标识进行对应。
例如,当事件记录与eUICC之间是一对一的对应关系时,可以通过EID来进行对应,即在事件记录中保存EID,能与事件记录中的EID匹配的eUICC即为该事件记录对应的eUICC;当事件记录与eUICC之间是一对多的对应关系时,可以通过组事件标识来进行对应,即在事件记录中保存组事件标识,能与事件记录中的组事件标识匹配的eUICC即为该事件记录对应的eUICC。
具体地,组事件标识可以为多个eUICC共有的标识,用于标识目标事件记录可以对应于多个终端设备或多个eUICC,目标事件记录对应的远程服务器提供的服务可以对应于多个终端设备或多个eUICC。
可选地,组事件标识与目标标识匹配可以指组事件标识与目标标识相同或目标标识属于组事件标识。
具体地,目标事件记录可以为事件管理服务器在终端设备向事件管理服务器发送第一信息之前注册的,即事件管理服务器接收终端设备发送的第一信息之前还包括:事件管理服务器接收更新服务器发送的事件注册请求,其中,所述注册请求中携带所述组事件标识;事件管理服务器根据所述注册请求将所述组事件标识保存在目标事件记录中。
在可选实施方式中,也可以由终端执行对将组事件标识与终端设备本地保存的标识进行匹配这一操作,即终端设备接收事件管理服务器发送的事件记录,终端设备从所述事件记录中选择与本地保存的标识匹配的目标事件记录。例如,第一信息中的目标标识包括部分组事件标识,事件管理服务器在当前保存的事件记录中查找与所述目标标识匹配的事件记录,事件管理服务器将查找得到的与所述目标标识匹配的事件记录发送给终端设备,终端设备从事件记录中提取完整的组事件标识,将组事件标识与本地保存的标识信息进行逐一匹配,从而确定目标事件记录。在此种实施方式中,目标标识仅包括部分组事件标识,与所述目标标识匹配的事件记录可能有一个或多个,终端根据接收到的一个或多个事件记录确定目标事件记录,即在此种实施方式中,可以由事件服务器对事件记录进行初次筛选,筛选出部分满足条件的事件记录,然后由终端设备对事件记录进行最终的筛选,筛选出组事件标识与终端设备的标识信息最匹配的目标事件记录。
S103、事件管理服务器将目标事件记录发送给终端设备,终端设备接收目标事件记录。
可选地,目标事件记录还可以包括更新服务器的地址。
S104、终端设备下载eUICC固件版本更新包。
具体地,终端设备下载eUICC固件版本更新包的流程可以如图3所示,图3是本申请实施例提供的一种终端设备下载eUICC固件版本更新包的方法的流程示意图,如图所示所述方法至少包括:
S201、终端设备从目标事件记录提取更新服务器的地址。
具体地,更新服务器可以为OPS,也可以为其他为终端设备提供eUICC固件更新包下载服务的服务器,例如更新服务器也可以为SM-DP+,等等。
S202、终端设备向更新服务器发送当前的eUICC固件版本,更新服务器接收当前的eUICC固件版本。
在可选实施方式中,终端设备可以在与更新服务器进行双向鉴权过程中将当前的eUICC固件版本携带在第一命令(例如AuthenticateClient)中发送给更新服务器,终端设备也可以在与更新服务器进行双向鉴权过程中将当前的eUICC固件版本携带在第二命令(例如InitiateAuthentication)中发送给更新服务器。
S203、更新服务器根据当前的eUICC固件版本确定终端设备更新到目标固件版本所需的eUICC固件版本更新包。
具体地,eUICC固件版本更新包括可以为eUICC固件版本更新增量包,也可以为eUICC固件版本更新全量包,还可以为eUICC固件版本缺陷修复包。固件版本更新增量包包含eUICC固件版本中某个模块部分。固件版本更新增量包也可以以差分包的形式存在,即固件版本更新增量包只包括新旧固件版本之间有差异的部分。因此,eUICC固件版本更新增量包可以通过给eUICC固件版本打补丁的方式来完成更新操作。而eUICC固件版本更新全量包包括一个完成的固件版本安装包,需要预先使eUICC进入recovery模式来进行eUICC固件版本更新全量包的安装;eUICC固件版本缺陷修复包可以是为解决eUICC平台、eUICC系统或者eUICC平台和系统的缺陷修复问题而产生的更新包。
S204、更新服务器向终端设备发送eUICC固件版本更新包,终端设备接收eUICC固件版本更新包。
S105、终端设备根据eUICC固件版本更新包更新eUICC的固件版本。
为便于更清楚地介绍本申请实施例的技术方案,以下将终端设备的LPA和eUICC作为独立执行主体介绍终端设备实现更新eUICC固件版本的方法的具体实现过程,应当理解的是,省去LPA和eUICC之间的交互步骤(即终端设备的内部交互过程)之后,LPA和eUICC执行的操作步骤即为终端设备执行的操作步骤。以下采用SM-DS代表事件管理服务器、OPS代表更新服务器对上述实施例进行详细介绍。
参见图4,图4是本申请实施例提供的另一种更新eUICC固件版本的方法的流程示意图,如图所示,所述方法包括:
S301、OPS向SM-DS发送事件注册请求(例如RegisterEvent),事件注册请求中携带组事件标识,SM-DS接收事件注册请求,组事件标识包括至少一个eUICC固件版本和至少一个发行者标识。
可选地,OPS在向SM-DS发送事件注册请求之前,还可以与SM-DS进行双向鉴权。
可选地,事件注册请求中还可携带OPS的地址、事件标识(Event Identity,EventID)。
可选地,组事件标识还可以包括定制标识或国家码(country code)。
具体地,在组事件标识为eUICC固件版本的情况下,事件注册请求中可携带至少一个eUICC固件版本,表示OPS当前可为所述至少一个eUICC固件版本对应的eUICC提供eUICC固件版本更新服务。
举例来说,例如OPS当前可为多个版本的eUICC提供eUICC固件版本更新服务,目标固件版本为50000,OPS可以为eUICC固件版本为49999、49998或49997的eUICC提供eUICC固件版本更新服务,则OPS将49999、49998、49997携带在事件注册请求中发送给SM-DS。
可选地,定制标识可以包括附加发行者信息(additional issuer information)或处于预设定制位的个人识别码(individual identification number)。
可选地,预设定制位可以有一位或多位,例如定制标识可以为个人识别码一段位数区间范围内的字符,比如从100100110111至101110110101为定制标识。定制标识也可以为处于个人识别码第n(n的取值为1~12)位的字符,定制标识也可以为处于个人识别码的奇数位的字符,即在个人识别码的第1位、第3位、第5位、第7位、第9位、第11位的字符;定制标识也可以为处于个人识别码的偶数位的字符,即个人识别码的第2位、第4位、第6位、第8位、第10位、第12位的数字;定制标识还可以为处于个人识别码的第1~5位的字符;定制标识还可以为处于个人识别码的第3~8位的字符,等等,个人识别码一共有12位,预设定制位的设置规则可以有多种,相应地,预设定制位不同则定制标识不同,在此不再列举。
S302、SM-DS保存事件记录。
具体地,SM-DS将事件注册请求中的组事件标识保存在事件记录中。
可选地,SM-DS还可以将OPS的地址、事件标识保存在事件记录中。
至此,SM-DS中保存有包括组事件标识的事件记录,所述组事件标识对应至少一个eUICC,等待LPA进行查询。
S303、LPA与SM-DS建立安全超文本传输协议(HyperText Transfer ProtocolSecure,HTTPS)连接。
具体地,在用户操作、定时触发或者eUICC触发等条件下,LPA向SM-DS发起连接请求以查询是否有与eUICC对应的事件记录。
可选地,LPA可以从eUICC获取默认的SM-DS地址,例如终端设备是运营商A定制生产的,运营商A指定在eUICC中预置一个SM-DS地址,或者,终端厂商在eUICC中预置多个运营商共享的一个SM-DS地址。
可选地,HTTPS可以运行在传输层安全协议(Transport Layer Security,TLS)连接上。例如,LPA对SM-DS做单向证书认证,认证通过后建立TLS连接。
S304、eUICC向LPA发送第一信息,LPA接收第一信息,第一信息包括目标标识。
可选地,第一信息可以为终端设备与SM-DS的双向鉴权过程中,终端设备向SM-DS发送的第二鉴权信息。
可选地,第一信息可以包括eUICC待签名数据(例如euiccSigned1)、eUICC待签名数据的签名值(例如euiccSignature1)、eUICC证书(例如CERT.EUICC.ECDSA)、eUICC制造商证书(例如CERT.EUM.ECDSA),等等。
具体地,eUICC待签名数据(例如euiccSigned1)可以包括eUICC信息,其中,eUICC待签名数据(例如euiccSigned1)中的eUICC信息为附加eUICC信息(例如euiccInfo2);eUICC证书(例如CERT.EUICC.ECDSA)包括eUICC标识(eUICC Identity,EID)。
具体地,附加eUICC信息(例如euiccInfo2)包括eUICC固件版本(euiccFirmwareVersion)、eUICC性能(UICCCapability)。
可选地,第一信息也可以为终端设备与SM-DS的双向鉴权过程结束后终端设备向SM-DS发送的信息。例如,第一信息可以包括附加eUICC信息(例如euiccInfo2)、EID,等等。
可选地,目标标识可以包括eUICC固件版本、发行者标识、定制标识或国家码中的至少一种信息。
具体地,第一信息中的eUICC固件版本为eUICC当前的固件版本。例如,eUICC当前的固件版本为49997,则第一信息中的eUICC固件版本为49997。
S305、LPA向SM-DS发送第一信息,SM-DS接收第一信息。
可选地,LPA可以将第一信息携带在第一命令(例如AuthenticateClient)中发送给SM-DS。
S306、SM-DS在当前保存的事件记录中查找目标事件记录,其中,目标事件记录中的组事件标识与第一信息中的目标标识匹配。
具体地,SM-DS可以从第一信息中获取目标标识,从当前保存的事件记录中获取组事件标识,将目标标识与组事件标识进行比较,若目标标识与组事件标识相同或目标标识属于组事件标识则确定目标事件记录中的组事件标识与第一信息中的目标标识匹配。
可选地,若组事件标识为eUICC固件版本,SM-DS可以从第一信息中的附加eUICC信息(例如euiccInfo2)中获取eUICC固件版本作为第一信息中的目标标识;SM-DS也可以从第一信息中的eUICC证书(例如CERT.EUICC.ECDSA)中获取EID,从EID中提取eUICC固件版本作为第一信息中的目标标识,将目标标识分别与至少一个事件记录中的组事件标识进行比较,从而从所述至少一个事件记录中确定目标标识与组事件标识匹配的目标事件记录。
具体地,SM-DS可以提取EID的第9-13位的字符将其确定为eUICC固件版本,即第一信息中的目标标识。
例如,组事件标识为eUICC固件版本,事件记录1中的eUICC固件版本为49999、49998以及49997,SM-DS获取到的第一信息中的eUICC固件版本为49997,49997属于组事件标识,则组事件标识与目标标识匹配,将事件记录1确定为目标事件记录。
可选地,若组事件标识为发行者标识,则SM-DS可以从第一信息中的eUICC证书(例如CERT.EUICC.ECDSA)中获取EID,从EID中提取发行者标识作为第一信息中的目标标识,将目标标识分别与至少一个事件记录中的组事件标识进行比较,从而从所述至少一个事件记录中确定目标标识与组事件标识匹配的目标事件记录。
具体地,SM-DS可以提取EID的第6-8位的字符将其确定为发行者标识,即第一信息中的目标标识。
例如,组事件标识为发行者标识,事件记录2中的发行者标识为1111,则若SM-DS从EID中提取得到的第5-8位的字符为1111,则确定组事件标识与目标标识匹配,将事件记录2确定为目标事件记录。
可选地,若组事件标识为定制标识且定制标识为附加发行者信息,则SM-DS可以从第一信息中的eUICC证书(例如CERT.EUICC.ECDSA)中获取EID,从EID中提取附加发行者信息作为第一信息中的目标标识,将目标标识分别与至少一个事件记录中的组事件标识进行比较,从而从所述至少一个事件记录中确定目标标识与组事件标识匹配的目标事件记录。
具体地,SM-DS可以提取EID的第14-18位的字符将其确定为附加发行者信息,即第一信息中的目标标识。
例如,组事件标识为定制标识且定制标识为附加发行者信息,事件记录3中的附加发行者信息为22222,则若SM-DS从EID中提取得到的第14-18位的字符为22222,则确定组事件标识与目标标识匹配,将事件记录3确定为目标事件记录。
可选地,若组事件标识为定制标识且定制标识为处于预设定制位的个人识别码,则SM-DS可以从第一信息中的eUICC证书(例如CERT.EUICC.ECDSA)获取EID,从EID中提取处于预设定制位的个人识别码作为第一信息中的目标标识,将目标标识分别与至少一个事件记录中的组事件标识进行比较,从而从所述至少一个事件记录中确定目标标识与组事件标识匹配的目标事件记录。
具体地,SM-DS可以提取EID的第19-30位的字符,并从所述提取得到的第19-30位的字符中提取处于预设定制位的字符作为第一信息中的目标标识。
例如,组事件标识为定制标识且定制标识为处于预设定制位的个人识别码,预设定制位为个人识别码的第2-4位,事件记录4中的处于预设定制位的个人识别码为333,若SM-DS从EID的第20-22位的字符为333,则确定组事件与目标标识匹配,将事件记录4确定为目标事件记录。
可选地,若组事件标识为发行者标识,则SM-DS可以从第一信息中的eUICC证书(例如CERT.EUICC.ECDSA)中获取EID,从EID中提取国家码作为第一信息中的目标标识,将目标标识分别与至少一个事件记录中的组事件标识进行比较,从而从所述至少一个事件记录中确定目标标识与组事件标识匹配的目标事件记录。
具体地,SM-DS可以提取EID的第3-5位的字符将其确定为国家码,即第一信息中的目标标识。
可选地,若组事件标识为eUICC固件版本、发行者标识、定制标识或国家码中的两种或三种信息,可根据上述分别获取eUICC固件版本、发行者标识或定制标识的方法获取对应的信息,将其作为第一信息中的目标标识,并将目标标识与事件记录中的组事件标识进行比较,从而确定事件标识与目标标识匹配的目标事件记录。
S307、SM-DS将目标事件记录发送给LPA,LPA接收目标事件记录。
至此,LPA与SM-DS的交互结束,LPA获取到目标事件记录,LPA可对目标事件进行处理得到目标事件记录中的信息,然后根据事件记录中的信息进行相应的操作,例如执行步骤S308及其以后的步骤对应的操作。
可选地,在目标事件记录有多个的情况下,LPA可以按顺序处理目标事件记录。
S308、LPA从目标事件记录提取OPS的地址。
S309、LPA与OPS建立HTTPS连接。
S310、LPA向OPS发送终端设备当前的eUICC固件版本,OPS接收终端设备当前的eUICC固件版本。
可选地,LPA可以将终端设备当前的eUICC固件版本携带在第二命令(例如InitiateAuthentication)中发送给OPS。
可选地,第二命令(例如InitiateAuthentication)还可以携带eUICC随机数(例如eUICCChallenge1)、eUICC信息以及OPS的地址等,其中,第二命令中的eUICC信息为初始eUICC信息(例如euiccInfo1)。
S311、OPS将第三信息发送给LPA,LPA接收第三信息。
可选地,第三信息可以为终端设备与OPS的双向鉴权过程中,OPS向终端设备发送的第一鉴权信息。
可选地,第三信息可以包括会话标识(TransactionIdentity,TransactionID)、鉴权验证待签名数据(例如OPSSigned1)、鉴权验证待签名数据的签名值(例如OPSSignature1)、目标公钥标识(例如euiccCiPKIdToBeUsed)、更新服务器的鉴权证书(例如CERT.OPSauth.ECDSA)。
可选地,鉴权验证待签名数据(例如OPSSigned1)可以包括会话标识、终端设备当前的eUICC固件版本、eUICC随机数(例如euiccChange1)、更新服务器的随机数(例如OPSChanllenge)以及OPS的地址。
S312、LPA将第三信息发送给eUICC,eUICC接收第三信息。
可选地,LPA可以将第三信息携带在第三命令(例如AuthenticateServer)中发送给eUICC。
S313、eUICC向LPA发送第二信息,LPA接收第二信息,第二信息包括目标标识、eUICC性能以及eUICC固件版本。
可选地,第二信息可以为终端设备与OPS的双向鉴权过程中,终端设备向OPS发送的第二鉴权信息。
可选地,第二信息可以包括eUICC待签名数据(例如euiccSigned1),eUICC待签名数据的签名值(例如euiccSignature1),eUICC证书(例如CERT.EUICC.ECDSA),eUICC制造商证书(例如CERT.EUM.ECDSA),等等。
可选地,第二信息也可以为终端设备与OPS的双向鉴权结束后终端设备向OPS发送的信息。例如第二信息可以包括附加eUICC信息(例如euiccInfo2)、EID。
S314、LPA向OPS发送第二信息,OPS接收第二信息。
可选地,LPA可以将第二信息携带在第一命令(例如AuthenticateClient)中发送给OPS。
S315、OPS判断目标标识是否与本地保存的组事件标识匹配。
可选地,判断目标标识是否与组事件标识匹配的具体实现方式可参考步骤S306中的描述,不再赘述。
具体地,在目标标识与本地保存的组事件标识匹配的情况下,OPS执行步骤S316。
S316、OPS检查eUICC性能和eUICC固件版本是否满足目标固件版本的性能和固件版本要求。
具体地,OPS可以检查eUICC性能是否能够支持更新至目标固件版本;OPS可以检查eUICC固件版本是否属于可以更新到目标固件版本的固件版本范围。
例如,OPS当前为eUICC固件版本为49997、49998、49999的eUICC提供eUICC固件版本更新服务器,若eUICC的eUICC固件版本为49997、49998、49999中的其中一个eUICC固件版本,则满足目标固件版本的eUICC固件版本要求。
可选地,OPS在检查eUICC性能和固件版本是否可以更新到目标固件版本之后还包括:生成第三数据(例如patch Metadata);生成第一待签名数据(例如OPSSigned2);生成第一待签名数据的签名值(例如OPSSignature2);向LPA发送第二数据。
可选地,第三数据(例如patch Metadata)可以包括目标固件版本。
可选地,第二数据可以包括会话标识,第三数据(例如patch Metadata),第一待签名数据(例如OPSSigned2),第一待签名数据的签名值(例如OPSSignature2),等等。
具体地,第一待签名数据(例如OPSSigned2)可以包括会话标识,目标固件版本,确认码标示(Confirmation Code Required Flag),临时密钥对公钥(例如bppEuiccOtpk),等等。
可选地,LPA可以在接收到OPS发送的第二数据之后将第二数据携带在准备下载命令(例如PrepareDownload)中发送给eUICC。
S317、OPS根据终端设备当前的eUICC固件版本确定终端设备更新到目标固件版本所需的eUICC固件版本更新包。
在一种实施方式中,OPS可以通过步骤S310获取终端设备当前的eUICC固件版本;在另一种实施方式中,OPS也可以从第二信息中获取终端设备当前的eUICC固件版本。
在一种可能的实现方式中,可针对不同eUICC固件版本设计不同的eUICC固件版本更新包,其中,不同eUICC固件版本更新包包含的系统补丁数量、功能代码数量等有所不同;OPS可查找终端设备当前的eUICC固件版本对应的eUICC固件版本更新包,将其确定为终端设备更新到目标固件版本所需的eUICC固件版本更新包。
例如,目标固件版本为50000,OPS中当前有三种类型的eUICC固件版本更新包,分别为[49997-50000]更新包、[49998-50000]更新包以及[49999-50000]更新包,其中,[49997-50000]更新包是为eUICC固件版本为49997准备的eUICC固件版本更新包,[49998-50000]更新包是为eUICC固件版本为49998准备的eUICC固件版本更新包,[49999-50000]更新包是为eUICC固件版本为49999准备的eUICC固件版本更新包。若终端设备当前的eUICC固件版本为49997,则OPS确定更新到目标固件版本所需的eUICC固件版本更新包为[49997-50000]更新包;若终端设备当前的eUICC固件版本为49998,则OPS确定更新到目标固件版本所需的eUICC固件版本更新包为[49998-50000]更新包;若终端设备当前的eUICC固件版本为49999,则OPS确定更新到目标固件版本所需的eUICC固件版本更新包为[49999-50000]更新包。
S318、OPS向所述LPA发送eUICC固件版本更新包,LPA接收eUICC固件版本更新包。
S319、LPA将eUICC固件版本更新包发送给eUICC,eUICC接收eUICC固件版本更新包。
可选地,LPA可以将eUICC固件版本更新包携带在第四命令(例如LoadBoundPackage)中发送给eUICC。
S320、eUICC根据eUICC固件版本更新包更新eUICC的固件版本。
具体地,eUICC根据eUICC固件版本更新包中的固件版本更新数据更新eUICC平台,或者,eUICC根据eUICC固件版本更新包中的固件版本更新数据更新eUICC操作系统,或者,eUICC根据eUICC固件版本更新包中的固件版本更新数据同时更新eUICC平台和eUICC操作系统,或者,eUICC根据eUICC固件版本更新包中的固件版本更新数据更新RSP版本,或者,eUICC根据eUICC固件版本更新包中的固件版本更新数据更新TS102241版本或者全球平台(globalplatform)版本。
具体地,eUICC可以将eUICC平台版本升级至目标版本,或者,eUICC可以将eUICC操作系统版本升级至目标版本,或者,eUICC可以将eUICC平台版本和eUICC操作系统版本升级至目标版本,或者,eUICC可以将RSP版本升级至目标版本。
S321、eUICC更新eUICC信息中的eUICC固件版本。
可选地,eUICC可以根据eUICC固件版本更新包中的第一数据(例如StoreMetadata)更新eUICC信息中的eUICC固件版本,其中,第一数据包括目标固件版本。
可选地,eUICC可以根据eUICC固件版本更新包中的第一数据(例如,加密数据)更新eUICC信息中的eUICC固件版本,其中,第一数据包括目标固件版本。
可选地,eUICC也可以根据第二数据更新eUICC信息中的eUICC固件版本。例如,eUICC可以根据第二数据中的第三数据(例如patch Metadata)更新eUICC信息中的eUICC固件版本,eUICC也可以根据第二数据中的第一待签名数据(例如OPSSigned2)更新eUICC信息中的eUICC固件版本。可选地,更新eUICC信息中的eUICC固件版本也可以发生在eUICC更新固件版本之前。
具体地,eUICC可以将eUICC信息中的固件版本更新/替换为目标固件版本。
例如,eUICC固件版本更新前,eUICC信息中的eUICC固件版本为49997,目标固件版本为50000,固件版本更新后,eUICC将eUICC信息中的eUICC固件版本更新为50000。
可选地,eUICC更新eUICC信息中的eUICC固件版本之后,可以向LPA发送通知消息。通知消息可以由应用协议数据单元(APDU)携带。所述通知消息可以包括当前eUICC的固件版本升级结果。所述固件版本升级结果还可以包括目标固件版本。通知消息可以包括通知元数据、会话标识、最后结果、SM-DP+对象标识、以及eUICC签名的一种或多种;通知元数据可以包括序列号、接收地址;最后结果可以携带最后固件版本更新状态。
在图4所述的方法中,组事件标识可以对应于多个eUICC,适用于eUICC固件版本更新的场景,eUICC固件版本更新对应于多个eUICC,OPS通过向SM-DS发送携带组事件标识的事件注册请求以使SM-DS完成事件注册,一个事件记录可以对应多个eUICC或终端设备,避免因为提供eUICC固件版本更新服务而注册多个事件,提高效率。
在可选方案中,在终端设备中存在两个eUICC且两个eUICC的eUICC固件版本均需要更新的情况下,可以并行实现两个eUICC的eUICC固件版本更新,假设两个eUICC分别为第一eUICC即eUICC1、第二eUICC即eUICC2,以下分别介绍在eUICC1和eUICC1属于同一制造商和不同制造商的情况下并行实现两个eUICC的eUICC固件版本更新的实现流程。
首先介绍eUICC1和eUICC2属于不同制造商的情况,假设eUICC1对应的更新服务器为OPS1,eUICC2对应的更新服务器为OPS2,实现流程可以如图5所示。图5是本申请实施例提供的又一种更新eUICC固件版本的方法的流程示意图,如图所示,所述方法包括:
S401、OPS1向SM-DS发送事件注册请求,事件注册请求中携带第一组事件标识,SM-DS接收事件注册请求,第一组事件标识包括至少一个eUICC固件版本和至少一个发行者标识。
S402、SM-DS保存第一事件记录,第一事件记录包括第一组事件标识。
S403、OPS2向SM-DS发送事件注册请求,事件注册请求中携带第二组事件标识,SM-DS接收事件注册请求,第二组事件标识包括至少一个eUICC固件版本和至少一个发行者标识。
S404、SM-DS保存第二事件记录,第二事件记录包括第二组事件标识。
具体地,步骤S401~S402、步骤S403~S404的具体实现方式可参考图3对应的实施例中步骤S301~S302的描述,不再赘述,应当理解的是,步骤S401中的第一组事件标识以及步骤S403的第二组事件标识的类型/组成/定义/结构可以与步骤S301中的组事件标识相同,步骤S301中的组事件标识可以包括第一组事件标识和/或第二组事件标识;步骤S402中的第一事件记录与步骤S404中的第二事件记录的类型/组成/定义/结构可以与步骤S302中的目标事件记录相同,步骤S302中的目标事件记录可以包括第一事件记录和/或第二事件记录。
需要说明的是,步骤S401~S402与步骤S403~S404可以为相互独立并行的步骤,在可选实施例中,步骤S401~S402与步骤S403~S404可以同时被执行,也可以在步骤S403~S404被执行完后步骤S401~402再被执行。
至此,SM-DS中已经保存有与eUICC1对应的第一事件记录和与eUICC2对应的第二事件记录,等待LPA进行查询。
S405、LPA与SM-DS建立HTTPS连接。
具体地,步骤S405具体实现方式可以参考步骤S303的描述,在此不再赘述。
S406、eUICC1向LPA发送第一子信息,LPA接收第一子信息,第一子信息包括第一目标标识。
可选地,第一子信息可以为终端设备与SM-DS的双向鉴权过程中,终端设备向SM-DS发送的第二鉴权信息中的第一鉴权子信息。
可选地,第一子信息可以包括第一eUICC待签名数据(例如euicc1Signed1)、第一eUICC待签名数据的签名值(例如euicc1Signature1)、第一eUICC证书(例如CERT.EUICC1.ECDSA)、第一eUICC制造商证书(例如CERT.EUM1.ECDSA),等等。
第一eUICC待签名数据(例如euicc1Signed1)为eUICC待签名数据,具体可以包括第一eUICC信息,其中,第一eUICC待签名数据(例如euicc1Signed1)中的第一eUICC信息为第一附加eUICC信息(例如euicc1Info2);第一eUICC证书(例如CERT.EUICC1.ECDSA)为eUICC证书,具体可以包括第一eUICC标识(例如EID1)。
第一目标标识为目标标识,具体可以包括eUICC1的eUICC固件版本、eUICC1的发行者标识、eUICC1的定制标识或eUICC1的国家码中的至少一种信息。
S407、eUICC2向LPA发送第二子信息,LPA接收第二子信息,第二子信息包括第二目标标识。
可选地,第二子信息可以为终端设备与SM-DS的双向鉴权过程中,终端设备向SM-DS发送的第二鉴权信息中的第二鉴权子信息。
可选地,第二子信息可以包括第二eUICC待签名数据(例如euicc2Signed1)、第二eUICC待签名数据的签名值(例如euicc2Signature1)、第二eUICC证书(例如CERT.EUICC2.ECDSA)、第二eUICC制造商证书(例如CERT.EUM2.ECDSA),等等。
第二eUICC待签名数据(例如euicc2Signed1)为eUICC待签名数据,具体可以包括第二eUICC信息,其中,第二eUICC待签名数据(例如euicc2Signed1)中的第二eUICC信息为第二附加eUICC信息(例如euicc2Info2);第二eUICC证书(例如CERT.EUICC2.ECDSA)为eUICC证书,具体可以包括第二eUICC标识(例如EID2)。
第二目标标识为目标标识,具体可以包括eUICC2的eUICC固件版本、eUICC2的发行者标识、eUICC2的定制标识或eUICC2的国家码中的至少一种信息。
需要说明的是,步骤S406与步骤S407可以为相互独立并行的步骤,在可选实施例中,步骤S406与步骤S407可以同时被执行,也可以在步骤S407被执行完后步骤S406再被执行。
应当理解的是,第一子信息与第二子信息的类型/组成/定义/结构可以与步骤S304中的第一信息相同,即步骤S304中的第一信息可以包括第一子信息和/或第二子信息。
S408、LPA向SM-DS发送第一信息,第一信息包括第一子信息和第二子信息,SM-DS接收第一信息。
S409、SM-DS在当前保存的事件记录中分别查找第一事件记录以及第二事件记录,其中,第一事件记录中的第一组事件标识与第一目标标识匹配,第二事件记录中的第二组事件标识与第二目标标识匹配。
具体地,SM-DS可以从第一信息中获取第一目标标识和第二目标标识;从当前保存的事件记录中获取第一组事件标识和第二组事件标识,将第一目标标识与第一组事件标识匹配,若第一目标标识与第一组事件标识相同或第一目标标识属于第一组事件标识则确定第一目标标识与第一组事件标识匹配;将第二目标标识与第二组事件匹配,若第二目标标识与第二组事件标识相同或第二目标标识属于第二组事件标识则确定第二目标标识与第二组事件标识匹配。
可选地,SM-DS获取第一目标标识和第二目标标识以及确定第一目标标识与第一组事件标识匹配,确定第二目标标识与第二组事件标识匹配的具体实现方式可参考步骤S306中的描述,不再赘述。
S410、SM-DS将第一事件记录以及第二事件记录发送给LPA,LPA接收第一事件记录以及第二事件记录。
至此,LPA与SM-DS的交互结束,LPA获取到与eUICC1对应的第一事件记录以及与eUICC2对应的第二事件记录。
可选地,LPA可以按顺序处理第一事件记录和第二事件记录。
S411、LPA获取eUICC1的第一eUICC标识。
在可选的实现方式中,LPA也可以在与SM-DS进行双向鉴权的过程中通过获取eUICC1的证书来获取eUICC1的第一eUICC标识;LPA还可以在与SM-DS的双向鉴权过程结束后通过获取EID指令(例如GetEID)获取eUICC1的第一eUICC标识。
S412、LPA根据第一eUICC标识向eUICC1发送第一事件记录,eUICC1接收第一事件记录。
可选地,LPA可以从第一eUICC标识中获取第一目标标识,在第一目标标识与第一事件记录中的第一组事件标识匹配的情况下,确定将第一事件记录发送给eUICC1。
S413、LPA与OPS1建立HTTPS连接。
S414、LPA从OPS1下载第一eUICC固件版本更新包。
具体地,LPA从OPS1下载第一eUICC固件版本更新包的具体实现过程可参考步骤S310~S318,不再赘述。
S415、LPA将第一eUICC固件版本更新包发送给eUICC1,eUICC1接收第一eUICC固件版本更新包。
S416、eUICC1根据第一eUICC固件版本更新包更新eUICC1的固件版本。
S417、eUICC1更新第一eUICC信息中的eUICC固件版本。
具体地,步骤S415~S417的具体实现方式可参考步骤S319~S321的描述,不再赘述。
S418、LPA获取eUICC2的第二eUICC标识。
在可选实施方式中,LPA也可以在与SM-DS进行双向鉴权的过程中通过获取eUICC2的证书获取eUICC2的第二eUICC标识;LPA还可以在与SM-DS的双向鉴权过程结束后通过获取EID指令(例如GetEID)获取eUICC2的第二eUICC标识。
S419、LPA根据第二eUICC标识向eUICC2发送第二事件记录,eUICC2接收第二事件记录。
可选地,LPA可以从第二eUICC标识中获取第二目标标识,在第二目标标识与第二事件记录中的第二组事件标识匹配的情况下,确定将第二事件记录发送给eUICC1。
S420、LPA与OPS2建立HTTPS连接。
S421、LPA从OPS2下载第二eUICC固件版本更新包。
具体地,LPA从OPS2下载第二eUICC固件版本更新包的具体实现过程可参考步骤S310~S318,不再赘述。
S422、LPA将第二eUICC固件版本更新包发送给eUICC2,eUICC2接收第二eUICC固件版本更新包。
S423、eUICC2根据第二eUICC固件版本更新包更新eUICC2的固件版本。
S424、eUICC2更新第二eUICC信息中的eUICC固件版本信息。
具体地,步骤S422~S424的具体实现方式可参考步骤S319~S321,不再赘述。
需要说明的是,步骤S411~S417与步骤S418~S424可以为相互独立并行的步骤,在可选实施例中,步骤S411~S417与步骤S418~S424可以同时被执行,也可以在步骤S418~S424被执行完后步骤S411~S417再被执行。
应当理解的是,第一eUICC固件版本更新包与第二eUICC固件版本更新包的定义可以与步骤S318中的eUICC固件版本更新包的定义相同,即步骤S318中的eUICC固件版本更新包可以包括第一eUICC固件版本更新和/或第二eUICC固件版本更新包。
在图5所述的方法中,eUICC1和eUICC2属于不同的制造商,当eUICC1和eUICC2的eUICC固件版本均需要更新的情况下,可以并行实现eUICC1和eUICC2的eUICC固件版本更新,LPA根据eUICC1的EID和eUICC2的EID可以将不同事件记录和eUICC固件版本更新包发送至对应的eUICC,提高eUICC固件版本更新的效率。
下面介绍eUICC1与eUICC2属于同一制造商的情况,假设eUICC1和eUICC2对应的更新服务器均为OPS,实现流程可以如图6所示。图6是本申请实施例提供的又一种更新eUICC固件版本的方法的流程示意图,如图所示,所述方法包括:
S501、OPS向SM-DS发送事件注册请求,事件注册请求中携带组事件标识,SM-DS接收事件注册请求,组事件标识包括至少一个eUICC固件版本和至少一个发行者标识。
S502、SM-DS保存事件记录,事件记录包括组事件标识。
S503、LPA与SM-DS建立HTTPS连接。
具体地,步骤S501~S503的具体实现方式可参考步骤S301~S303的描述,不再赘述。
S504、eUICC1向LPA发送第一子信息,LPA接收第一子信息,第一子信息包括第一目标标识。
S505、eUICC2向LPA发送第二子信息,LPA接收第二子信息,第二子信息包括第二目标标识。
S506、LPA向SM-DS发送第一信息,第一信息包括第一子信息和第二子信息,SM-DS接收第一信息。
具体地,步骤S504~S506的具体实现方式可参考步骤S406~S408的描述,不再赘述。
S507、SM-DS在当前保存的事件记录中查找目标事件记录,其中,目标事件记录中的组事件标识分别与第一目标标识、第二目标标识匹配。
本申请实施例中,eUICC1与eUCC2属于同一制造商,目标事件记录中的组事件标识可以同时与第一目标标识、第二目标标识匹配。
具体地,SM-DS可以从第一信息中获取第一目标标识和第二目标标识;从当前保存的事件记录中获取组事件标识,分别将第一目标标识、第二目标标识与组事件标识匹配,若与组事件标识相同或属于组事件标识则确定第一目标标识以及第二目标标识与组事件标识匹配。
可选地,SM-DS获取第一目标标识和第二目标标识以及确定第一目标标识、第二目标标识分别与组事件匹配的具体实现方式可参考步骤S306中的描述,不再赘述。
S508、SM-DS向LPA发送目标事件记录,LPA接收目标事件记录。
S509、LPA获取eUICC1的第一eUICC标识。
S510、LPA根据第一eUICC标识向eUICC1发送目标事件记录,eUICC1接收目标事件记录。
具体地,步骤S509~S510的具体实现方式可参考步骤S411~S412的描述,不再赘述。
S511、LPA获取eUICC1当前的eUICC固件版本。
可选地,LPA还可以获取eUICC1的第一eUICC随机数(例如eUICC1Challenge1),eUICC1的第一eUICC信息等,其中,第一eUICC信息为第一初始eUICC信息(例如euicc1Info1)。
S512、LPA获取eUICC2的第二eUICC标识。
S513、LPA根据第二eUICC标识向eUICC1发送目标事件记录,eUICC2接收目标事件记录。
具体地,步骤S512~S513的具体实现方式可参考步骤S418~S419的描述,不再赘述。
S514、LPA获取eUICC2当前的eUICC固件版本。
可选地,LPA还可以获取eUICC2的第二eUICC随机数(例如eUICC2Challenge1),eUICC2的第二eUICC信息,等等,其中,第二eUICC信息为第二初始eUICC信息(例如euicc2Info1)。
S515、LPA与OPS建立HTTPS连接。
S516、LPA向OPS发送eUICC1当前的eUICC固件版本和eUICC2当前的eUICC固件版本,OPS接收eUICC1当前的eUICC固件版本和eUICC2当前的eUICC固件版本。
可选地,LPA可以将eUICC1当前的eUICC固件版本和eUICC2当前的eUICC固件版本携带在第二命令(例如InitiateAuthentication)中发送给OPS。
可选地,第二命令(例如InitiateAuthentication)还可以携带第一eUICC随机数(例如eUICC1Challenge1),第一初始eUICC信息(例如euicc1Info1),第二eUICC随机数(例如eUICC2Challenge1),第二初始eUICC信息(例如euicc2Info1),OPS的地址。
S517、OPS将第三信息发送给LPA,LPA接收第三信息,第三信息包括第三子信息和第四子信息。
可选地,第三子信息与第四子信息的类型/组成/定义/结构可以与步骤S311中的第三信息相同,即步骤S311中的第三信息可以包括第三子信息和/或第四子信息,第三子信息包括eUICC1当前的eUICC固件版本,第四子信息包括eUICC2当前的eUICC固件版本。
可选地,第三子信息可以为终端设备与OPS的双向鉴权过程中,OPS向终端设备发送的第一鉴权信息中的第三鉴权子信息;第四子信息可以为终端设备与OPS的双向鉴权过程中,OPS向终端设备发送的第一鉴权信息中的第四鉴权子信息。
S518、LPA将第三子信息发送给eUICC1。
S519、eUICC1向LPA发送第五子信息,LPA接收第五子信息,第五子信息包括第一目标标识。
可选地,第五子信息可以为终端设备与OPS的双向鉴权过程中,eUICC1向LPA发送的第二鉴权信息中的第一鉴权子信息。
可选地,第五子信息可以包括第一eUICC待签名数据(例如euicc1Signed1)、第一eUICC待签名数据的签名值(例如euicc1Signature1)、第一eUICC证书(例如CERT.EUICC1.ECDSA)、第一eUICC制造商证书(例如CERT.EUM1.ECDSA),等等。
S520、LPA将第四子信息发送给eUICC2。
S521、eUICC2向LPA发送第六子信息,LPA接收第六子信息,第六子信息包括第二目标标识。
可选地,第六子信息可以为终端设备与SM-DS的双向鉴权过程中,eUICC1向LPA发送的第二鉴权信息中的第二鉴权子信息。
可选地,第六子信息可以包括第二eUICC待签名数据(例如euicc2Signed1)、第二eUICC待签名数据的签名值(例如euicc2Signature1)、第二eUICC证书(例如CERT.EUICC2.ECDSA)、第二eUICC制造商证书(例如CERT.EUM2.ECDSA),等等。
步骤S518与步骤S520的具体实现方式可参考步骤S312的描述,不再赘述。
需要说明的是,步骤S518~S519与步骤S520~S521可以为相互独立并行的步骤,在可选实施例中,步骤S518~S519与步骤S520~S521可以同时被执行,也可以在步骤S520~S521被执行完后步骤S518~S519再被执行。
S522、LPA向OPS发送第二信息,第二信息包括第五子信息和第六子信息,OPS接收第二信息。
S523、OPS分别判断第一目标标识和第二目标标识是否与本地保存的组事件标识匹配。
S524、OPS检查eUICC1的eUICC性能和eUICC固件版本是否满足目标固件版本的性能和固件版本要求,检查eUICC2的eUICC性能和eUICC固件版本是否满足目标固件版本的性能和固件版本要求。
具体地,步骤S522~S524的具体实现方式可参考步骤S314~S316,不再赘述。
S525、OPS根据eUICC1当前的eUICC固件版本确定终端设备更新到目标固件版本所需的第一eUICC固件版本更新包。
S526、OPS根据eUICC2当前的eUICC固件版本确定终端设备更新到目标固件版本所需的第二eUICC固件版本更新包。
具体地,步骤S525、步骤S526的具体实现方式可参考步骤是317的描述,不再赘述。
需要说明的是,步骤S525与步骤S526可以为相互独立并行的步骤,在可选实施例中,步骤S525与步骤S526可以同时被执行,也可以在步骤S526被执行完后步骤S525再被执行。
S527、OPS向LPA发送第一eUICC固件版本更新包和第一eUICC标识,LPA接收第一eUICC固件版本更新包和第一eUICC标识。
S528、LPA根据第一eUICC标识将第一eUICC固件版本更新包发送给eUICC1,eUICC1接收第一eUICC固件版本更新包。
S529、eUICC1根据第一eUICC固件版本更新包更新eUICC1的eUICC固件版本。
S530、eUICC1更新第一eUICC信息中的eUICC固件版本。
具体地,步骤S528~S529的具体实现方式可参考步骤S320~S321的描述,不再赘述。
S531、OPS向LPA发送第二eUICC固件版本更新包和第二eUICC标识,LPA接收第二eUICC固件版本更新包和第二eUICC标识。
S532、LPA根据第二eUICC标识将第二eUICC固件版本更新包发送给eUICC2,eUICC2接收第二eUICC固件版本更新包。
S533、eUICC2根据第二eUICC固件版本更新包更新eUICC2的eUICC固件版本。
S534、eUICC2更新第二eUICC信息中的eUICC固件版本。
具体地,步骤S533~S534的具体实现方式可参考步骤S320~S321的描述,不再赘述。
需要说明的是,步骤S527~S530与步骤S531~S34可以为相互独立并行的步骤,在可选实施例中,步骤S527~S530与步骤S531~S34可以同时被执行,也可以在步骤S531~S534被执行完后步骤S527~S530再被执行。
在可选实施方式中,在步骤S527~S530与步骤S531~S534存在先后执行顺序的情况下,即若需要先更新eUICC1的eUICC固件版本再更新eUICC2的eUICC固件版本或者需要先更新eUICC2的eUICC固件版本再更新eUICC1的eUICC固件版本,可以在上一个eUICC更新结束后设置一个通知消息,所述通知消息可以包括当前eUICC的固件版本升级结果,用于指示当前eUICC更新的结果,该通知消息可以由eUICC通过LPA向OPS发送,OPS在接收到该通知消息后,OPS可以发送下一个eUICC的eUICC固件版本更新包给LPA。
例如,OPS可以在接收到eUICC1通过LPA发送的通知消息(例如HandleNotification)后,向第LPA发送第二eUICC固件版本更新包,以及第二eUICC标识;或者,OPS可以在接收到eUICC2通过LPA发送的通知消息(例如HandleNotification)后,向LPA发送第一eUICC固件版本更新包,以及第一eUICC标识。
在可选实施方式中,所述通知消息可以包括通知元数据、会话标识、最后结果、SM-DP+对象标识、以及eUICC签名的一种或多种;通知元数据可以包括序列号、接收地址;最后结果可以携带最后固件版本更新状态。
在图6所述的方法中,eUICC1和eUICC2属于同一个制造商,当eUICC1和eUICC2的eUICC固件版本均需要更新的情况下,并行实现eUICC1和eUICC2的eUICC固件版本更新,LPA可以从SM-DS获取eUICC1和eUICC共同对应的目标事件记录,与OPS同时完成两个eUICC的鉴权,LPA可以根据eUICC1的EID和eUICC2的EID将eUICC固件版本更新包发送至对应的eUICC提高eUICC固件版本更新的效率。
在上述实施例中,在终端设备中存在两个eUICC的情况下,若两个eUICC需要与同一远程服务器进行交互,则终端设备可以实现两个eUICC并行与远程服务器的进行双向鉴权,两个eUICC并行与远程服务器进行双向鉴权的流程可以如图7所示。图7是本申请实施例提供的一种双向鉴权方法的流程示意图,如图所示,所述方法至少包括:
S601、终端设备向远程服务器发送第一eUICC的第一eUICC信息和第二eUICC的第二eUICC信息,远程服务器接收第一eUICC的第一eUICC信息和第二eUICC的第二eUICC信息。
具体地,远程服务器可以为OPS、SM-DS、SM-DP等可以与终端设备进行双向鉴权的服务器。
S602、远程服务器根据第一eUICC信息和第二eUICC信息确定目标验证信息。
可选地,目标验证信息可以包括目标公钥标识和目标验证证书。
具体地,目标公钥标识可以为一个,也可以为两个;目标验证证书可以为一个,也可以为两个。
S603、远程服务器向终端设备发送第一鉴权信息,其中第一鉴权信息包括目标验证信息,终端设备接收第一鉴权信息。
S604、终端设备向远程服务器发送第二鉴权信息,远程服务器接收第二鉴权信息。
S605、远程服务器根据目标验证信息验证第二鉴权信息。
终端设备与远程服务器的双向鉴权由终端设备的LPA和eUICC相互配合完成,下面将终端设备的LPA和eUICC作为独立执行主体介绍终端设备实现双向鉴权方法的具体实现过程,应当理解的是,省去LPA和eUICC之间的交互步骤(即终端设备的内部交互过程)之后,LPA和eUICC执行的操作步骤即为终端设备执行的操作步骤,eUICC包括第一eUICC即eUICC1、第二eUICC即eUICC2,参见图8,图8是本申请实施例提供的另一种双向鉴权的方法的流程示意图。
S701、LPA从eUICC1获取第一eUICC信息。
其中,第一eUICC信息为第一初始eUICC信息(例如euicc1Info1)。
具体地,第一初始eUICC信息可以包括第一验证公钥标识列表(例如euiccCiPKIdListForVerification1)和第一签名公钥标识列表(例如euiccCiPKIdListForSigning1)。
可选地,第一验证公钥标识列表(例如euiccCiPKIdListForVerification1)与第一签名公钥标识列表(例如euiccCiPKIdListForSigning1)可以相同,也可以不同。
可选地,LPA还可以从eUICC1获取第一eUICC随机数(例如eUICC1Challenge1)。
可选地,LPA从eUICC1获取第一eUICC随机数之前还包括:eUICC1产生第一eUICC随机数(例如eUICC1Challenge1)。
S702、LPA从eUICC2获取第二eUICC信息。
其中,第二eUICC信息为第二初始eUICC信息(例如euicc2Info1)。
具体地,第二初始eUICC信息可以包括第二验证公钥标识列表(例如euiccCiPKIdListForVerification2)和第二签名公钥标识列表(例如euiccCiPKIdListForSigning2)。
可选地,第二验证公钥标识列表(例如euiccCiPKIdListForVerification2)和第二签名公钥标识列表(例如euiccCiPKIdListForSigning2)可以相同,也可以不同。
可选地,LPA还可以从eUICC2获取第二eUICC随机数(例如eUICC2Challenge1)。
可选地,LPA从eUICC2获取第二eUICC随机数之前还包括:eUICC2产生第二eUICC随机数(例如eUICC2Challenge1)。
需要说明的是,步骤S701与步骤S702可以为相互独立并行的步骤,在可选实施例中,可以同时执行步骤S701与步骤S702,也可以在执行完步骤702后执行步骤S701。
S703、LPA与远程服务器建立HTTPS连接。
S704、LPA向远程服务器发送第一eUICC信息和第二eUICC信息,远程服务器接收第一eUICC信息和第二eUICC信息。
可选地,LPA可以将第一eUICC信息和第二eUICC信息携带在第二命令(例如InitiateAuthentication)中发送给远程服务器。
可选地,第二命令(例如InitiateAuthentication)还可以携带第一eUICC随机数(例如eUICC2Challenge1)、第二eUICC随机数(例如eUICC2Challenge1)以及远程服务器的地址等。
S705、远程服务器根据第一eUICC信息和第二eUICC信息确定目标验证信息。
可选地,目标验证信息可以包括目标签名公钥标识、目标验证证书。
可选地,远程服务器确定目标验证信息之前还包括:远程服务器检查第二命令(例如InitiateAuthentication)中远程服务器的地址;远程服务器检查第一eUICC信息和第二eUICC信息。
可选地,远程服务器可以根据第一eUICC信息中的第一签名公钥标识列表(例如euiccCiPKIdListForSigning1)和二eUICC信息中的第二签名公钥标识列表(例如euiccCiPKIdListForSigning2)确定目标签名公钥标识。
可选地,目标签名公钥标识可以有一个,也可以有两个:在第一签名公钥标识列表(例如euiccCiPKIdListForSigning1)、第二签名公钥标识列表(例如euiccCiPKIdListForSigning2)中以及本地证书颁发者(Certificate Issuer,CI)公钥标识列表中存在相同的签名公钥标识的情况下,远程服务器将可以将同时存在于三个列表中的签名公钥标识确定为目标签名公钥标识(例如euiccCiPKIdToBeUsed);在第一签名公钥标识列表与第二签名公钥标识列表中不存在相同的签名公钥标识的情况下,远程服务器可以选择同时存在于第一签名公钥标识列表和本地证书颁发者公钥标识列表中的第一签名公钥标识(例如euiccCiPKIdToBeUsed1)以及同时存在于第二签名公钥标识和本地证书颁发者公钥标识列表中的第二签名公钥标识(例如euiccCiPKIdToBeUsed2)确定为目标签名公钥标识;即目标签名公钥标识可以为euiccCiPKIdToBeUsed,也可以为euiccCiPKIdToBeUsed1和euiccCiPKIdToBeUsed2。
在可选实施方式,本地CI公钥标识列表中还可以包括本地CI公钥标识集合。
具体地,在第一签名公钥标识列表(例如euiccCiPKIdListForSigning1)、第二签名公钥标识列表(例如euiccCiPKIdListForSigning2)以及本地CI公钥标识列表中存在多个相同的签名公钥标识的情况下,可以根据所述多个相同的签名公钥标识对应的多个签名公钥的优先级顺序,选择优先级最高的CI公钥对应的CI公钥标识作为目标签名公钥标识(例如euiccCiPKIdToBeUsed)。
具体地,在第一签名公钥标识列表(例如euiccCiPKIdListForSigning1)和本地CI公钥标识列表中存在多个相同的CI公钥标识的情况下,可以根据所述多个相同的CI公钥标识对应的多个CI公钥的优先级顺序,选择优先级最高的CI公钥对应的CI公钥标识作为第一签名公钥标识(例如euiccCiPKIdToBeUsed1)。
具体地,在第二签名公钥标识列表(例如euiccCiPKIdListForSigning2)和本地签名公钥标识列表中存在多个相同的签名公钥标识的情况下,可以根据所述多个相同的签名公钥标识对应的多个签名公钥的优先级顺序,选择优先级最高的签名公钥对应的签名公钥标识作为第二签名公钥标识(例如euiccCiPKIdToBeUsed2)。
可选地,远程服务器可以根据第一eUICC信息中的第一验证公钥标识列表以及第二eUICC信息中的第二验证公钥标识列表确定目标验证证书。
可选地,目标验证证书可以有一个,也可以有两个:在第一验证公钥标识列表(例如euiccCiPKIdListForVerification1)、第二验证公钥标识列表(例如euiccCiPKIdListForVerification2)中以及本地证书颁发者公钥标识列表中存在相同的验证公钥标识的情况下,远程服务器将可以将同时存在于三个列表中的CI公钥标识对应的证书(例如CERT.DSauth.ECDSA)确定为目标验证证书;在第一验证公钥标识列表与第二验证公钥标识列表中不存在相同的CI公钥标识的情况下,远程服务器可以选择同时存在于第一验证公钥标识列表和本地证书颁发者公钥标识列表中的第一CI公钥标识对应的第一目标验证证书(例如CERT.DSauth1.ECDSA)以及同时存在于第二验证公钥标识列表和本地证书颁发者公钥标识列表中的第二CI公钥标识对应的第二目标验证证书(例如CERT.DSauth2.ECDSA)确定为目标验证证书;即目标证书可以为CERT.DSauth.ECDSA,也可以为CERT.DSauth1.ECDSA和CERT.DSauth2.ECDSA。
具体地,在第一验证公钥标识列表(例如euiccCiPKIdListForVerification1)、第二验证公钥标识列表(例如euiccCiPKIdListForVerification2)中以及本地证书颁发者公钥标识列表中存在多个相同的CI公钥标识的情况下,可以根据所述多个相同的CI公钥标识对应的多个CI公钥的优先级顺序,选择优先级最高的CI公钥对应的CI公钥标识作为目标验证公钥标识,将所述目标验证公钥标识对应的验证证书确定为目标验证证书(例如CERT.DSauth.ECDSA)。
具体地,在第一验证公钥标识列表(例如euiccCiPKIdListForVerification1)和本地CI公钥标识列表中存在多个相同的CI公钥标识的情况下,可以根据所述多个相同的CI公钥标识对应的多个CI公钥的优先级顺序,选择优先级最高的CI公钥对应的CI公钥标识作为第一验证公钥标识,第一验证公钥标识对应的验证证书为第一目标验证证书(例如CERT.DSauth1.ECDSA)。
具体地,在第二验证公钥标识列表(例如euiccCiPKIdListForVerification2)和本地验证公钥标识列表中存在多个相同的CI公钥标识的情况下,可以根据所述多个相同的CI公钥标识对应的多个CI公钥的优先级顺序,选择优先级最高的CI公钥对应的CI公钥标识作为第二验证公钥标识,第二验证公钥标识对应的验证证书为第二目标验证证书(例如CERT.DSauth2.ECDSA)。
可选地,远程服务器确定目标验证信息之后还包括:生成会话标识;生成远程服务器随机数(例如serverChallenge),serverChallenge包括但不限于OPSChallenge,DSChallenge,DPChallenge;生成第一鉴权验证待签名数据(例如serverSigned11),其中,serverSigned11包括但不限于DSSigned11,DPSigned11,OPSSigned11;生成第二鉴权验证待签名数据(例如serverSigned12),其中,serverSigned12包括但不限于DSSigned12,DPSigned12,OPSSigned12;生成第一鉴权验证待签名数据的签名值(例如serverSignature11),serverSignature11包括但不限于DSSignature11,DPSignature11,OPSSignature11;生成第二鉴权验证待签名数据的签名值(例如serverSignature12),serverSignature12包括但不限于DSSignature12,DPSignature12,OPSSignature12。
具体地,远程服务器用目标验证证书的私钥对第一鉴权验证待签名数据(例如serverSigned11)签名计算生成第一鉴权验证待签名数据的签名值(例如serverSignature11);其中,在第一验证公钥标识列表、第二验证公钥标识列表中以及本地证书颁发者公钥标识列表中存在相同的CI公钥标识的情况下,目标验证证书为CERT.DSauth.ECDSA,在第一验证公钥标识列表与第二验证公钥标识列表中不存在相同的CI公钥标识的情况下,目标验证证书为CERT.DSauth1.ECDSA。
具体地,远程服务器用目标验证证书的私钥对第二鉴权验证待签名数据(例如serverSigned12)签名计算生成第二鉴权验证待签名数据的签名值(例如serverSignature12);其中,其中,在第一验证公钥标识列表、第二验证公钥标识列表中以及本地证书颁发者公钥标识列表中存在相同的CI公钥标识的情况下,目标验证证书为CERT.DSauth.ECDSA,在第一验证公钥标识列表与第二验证公钥标识列表中不存在相同的CI公钥标识的情况下,目标验证证书为CERT.DSauth2.ECDSA。
S706、远程服务器向LPA发送第一鉴权信息,其中第一鉴权信息包括目标验证信息,LPA接收第一鉴权信息。
可选地,第一鉴权信息还可以包括会话标识、第一鉴权验证待签名数据(例如serverSignature11)、第一鉴权验证待签名数据的签名值(例如serverSignature11)、第二鉴权验证待签名数据(例如serverSigned12)、第二鉴权验证待签名数据的签名值(例如serverSignature12)。
S707、LPA从第一鉴权信息中获取与eUICC1对应的第三鉴权子信息并将第三鉴权子信息发送给eUICC1,eUICC1接收第三鉴权子信息。
可选地,LPA将第三鉴权子信息发送给eUICC1之前还可以包括:LPA检查远程服务器的地址。
具体地,第三鉴权子信息可以包括会话标识、第一鉴权验证待签名数据(例如serverSigned11)、第一鉴权验证待签名数据的签名值(例如serverSignature11)、目标签名公钥标识以及目标验证证书,其中,目标签名公钥标识为euiccCiPKIdToBeUsed或euiccCiPKIdToBeUsed1,目标验证证书为CERT.DSauth.ECDSA或CERT.DSauth1.ECDSA。
可选地,LPA可以将第三鉴权子信息携带在第三命令(例如AuthentiateServer)中发送给eUICC1。
S708、eUICC1对第三鉴权子信息进行验证。
具体地,eUICC1可以验证目标验证证书;用第一鉴权验证待签名数据(例如serverSigned11)验证第一鉴权验证待签名数据的签名值(例如serverSignature11);验证第一鉴权验证待签名数据(例如serverSigned11)。
S709、eUICC1向LPA发送第一鉴权子信息,LPA接收第一鉴权子信息。
可选地,eUICC1向LPA发送第一鉴权子信息之前还包括:eUICC1生成第一eUICC待签名数据(例如euicc1Signed1);eUICC1生成第一eUICC待签名数据的签名值(例如euicc1Signature)。
可选地,第一鉴权子信息可以包括第一eUICC待签名数据(例如euicc1Signed1)、第一eUICC待签名数据的签名值(例如euicc1Signature)、第一eUICC证书(例如CERT.EUICC1.ECDSA)、第一eUICC制造商证书(例如CERT.EUM1.ECDSA),等等。
S710、LPA从第一鉴权信息中获取与eUICC2对应的第四鉴权子信息并将第四鉴权子信息发送给eUICC2,eUICC2接收第四鉴权子信息。
具体地,第四鉴权子信息可以包括会话标识、第二鉴权验证待签名数据(例如serverSigned12)、第二鉴权验证待签名数据的签名值(例如serverSignature12)、目标签名公钥标识以及目标验证证书,其中,目标签名公钥标识为euiccCiPKIdToBeUsed或euiccCiPKIdToBeUsed2,目标验证证书为CERT.DSauth.ECDSA或CERT.DSauth2.ECDSA。
可选地,LPA可以将第四鉴权子信息携带在第四命令(例如AuthentiateServer)中发送给eUICC2。
S711、eUICC2对第四鉴权子信息进行验证。
具体地,eUICC1可以验证目标验证证书;用第二鉴权验证待签名数据(例如serverSigned12)验证第二鉴权验证待签名数据的签名值(例如serverSignature12);验证第二鉴权验证待签名数据(例如serverSigned12)。
S712、eUICC2向LPA发送第二鉴权子信息,LPA接收第二鉴权子信息。
可选地,eUICC2向LPA发送第二鉴权子信息之前还包括:eUICC2生成第二eUICC待签名数据(例如euicc2Signed1);eUICC2生成第二eUICC待签名数据的签名值(euicc2Signature1)。
可选地,第二鉴权子信息可以包括第二eUICC待签名数据(例如euicc2Signed1)、第二eUICC待签名数据的签名值(例如euicc2Signature1)、第二eUICC证书(例如CERT.EUICC2.ECDSA)、第二eUICC制造商证书(例如CERT.EUM2.ECDSA)。
S713、LPA向远程服务器发送第二鉴权信息,第二鉴权信息包括第一鉴权子信息和第二鉴权子信息,远程服务器接收第二鉴权信息。
可选地,LPA可以将第二鉴权信息携带在第一命令(例如AuthenticateClient)中发送给远程服务器。
S714、远程服务器根据目标验证信息验证第二鉴权信息。
可选地,远程服务器根据目标验证信息验证第一eUICC证书(例如CERT.EUICC1.ECDSA),验证第二eUICC证书(例如CERT.EUICC2.ECDSA),验证第一eUICC制造商证书(例如CERT.EUM1.ECDSA),验证第二eUICC制造商证书(例如CERT.EUM2.ECDSA),用第一eUICC待签名数据(例如euicc1Signed1)验证第一eUICC待签名数据的签名值(例如euicc1Signature1),用第二eUICC待签名数据(例如euicc2Signed1)验证第二eUICC待签名数据的签名值(例如euicc2Signature1),验证第一eUICC待签名数据(例如euicc1Signed1),验证第二eUICC待签名数据(例如euicc2Signed1)。
可选地,远程服务器对第二鉴权信息验证通过后,远程服务器和终端设备可以进行其他后续操作,使得远程服务器可以继续为终端设备提供各种服务,例如SM-DP+可以为终端设备提供Profile下载服务、Profile远程管理服务;SM-DS可以终端设备提供事件查询服务;OPS可以为终端设备提供eUICC固件版本更新服务,等等。
例如,在eUICC固件版本更新过程中:
在远程服务器为OPS的情况下,第一鉴权信息可以为图6对应的实施例步骤S516中的第三信息;第三鉴权子信息可以为图6对应的实施例步骤S516中的第三子信息;第四鉴权子信息可以为图6对应的实施例步骤S516中第四子信息;第二鉴权信息可以为图6对应的实施例步骤S521中的第二信息;第一鉴权子信息可以为图6对应的实施例步骤S521中的第五子信息;第二鉴权子信息可以为图6对应的实施例步骤S521中的第六子信息。
在远程服务器为SM-DS的情况下,第二鉴权信息可以为图5对应的实施例步骤S408和图6对应的实施例步骤S506中的第一信息,第一鉴权子信息可以为图5对应的实施例步骤S408和图6对应的实施例步骤S506中的第一子信息;第二鉴权子信息可以为图5对应的实施例步骤S408和图6对应的实施例步骤S506中的第二子信息。
在图8所述的方法中,LPA通过建立一次HTTPS可实现终端设备的两个eUICC并行与远程服务器的进行双向鉴权,以便于在双向鉴权完成后可以各自完成针对eUICC的操作,提高操作效率。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
参见图9,图9是本申请实施例提供的终端设备、事件管理服务器和更新服务器组成的系统的结构示意图,如图9所示事件管理服务器90、终端设备100以及更新服务器120三者之间互相存在通信连接,例如wifi连接、移动数据连接等,可实现三者之间的相互数据通信。终端设备、事件管理服务器和更新服务器的模块可由硬件、软件或硬件与软件的组合来实施本申请方案。所属领域的技术人员应理解,图9中所描述的模块可经组合或分离为若干子块以实施本申请方案。因此,本申请中上面描述的内容可支持对下述模块的任何可能的组合或分离或进一步定义。
如图9所示,所述事件管理服务器90可包括:
接收模块901,用于接收终端设备100发送的第一信息,所述第一信息包括目标标识;
处理模块902,用于在当前保存的事件记录中查找目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
发送模块903,用于将所述目标事件记录发送给所述终端设备100,所述目标事件记录用于使所述终端设备100下载eUICC固件版本更新包。
可选地,所述接收模块901还用于:
接收更新服务器110发送的事件注册请求,其中,所述事件注册请求中携带所述组事件标识;
所述处理模块902还用于:
根据所述事件注册请求将所述组事件标识保存在事件记录中。
可选地,所述组事件标识还包括定制标识或国家码。
可选地,所述目标标识包括eUICC固件版本、发行者标识、定制标识或国家码中的至少一种信息。
可选地,所述定制标识包括附加发行者信息或处于预设定制位的个人识别码。
可选地,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;
所述处理模块902具体用于:
在当前保存的事件记录中分别查找第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;
将所述第一事件记录以及所述第二事件记录发送给所述终端设备100,所述第一事件记录用于使所述终端设备100下载所述第一eUICC的第一eUICC固件版本更新包,所述第二事件记录用于使所述终端设备100下载所述第二eUICC的第二eUICC固件版本更新包。
如图9所示,所述终端设备100可包括:
发送模块1001,用于向事件管理服务器90发送第一信息,所述第一信息包括目标标识;
接收模块1002,用于接收所述事件管理服务器90发送的查找得到的目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
处理模块1003,用于根据所述目标事件记录下载eUICC固件版本更新包;
所述处理模块1003还用于根据所述eUICC固件版本更新包更新eUICC的固件版本。
可选地,所述组事件标识还包括定制标识或国家码。
可选地,所述目标标识包括eUICC固件版本、发行者标识、定制标识或国家码中的至少一种信息。
可选地,所述定制标识包括附加发行者信息或处于预设定制位的个人识别码。
可选地,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;
所述接收模块1002具体用于:
接收所述事件管理服务器90发送的查找得到的第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;
所述处理模块1003具体用于:
根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包;
根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包;
根据所述第一eUICC固件版本更新包更新所述第一eUICC的固件版本;
根据所述第二eUICC固件版本更新包更新所述第二eUICC的固件版本。
可选地,所述处理模块1003具体用于:
从所述目标事件记录中提取更新服务器110的地址;
所述发送模块1001还用于:
向所述更新服务器110发送当前的eUICC固件版本;
所述接收模块1002还用于:
接收所述更新服务器110根据所述当前的eUICC固件版本发送的eUICC固件版本更新包。
可选地,所述发送模块1001还用于:
向所述更新服务器110发送第二信息,所述第二信息包括目标标识;
所述接收模块1002具体用于:
接收所述更新服务器110在所述第二信息中的目标标识与所述更新服务器110中保存的组事件标识匹配的情况下,根据所述当前的eUICC固件版本发送的eUICC固件版本更新包。
可选地,所述处理模块1003具体用于:
根据所述eUICC固件版本更新包中的第一数据更新eUICC信息中的eUICC固件版本,其中,所述第一数据包括目标固件版本。
可选地,所述接收模块1002还用于:
接收所述更新服务器110发送的第二数据,所述第二数据包括目标固件版本;
所述处理模块1003还用于:
根据所述第二数据更新eUICC信息中的eUICC固件版本。
如图9所示,所述更新服务器110可包括:
发送模块1101,用于向事件管理服务器90发送事件注册请求,其中,所述事件注册请求中携带组事件标识,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
所述事件注册请求用于使所述事件管理服务器90将所述组事件标识保存在事件记录中,并在接收到与所述组事件标识匹配的终端设备发送的第一信息的情况下,向所述终端设备100发送所述事件记录。
可选地,所述更新服务器110还包括:
接收模块1102,用于接收所述终端设备100发送的所述终端设备的当前的eUICC固件版本;
处理模块1103,用于根据所述当前的eUICC固件版本确定所述终端设备100的eUICC更新到目标固件版本所需的eUICC固件版本更新包;
所述发送模块1101还用于向所述终端设备100发送所述eUICC固件版本更新包,所述eUICC固件版本更新包被所述终端设备100用于更新所述终端设备的eUICC的固件版本。
可选地,所述接收模块1102还用于:
接收所述终端设备100发送的第二信息,所述第二信息包括eUICC性能和eUICC固件版本;
所述处理模块1103具体用于:
在确定所述eUICC性能和eUICC固件版本满足所述目标固件版本的性能和固件版本要求的情况下,根据所述当前的eUICC固件版本确定所述终端设备100的eUICC更新到目标固件版本所需的eUICC固件版本更新包。
可选地,所述第二信息还包括目标标识;
所述处理模块1103还用于:
在所述第二信息中的目标标识与本地保存的组事件标识匹配的情况下,确定所述eUICC性能和eUICC固件版本能否满足所述目标固件版本的性能和固件版本要求。
需要说明,图9对应的实施例中未提及的内容以及各个模块的具体实现,请参考图2、图3、图4、图5或图6所示的方法中实施例,这里不再赘述。
在图9所述的系统中,事件管理服务器、终端设备以及更新服务器三者之间相互配合,完成对终端设备的eUICC的固件版本的更新,通过匹配组事件标识可以避免注册多个事件,提高事件注册和eUICC固件版本更新的效率。
在一种可能的实现方式中,所述处理模块902可以为处理器或处理芯片,所述接收模块901和所述发送模块903可以为收发器,所述事件管理服务器还可以包括存储器,用于存储事件记录和计算机指令。下面介绍图9对应的实施例涉及的事件管理服务器的一种实现方式,参见图10,图10是本申请实施例提供的一种事件管理服务器的硬件结构示意图。该事件管理服务器120包括处理器1201、存储器1202、收发器1203,所述处理器1201、所述存储器1202、所述收发器1203通过一个或多个通信总线连接。
处理器1201被配置为支持所述事件管理服务器执行图2、图4、图5或图6所述的更新eUICC固件版本的方法中相应的功能。该处理器1201可以是中央处理器(centralprocessing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器1202用于存储程序代码等。存储器1202可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器1202也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1202还可以包括上述种类的存储器的组合。
收发器1203用于接收和发送数据。
处理器1201可以调用所述程序代码以执行以下操作:
通过收发器1203接收终端设备发送的第一信息,所述第一信息包括目标标识;
在当前保存的事件记录中查找目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的事件标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
将所述目标事件记录通过收发器1203发送给所述终端设备,所述目标事件记录用于使所述终端设备下载eUICC固件版本更新包。
需要说明的是,所述处理器1201还可以执行参照图2、图4、图5或图6所示的方法中事件管理服务器执行的操作。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如图2、图4、图5或图6对应的实施例所述的方法,所述计算机可以为上述提到的事件管理服务器的一部分。
本申请实施例还提供一种计算机程序,包括程序指令,所述程序指令当被计算机执行时用于执行如图2、图4、图5或图6对应的实施例所述的方法,所述计算机程序可以为上述提到的存储器1202存储的程序中的一部分。
在一种可能的实现方式中,所述终端设备可以包括至少一个eUICC和本地文件助手LPA。所述本地文件助手LPA可以作为一个或多个软件模块存在于终端设备的硬件模块上,例如存在于基带芯片上、应用处理器上或其他硬件上,所述本地文件助手也可以直接存在于eUICC上。本地文件助手LPA具备实现eUICC与终端设备以及终端设备之外的服务器之间进行交互的功能。参见图11,图11是本申请实施例提供的一种本地文件助手的结构示意图,如图所示,所述本地文件助手130包括:
发送模块1301,用于向事件管理服务器发送第一信息,所述第一信息包括目标标识;
接收模块1302,用于接收所述事件管理服务器发送的查找得到的目标事件记录,其中,所述目标事件记录中的组事件标识与所述第一信息中的目标标识匹配,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
处理模块1303,用于根据所述目标事件记录下载eUICC固件版本更新包;
所述发送模块1301还用于将所述eUICC固件版本更新包发送给eUICC,所述eUICC固件版本更新包被所述eUICC用于更新eUICC的固件版本。
可选地,所述目标标识包括第一eUICC的第一目标标识和第二eUICC的第二目标标识;
所述接收模块1302具体用于:
接收所述事件管理服务器发送的查找得到的第一事件记录以及第二事件记录,其中,第一事件记录中的组事件标识与所述第一目标标识匹配,所述第二事件记录中的组事件标识与所述第二目标标识匹配;
所述处理模块1303具体用于:
根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包;
根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包;
所述发送模块1301具体用于:
将所述第一eUICC固件版本更新包发送给所述第一eUICC,所述第一eUICC固件版本更新包被所述第一eUICC用于更新所述第一eUICC的eUICC固件版本;
将所述第二eUICC固件版本更新包发送给所述第二eUICC,所述第二eUICC固件版本更新包被所述第二eUICC用于更新所述第二eUICC的eUICC固件版本。
可选地,所述发送模块1301还用于:
根据第一eUICC标识向所述第一eUICC发送所述第一事件记录;
所述发送模块1301还用于:
根据所述第二eUICC标识向所述第二eUICC发送所述第二事件记录。
可选地,所述处理模块1303根据所述第一事件记录下载所述第一eUICC的第一eUICC固件版本更新包的同时,所述接收模块1302还接收所述第一eUICC对应的更新服务器发送的第一eUICC标识;
所述处理模块1303根据所述第二事件记录下载所述第二eUICC的第二eUICC固件版本更新包的同时,所述接收模块1302还接收所述第二eUICC对应的更新服务器发送的第二eUICC标识;
所述发送模块1301具体用于:
根据所述第一eUICC标识将所述第一eUICC固件版本更新包发送给所述第一eUICC;
根据所述第二eUICC标识将所述第二eUICC固件版本更新包发送给所述第二eUICC。
本申请实施例还提供一种计算机程序,包括程序指令,所述程序指令当被计算机执行时用于执行如图4、图5或图6对应的实施例所述的方法,所述计算机程序可以为上述本地文件助手130对应的程序的一部分。
在一种可能的实现方式中,所述处理模块1103可以为处理器或处理芯片,所述发送模块1101和所述接收模块1102可以为收发器,所述更新服务器还可以包括存储器,用于存储事件记录和计算机指令。下面介绍图9对应的实施例涉及的更新服务器的一种实现方式,参见图12,图12是本申请实施提供的一种更新服务器的硬件结构示意图,该更新服务器140包括处理器1401、存储器1402、收发器1402,所述处理器1401、所述存储器1402、所述收发器1402通过一个或多个通信总线1404连接。
处理器1401被配置为支持所述更新服务器执行图2、图3、图5或图6所述的更新eUICC固件版本的方法中相应的功能。该处理器1401可以是中央处理器(centralprocessing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器1402用于存储程序代码等。存储器1402可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器1402也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1402还可以包括上述种类的存储器的组合。
收发器1403用于接收和发送数据。
处理器1401可以调用所述程序代码以执行以下操作:
向事件管理服务器发送事件注册请求,其中,所述事件注册请求中携带组事件标识,所述组事件标识包括至少一个eUICC固件版本和至少一个发行者标识;
所述事件注册请求用于使所述事件管理服务器将所述组事件标识保存在事件记录中,并在接收到与所述组事件标识匹配的终端设备发送的第一信息的情况下,向所述终端设备发送所述事件记录。
需要说明的是,所述处理器1401还可以执行参照图3、图4、图5或图6所示的方法中更新服务器执行的操作。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如图3、图4、图5或图6对应的实施例所述的方法,所述计算机可以为上述提到的更新服务器的一部分。
本申请实施例还提供一种计算机程序,包括程序指令,所述程序指令当被计算机执行时用于执行如图3、图4、图5或图6对应的实施例所述的方法,所述计算机程序可以为上述提到的存储器1402存储的程序中的一部分。
参见图13,图13是本申请实施例提供的远程服务器、终端设备组成的系统的结构示意图,如图所示远程服务器150、终端设备160之间存在通信连接,例如wifi连接、移动数据连接等,可实现远程服务器150与终端设备160之间的数据通信。终端设备、远程服务器的模块可由硬件、软件或硬件与软件的组合来实施本申请方案。所属领域的技术人员应理解,图13中所描述的模块可经组合或分离为若干子块以实施本申请方案。因此,本申请中上面描述的内容可支持对下述模块的任何可能的组合或分离或进一步定义。
如图13所示,所述远程服务器150可包括:
接收模块1501,用于接收终端设备160的第一eUICC的第一eUICC信息和所述终端设备160的第二eUICC的第二eUICC信息;
处理模块1502,用于根据所述第一eUICC信息和所述第二eUICC信息确定目标验证信息;
发送模块1503,用于将第一鉴权信息发送给所述终端设备160,其中所述第一鉴权信息包括所述目标验证信息;
所述接收模块1501还用于接收所述第一eUICC和第二eUICC对所述第一鉴权信息验证通过后所述终端设备160发送的第二鉴权信息;
所述处理模块1502还用于根据所述目标验证信息验证所述第二鉴权信息。
可选地,所述目标验证信息包括目标签名公钥标识,所述第一eUICC信息包括所述第一eUICC的第一签名公钥标识列表,所述第二eUICC信息包括所述第二eUICC的第二签名公钥标识列表;
所述处理模块1502具体用于:
从所述第一签名公钥标识列表中选择第一目标签名公钥标识,所述第一目标签名公钥标识还存在于本地证书颁发者公钥标识列表中;
从所述第二签名公钥标识列表中选择第二目标签名公钥标识,所述第二目标签名公钥标识还存在于所述本地证书颁发者公钥标识列表中;
将所述第一目标签名公钥标识和第二目标签名公钥标识确定为目标签名公钥标识。
可选地,所述处理模块1502还用于:
在所述第一签名公钥标识列表、所述第二签名公钥标识列表存在相同的签名公钥标识的情况下,将所述相同的签名公钥标识确定为目标签名公钥标识,所述相同的签名公钥标识还存在于所述本地证书颁发者公钥标识列表中。
可选地,所述目标验证信息包括目标验证证书,所述第一eUICC信息包括所述第一eUICC的第一验证公钥标识列表,所述第二eUICC信息包括所述第二eUICC的第二验证公钥标识列表;
所述处理模块1502具体用于:
从所述第一验证公钥标识列表中选择第一目标验证公钥标识,所述第一目标验证公钥标识还存在于本地证书颁发者公钥标识列表中;
从所述第二验证公钥标识列表中选择第二目标验证公钥标识,所述第二目标验证公钥标识还存在于所述本地证书颁发者公钥标识列表中;
将所述第一目标验证公钥标识对应的第一目标验证证书和第二目标验证公钥标识对应的第二目标验证证书确定为目标验证证书。
可选地,所述处理模块1502还用于:
在所述第一验证公钥标识列表和所述第二验证公钥标识列表存在相同的验证公钥标识的情况下,将所述相同的验证公钥标识对应的验证证书确定为目标验证证书,所述相同的验证签名公钥标识还存在于所述本地证书颁发者公钥标识列表中。
如图13所示,所述终端设备160可包括:
发送模块1601,用于向远程服务器发送第一eUICC的第一eUICC信息和第二eUICC的第二eUICC信息;
接收模块1602,用于接收所述远程服务器发送的第一鉴权信息,其中所述第一鉴权信息包括目标验证信息;
所述发送模块1601还用于在所述第一eUICC和所述第二eUICC对所述第一鉴权信息验证通过的情况下,向所述远程服务器发送第二鉴权信息。
可选地,所述终端设备还包括处理模块1603,用于指示发送模块1601发送数据、接收模块1602接收数据以及所述第一eUICC和所述第二eUICC对所述第一鉴权信息进行验证。
可选地,所述目标验证信息包括第一目标签名公钥标识和第二目标签名公钥标识,其中,第一目标签名公钥标识由所述远程服务器从所述第一eUICC的第一签名公钥标识列表中选择得到,所述第一目标签名公钥标识还存在于所述远程服务器的本地证书颁发者公钥标识列表中,所述第二目标签名公钥标识由所述远程服务器从所述第二eUICC的第二签名公钥标识列表中选择得到,所述第二目标签名公钥标识还存在于所述本地证书颁发者公钥标识列表中。
可选地,所述目标验证信息包括目标签名公钥标识,其中,所述目标签名公钥标识同时存在于所述第一eUICC的第一签名公钥标识列表、所述第二eUICC的第二签名公钥标识列表以及所述远程服务器的本地证书颁发者公钥标识列表中。
可选地,所述目标验证信息包括第一目标验证公钥标识对应的第一目标验证证书和第二目标验证公钥标识对应的第二目标验证证书,其中,第一目标验证公钥标识由所述远程服务器从所述第一eUICC的第一验证公钥标识列表中选择得到,所述第一目标验证公钥标识还存在于所述远程服务器的本地证书颁发者公钥标识列表,所述第二目标验证公钥标识由所述远程服务器从所述第二eUICC的第二验证公钥标识列表中选择得到,所述第二目标验证公钥标识还存在于所述本地证书颁发者公钥标识列表中。
可选地,所述目标验证信息包括目标验证证书,其中,所述目标验证证书为同时存在于所述第一eUICC的第一验证公钥标识列表、所述第二eUICC的第二验证公钥标识列表以及所述远程服务器的本地证书颁发者公钥标识列表中的目标验证公钥标识对应的验证证书。
需要说明,图13对应的实施例中未提及的内容以及各个模块的具体实现,请参考图7或图8所示的方法中实施例,这里不再赘述。
在图13所述的系统中,远程服务器和终端设备之间可实现两个eUICC的同时双向鉴权,有助于提高双向鉴权的效率。
在一种可能的实现方式中,所述处理模块1502可以为处理器或处理芯片,所述接收模块1501和所述发送模块1503可以为收发器,所述远程服务器还可以包括存储器。下面介绍图13的系统涉及的远程服务器的一种实现方式,参见图14,图14是本申请实施例提供的一种远程服务器的硬件结构示意图。该远程服务器170包括处理器1701、存储器1702、收发器1702,所述处理器1701、所述存储器1702、所述收发器1703通过一个或多个通信总线1704连接。
处理器1701被配置为支持所述远程服务器执行图7或图8所述的双向鉴权方法中相应的功能。该处理器1701可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器1702用于存储程序代码等。存储器1702可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,缩写:RAM);存储器1702也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,缩写:ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD);存储器1702还可以包括上述种类的存储器的组合。
收发器1703用于接收和发送数据。
处理器1701可以调用所述程序代码以执行以下操作:
接收终端设备的第一eUICC的第一eUICC信息和所述终端设备的第二eUICC的第二eUICC信息;
根据所述第一eUICC信息和所述第二eUICC信息确定目标验证信息;
将第一鉴权信息发送给所述终端设备,其中所述第一鉴权信息包括所述目标验证信息;
接收所述第一eUICC和第二eUICC对所述第一鉴权信息验证通过后所述终端设备发送的第二鉴权信息;
根据所述目标验证信息验证所述第二鉴权信息。
需要说明的是,所述处理器1701还可以执行参照图7或图8所示的方法中远程服务器执行的操作。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如图7或图8对应的实施例所述的方法,所述计算机可以为上述提到的远程服务器的一部分。
本申请实施例还提供一种计算机程序,包括程序指令,所述程序指令当被计算机执行时用于执行如图7或图8对应的实施例所述的方法,所述计算机程序可以为上述提到的存储器1702存储的程序中的一部分。
在一种可能的实现方式中,所述终端设备可以包括两个eUICC和本地文件助手LPA。所述本地文件助手LPA可以作为一个或多个软件模块存在于终端设备的硬件模块上,例如存在于基带芯片上、应用处理器上或其他硬件上,所述本地文件助手也可以直接存在于eUICC上。本地文件助手LPA具备实现eUICC与终端设备以及与远程服务器之间进行交互的功能。参见图15,图15是本申请实施例提供的一种本地文件助手的结构示意图,如图所示,所述本地文件助手180包括:
发送模块1801,用于向远程服务器发送第一eUICC的第一eUICC信息和第二eUICC的第二eUICC信息;
接收模块1802,用于接收所述远程服务器发送的第一鉴权信息,其中所述第一鉴权信息包括目标验证信息;
所述发送模块1801还用于在所述第一eUICC和所述第二eUICC对所述第一鉴权信息验证通过的情况下,向所述远程服务器发送第二鉴权信息,所述第二鉴权信息包括所述第一eUICC发送的第一鉴权子信息和所述第二eUICC发送的第二鉴权子信息。
可选地,所述接收模块1802还用于:
从所述第一eUICC获取所述第一eUICC信息;
从所述第二eUICC获取所述第二eUICC信息。
可选地,所述本地文件助手180还包括处理模块1803;
所述处理模块1803用于从所述第一鉴权信息中获取与所述第一eUICC对应的第三鉴权子信息,所述发送模块还用于将所述第三鉴权子信息发送给所述第一eUICC;
所述接收模块1802还用于接收所述第一eUICC对所述第三鉴权子信息验证通过后发送的第一鉴权子信息;
所述处理模块1803还从所述第一鉴权信息中获取与所述第二eUICC对应的第四鉴权子信息,所述发送模块1801还用于将所述第四鉴权子信息发送给所述第二eUICC;
所述接收模块1802还用于接收所述第二eUICC对所述第四鉴权子信息验证通过后发送的第二鉴权子信息。
可选地,所述目标验证信息包括第一目标签名公钥标识和第二目标签名公钥标识,其中,第一目标签名公钥标识由所述远程服务器从所述第一eUICC的第一签名公钥标识列表中选择得到,所述第一目标签名公钥标识还存在于所述远程服务器的本地证书颁发者公钥标识列表中,所述第二目标签名公钥标识由所述远程服务器从所述第二eUICC的第二签名公钥标识列表中选择得到,所述第二目标签名公钥标识还存在于所述本地证书颁发者公钥标识列表中;
所述第三鉴权子信息中携带所述第一目标签名公钥标识,所述第四鉴权子信息中携带所述第二目标签名公钥标识。
可选地,所述目标验证信息包括目标签名公钥标识,其中,所述目标签名公钥标识同时存在于所述第一eUICC的第一签名公钥标识列表、所述第二eUICC的第二签名公钥标识列表以及所述远程服务器的本地证书颁发者公钥标识列表中;
所述第三鉴权子信息以及所述第四鉴权子信息中均携带所述目标签名公钥标识。
可选地,所述目标验证信息包括第一目标验证公钥标识对应的第一目标验证证书和第二目标验证公钥标识对应的第二目标验证证书,其中,第一目标验证公钥标识由所述远程服务器从所述第一eUICC的第一验证公钥标识列表中选择得到,所述第一目标验证公钥标识还存在于所述远程服务器的本地证书颁发者公钥标识列表中,所述第二目标验证公钥标识由所述远程服务器从所述第二eUICC的第二验证公钥标识列表中选择得到,所述第二目标验证公钥标识还存在于所述本地证书颁发者公钥标识列表中;
所述第三鉴权子信息中携带所述第一目标验证证书,所述第四鉴权子信息中携带所述第二目标验证证书。
可选地,所述目标验证信息包括目标验证证书,其中,所述目标验证证书为同时存在于所述第一eUICC的第一验证公钥标识列表、所述第二eUICC的第二验证公钥标识列表以及所述远程服务器的本地证书颁发者公钥标识列表中的目标验证公钥标识对应的验证证书;
所述第三鉴权子信息以及所述第四鉴权子信息中均携带所述目标验证证书。
本申请实施例还提供一种计算机程序,包括程序指令,所述程序指令当被计算机执行时用于执行如图7或图8对应的实施例所述的方法,所述计算机程序可以为上述本地文件助手180对应的程序的一部分。
下面介绍图9或13的系统中涉及的终端设备的一种实现方式,参见图16,图16是终端设备的一种实现方式的结构框图,如图16所示,终端设备190可包括:基带芯片1910、存储器1915(一个或多个计算机可读存储介质)、射频(RF)模块1916、外围系统1917。这些部件可在一个或多个通信总线1919上通信。
外围系统1917主要用于实现终端设备190和用户/外部环境之间的交互功能,主要包括终端设备190的输入输出装置。具体实现中,外围系统1917可包括:摄像头控制器1918、音频控制器1919以及传感器管理模块1920。其中,各个控制器可与各自对应的外围设备(如摄像头1921、音频电路1922以及传感器1923)耦合。在一些实施例中,摄像头1921可以是3D摄像头。在一些实施例中,传感器1923可以是红外线传感器、指纹传感器、位移传感器、能耗传感器、温度传感器、湿度传感器、光传感器等等。需要说明的是,外围系统1917还可以包括其他I/O外设,例如,外围系统1917还包括无线射频识别(Radio FrequencyIdentification,RFID)读写控制器1924、其中,RFID读写控制器与RFID读写器1925耦合。
基带芯片1910可集成包括:处理器1911、时钟模块1912以及电源管理模块1913。集成于基带芯片1910中的时钟模块1912主要用于为处理器1911产生数据传输和时序控制所需要的时钟。集成于基带芯片1910中的电源管理模块1913主要用于为处理器1911、射频模块1916以及外围系统1917提供稳定的、高精确度的电压。在一些实施例中,所述处理器/可以是中央处理器(Center Processor Unit,CPU)、嵌入式微控制器(Micro ControllerUnit,MCU)、嵌入式微处理器(Micro Processor Unit,MPU)、嵌入式片上系统(System onChip,SoC)等等。
射频(RF)模块1916用于接收和发送射频信号,主要集成了终端设备190的接收器和发射器。射频(RF)模块1916通过射频信号与通信网络和其他通信设备通信。具体实现中,射频(RF)模块1916可包括但不限于:至少一个eUICC、天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片、存储介质等。在一些实施例中,可在单独的芯片上实现射频(RF)模块1916。
存储器1915与处理器1911耦合,用于存储各种软件程序和/或多组命令。具体实现中,存储器1915可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1915可以存储操作系统(下述简称系统),例如ANDROID,IOS,WINDOWS或者LINUX等嵌入式操作系统。存储器1915还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。存储器1915还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。存储器1915还可以存储包括本地文件助手LPA在内的一个或多个应用程序。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如图2~图4、图5~图8对应的实施例所述的方法,所述计算机可以为上述提到的终端设备的一部分。
本申请实施例还提供一种计算机程序,包括程序指令,所述程序指令当被计算机执行时用于执行如图2~图4、图5~图8对应的实施例所述的方法,所述计算机程序可以为上述提到的存储器1915存储的程序中的一部分。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。