一种数据存储方法及装置、服务器及可读存储介质转让专利

申请号 : CN201711396438.6

文献号 : CN109948347B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴燕静张维杨烨

申请人 : 中移(杭州)信息技术有限公司中国移动通信集团公司

摘要 :

本发明公开了一种数据存储方法及装置、服务器及可读存储介质,用于解决目前在物联网领域缺乏对eSIM配置数据进行安全存储的技术问题,实现了对eSIM配置数据的安全存储以确保eSIM配置数据的安全性。所述方法包括:将eSIM配置数据切分为多个数据块;其中,所述eSIM配置数据用于在eSIM卡中生成卡文件系统及进行卡应用配置;根据所述eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥;用所述数据加密密钥分别对所述多个数据块进行加密处理以获得多个密文数据块;将所述多个密文数据块写入同一配置空文件以生成eSIM配置文件;存储所述eSIM配置文件。

权利要求 :

1.一种数据存储方法,其特征在于,所述方法包括:将嵌入式用户识别模块eSIM配置数据切分为多个数据块;其中,所述eSIM配置数据用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置;

根据所述eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥;

用所述数据加密密钥分别对所述多个数据块进行加密处理以获得多个密文数据块;

将所述多个密文数据块一起写入同一配置空文件以生成eSIM配置文件;

存储所述eSIM配置文件;

其中,用所述数据加密密钥分别对所述多个数据块进行加密处理,以获得多个密文数据块,包括:根据所述数据加密密钥和每个数据块的关键存储信息,分别生成对应于每个数据块的子密钥;

用对应的子密钥对每个数据块进行加密处理以获得多个密文数据块。

2.如权利要求1所述的方法,其特征在于,在将所述多个密文数据块一起写入同一配置空文件以获得eSIM配置文件之前,还包括:将所述多个数据块按照第一乱序规则进行乱序处理,或,将所述多个密文数据块按照第二乱序规则进行乱序处理。

3.如权利要求1所述的方法,其特征在于,在将eSIM配置数据切分为多个数据块之前,还包括:根据所述eSIM标识信息生成校验计算密钥;

通过所述校验计算密钥对所述eSIM配置数据进行摘要计算,以获得所述eSIM配置数据的原始完整性校验值;

将所述多个密文数据块一起写入同一配置空文件以生成eSIM配置文件,包括:将所述原始完整性校验值写入所述配置空文件的预定位置及将所述多个密文数据块一起写入所述配置空文件的其它位置,以获得所述eSIM配置文件。

4.如权利要求3所述的方法,其特征在于,在存储所述eSIM配置文件之后,还包括:从所述eSIM配置文件的所述预定位置处获得所述原始完整性校验值;

对所述eSIM配置文件中除去所述原始完整性校验值外的数据进行解密拼接处理以获得还原后的eSIM配置数据;

通过所述校验计算密钥对所述还原后的eSIM配置数据进行摘要计算,以获得所述还原后的eSIM配置数据的还原完整性校验值;

根据所述原始完整性校验值与所述还原完整性校验值是否匹配以确定所述还原后的eSIM配置数据的完整性。

5.如权利要求1-4中任一权利要求所述的方法,其特征在于,存储所述eSIM配置文件,包括:将所述eSIM标识信息进行模糊处理以获得模糊后的eSIM标识信息;其中,通过所述模糊处理使得无法直接识别所述eSIM标识信息;

将所述模糊后的eSIM标识信息作为所述eSIM配置文件的文件存储名;

以所述文件存储名存储所述eSIM配置文件。

6.如权利要求1-4中任一权利要求所述的方法,其特征在于,存储所述eSIM配置文件,包括:将所述eSIM配置文件发送给预定文件服务器,以通过所述预定文件服务器存储所述eSIM配置文件。

7.一种数据存储装置,其特征在于,所述数据存储装置包括:数据切分模块,用于将嵌入式用户识别模块eSIM配置数据切分为多个数据块;其中,所述eSIM配置数据用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置;

密钥管理模块,用于根据所述eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥;

加解密模块,用于用所述数据加密密钥分别对所述多个数据块进行加密处理以获得多个密文数据块;

文件生成模块,用于将所述多个密文数据块写入同一配置空文件以生成eSIM配置文件;

存储模块,用于存储所述eSIM配置文件;

其中,所述加解密模块用于:

根据所述数据加密密钥和每个数据块的关键存储信息,分别生成对应于每个数据块的子密钥;

用对应的子密钥对每个数据块进行加密处理以获得多个密文数据块。

8.一种服务器,其特征在于,所述服务器包括:至少一个处理器;

与所述至少一个处理器连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如权利要求1-6中任一项所述的数据存储方法的步骤。

9.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的数据存储方法的步骤。

说明书 :

一种数据存储方法及装置、服务器及可读存储介质

技术领域

[0001] 本发明涉及数据存储技术领域,尤其涉及一种数据存储方法及装置、服务器及可读存储介质。

背景技术

[0002] 随着物联网技术的发展,M2M(Machine-to-Machine,机器对机器)设备在物联网领域的应用呈现出超大规模、覆盖领域极其广泛、应用环境复杂多样等特点。为了满足用户通过M2M设备进行数据收发等通信功能的使用需求,SIM(Subscriber Identity Module,用户识别模块)卡被广泛应用到M2M设备中,这样可以利用SIM卡对应的移动运营商提供的移动网络服务以满足用户的通信使用需求。并且M2M设备及SIM卡都需要满足工业级、低功耗、体积小、成本低等要求,传统的SIM卡应用于物联网领域,面临体积大、易氧化、易接触不良、易损坏、成本高、无法远程配置管理等问题,因此eSIM(embedded Subscriber Identity Module,嵌入式用户识别模块)技术越来越广泛地应用到物联网领域,eSIM技术就是设备在出厂时SIM卡就会以芯片形式被嵌入式地预装在设备里,达到不易松动抗震性好、不易损坏及节省空间的要求。
[0003] Profile Package是用于在eSIM卡中生成卡文件系统及进行卡应用配置和个性化卡数据配置等等的eSIM配置数据,不同M2M设备的eSIM配置数据都是存储在eSIM数据配置平台中,eSIM数据配置平台可以使用这些eSIM配置数据完成对M2M设备的eSIM卡的相关配置,也就是说,M2M设备中的eSIM卡的eSIM配置数据是远程存储在eSIM数据配置平台中的,但是eSIM数据配置平台容易遭到黑客的攻击,导致其上存储的大量eSIM配置数据存在被篡改甚至被窃取等安全风险,然而现有技术中还缺乏对物联网领域中的eSIM数据配置平台中存储的eSIM配置数据进行安全存储的技术方案。

发明内容

[0004] 本发明实施例提供一种数据存储方法及装置、服务器及可读存储介质,用于解决目前在物联网领域还缺乏对eSIM配置数据进行安全存储的技术问题,实现了对物联网领域中的eSIM配置数据的安全存储以确保eSIM配置数据的安全性的目的。
[0005] 第一方面,提供一种数据存储方法,所述方法包括:
[0006] 将eSIM配置数据切分为多个数据块;其中,所述eSIM配置数据用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置;
[0007] 根据所述eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥;
[0008] 用所述数据加密密钥分别对所述多个数据块进行加密处理以获得多个密文数据块;
[0009] 将所述多个密文数据块一起写入同一配置空文件以生成eSIM配置文件;
[0010] 存储所述eSIM配置文件。
[0011] 可选的,用所述数据加密密钥分别对所述多个数据块进行加密处理,以获得多个密文数据块,包括:
[0012] 根据所述数据加密密钥和每个数据块的关键存储信息,分别生成对应于每个数据块的子密钥;
[0013] 用对应的子密钥对每个数据块进行加密处理以获得多个密文数据块。
[0014] 可选的,在将所述多个密文数据块一起写入同一配置空文件以获得eSIM配置文件之前,还包括:
[0015] 将所述多个数据块按照第一乱序规则进行乱序处理,或,将所述多个密文数据块按照第二乱序规则进行乱序处理。
[0016] 可选的,在将eSIM配置数据切分为多个数据块之前,还包括:
[0017] 根据所述eSIM标识信息生成校验计算密钥;
[0018] 通过所述校验计算密钥对所述eSIM配置数据进行摘要计算,以获得所述eSIM配置数据的原始完整性校验值;
[0019] 将所述多个密文数据块一起写入同一配置空文件以生成eSIM配置文件,包括:
[0020] 将所述原始完整性校验值写入所述配置空文件的预定位置及将所述多个密文数据块一起写入所述配置空文件的其余位置,以获得所述eSIM配置文件。
[0021] 可选的,在存储所述eSIM配置文件之后,还包括:
[0022] 从所述eSIM配置文件的所述预定位置处获得所述原始完整性校验值;
[0023] 对所述eSIM配置文件中除去所述原始完整性校验值外的数据进行解密拼接处理以获得还原后的eSIM配置数据;
[0024] 通过所述校验计算密钥对所述还原后的eSIM配置数据进行摘要计算,以获得所述还原后的eSIM配置数据的还原完整性校验值;
[0025] 根据所述原始完整性校验值与所述还原完整性校验值是否匹配以确定所述还原后的eSIM配置数据的完整性。
[0026] 可选的,存储所述eSIM配置文件,包括:
[0027] 将所述eSIM标识信息进行模糊处理以获得模糊后的eSIM标识信息;其中,通过所述模糊处理使得无法直接识别所述eSIM标识信息;
[0028] 将所述模糊后的eSIM标识信息作为所述eSIM配置文件的文件存储名;
[0029] 以所述文件存储名存储所述eSIM配置文件。
[0030] 可选的,存储所述eSIM配置文件,包括:
[0031] 将所述eSIM配置文件发送给预定文件服务器,以通过所述预定文件服务器存储所述eSIM配置文件。
[0032] 第二方面,提供一种数据存储装置,所述数据存储装置包括:
[0033] 数据切分模块,用于将eSIM配置数据切分为多个数据块;其中,所述eSIM配置数据用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置;
[0034] 密钥管理模块,用于根据所述eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥;
[0035] 加解密模块,用于用所述数据加密密钥分别对所述多个数据块进行加密处理以获得多个密文数据块;
[0036] 文件生成模块,用于将所述多个密文数据块一起写入同一配置空文件以生成eSIM配置文件;
[0037] 存储模块,用于存储所述eSIM配置文件。
[0038] 可选的,所述加解密模块用于:
[0039] 根据所述数据加密密钥和每个数据块的关键存储信息,分别生成对应于每个数据块的子密钥;
[0040] 用对应的子密钥对每个数据块进行加密处理以获得多个密文数据块。
[0041] 可选的,所述数据存储装置还包括乱序处理模块,用于在所述文件生成模块将所述多个密文数据块一起写入同一配置空文件以获得eSIM配置文件之前,将所述多个数据块按照第一乱序规则进行乱序处理,或,将所述多个密文数据块按照第二乱序规则进行乱序处理。
[0042] 可选的,所述密钥管理模块还用于在所述数据切分模块将eSIM配置数据切分为多个数据块之前,根据所述eSIM标识信息生成校验计算密钥;
[0043] 所述数据存储装置还包括完整性校验模块,用于通过所述校验计算密钥对所述eSIM配置数据进行摘要计算,以获得所述eSIM配置数据的原始完整性校验值;
[0044] 所述文件生成模块用于将所述原始完整性校验值写入所述配置空文件的预定位置及将所述多个密文数据块一起写入所述配置空文件的其它位置,以获得所述eSIM配置文件。
[0045] 可选的,所述完整性校验模块还用于在所述存储模块存储所述eSIM配置文件之后,从所述eSIM配置文件的所述预定位置处获得所述原始完整性校验值;
[0046] 所述数据存储装置还包括数据还原模块,用于对所述eSIM配置文件中除去所述原始完整性校验值外的数据进行解密拼接处理以获得还原后的eSIM配置数据;
[0047] 所述完整性校验模块还用于通过所述校验计算密钥对所述还原后的eSIM配置数据进行摘要计算,以获得所述还原后的eSIM配置数据的还原完整性校验值;以及根据所述原始完整性校验值与所述还原完整性校验值是否匹配以确定所述还原后的eSIM配置数据的完整性。
[0048] 可选的,所述存储模块用于:
[0049] 将所述eSIM标识信息进行模糊处理以获得模糊后的eSIM标识信息;其中,通过所述模糊处理使得无法直接识别所述eSIM标识信息;
[0050] 将所述模糊后的eSIM标识信息作为所述eSIM配置文件的文件存储名;
[0051] 以所述文件存储名存储所述eSIM配置文件。
[0052] 可选的,所述存储模块用于:
[0053] 将所述eSIM配置文件发送给预定文件服务器,以通过所述预定文件服务器存储所述eSIM配置文件。
[0054] 第三方面,提供一种服务器,所述服务器包括:
[0055] 至少一个处理器;
[0056] 与所述至少一个处理器连接的存储器;
[0057] 其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如第一方面中任一所述的数据存储方法的步骤。
[0058] 第四方面,提供一种可读存储介质,所述可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面中任一所述的数据存储方法的步骤。
[0059] 本发明实施例中,可以将用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置的eSIM配置数据切分为多个数据块,以及根据eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥,再用生成的数据加密密钥分别对多个数据块进行加密处理以获得多个密文数据块,最后再将多个密文数据块一起写入同一配置空文件以生成eSIM配置文件并将eSIM配置文件进行存储,由于采用数据分块以及对分块数据分别进行加密的处理方式,这样获得的eSIM配置文件相对于明文的eSIM配置数据来说,可以加大黑客篡改或窃取数据的难度以提高eSIM配置数据存储的安全性。并且,用来对数据块进行加密的数据加密密钥是根据eSIM配置数据唯一对应的eSIM标识信息即时动态生成的,由于每条eSIM配置数据的eSIM标识信息均是唯一的,相当于是针对每条eSIM配置数据针对性地使用数据加密密钥进行加密,这样又可以在一定程度上加大数据解密的难度,以进一步地增加eSIM配置数据存储的安全性,也就是说,本发明实施例提出了一种针对物联网领域的eSIM配置数据的安全存储机制,以确保eSIM配置数据的安全存储,加大eSIM配置数据被篡改或窃取的难度,增强了eSIM配置数据存储的安全性。

附图说明

[0060] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0061] 图1为本发明实施例中的数据存储方法适用的网络架构的示意图;
[0062] 图2为本发明实施例中的数据存储方法的流程图;
[0063] 图3为本发明实施例中的分散算法示意图;
[0064] 图4为本发明实施例中的数据块乱序处理的示意图;
[0065] 图5A为本发明实施例中的对eSIM标识信息进行模糊处理的示意图;
[0066] 图5B为本发明实施例中的对eSIM标识信息进行模糊处理的另一示意图;
[0067] 图6为本发明实施例中的数据存储系统的架构示意图;
[0068] 图7为本发明实施例中的数据存储系统的另一架构示意图;
[0069] 图8为本发明实施例中的数据存储系统的另一架构示意图;
[0070] 图9为本发明实施例中的数据存储装置的结构框图;
[0071] 图10为本发明实施例中的服务器的结构示意图。

具体实施方式

[0072] 为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0073] 本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0074] 另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
[0075] 本发明实施例提供一种数据存储方法及装置、服务器及可读存储介质,用于解决目前在物联网领域缺乏对eSIM配置数据进行安全存储的技术问题,实现了对物联网领域中的eSIM配置数据的安全存储以确保物联网领域中的eSIM配置数据的安全性。
[0076] 为了更好的理解本发明实施例提供的数据存储方法及装置、服务器及可读存储介质,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0077] 首先对本发明实施例的应用场景和网络架构进行介绍。请参见图1,图1为本发明实施例中的数据存储方法适用的网络架构的示意图,在图1所示的网络架构中可以包括多个M2M设备(例如图1中所示的第一M2M设备和第二M2M设备)和配置服务器,其中的M2M设备是指在M2M领域(或者称作物联网领域)中使用的设备,在M2M设备中安装有eSIM卡,M2M设备例如可以运行Android操作系统、iOS操作系统、Windows操作系统或其它操作系统等等,M2M设备例如包括汽车、共享单车、智能电表、智能水表、智能冰箱等设备,而配置服务器可以是指物联网领域中的远程配置管理平台中的服务器,在该配置服务器中存储有大量的用于对eSIM卡进行配置的eSIM配置数据,远程配置管理平台可以直接主动触发为M2M设备下载eSIM配置数据,并完成对M2M设备中的eSIM卡的相应配置。
[0078] 另外,如图1所示中的网络架构中还可以包括多个文件服务器,例如文件服务器1和文件服务器2,这些文件服务器和配置服务器之间可以基于SFTP(Secure File Transfer Protocol,安全文件传输协议)进行文件传输,即配置服务器可以将文件存储在配置服务器的本地,也可以通过SFTP发送给远端的文件服务器以实现文件的异地存储。
[0079] 由于M2M设备的eSIM配置数据均是存储在配置服务器中的,但是配置服务器容易遭到黑客的攻击导致其上存储的大量eSIM配置数据存在数据被篡改或被窃取等安全风险,本发明实施例的目的就在于提出一种应用于物联网领域的远程配置管理平台中的eSIM配置数据安全存储的方法,以防止黑客通过攻击配置服务器从而获取到明文的eSIM配置数据,进而提高物联网领域中eSIM配置数据的安全性。
[0080] 请参见图2,图2为本发明实施例提供的数据存储方法的流程图,本发明实施例提供的数据存储方法可以应用于前述的配置服务器或远程配置管理平台。该方法的流程描述如下。
[0081] 步骤21、将eSIM配置数据按切分为多个数据块;其中,eSIM配置数据用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置。
[0082] 可以将明文的经过编码(例如ASN.1编码)的eSIM配置数据按照数据流顺序切分为多个数据块,可以按照每块固定长度进行分块处理,而数据文件中最后不满固定分块大小的数据块可以按照实际大小进行存储,例如可以按照每个数据块1000字节的长度将10800字节的eSIM配置数据切分为11个数据块,这11个数据块中的前10个数据块均为1000字节,而第11个数据块则为800字节。当然,在具体实施过程中,也可以不按照固定大小对数据进行分块,本发明对此不作限制。
[0083] 步骤22、根据eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥。
[0084] 每条eSIM配置数据均具有唯一对应的eSIM标识信息,eSIM标识信息也可以称作eSIM关键标识信息,eSIM标识信息例如可以是eSIM配置数据对应的ICCID(Integrate Circuit Card Identity,集成电路卡识别码)或IMSI(International Mobile Subscriber Identification Number,国际移动用户识别码)等等。
[0085] 在具体实施过程中,可以通过配置服务器中的加密机通过特定的分散算法根据eSIM标识信息生成针对eSIM配置数据的数据加密密钥。例如图3所示的分散算法示意图,可以由加密机中存储的一个主密钥(例如RootKey1)和一个分散因子通过特定算法计算得到eSIM配置数据的数据加密密钥,例如可以将数据加密密钥以Kd表示。其中,分散因子可以是一个eSIM标识信息与一个类型信息的组合,类型信息即为如图3中的Type1,和Type2,例如分散因子可以是ICCID+Type1、ICCID+Type2、IMSI+Type1或IMSI+Type2。当采用不同的类型信息与不同的eSIM标识信息可以生成不同类型的密钥,例如将ICCID+Type1作为分散因子时可以生成数据加密密钥以及同时将ICCID+Type2作为分散因子时可以生成校验计算密钥,或者将IMSI+Type1作为分散因子时可以生成数据加密密钥以及同时将IMSI+Type2作为分散因子时可以生成校验计算密钥。其中,Kd可以是字符串,使用不同的分散因子所得到的Kd可以不同,但是相对于eSIM配置数据来说具有唯一性,这样可以确保对eSIM配置数据进行加密时的安全性。
[0086] 在获得了数据加密密钥Kd之后,进一步地可以执行步骤23,即用数据加密密钥Kd分别对多个数据块进行加密处理。
[0087] 步骤23、用数据加密密钥分别对多个数据块进行加密处理以获得多个密文数据块。
[0088] 例如经过分块处理获得了N个数据块,那么则可以均用所获得数据加密密钥Kd对这N个数据块进行相同的加密处理以获得N个密文数据块,本文中密文数据块即为经过加密处理后所得到的数据块。对N个数据块采用相同的加密处理可以确保加密的高效和一致性,这样可以便于统一快速解密,并且由于数据加密密钥Kd是根据eSIM标识信息动态生成的针对性密钥,所以可以在确保数据安全性的前提下尽量提高加解密的效率。
[0089] 在另一可能的实施方式中,在获得了数据加密密钥Kd之后,还可以将Kd作为主密钥进一步地利用分散算法将每个数据块的关键存储信息作为分散因子分别计算得到针对每个数据块的子密钥,再用对应的子密钥对每个数据块进行加密处理以获得加密后的多个数据块,而数据块的关键存储信息例如可以是数据块的存储位置或数据块的关键字段信息等能够唯一标识数据块的信息。由于利用每个数据块自身的关键存储信息来继续二次分散得到针对每个数据块的特定子密钥,所以可以进一步地提升数据解密的难度,加大加密后的eSIM配置数据被破解的难度,从而可以进一步地确保eSIM配置数据的安全性。
[0090] 在具体实施过程中,在采用密钥对数据块进行加密时例如可以采用目前通用的对称加密算法(例如AES,密钥加密长度至少为256位)或非对称加密算法对N个数据块分别进行加密,由于所采用的加密算法均是现有的,此处就不做详细说明了。
[0091] 另外,在对eSIM配置数据进行切块处理以获得N个数据块之后,还可以对数据块进行乱序处理,例如可以在对N个数据块进行加密之前先对N个数据块进行乱序处理,或者也可以在对N个数据块进行加密之后再进行乱序处理。无论采用哪种乱序机制,均可以将N个数据块的顺序打乱后存储,这样即使存储的数据被截获或窃取,由于不知晓乱序机制也就无法将N个数据块按照数据流顺序进行乱序还原,那么也就无法获得原始的真实数据,所以可以进一步地提升数据的安全性。
[0092] 以分块处理获得N个数据块为例,每个数据块存一行,N个数据块共分N行存放,例如行号以I表示,移位步长为T,按照(行号I-步长T)%行数N进行行号右移位运算得到移位序列结果,其中T
[0093] 步骤24、将多个密文数据块一起写入同一配置空文件以生成eSIM配置文件。
[0094] 例如采用前述的方式获得了N个密文数据块,则可以将这个N个密文数据块按照定好的行号顺序依次一起写入同一配置空文件,那么写入了N个密文数据块的配置空文件即为与eSIM配置数据对应的eSIM配置文件。
[0095] 步骤25、存储eSIM配置文件。
[0096] 在获得了eSIM配置文件之后,进一步地可以将其存储,可选的,配置服务器可以将获得的eSIM配置文件存储在本地以方便及时调用。在另一种可能的实施方式中,配置服务器还可以通过SFTP将所获得的eSIM配置文件发送给预定文件服务器,例如发送给如图1中所示的远端的文件服务器2进行存储,或者也可以发送给与配置服务器处于同一机房的其它服务器,由于预定文件服务器是不同于配置服务器的其它服务器,所以可以实现eSIM配置文件的异地存储,通过异地存储的方式,当配置服务器为M2M设备进行eSIM相关配置时则需要先从远端的预定文件服务器处获得eSIM配置文件,这样可以实现业务与eSIM配置数据的分离,以进一步地提升eSIM配置数据存储的安全性。
[0097] 本发明实施例中,在存储eSIM配置文件前可以先为其创建文件存储名,以便于后期从众多eSIM配置文件中选择需要调用的eSIM配置文件时能够快速地根据文件存储名即可准确地查找到对应eSIM配置文件。在一种可能的实施方式中,可以以eSIM配置数据的eSIM标识信息作为对应的eSIM配置文件的文件存储名,并且,在将eSIM标识信息作为文件存储名之前,还可以预先对eSIM标识信息进行模糊处理,以使得无法直接识别出eSIM标识信息,进而再将模糊后的eSIM标识信息作为eSIM配置文件的文件存储名。通过模糊处理的方式相当于是进一步的编码加密,这样是为了防止明文的eSIM标识信息被直接窃取,增加获得eSIM配置文件的难度以进一步地提升数据存储的安全性。
[0098] 在对eSIM标识信息进行模糊处理的过程中,可以先计算eSIM标识信息的有效长度,再将该有效长度添加在eSIM标识信息前的一个字节中以便于后续进行反模糊处理时根据这一个字节的有效长度来确定eSIM标识信息的实际长度,并且将其放置在最前面也是为了方便有效长度的读取,在其它的实施例中也可以将数据的有效长度放置其它预定的位置处,本发明实施例不做限制。
[0099] 若eSIM标识信息的字节长度为偶数,则可以进行奇偶字符位顺序颠倒得到新的文件存储名,例如图5A所示;若eSIM标识信息的字节长度为奇数,则可以在最后填充一个字节,例如图5B所示的添加一个字节F,再进行奇偶字符位顺序颠倒操作获得新的文件名。在具体实施过程中,当然还可以采用其它方式对eSIM标识信息进行模糊处理,此处只是以奇偶字符位顺序颠倒的方式进行举例说明,并不构成对本发明实施例的限制。
[0100] 在另一种可能的实施方式中,还可以对eSIM配置数据进行完整性校验,完整性校验的目的是为了确保数据在处理过程中的完整性,同时也可以检测eSIM配置数据在存储过程中是否有被篡改、以进一步确保数据存储的安全性。
[0101] 具体来说,可以在将eSIM配置数据进进行分块处理之前,采用如图3所示的分散算法以eSIM标识信息作为分散因子生成校验计算密钥Km,再通过Km对eSIM配置数据进行摘要计算以得到eSIM配置数据的原始完整性校验值M。然后,在生成eSIM配置文件时,可以先将原始完整性校验值M写入前述配置空文件的预定位置处,再将加密乱序后的N个密文数据块写入该配置空文件的其它位置,以最终生成eSIM配置文件,也就是说,对于需要进行完整性校验的方案来说,eSIM配置文件可以看作是原始完整性校验值M和所有密文数据块的结合。在本发明实施例中,将原始完整性校验值M存储在配置空文件的预定位置处,例如存储在配置空文件的第一行,这样可以方便后续直接从该预定位置处获得原始完整性校验值M,当然此处的第一行只是一种举例说明而并非限制,在其它实施例中也可以存储在例如最后一行等等其余位置。
[0102] 进一步地,在将eSIM配置文件进行存储之后,在调用eSIM配置文件之前配置服务器可以对eSIM配置文件进行还原处理,而具体的还原操作与之前所进行的安全存储方式有关,比如在之前进行了分块和加密处理,那么还原操作则应该包括解密和拼接,比如在之前还进行了乱序处理,那么还原操作则还应该包括打乱还原的处理,比如在之前还对文件存储名进行了模糊处理,那么还原操作则需要先进行反模糊处理以确定出eSIM配置文件的真实文件存储名,进而根据真实文件存储名查找到相应的eSIM配置文件。
[0103] 对于完整性校验的方案来说,配置服务器可以先从eSIM配置文件的预定位置处获得原始完整性校验值M,然后再对eSIM配置文件中除去原始完整性校验值M外的数据进行解密拼接等还原处理以获得还原后的eSIM配置数据,进而再通过校验计算密钥Km对该还原后的eSIM配置数据进行摘要计算以获得还原后的eSIM配置数据的校验值,例如之前将M存储在第一行,那么此时则需要去除第一行数据,并且计算去除第一行数据的剩余数据的校验值,为了便于描述,本发明实施例中将还原后的eSIM配置数据的校验值称作还原完整性校验值,例如可以以M’表示。
[0104] 进一步地,可以将M与M’进行匹配比较,若两者一样则可以确定eSIM配置数据是完整的,在存储过程中并没有被篡改或者在存储处理过程中并没有出错,这样可以尽量确保数据的完整性和安全性,若两者不一样则可以确定还原出的eSIM配置数据与原始的eSIM配置数据之间存在区别,进而可以进行相应的提示告警,以避免使用不完整或被篡改的eSIM配置数据而导致业务失败或存在安全风险。
[0105] 为了便于本领域技术人员对本发明实施例中的数据存储方法进一步地理解,以下再从整体上对本发明实施例中的数据存储方法进行介绍。
[0106] 请参见图6,图6为本发明实施例中的用于实施前述数据存储方法的数据存储系统的架构图,在实际中,可以将该数据存储系统理解为前文中提到的配置服务器或远程配置管理平台。由图6可见该数据存储系统包括分块加密模块、密钥管理模块、文件生成存储模块、文件解析模块和文件解密还原模块。其中,分块加密模块用于对eSIM配置数据进行分块加密,密钥管理模块用于根据eSIM标识信息生成加密密钥,例如生成数据加密密钥Kd和校验计算密钥Km,文件生成存储模块用于生成并存储eSIM配置文件,文件解析模块用于需要调用eSIM配置数据时对eSIM配置文件进行解析,文件解密还原模块用于对解析后的eSIM配置文件进行解密、反乱序和拼接等还原处理。
[0107] 具体地,请参见图7,图7为本发明实施例中的数据存储系统的另一架构示意图,首先,明文的eSIM配置数据经过完整性保护单元以获得原始的完整性校验值M,再通过分块处理单元切换为多个数据块,切块后的数据块再通过数据加密单元进行加密处理以获得多个密文数据块,在加密处理的过程中,可以利用加密机中的密钥分散单元和密钥存储单元,进一步地,再通过数据块乱序处理单元对多个密文数据块进行乱序处理,然后通过存储文件名命名单元对eSIM标识信息进行模糊处理以确定存储文件名,然后再以模糊处理得到的存储文件名对eSIM配置文件进行存储,可以本地存储,或者可以发送给其它文件服务器实现异地存储。在图7所示的架构图中,每个单元前面以一些数字表示,这些数字既可以表示对应的单元,在另一种可能的理解方式中,还可以表明各单元在执行前述数据存储方法过程中的执行顺序,例如“1、完整性保护单元”中的“1”可以用于表示“完整性保护单元”,也可以表明在执行前述的数据存储方法的过程中的“完整性保护单元”先于“2、分块处理单元”执行方法中的步骤。
[0108] 进一步地,在需要调用eSIM配置数据时,请参见图8,可以先从文件服务器查找得到eSIM配置文件,具体可以先通过反模糊处理以得到文件存储名,再根据文件存储名从文件服务器中存储的多个文件中查找到对应的eSIM配置文件,然后再通过数据解析处理单元对eSIM配置文件进行解析,然后再通过文件乱序还原单元对解析获得的eSIM配置数据进行乱序还原,再通过数据解密单元对乱序还原后的多个数据块进行解密,在解密的过程中是采用与加密对应的方式进行解密,此时可以再通过加密机中的密钥分散单元和密钥存储单元进行相应解密处理,进而再通过数据拼接处理单元对解密后的多个数据块进行拼接以得到明文的eSIM配置数据,并且在拼接处理之后还可以通过完整性校验单元进行完整性校验以确定所得到的明文的eSIM配置数据是否完整。与图7类似的,图8中的各单元中的数字理解可以与图7中各单元中的数字按照相同的理解方式理解。
[0109] 本发明实施例中,可以将用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置的eSIM配置数据切分为多个数据块,以及根据eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥,再用生成的数据加密密钥分别对多个数据块进行加密处理以获得多个密文数据块,最后再将多个密文数据块一起写入同一配置空文件以生成eSIM配置文件并将eSIM配置文件进行存储,由于采用数据分块以及对分块数据分别进行加密的处理方式,这样获得的eSIM配置文件相对于明文的eSIM配置数据来说,可以加大黑客篡改或窃取数据的难度以提高eSIM配置数据存储的安全性。并且,用来对数据块进行加密的数据加密密钥是根据eSIM配置数据唯一对应的eSIM标识信息即时动态生成的,由于每条eSIM配置数据的eSIM标识信息均是唯一的,相当于是针对每条eSIM配置数据针对性地使用数据加密密钥进行加密,这样又可以在一定程度上加大数据解密的难度,以进一步地增加eSIM配置数据存储的安全性,也就是说,本发明实施例提出了一种针对物联网领域的eSIM配置数据的安全存储机制,以确保eSIM配置数据的安全存储,加大eSIM配置数据被篡改或窃取的难度,增强了eSIM配置数据存储的安全性。
[0110] 基于同一发明构思,请参见图9,本发明实施例提供一种数据存储装置,该数据存储装置可以理解为前文中提到的配置服务器或远程配置管理平台。该数据存储装置包括数据切分模块91、密钥管理模块92、加解密模块93、文件生成模块94和存储模块95,而且本发明实施例中数据切分模块91、密钥管理模块92、加解密模块93、文件生成模块94和存储模块95可以通过硬件处理器来实现相关功能单元。其中:
[0111] 数据切分模块91,用于将eSIM配置数据切分为多个数据块;其中,eSIM配置数据用于在eSIM卡中生成卡文件系统及进行卡应用和个性化卡数据配置;
[0112] 密钥管理模块92,用于根据eSIM配置数据唯一对应的eSIM标识信息生成数据加密密钥;
[0113] 加解密模块93,用于用数据加密密钥分别对多个数据块进行加密处理以获得多个密文数据块;
[0114] 文件生成模块94,用于将多个密文数据块一起写入同一配置空文件以生成eSIM配置文件;
[0115] 存储模块95,用于存储eSIM配置文件。
[0116] 在一种可能的实施方式中,加解密模块93可以用于根据数据加密密钥和每个数据块的关键存储信息,分别生成对应于每个数据块的子密钥;以及用对应的子密钥对每个数据块进行加密处理以获得多个密文数据块。
[0117] 在一种可能的实施方式中,数据存储装置还可以包括乱序处理模块,用于在文件生成模块94将多个密文数据块一起写入同一配置空文件以获得eSIM配置文件之前,将多个数据块按照第一乱序规则进行乱序处理,或,将多个密文数据块按照第二乱序规则进行乱序处理。
[0118] 在一种可能的实施方式中,密钥管理模块92还用于在数据切分模块91将eSIM配置数据切分为多个数据块之前,根据eSIM标识信息生成校验计算密钥;
[0119] 可选的,数据存储装置还可以包括完整性校验模块,用于通过校验计算密钥对eSIM配置数据进行摘要计算以获得eSIM配置数据的原始完整性校验值;
[0120] 文件生成模块94还用于将原始完整性校验值写入配置空文件的预定位置及将多个密文数据块一起写入配置空文件的其它位置以获得eSIM配置文件。
[0121] 在一种可能的实施方式中,完整性校验模块还用于在存储模块95存储eSIM配置文件之后,从eSIM配置文件的预定位置处获得原始完整性校验值;
[0122] 数据存储装置还包括数据还原模块,用于对eSIM配置文件中除去原始完整性校验值外的数据进行解密拼接处理以获得还原后的eSIM配置数据;
[0123] 完整性校验模块还用于通过校验计算密钥对还原后的eSIM配置数据进行摘要计算以获得还原后的eSIM配置数据的还原完整性校验值,并根据原始完整性校验值与还原完整性校验值是否匹配以确定还原后的eSIM配置数据的完整性。
[0124] 在一种可能的实施方式中,存储模块95还用于将eSIM标识信息进行模糊处理以获得模糊后的eSIM标识信息,通过模糊处理使得无法直接识别eSIM标识信息;将模糊后的eSIM标识信息作为eSIM配置文件的文件存储名;以及以该文件存储名存储eSIM配置文件。
[0125] 在一种可能的实施方式中,存储模块95用于将eSIM配置文件发送给预定文件服务器,以通过预定文件服务器存储eSIM配置文件。
[0126] 由于本发明实施例提供的数据存储装置可以用于执行前述的数据存储方法所包括的步骤,因此对于本发明实施例中数据存储装置包括的各功能模块所能够实现的功能及一些实现过程可参考前述的数据存储方法实施例部分的描述,在此不再赘述。
[0127] 基于同一发明构思,请参见图10,本发明实施例提供一种服务器,该服务器包括至少一个处理器101(在图10中是以一个处理器101进行图示说明),与至少一个处理器101连接的存储器102。其中,存储器102存储有可被至少一个处理器101执行的指令,至少一个处理器101通过执行存储器存储的指令可以执行前述的数据存储方法的步骤。
[0128] 处理器101具体可以是通用的CPU(中央处理器),或者可以是ASIC(Application Specific Integrated Circuit,特定应用集成电路),或者可以是一个或多个用于控制程序执行的集成电路,可以是基带芯片,等等。
[0129] 存储器102的数量可以是一个或多个,存储器102可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、RAM(Random Access Memory,随机访问存储器)、SRAM(Static Random Access  Memory,静态随机访问存储器)、PROM(Programmable Read Only Memory,可编程只读存储器)、ROM(Read Only Memory,只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦除可编程只读存储器)、磁性存储器、磁盘、光盘等等,前述的eSIM配置数据和eSIM配置文件例如可以存储在硬盘中。
[0130] 通过对处理器101进行设计编程,可以将前述的数据存储方法对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的数据存储方法的步骤,如何对处理器101进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
[0131] 基于同一发明构思,本发明实施例中还提供一种可读存储介质,所述可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如前述的数据存储方法的步骤。
[0132] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0133] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0134] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0135] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0136] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。