CN110502243B - 用于在集成电路卡中生成个性化简档包数据的方法 - Google Patents
用于在集成电路卡中生成个性化简档包数据的方法 Download PDFInfo
- Publication number
- CN110502243B CN110502243B CN201910411961.4A CN201910411961A CN110502243B CN 110502243 B CN110502243 B CN 110502243B CN 201910411961 A CN201910411961 A CN 201910411961A CN 110502243 B CN110502243 B CN 110502243B
- Authority
- CN
- China
- Prior art keywords
- file
- personalized
- field
- hexadecimal
- offset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
- G06F21/35—User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
- H04W12/42—Security arrangements using identity modules using virtual identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
- H04W8/265—Network addressing or numbering for mobility support for initial activation of new user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Radar Systems Or Details Thereof (AREA)
- Auxiliary Devices For And Details Of Packaging Control (AREA)
Abstract
本申请的各实施例涉及用于在集成电路卡中生成个性化简档包数据的方法。一种方法可以用于在集成电路卡中生成个性化简档包数据。表包括与待生成的订阅相对应的数据记录。每个记录包括用于存储不同类型的个性化值的个性化字段。对于给定订阅,简档包的文件是ASCII格式,并且包括与用于存储不同类型的个性化值的一个或多个字段相对应的待个性化字段。用于简档包的ASCII格式的文件转换为十六进制码。针对给定订阅计算偏移表,偏移表为待个性化的每个字段指示十六进制简档中的相应偏移。在待个性化的相应的个性化字段中替换来自个性化字段的所述个性化值。
Description
相关申请的交叉引用
本申请要求于2018年5月18日提交的意大利专利申请No.102018000005510的优先权,该申请通过引用并入本文。
技术领域
本公开的实施例涉及一种用于在集成电路卡中生成个性化简档包数据的方法、相应的系统和计算机程序产品。
背景技术
在eUiCC(嵌入式UICC)卡中,已知提供个性化简档包数据的生成。
简档是存储在eUICC中的文件结构、数据和应用的组合。简档包是使用可互操作描述格式的个性化简档,该个性化简档被传输到eUICC以便加载和安装简档。
例如,联盟SIMalliance定义了一种可互操作格式来表示简档包,例如在SIMalliance参考文档“eUICC Profile Package:Interoperable Format TechnicalSpecification”中定义的,该参考文档从URL http://simalliance.org/wp-content/uploads/2015/3/Profile-interoperability-technical-specification_V1-0.pdf可获取。这种可互操作格式表示要由简档创建者构建并且要加载到eUICC卡中以便根据简档包的内容对eUICC进行个性化的数据结构。简档创建者是负责根据MNO(移动网络运营商)要求来创建简档包的实体。
简档包以ASCII文本格式、特别是ASN.1(抽象语法表示法一)定义,并且包括一组待个性化字段,即,在其中要写入特定于给定订阅的值,即,通过智能卡可访问的对服务的订阅,例如移动电话通信服务。只有在转换为DER(可分辨编码规则)格式(其是十六进制格式)之后,系统(服务器或eUiCC卡)才能使用简档包。然而,从ASN.1到DER格式的转换非常耗时。
图1示出了eUICC卡在其中操作的用于IC卡的个性化的系统的示例的示意图。
用附图标记50表示eUICC卡,其例如驻留在移动电话中,移动电话在图1中未示出。用51表示可以向数据准备服务器52发出简档订购PO命令的移动网络(MNO)运营商。这样的数据准备服务器52通常包括图2所示的唯一的简档数据库11a,简档数据库11a包括下面更好地描述的个性化数据表11a,并且这样的数据准备服务器52另外包括其他模块,如OTARFM(空中远程文件管理)引擎和密钥管理器。数据准备服务器52基本上也可以作为eUICC50的个性化的数据创建器进行操作,即,被配置为准备给定订阅的个性化简档包12a以存储在eUICC 50中,例如通过OTA(空中)信道。同时,MNO 51向安全路由服务器53发送简档启用PE命令,安全路由服务器53被配置为保护简档的路由并且向UICC卡50发送简档下载启用命令PDE,从而允许下载和存储个性化eUICC卡50中的简档包12a。
图3示出了表示用于例如在数据准备服务器52处使用图2所示的实体11a、12a、13来生成个性化简档的方法(附图标记100表示)的流程图。
方法100包括提供个性化数据表11a的操作105,个性化数据表11a通常是简档数据库11的一部分或者从简档数据库11获取。在所描述的示例中,这种个性化数据表11a是按行和列组织的简单的表数据结构。这种数据表11a包括与表11a的行相对应的多个记录R1......Rn。每个第i记录Ri对应于包括具有个性化简档包12a的待个性化的n个订阅50的集合中的所确定的第i集成电路卡50。在个性化过程中,例如订阅数目n以及因此记录R1......Rn的数目n可以达到一百万。
然后,个性化数据表11a的每列包括个性化字段T1......Tm,m是表11a中的字段的数目,其中存储有不同类型的个性化值。在个性化字段T1......Tm中的一些字段中可以存储有加密密钥,在其他字段中可以存储有PIN号、唯一ID和其他个性化数据。因此,给定订阅50对应于个性化记录Ri,该特定给定订阅50的个性化值存储在这些字段中。通用个性化字段由Tj表示,j是从1到m的个性化字段的索引。
然后,参考图3中的方法100的流程图,在操作110中,提供其中存储有简档包的简档文件12。这样的简档包采用ASCII格式并且由ASN.1文本表示。该简档包文件12例如由简档设计者设计,简档设计者基于上述eUICC可互操作格式根据待个性化的该组订阅50的必要性来设计简档元素,表11a也参考这些简档元素。
因此,通过这样的脚本编写这样的ASCII简档包文件12以包括待个性化p个字段F1......Fk......Fp,k是通用字段Fk的索引,其与个性化表11a中的个性化字段T1......Tm的子集或所有个性化字段相对应,并且其中可以写入相应的个性化字段T1......Tm中的个性化值。简档包文件12中的这些待个性化的字段F1......Fk......Fp接受十六进制值,并且通常用初始化值(例如,默认的十六进制值)进行初始化(例如,在下面描述的替换操作115之前)。
下面在表1中提供了简档包文件12中的这种简档包的一部分的示例,其也在图2中示出。
表1
如图所示,专用于ICCID(集成电路卡ID)值的基本文件ef-ccid包括指令fillFileContent(参数),该参数表示可定制的固定长度字段,即待个性化字段,其在图2用F1表示,该字段对应于数据表11a中的ICCID值的个性化字段。在该示例中,ICCID的待个性化字段被设置为初始值980000000000000040F5'H,H表示十六进制值。基本文件Ef-dir还包括与指令fillFileContent相对应的另外两个可定制字段F2、F3。在这些情况下,在指令fillFileContent之后添加偏移值以允许将该值写入文件中的指定偏移位置。因此,重要的是,观察到ASCII包简档文件12包括在文件中写入个性化值并且包括在这样的文件中的给定偏移位置写入。这些方法和程序本身是已知的,并且例如在已经提到的SIMalliance参考文献“eUICC Profile Package:Interoperable Format Technical Specification”中详细描述,特别是在第19页的图2详细描述了刚刚汇总的'File'类型的处理。
因此,然后在操作115中,将简档包12文件转换为个性化简档包12a文件,以在待个性化字段F1......Fk......Fp中替换与必须存储个性化简档包12a的特定订阅50相对应的记录Ri的相应个性化字段T1......Tp中的值,如上所述的数据表11a中的个性化字段T1......Tm的子集或全部个性化字段。
因此,通过替换操作115获取个性化简档包文件12a。
随后,由于只有以十六进制码表示的简档包可以由eUICC卡50使用和激活,因此个性化简档包文件12a通过DER转换操作120转换为十六进制简档包文件13。十六进制简档包文件13由十六进制码HC1......HCq的序列形成。
然后可以将十六进制简档包文件13下载到eUICC 50,如参考图1所描述的。
而且,在标准GSM情况域中,UICC卡的多样化是通过由所谓的“个性化机器”执行的一批脚本获取的。每个脚本包括更改所有待个性化字段的命令。每个脚本都是从头开始生成的。同样,在这种情况下,脚本生成是一个耗时的操作。
因此,目前,eUicc卡中的简档包的个性化要求:设计主简档(例如,简档12);将必须个性化的简档的每个字段替换为从预先生成的值表(例如,表11a)中提取的ASN.1个性化值;并且然后执行从ASN1到DER格式的转换。
因此,用于提供个性化简档包数据的生成的该方法的性能很低,因为对于每个个性化简档执行ASN.1值内的字段的替换和到DER格式的转换。
特别地,要对主ASN.1简档进行个性化的字段与DER文件的最终值之间的关联需要计算DER格式文件的所有偏移索引值,因为该信息没有被包含在ASN1简档本身内;这种偏移计算操作必须为每个字段手动执行,因此它很容易暴露于人为错误,通常还需要很长的配置时序。
发明内容
本公开的实施例涉及用于在智能卡中生成个性化简档包数据的解决方案。提供表,该表包括与待个性化的多个订阅相对应的多个数据记录。每个记录包括用于存储不同类型的个性化值的多个个性化字段。该方法包括为多个订阅中的给定订阅提供用于简档包的ASCII格式的文件,该文件包括待个性化的字段,待个性化的字段与用于存储不同类型的个性化值的字段中的一个或多个字段相对应。将用于简档包的ASCII格式的文件转换为十六进制码格式文件,特别是DER(可分辨编码规则)格式,从而获取第一十六进制简档。选择存储在与给定订阅相对应的记录中的、来自表中的个性化字段的个性化值,并且在待个性化的相应的个性化字段中替换来自个性化字段的个性化值。
本公开的实施例特别涉及使用包括脚本并且以DER格式转换的ASCII简档的UICC(通用集成电路卡)卡。
基于前面的描述,需要能够克服一个或多个先前概述的缺点的解决方案。
根据一个或多个实施例,这样的目的通过具有在所附权利要求中具体阐述的特征的方法来实现。此外,实施例涉及一种用于集成电路卡模块的个性化的相关系统以及一种相应的相关计算机程序产品,其可加载在至少一个计算机的存储器中并且包括用于在产品在计算机上运行时执行该方法的步骤的软件代码部分。如本文中使用的,对这样的计算机程序产品的引用旨在等同于对包含用于控制计算机系统协调该方法的执行的指令的计算机可读介质的引用。对“至少一个计算机”的引用显然旨在突出说明本公开以分布式/模块化方式来实现的可能性。
如前所述,本公开提供了一种关于在集成电路卡中生成个性化简档包数据的方法的解决方案,该方法包括以下操作:提供表,该表包括与待个性化的多个订阅相对应的多个数据记录,每个记录包括用于存储不同类型的个性化值的多个个性化字段;为多个订阅中的给定订阅提供用于简档包的ASCII格式的文件,该文件包括待个性化的字段,待个性化的字段与用于存储不同类型的个性化值的字段中的一个或多个字段相对应;将用于简档包的ASCII格式的文件转换为十六进制码格式文件,特别是DER(可分辨编码规则)格式,从而获取第一十六进制简档;选择存储在与给定订阅相对应的记录中的、来自表中的个性化字段的个性化值,并且在待个性化的相应的个性化字段中替换来自个性化字段的个性化值。该方法包括计算针对给定订阅的偏移表,偏移表为待个性化的每个字段指示十六进制简档中的相应偏移;在待个性化的相应的所述个性化字段中替换来自所述个性化字段的所述个性化值,包括在由所述偏移表中的所述相应偏移为每个个性化字段指示的位置处直接替换十六进制格式的所述文件中的待个性化的所述字段中的所述值。
在变型实施例中,本文中描述的解决方案可以包括,提供用于所述简档包的所述ASCII格式的所述文件包括:引入与待个性化的所述字段相对应的元数据、特别是注释,所述元数据包括用于为相应的所述个性化字段创建所述偏移表中的行的指令;将用于所述简档包的所述ASCII格式的所述文件转换为十六进制格式的初始文件,并且将十六进制格式的所述文件存储为十六进制格式的前一文件;读取用于所述简档包的所述ASCII格式的文件并且查找元数据;执行偏移计算迭代过程,包括为与读取注释相对应的个性化字段创建偏移表的行,修改待个性化字段中包含的初始化值,获取用于简档包的ASCII格式的当前已修改文件,将所述当前十六进制文件与前一十六进制文件进行比较,以第一差异的位置作为与所述个性化字段相对应的偏移值,所述个性化字段与所述读取注释相对应,将当前十六进制文件与前一十六进制文件进行比较,将偏移值写入偏移表的所创建的行中的偏移字段,继续读取下一元数据并且重复迭代过程,并且在读取最后的元数据之后,执行在由所述偏移表中的所述相应偏移为每个个性化字段指示的位置处直接替换十六进制格式的所述文件中的待个性化的所述字段中的所述值的操作。
在变型实施例中,本文中描述的解决方案可以包括,在修改步骤中,修改在前一迭代处获取的所注释的包简档文件,并且所述比较包括比较在当前迭代和所述前一迭代处获取的所述十六进制简档。
在变型实施例中,本文中描述的解决方案可以包括,在修改步骤中,总是修改初始注释的包简档文件,并且所述比较包括将当前十六进制简档与十六进制格式的初始文件进行比较。
在变型实施例中,本文中描述的解决方案可以包括,ASCII文件包含ASN.1符号的脚本,并且元数据是出现可定制字段的行o中的注释,注释传达与可定制字段相对应的个性化字段。
在变型实施例中,本文中描述的解决方案可以包括,ASCII文件是ASN.1格式文件,并且十六进制码是DER码。
在变型实施例中,本文中描述的解决方案可以包括,修改可定制字段中的值包括改变可定制字段中的值的第一字节。
本公开还提供了关于一种用于集成电路卡、特别是eUICC卡的个性化的系统的解决方案,该系统包括移动网络运营商和数据准备服务器,数据准备服务器包括包含个性化表的简档数据库,这样的数据准备服务器被配置为根据任何上述实施例的方法生成个性化简档包。
在变型实施例中,本文中描述的系统可以包括被配置为读取ASCII文件并且执行迭代过程的预处理模块。
本公开还提供了关于一种计算机程序产品的解决方案,该计算机程序产品可以被加载到至少一个处理器的存储器中并且包括用于实现任何前述实施例的方法的软件代码部分。
附图说明
现在将参考附图来描述本公开的实施例,附图纯粹通过非限制性示例的方式提供,并且在附图中:
图1至3在前面已经描述;以及
图4示出了说明本文中描述的方法的实施例的示意流程。
具体实施方式
在以下描述中,给出了很多具体细节以提供对实施例的透彻理解。可以在没有一个或多个特定细节的情况下或者利用其他方法、组件、材料等来实践实施例。在其他情况下,未详细示出或描述公知的结构、材料或操作以避免模糊实施例的各方面。
本说明书中对“一个实施例”或“实施例”的引用表示结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。因此,贯穿本说明书在各个地方出现的短语“在一个实施例中”或“在实施例中”不一定指的是同一实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。
本文中提供的标题仅为了方便,而不解释实施例的范围或含义。
对任何标准的引用均被视为对在本专利的有效提交日有效的任何标准的引用。
已经参考图1至图4描述的部件、元件或组件由先前在这些图中使用的相同参考标记来表示;在下文中将不再重复对这些先前描述的元件的描述,以免使本详细描述过重。
本文中基本上关于参考图2描述的用于在集成电路卡中生成个性化简档包数据的方法而描述的解决方案另外提供了用于计算给定订阅的偏移表的过程,该偏移表为个性化包简档中的每个字段指示十六进制简档中的相应偏移。这样的偏移表用于执行个性化,以直接在转换后的十六进制简档包文件中在表中为每个个性化字段指示的偏移位置处写入个性化值。
现在,参考图4,示出了用于在集成电路卡中生成个性化简档包数据的方法的实施例。
在图4中,特别地示出了表示这种方法的实施例的流程图。
这样的方法200包括,在步骤210中,对于给定订阅50,写入带注释的简档包文件22。这是一种ASCII文件,如简档包12文件,其中,除了编写必要的简档元素之外,设计者写入与每个待个性化字段F1......Fp相对应的元数据N1......Np,特别是在待个性化字段之后的同行中。特别地,设计者在给定的待个性化字段Fk位于带注释的简档包文件22中的行上的文本评论内引入注释作为元数据N1......Np,以便标记待个性化字段。
以上参考图2描述的简档包12的ASN.1脚本的示例(这里也可以使用)以下面的表2中所示的方式注释:
表2
对应于文件12中每个待个性化字段Fk,例如,fillFileContent:'980000000000000040F5',H,其中'980000000000000040F5'对应于待个性化字段,在步骤210中引入形式为'@ReplaceTag=Tk'的注释Nk,即,其中Tk是与该行上的可定制字段Fk相对应的表11a的个性化字段的指示,而ReplaceTag是用于在发现这种注释时读取带注释的简档包文件22(将在下面描述的偏移计算过程225)的指令。
添加元数据Nk、特别是注释,使得它不在DER格式转换操作中转换,即,在ASCII文件中添加元数据Nk不改变从这种ASCII文件获取的DER文件。
然而,根据本文中描述的解决方案,例如在数据准备服务器52a处提供预处理模块,该预处理模块被配置为读取带注释的简档包文件22(参见步骤230)并且如下所述解释元数据Nk。
然后,在步骤220中,在DER简档包文件23(即,十六进制文件)中转换带注释的简档包文件22文件。带注释的简档包22文件和DER简档包文件23也被存储为这种文件22、23的初始版本22(0)、23(0),并且DER简档包23也被存储为前一十六进制文件23(k-1)。上标表示一系列随后经修改的ASCII或DER文件中的版本号,因为它将在下面说明。
然后,执行用于计算给定订阅50的偏移表25的迭代过程,以为每个待个性化字段Fk指示个性化十六进制简档33中的相应偏移值Ok。
这种迭代过程包括读取带注释的简档包22并且寻找注释Nk的步骤。这里,k表示对其执行迭代过程的第k次迭代的通用第k注释Nk。当然,在第一次迭代中,读取操作230寻找与待个性化字段F1相对应的第一注释,其在示例中是N1,并且指示个性化字段T1,即“@ReplaceTag=T1”。
然后,在步骤240中,创建行,即,与读取注释Nk相对应的个性化字段Tk的偏移表25的记录。该行包括两个字段:个性化字段Tk的标签和用于相应偏移值Ok的字段,如下面更好地描述的。
偏移表25包括两个字段,如下面表1中所示,包括两个字段:一个字段包含在文件22中读取的个性化字段Tk的指示,另一字段包含所计算的相应的偏移Ok。在表3中示出,在步骤240之后,创建与T1相对应的第行。
Tk | Ok |
T1 |
表3
然后,在步骤250中,修改带注释的简档包文件22的前一版本22(k-1)。修改与个性化字段Tk相对应的可定制字段Fk中的值,特别是,改变该值的第一字节,即,改变与注释Nk相关的可定制字段Fk的值。获取经修改的或改变后的包简档23(k)。
然后,在步骤260中,将经修改的包简档23(k)转换为DER格式,以获取经修改的十六进制包简档23(k)。
在步骤270中,将经修改的十六进制包简档22(k)与例如也被存储的在前一迭代k-1处获取的经修改的十六进制包简档22(k-1)进行比较。
前一经修改的十六进制包简档23(k-1)和经修改的十六进制包简档23(k)通常通过相应ASCII包简档22(k-1)、22(k)的转换来获取,其仅在步骤250处改变的字节方面不同。因此,当前经修改的十六进制包简档23(k)中的第一不同的十六进制码的位置标记待个性化字段Fk所在的偏移Ok的位置。因此,计算当前经修改的十六进制包简档23(k)中的代码的数目以达到这种差异并且将其视为个性化字段Tk的偏移Ok,其被写入在迭代k期间创建的相应行中的偏移表25的偏移字段中。在表4中,示出了在步骤270之后的偏移表25,参考脚本的上述示例,其中第行对应于个性化字段T1。
Tk | Ok |
T1 | O1 |
表4
然后,在步骤280中验证是否找到了带注释的包简档文件22中的最后的注释。在否定控制返回迭代过程的开始时,继续从找到的最后的注释中读取230文件22。当找到下一注释Nk+1时,执行步骤240-270,以在偏移表25中为个性化字段Tk+1创建新的行并且通过上述修改步骤250和比较步骤270获取相应的下一偏移Ok+1。
强调的是,在刚刚描述的实施例中,在修改步骤240中,修改在前一迭代k-1处获取的带注释的包简档文件22,其在开始时是初始的所注释的ASCII文件22,然后在每次迭代时在待个性化字段中添加字节的修改,并且在比较步骤270中,比较在当前和前一迭代获取的DER文件,即DER文件23(k)和23(k-1)。
然而,在变型实施例中,修改步骤250可以总是对初始的带注释的包简档文件22(即,文件22(0))进行操作。在这种情况下,在比较步骤中将经修改的文件DER文件23(k)与初始DER文件23(0)与十六进制格式的初始文件进行比较。
如果在步骤280中确认已经处理了ASCII包简档文件22中的最后的注释,则偏移表25完成。
在表5中,示出了在步骤270之后的偏移表25,参考ASN.1脚本的上述示例,其中第行对应于个性化字段T1。
Tk | Ok |
T1 | O1 |
T4 | O4 |
T6 | O6 |
表5
然后,在步骤290中,执行在相应的待个性化字段F1......Fp中替换来自表11a的个性化字段T1......Tm中的个性化值的操作,包括将为每个个性化字段Tk指示的位置处的十六进制格式23中的文件(即,初始DER文件23(0))中的待个性化字段中的这些值直接替换为偏移表25中的相应偏移Ok。
以这种方式,个性化值直接在十六进制文件中的正确的偏移位置处被替换,从而相对于将所有个性化值替换为ASCII格式并且将转换后的个性化文件12a替换为DER格式的图2的方法,避免了偏移计算中的错误并且产生更快的方法。
因此,所描述的解决方案具有更好的性能,因为要在主ASN.1简档内个性化的字段与DER文件的最终值之间的关联不需要计算DER格式文件的所有的偏移索引值,因为该信息是通过使用ASN1文件的注释和同一文件的更改的自动过程获取的,因此避免了人为错误和长的配置时序。
当然,在不损害本发明原理的情况下,构造细节和实施例可以相对于本文中仅作为示例描述和说明的内容而有很大变化,而不会因此脱离如所附权利要求定义的本发明的范围。
Claims (20)
1.一种用于在集成电路卡中生成个性化简档包数据的方法,所述方法包括:
提供表,所述表包括与待生成的多个订阅相对应的多个数据记录,每个记录包括用于存储不同类型的个性化值的多个个性化字段;
为所述多个订阅中的给定订阅提供用于所述简档包的ASCII格式的文件,所述文件包括待个性化的字段,待个性化的所述字段与用于存储不同类型的个性化值的所述字段中的一个或多个字段相对应;
将用于所述简档包的所述ASCII格式的所述文件转换为十六进制码格式文件,从而获取第一十六进制简档,所述十六进制码格式文件是DER可分辨编码规则格式;
选择存储在与所述给定订阅相对应的所述记录中的、来自所述表中的所述个性化字段的个性化值;
计算针对所述给定订阅的偏移表,所述偏移表为待个性化的每个字段指示所述十六进制简档中的相应偏移;以及
在待个性化的相应的所述个性化字段中,替换来自所述个性化字段的所述个性化值,包括在由所述偏移表中的所述相应偏移为每个个性化字段指示的位置处、直接替换十六进制格式的所述文件中的待个性化的所述字段中的所述值。
2.根据权利要求1所述的方法,其中提供用于所述简档包的所述ASCII格式的所述文件包括:
引入与待个性化的所述字段相对应的元数据、特别是注释,所述元数据包括用于为相应的所述个性化字段创建所述偏移表中的行的指令;
将用于所述简档包的所述ASCII格式的所述文件转换为十六进制格式的初始文件,并且将十六进制格式的所述文件存储为十六进制格式的前一文件;
读取用于所述简档包的所述ASCII格式的文件,并且查找元数据;以及
执行偏移计算迭代过程。
3.根据权利要求2所述的方法,其中执行所述偏移计算迭代过程包括:
为与读取注释相对应的所述个性化字段创建所述偏移表的行;
修改待个性化的所述字段中包含的初始化值,获取用于所述简档包的所述ASCII格式的当前已修改文件;
将用于所述简档包的所述ASCII格式的所述当前已修改文件转换为当前十六进制文件;
将所述当前十六进制文件与前一十六进制文件进行比较,以第一差异的位置作为与所述个性化字段相对应的偏移值,所述个性化字段与所述读取注释相对应;
将所述偏移值写入所述偏移表的所创建的所述行中的偏移字段;以及
继续读取下一元数据,并且重复所述迭代过程。
4.根据权利要求3所述的方法,还包括:在读取最后的元数据之后,执行在由所述偏移表中的所述相应偏移为每个个性化字段指示的位置处、直接替换十六进制格式的所述文件中的待个性化的所述字段中的所述值的操作。
5.根据权利要求3所述的方法,其中修改所述初始化值包括:修改在前一迭代处获取的所注释的包简档文件,并且所述比较包括:比较在当前迭代和所述前一迭代处获取的所述十六进制简档。
6.根据权利要求3所述的方法,其中修改所述初始化值包括:总是修改初始注释的包简档文件,并且所述比较包括:将当前十六进制简档与十六进制格式的初始文件进行比较。
7.根据权利要求2所述的方法,其中所述ASCII格式的文件包含ASN.1符号的脚本,并且所述元数据是出现可定制字段的行o中的注释,所述注释传达与所述可定制字段相对应的所述个性化字段。
8.根据权利要求1所述的方法,其中所述ASCII格式的文件是ASN.1格式文件,并且所述十六进制码是DER码。
9.根据权利要求1所述的方法,其中可定制字段中的值通过改变所述可定制字段中的所述值的第一字节而被修改。
10.一种用于集成电路卡的个性化的系统,所述系统包括移动网络运营商和数据准备服务器,所述数据准备服务器包括简档数据库,所述简档数据库包括个性化表,其中所述数据准备服务器包括处理器和存储器,所述存储器存储要由所述处理器执行的指令,所述指令用于通过执行以下步骤生成个性化简档包:
提供表,所述表包括与待生成的多个订阅相对应的多个数据记录,每个记录包括用于存储不同类型的个性化值的多个个性化字段;
为所述多个订阅中的给定订阅提供用于所述简档包的ASCII格式的文件,所述文件包括待个性化的字段,待个性化的所述字段与用于存储不同类型的个性化值的所述字段中的一个或多个字段相对应;
将用于所述简档包的所述ASCII格式的所述文件转换为十六进制码格式文件,从而获取第一十六进制简档,所述十六进制码格式文件是DER可分辨编码规则格式;
选择存储在与所述给定订阅相对应的所述记录中的、来自所述表中的所述个性化字段的个性化值;
计算针对所述给定订阅的偏移表,所述偏移表为待个性化的每个字段指示所述十六进制简档中的相应偏移;以及
在待个性化的相应的所述字段中,替换来自所述个性化字段的所述个性化值,包括在由所述偏移表中的所述相应偏移为每个个性化字段指示的位置处、直接替换十六进制格式的所述文件中的待个性化的所述字段中的所述值。
11.根据权利要求10所述的系统,还包括被配置为读取所述ASCII格式的文件的预处理模块。
12.根据权利要求10所述的系统,其中提供用于所述简档包的所述ASCII格式的所述文件包括:
引入与待个性化的所述字段相对应的元数据、特别是注释,所述元数据包括用于为相应的所述个性化字段创建所述偏移表的行的指令;
将用于所述简档包的所述ASCII格式的所述文件转换为十六进制格式的初始文件,并且将十六进制格式的所述文件存储为十六进制格式的前一文件;
读取用于所述简档包的所述ASCII格式的所述文件,并且查找元数据;以及
执行偏移计算迭代过程。
13.根据权利要求12所述的系统,还包括被配置为读取所述ASCII格式的文件并且执行所述迭代过程的预处理模块。
14.根据权利要求12所述的系统,其中执行所述偏移计算迭代过程包括:
为与读取注释相对应的所述个性化字段创建所述偏移表的行;
修改待个性化的所述字段中包含的初始化值,获取用于所述简档包的所述ASCII格式的当前已修改文件;
将用于所述简档包的所述ASCII格式的所述当前已修改文件转换为当前十六进制文件;
将所述当前十六进制文件与前一十六进制文件进行比较,以第一差异的位置作为与所述个性化字段相对应的偏移值,所述个性化字段与所述读取注释相对应;
将所述偏移值写入所述偏移表的所创建的所述行中的偏移字段;以及
继续读取下一元数据,并且重复所述迭代过程。
15.根据权利要求10所述的系统,其中所述系统包括用于eUICC卡的所述个性化的系统。
16.一种计算机存储介质,包括用于实现包括以下步骤的方法的软件代码的部分:
提供表,所述表包括与待生成的多个订阅相对应的多个数据记录,每个记录包括用于存储不同类型的个性化值的多个个性化字段;
为所述多个订阅中的给定订阅提供用于简档包的ASCII格式的文件,所述文件包括待个性化的字段,待个性化的所述字段与用于存储不同类型的个性化值的所述字段中的一个或多个字段相对应;
将用于所述简档包的所述ASCII格式的所述文件转换为十六进制码格式文件,从而获取第一十六进制简档,所述十六进制码格式文件是DER可分辨编码规则格式;
选择存储在与所述给定订阅相对应的所述记录中的、来自所述表中的所述个性化字段的个性化值;
计算针对所述给定订阅的偏移表,所述偏移表为待个性化的每个字段指示所述十六进制简档中的相应偏移;以及
在待个性化的相应的所述字段中,替换来自所述个性化字段的所述个性化值,包括在由所述偏移表中的所述相应偏移为每个个性化字段指示的位置处、直接替换十六进制格式的所述文件中的待个性化的所述字段中的所述值。
17.根据权利要求16所述的计算机存储介质,其中提供用于所述简档包的所述ASCII格式的所述文件包括:
引入与待个性化的所述字段相对应的元数据、特别是注释,所述元数据包括用于为相应的所述个性化字段创建所述偏移表的行的指令;
将用于所述简档包的所述ASCII格式的所述文件转换为十六进制格式的初始文件,并且将十六进制格式的所述文件存储为十六进制格式的前一文件;
读取用于所述简档包的所述ASCII格式的所述文件,并且查找元数据;以及
执行偏移计算迭代过程。
18.根据权利要求17所述的计算机存储介质,其中执行所述偏移计算迭代过程包括:
为与读取注释相对应的所述个性化字段创建所述偏移表的行;
修改待个性化的所述字段中包含的初始化值,获取用于所述简档包的所述ASCII格式的当前已修改文件;
将用于所述简档包的所述ASCII格式的所述当前已修改文件转换为当前十六进制文件;
将所述当前十六进制文件与前一十六进制文件进行比较,以第一差异的位置作为与所述个性化字段相对应的偏移值,所述个性化字段与所述读取注释相对应;
将所述偏移值写入所述偏移表的所创建的所述行中的偏移字段;以及
继续读取下一元数据,并且重复所述迭代过程。
19.根据权利要求18所述的计算机存储介质,其中所述方法还包括:在读取最后的元数据之后,执行在由所述偏移表中的所述相应偏移为每个个性化字段指示的位置处、直接替换十六进制格式的所述文件中的待个性化的所述字段中的所述值的操作。
20.根据权利要求17所述的计算机存储介质,其中所述ASCII格式的文件包含ASN.1符号的脚本,并且所述元数据是出现可定制字段的行o中的注释,所述注释传达与所述可定制字段相对应的所述个性化字段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102018000005510A IT201800005510A1 (it) | 2018-05-18 | 2018-05-18 | Procedimento per la generazione di dati personalizzati di profile package in carte a circuito integrato, corrispondente sistema e prodotto informatico |
IT102018000005510 | 2018-05-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502243A CN110502243A (zh) | 2019-11-26 |
CN110502243B true CN110502243B (zh) | 2023-08-01 |
Family
ID=63014977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910411961.4A Active CN110502243B (zh) | 2018-05-18 | 2019-05-17 | 用于在集成电路卡中生成个性化简档包数据的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11314852B2 (zh) |
EP (1) | EP3570576B1 (zh) |
CN (1) | CN110502243B (zh) |
IT (1) | IT201800005510A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT201800005510A1 (it) | 2018-05-18 | 2019-11-18 | Procedimento per la generazione di dati personalizzati di profile package in carte a circuito integrato, corrispondente sistema e prodotto informatico | |
IT201900009543A1 (it) | 2019-06-19 | 2020-12-19 | St Microelectronics Srl | Procedimento per la generazione di dati personalizzati di profile package in carte a circuito integrato, corrispondente sistema e prodotto informatico |
IT201900017561A1 (it) | 2019-09-30 | 2021-03-30 | St Microelectronics Srl | "Procedimento per introdurre dati di personalizzazione in memorie non volatile di una pluralità di circuiti integrati, in particolare in carte a circuito integrato, corrispondente sistema e prodotto informatico" |
CN111125116B (zh) * | 2019-12-27 | 2020-10-13 | 上海德拓信息技术股份有限公司 | 定位业务表中代码字段及对应代码表的方法及系统 |
CN112702728B (zh) * | 2020-12-24 | 2022-12-06 | 恒宝股份有限公司 | 用户配置文件管理方法、装置、智能卡及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107439027A (zh) * | 2015-04-10 | 2017-12-05 | 苹果公司 | 用于电子用户身份模块(esim)安装和互操作的装置和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2835628A1 (fr) * | 2002-02-01 | 2003-08-08 | Schlumberger Systems & Service | Gestion de la mise a jour d'informations encodees en memoire |
JP2007312357A (ja) * | 2006-04-18 | 2007-11-29 | Canon Inc | データ処理装置及びその制御方法、データ処理システム、プログラム、記憶媒体 |
US9930520B2 (en) | 2014-11-17 | 2018-03-27 | Samsung Electronics Co., Ltd. | Apparatus and method for profile installation in communication system |
US10339299B1 (en) * | 2016-03-08 | 2019-07-02 | Kashmoo, Inc. | Runtime management of application components |
IT201800005510A1 (it) | 2018-05-18 | 2019-11-18 | Procedimento per la generazione di dati personalizzati di profile package in carte a circuito integrato, corrispondente sistema e prodotto informatico | |
US11005754B1 (en) * | 2018-06-12 | 2021-05-11 | Cisco Technology, Inc. | Incremental development of a data plane program |
IT201900009543A1 (it) | 2019-06-19 | 2020-12-19 | St Microelectronics Srl | Procedimento per la generazione di dati personalizzati di profile package in carte a circuito integrato, corrispondente sistema e prodotto informatico |
-
2018
- 2018-05-18 IT IT102018000005510A patent/IT201800005510A1/it unknown
-
2019
- 2019-05-03 EP EP19172485.5A patent/EP3570576B1/en active Active
- 2019-05-16 US US16/414,120 patent/US11314852B2/en active Active
- 2019-05-17 CN CN201910411961.4A patent/CN110502243B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107439027A (zh) * | 2015-04-10 | 2017-12-05 | 苹果公司 | 用于电子用户身份模块(esim)安装和互操作的装置和方法 |
Non-Patent Citations (1)
Title |
---|
信息技术――身份证明卡 带触点集成电路卡 第四部分:用于交换的工业内部命令;黄月江;《信息安全与通信保密》;19930330(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20190354667A1 (en) | 2019-11-21 |
EP3570576A1 (en) | 2019-11-20 |
US11314852B2 (en) | 2022-04-26 |
EP3570576B1 (en) | 2021-02-24 |
CN110502243A (zh) | 2019-11-26 |
IT201800005510A1 (it) | 2019-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502243B (zh) | 用于在集成电路卡中生成个性化简档包数据的方法 | |
CN107506219A (zh) | 一种基于Android系统的通用版本升级方法 | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
CN101122899A (zh) | 报表的生成方法和设备 | |
CN104317788A (zh) | Android多国语言翻译方法和装置 | |
CN103838672A (zh) | 一种通用报表的自动化测试方法及装置 | |
CN108415722A (zh) | 渠道应用的更新方法、装置、计算机设备和存储介质 | |
CN112732321B (zh) | 一种固件修改方法、装置、计算机可读存储介质和设备 | |
CN103019666A (zh) | 源代码比较设备、源代码比较方法和源代码比较程序 | |
CN103761095B (zh) | 一种生成通用的升级文件头部数据信息的方法 | |
CN112118564B (zh) | 生成个性化简档包的方法、系统和计算机程序产品 | |
CN105653669A (zh) | 超文本标记语言生成方法及装置 | |
CN113220568A (zh) | Usim卡文件系统的测试方法、装置及介质 | |
CN103077066A (zh) | 一种编译时嵌入产品关键信息的方法和系统 | |
CN112685077A (zh) | 数据修改方法、系统、计算机设备及计算机可读存储介质 | |
CN103200312B (zh) | 多卡移动电话快速写imei码方法 | |
JP7131119B2 (ja) | ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするためのシステムおよび方法 | |
CN115686589A (zh) | 实体类文件更新系统、方法及相应计算机设备和存储介质 | |
CN104915214A (zh) | 系统的发布方法及装置 | |
CN104320454A (zh) | 一种在http协议还原中实现自定义输出的方法及系统 | |
KR102300444B1 (ko) | 문서에 적용되어 있는 글꼴이 지원되는 글꼴인지 확인이 가능한 문서 편집 장치 및 그 동작 방법 | |
CN113836852A (zh) | 模拟位流生成方法、装置、设备和存储介质 | |
CN103336917A (zh) | 批量给swf文件添加域锁定的方法和装置 | |
CN102711060A (zh) | 多媒体消息处理方法、智能卡和终端设备 | |
CN112632933A (zh) | 快速制作Excel文件方法、快速制作装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |