掌桥专利:专业的专利平台
掌桥专利
首页

基于嵌入式芯片卡的多证书存储方法、系统及存储介质

文献发布时间:2023-06-19 11:52:33


基于嵌入式芯片卡的多证书存储方法、系统及存储介质

技术领域

本发明涉及通信技术领域,特别涉及一种基于嵌入式芯片卡的多证书存储方法、系统及存储介质。

背景技术

数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份;因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。

RSP(Remote SIM Provisioning)远程SIM卡供应,顾名思义就是远程获取存在于运营商的电子SIM卡信息。其适用场景为个人消费类终端,即由运营商提供可通信的电子卡、由个人主动触发远程电子卡下载,eUICC(embedded UICC)通俗是理解是嵌入式的集成电路卡,运营商的电子卡信息会承载与eUICC中,实现与SIM卡相同的通信功能。

如附图1所示,图1为现有技术中的证书存储系统的模块示意图,RSP TechnicalSpecification Version 2.2技术规范中说明的证书的体系包括CI(证书发行方)、EUM(eUICC厂商)、eUICC。CI包含CI证书、CI证书公钥、CI证书私钥;EUM包含EUM证书、EUM证书公钥、EUM证书私钥;eUICC包含eUICC证书、eUICC证书公钥、eUICC证书私钥。CI证书由CI自签发,EUM证书由CI签发,eUICC证书由EUM签发。现有证书存储方案中,CI证书、EUM证书和eUICC证书是顺序写入并放在一起,在实际应用中,存在CI证书、EUM证书和eUICC证书并不是顺序写入(例如:先写入EUM证书1,接着写入EUM证书2,接着写入eUICC证书2,接着写入eUICC证书1证书),现有的存储方案并不能支持这种情况下的证书存储,另一方面,eUICC卡中支持存储多套CI证书,但并不是每一套CI证书都有与之对应的EUM证书和eUICC证书,按照现有的存储方案,每个证书体中都有CI证书、EUM证书和eUICC证书相应的预留空间,如果一个证书体只存储CI证书的话会造成空间上的浪费,查找CI证书时的效率较低。

发明内容

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于嵌入式芯片卡的多证书存储方法,能够提高证书的查找效率,节约证书的存储空间。

本发明还提出一种具有上述基于嵌入式芯片卡的多证书存储方法的基于嵌入式芯片卡的多证书存储系统。

本发明还提出一种具有上述基于嵌入式芯片卡的多证书存储方法的计算机可读存储介质。

根据本发明的第一方面实施例的基于嵌入式芯片卡的多证书存储方法,包括以下步骤:嵌入式芯片卡对接收到的密文证书数据执行解密操作,得到与所述密文证书数据对应的明文证书数据,所述明文证书数据包括证书标识;所述嵌入式芯片卡根据所述证书标识,判断接收到的证书是否是CI证书;若接收到的所述证书是CI证书,则将所述CI证书存储至第一证书体;若接收到的所述证书是非CI证书,则将所述非CI证书存储至第二证书体;其中,所述第一证书体及所述第二证书体基于链式存储结构。

根据本发明的一些实施例,所述若接收到的所述证书是CI证书,则将所述CI证书存储至第一证书体包括:若所述第一证书体中包括第一证书链,则基于第一证书链的尾部创建第一子证书体并将所述CI证书存储至第一子证书体;若所述第一证书体中不存在第一证书链,则创建第一证书链,并基于第一证书链的头部创建第一子证书体,并将所述CI证书存储至第一子证书体。

根据本发明的一些实施例,还包括:将所述CI证书对应的CI公钥、CI公钥ID、CI算法参数存储至所述CI证书所在的第一子证书体。

根据本发明的一些实施例,所述若接收到的所述证书是非CI证书,则将所述非CI证书存储至第二证书体包括:为所述非CI证书分配索引标识;若所述第二证书体中包括第二证书链,则将所述索引标识分别与所述第二证书链中已有的第二子证书体中的索引进行匹配;若所述索引标识与所述索引匹配成功,则将所述非CI证书存储至所述第二子证书体;若所述索引标识与所述索引匹配不成功,则基于所述第二证书链的尾部创建第二子证书体,并将所述非CI证书与所述索引标识存储至第二子证书体。

根据本发明的一些实施例,若接收到的所述证书是非CI证书,则将所述非CI证书存储至第二证书体还包括:为所述非CI证书分配索引标识;若所述第二证书体中不存在第二证书链,则创建第二证书链,并基于第二证书链的头部创建第二子证书体,并将所述非CI证书及所述索引标识存储至所述第二子证书体。

根据本发明的一些实施例,所述非CI证书包括EUM证书、eUICC证书及eUICC证书私钥。

根据本发明的一些实施例,还包括,将所述EUM证书对应的EUM鉴权公钥ID及eUICC证书对应的eUICC算法参数存储至所述非CI证书所在的第二子证书体,其中,所述EUM鉴权公钥ID与CI公钥ID相对应。

根据本发明的第二方面实施例的基于嵌入式芯片卡的多证书存储系统,包括:第一证书体,所述第一证书体包括第一证书链,所述第一证书链包括若干个第一子证书体;第二证书体,所述第二证书体包括第二证书链,所述第二证书链包括若干个第二子证书体;存储管理模块,所述存储管理模块用于控制嵌入式芯片卡对接收到的密文证书数据执行解密操作,得到与所述密文证书数据对应的明文证书数据,所述明文证书数据包括证书标识,所述嵌入式芯片卡根据所述证书标识,判断接收到的证书是否是CI证书,若接收到的所述证书是CI证书,则将所述CI证书存储至所述第一证书体;若接收到的所述证书是非CI证书,则将所述非CI证书存储至所述第二证书体;其中,所述第二子证书体与所述第一子证书体相对应。

根据本发明的一些实施例,所述第一子证书体包括CI证书、CI公钥、CI公钥ID、CI算法参数及指向下一个第一子证书体的标记信息;所述第二子证书体包括索引、EUM证书、EUM鉴权公钥ID、eUICC证书、eUICC证书私钥、eUICC算法参数及指向下一个第二子证书体的标记信息。

根据本发明的第三方面实施例的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被一个或多个处理器执行时能够执行上述任一项所述的基于嵌入式芯片卡的多证书存储方法的步骤。

根据本发明实施例的基于嵌入式芯片卡的多证书存储方法,至少具有如下有益效果:

通过本发明的基于嵌入式芯片卡的多证书存储方法,能够支持CI证书、EUM证书和eUICC证书非顺序存储,极大的改善了现有存储结构的不灵活占用存储空间大的问题,进一步提高了CI证书存储结构的独立性,在一个证书体只存储CI证书的情况下,本发明比现有技术更加节省空间,查找CI证书的效率也更高。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为现有技术中的证书存储系统的模块示意图;

图2为本发明实施例的方法的流程示意图;

图3为本发明实施例的CI证书存储方法的流程示意图;

图4为本发明实施例的非CI证书存储方法的流程示意图;

图5为本发明实施例的系统的模块示意框图之一;

图6为本发明实施例的系统的模块示意框图之二。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

应理解,本发明实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

术语解释:

CI证书:证书发行方;

EUM证书:卡商证书;

eUICC证书:卡证书。

参照图2到图6所示,本发明中的实施例包括:eUICC卡中的证书体分为CI证书体和非CI证书体,CI证书体和非CI证书体分别利用链式结构存储。CI证书链表头指向CI证书链中多个CI证书体中的第一个CI证书体;非CI证书链表头指向非CI证书链中多个非CI证书体中的第一个非CI证书体。CI证书链中的每个证书体包括CI证书、CI公钥ID、CI公钥、CI算法参数、NextCI(下一个CI证书体成员)。非CI证书链中的每个证书体包括EUM证书与eUICC证书在证书链上的索引、EUM证书、EUM鉴权公钥ID、eUICC证书、eUICC私钥、eUICC算法参数、NextEUMeUICC,即下一个非CI证书体成员。多个CI证书体或非CI证书体中的上一个CI证书体或非CI证书体的NextCI或NextEUMeUICC均指向下一个CI证书体或非CI证书体。CI证书、EUM证书、eUICC证书和eUICC私钥均可以非顺序存储。

参照图2,图2为本发明实施例的方法的流程示意图,本发明的实施例的方法包括:

嵌入式芯片卡对接收到的密文证书数据实施解密操作,得到与密文证书数据对应的明文证书数据,明文证书数据包括证书标识;

嵌入式芯片卡根据证书标识,判断接收到的证书是否是CI证书;

若接收到的证书是CI证书,则将CI证书存储至第一证书体;

若接收到的证书是非CI证书,则将非CI证书存储至第二证书体,可以理解的是,非CI证书是除了CI证书之外的证书数据;

其中,第一证书体及第二证书体基于链式存储结构。

需要说明的是,通过本发明的第一证书体和第二证书体的链式存储结构的设计,将CI证书存储至第一证书体,将非CI证书存储至第二证书体,能够解决在实际应用中,存在CI证书、EUM证书和eUICC证书并不是顺序写入从而写入证书不灵活的技术问题,另一方面也解决了每个证书体中都有CI证书、EUM证书和eUICC证书相应的预留空间,如果一个证书体只存储CI证书的话会造成空间上的浪费,查找CI证书时的效率较低的技术问题。

图3示出了本发明实施例的CI证书存储方法的流程示意图,包括:

若第一证书体中包括第一证书链,则基于第一证书链的尾部创建第一子证书体并将CI证书存储至第一子证书体;

若第一证书体中不存在第一证书链,则创建第一证书链,并基于第一证书链的头部创建第一子证书体,并将CI证书存储至第一子证书体。

在本发明的一些实施例中,还包括,将CI证书对应的CI公钥、CI公钥ID、CI算法参数存储至CI证书所在的第一子证书体。

本发明一个具体的实施例是:如图3所示,嵌入式芯片卡对下发的密文证书数据进行解密后得到明文证书数据,之后的操作皆是对明文证书数据的操作,嵌入式芯片卡根据证书的标识判断下发的是CI证书、EUM证书、eUICC证书还是eUICC证书的私钥。

如果是CI证书,则判断是否已经存在CI证书链:若存在,则在CI证书链的尾部创建证书体并储存该证书;若不存在,则创建新的CI证书链,该证书所在证书体作为CI证书链的第一个证书体创建并存储该证书。

参照图4,图4为本发明实施例的非CI证书存储方法的流程示意图,包括:

为非CI证书分配索引标识;

若第二证书体中包括第二证书链,则将索引标识分别与第二证书链中已有的第二子证书体中的索引进行匹配;

若索引标识与索引匹配成功,则将非CI证书存储至第二子证书体;

若索引标识与索引匹配不成功,则基于第二证书链的尾部创建第二子证书体,并将非CI证书与索引标识存储至第二子证书体。

若第二证书体中不存在第二证书链,则创建第二证书链,并基于第二证书链的头部创建第二子证书体,并将非CI证书及索引标识存储至第二子证书体。

本发明一个具体的实施例是:嵌入式芯片卡对下发的密文证书数据进行解密后得到明文证书数据,之后的操作皆是对明文证书数据的操作,嵌入式芯片卡根据证书的标识判断下发的是CI证书、EUM证书、eUICC证书还是eUICC证书的私钥,如果是EUM证书或者eUICC证书,则判断是否已经存在非CI证书链:若存在,则先根据索引与非CI证书链上的证书体进行匹配,如果找到相同索引的证书体,则向该证书体储存该证书,如果找不到相同索引的证书体,则在非CI证书链的尾部创建证书体并储存该证书和索引;若不存在,则创建新的非CI证书链,该证书所在证书体作为非CI证书链的第一个证书体创建并存储该证书和索引。如果是eUICC证书的私钥,则判断是否已经存在非CI证书链:若存在,则先根据索引与非CI证书链上的证书体进行匹配,如果找到相同索引的证书体,则向该证书体储存该私钥,如果找不到相同索引的证书体,则在非CI证书链的尾部创建证书体并储存该私钥和索引;若不存在,则创建新的非CI证书链,该证书所在证书体作为非CI证书链的第一个证书体创建并存储该私钥和索引。

在本发明一些具体的实施例之中,非CI证书包括EUM证书、eUICC证书及eUICC证书私钥。

在本发明一些具体的实施例之中,还包括,将EUM证书对应的EUM鉴权公钥ID及eUICC证书对应的eUICC算法参数存储至非CI证书所在的第二子证书体,其中,EUM鉴权公钥ID与CI公钥ID相对应。

其中一个具体的实施例是:存储CI证书的同时需将CI证书中的公钥、公钥ID、算法参数提取出来存储于证书体中;存储EUM证书的同时需将EUM证书中的鉴权公钥ID提取出来存储于证书体中,其中,EUM证书中的鉴权公钥ID和对应CI证书中的公钥ID相等,以此关联两个证书体;存储eUICC证书的同时需将eUICC证书中的算法参数提取出来存储于证书体中。可以理解的是,通过将EUM鉴权公钥ID与CI公钥ID相对应能够将第一证书体和第二证书体建立关联,从而进一步使第一子证书体和第二子证书体建立关联,方便后续的检索查找和数据操作。

参照图5,图5为本发明实施例的系统的模块示意框图之一,包括:

第一证书体,第一证书体包括第一证书链,第一证书链包括若干个第一子证书体;

第二证书体,第二证书体包括第二证书链,第二证书链包括若干个第二子证书体;

存储管理模块,存储管理模块用于控制嵌入式芯片卡对接收到的密文证书数据执行解密操作,得到与密文证书数据对应的明文证书数据,明文证书数据包括证书标识,嵌入式芯片卡根据证书标识,判断接收到的证书是否是CI证书,若接收到的证书是CI证书,则将CI证书存储至第一证书体;若接收到的证书是非CI证书,则将非CI证书存储至第二证书体;

第二子证书体与第一子证书体相对应;

其中,本发明一个具体的实施例是,嵌入式芯片卡是eUICC卡,需要说明的是,本发明的嵌入式芯片卡并不局限于eUICC卡,所有关于嵌入式芯片卡都属于本发明的保护范围,如Sim卡,UICC卡等。

图6示出了本发明实施例的系统的模块示意框图之二,其中,第一子证书体包括CI证书、CI公钥、CI公钥ID、CI算法参数及指向下一个第一子证书体的标记信息;第二子证书体包括索引、EUM证书、EUM鉴权公钥ID、eUICC证书、eUICC证书私钥、eUICC算法参数及指向下一个第二子证书体的标记信息。具体的,eUICC卡包括两个证书体,其中一个证书体存储CI证书,包括CI证书链表头,和若干个CI子证书体,每一个子证书体中包括CI证书、CI公钥、CI公钥ID、CI算法参数及指向下一个CI子证书体的标记信息NextCI,另一个证书体存储非CI证书,非CI证书包括EUM证书和eUICC证书及eUICC私钥,该证书体包括非CI证书链表头,和若干个非CI子证书体,每一个非CI子证书体中包括索引、EUM证书、EUM鉴权公钥ID、eUICC证书、eUICC证书私钥、eUICC算法参数及指向下一个非CI子证书体的标记信息NextEUMeUICC。

在本发明一些实施例之中,还存在一种计算机可读存储介质,计算机存储介质包括存储的计算机程序;计算机程序在运行时控制计算机存储介质所在的设备执行上述的基于嵌入式芯片卡的多证书存储方法。

通过本发明的基于嵌入式芯片卡的多证书存储方法,能够支持CI证书、EUM证书和eUICC证书非顺序存储,极大的改善了现有存储结构的不灵活占用存储空间大的问题,进一步提高了CI证书存储结构的独立性,在一个证书体只存储CI证书的情况下,本发明比现有技术更加节省空间,查找CI证书的效率也更高。

尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种例示性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文的例示性具体实施和架构的许多其它修改也处于本公开的范围内。

上文参考根据示例性实施方案的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。

因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。

本文的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,计算机可执行指令响应于执行而使本文的功能的至少一部分(例如,本文的例示性方法的一种或多种操作)被执行。

软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作系统或其它软件组件执行,而无需首先转换成另一种形式。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

相关技术
  • 基于嵌入式芯片卡的多证书存储方法、系统及存储介质
  • 数字证书存储方法、系统以及数字证书读取方法和系统
技术分类

06120113083663