CN116522367B - 智能卡的数据生成加密方法、系统、装置及存储介质 - Google Patents
智能卡的数据生成加密方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN116522367B CN116522367B CN202310771431.7A CN202310771431A CN116522367B CN 116522367 B CN116522367 B CN 116522367B CN 202310771431 A CN202310771431 A CN 202310771431A CN 116522367 B CN116522367 B CN 116522367B
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- key
- iccid
- random number
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000001502 supplementing effect Effects 0.000 claims description 7
- 238000003672 processing method Methods 0.000 abstract 1
- 238000004590 computer program Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种智能卡的数据生成加密方法、系统、装置及存储介质,本发明实施例提供一种智能卡的数据生成加密方法,包括获取数据表中一组的ICCID数据、IMSI数据,根据数据表获取随机数因子、OP数据和主密钥,依次将ICCID数据、IMSI数据、OP数据和随机数因子拼接后得到基础数据;随机数因子增加目标序列号后得到第二数据,对主密钥、第二数据和基础数据的进行加密处理得到数据密钥。在存储时服务器存储ICCID数据、IMSI数据、OP数据、随机数因子和序列号,便能加密生成其他数据,减少服务器数据的存储空间和复杂度,数据不易丢失,可广泛应用于数据处理技术领域。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种智能卡的数据生成加密方法、系统、装置及存储介质。
背景技术
智能卡的成品主要包括硬件和软件两部分,软件部分要实现智能卡和终端通信,数据处理,存储空间管理,数据运算,逻辑处理等功能。现有的智能卡商基本已经实现通用性脚本和个性化脚本分开存储的能力,以减少需要存储的文件大小。但是,现有的智能卡商需要为每个客户保存每一张卡的全部数据,随着时间的推移,服务器保存的数据会越来越大,导致数据的存储空间和复杂度增加,数据错误率增大和容易丢失。
发明内容
有鉴于此,本发明实施例的目的是提供一种智能卡的数据生成加密方法、系统、装置及存储介质,大大减少服务器保持数据的存储空间和复杂度,自动化批量生成数据,减少数据错误,数据不易丢失。
第一方面,本发明实施例提供了一种智能卡的数据生成加密方法,包括以下步骤:
获取数据表中一组的ICCID数据、IMSI数据,所述数据表包括多个ICCID数据和与所述ICCID数据对应的IMSI数据;
根据所述数据表获取OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据;
在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥;其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到;
通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:KI、KIC、KID和KIK。
可选地,将所述随机数因子与所述第一数据拼接后得到基础数据,具体包括:
将所述随机数因子拼接到所述第一数据后得到第四数据;
若所述第四数据的字节数小于预设的字节数,则在所述第四数据之后补位,补位完成后得到所述基础数据;
若所述第四数据的字节数等于预设的字节数,则将所述第四数据作为所述基础数据。
可选地,所述在所述随机数因子中增加目标序列号后得到第二数据,具体包括:在所述随机数因子的前两个字节之后增加所述目标序列号后得到所述第二数据。
可选地,所述对所述第三数据进行截取处理得到所述数据密钥,具体包括:截取所述第三数据的后16个字节作为所述数据密钥。
可选地,所述方法还包括:通过所述KI对所述OP数据加密后计算得到OPC。
可选地,所述方法还包括:依次增加所述目标序列号的第二序列后,处理生成所述KI、所述KIC、所述KID和所述KIK。
可选地,所述处理生成所述KI、所述KIC、所述KID和所述KIK,具体包括:依次对所述随机数因子增加不同的目标序列号进行处理生成后得到不同的所述第三数据,从而对不同的所述第三数据进行截取处理得到所述KI、所述KIC、所述KID和所述KIK。
第二方面,本发明实施例提供了一种智能卡的数据生成加密系统,其特征在于,包括:
第一模块,获取数据表中一组的ICCID数据、IMSI数据,所述数据表包括多个ICCID数据和与所述ICCID数据对应的IMSI数据;
第二模块,根据所述数据表获取OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据;
第三模块,在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥;其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到;
第四模块,通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:KI、KIC、KID和KIK。
第三方面,本发明实施例提供了一种智能卡的数据生成加密装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如上所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述的方法。
实施本发明实施例包括以下有益效果:本发明实施例提供一种智能卡的数据生成加密方法,包括获取数据表中一组的ICCID数据、IMSI数据,所述数据表包括多个ICCID数据和与所述ICCID数据对应的IMSI数据;根据所述数据表获取OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据;在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥;其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到;通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:KI、KIC、KID和KIK。通过对ICCID数据和IMSI数据进行加密生成处理后得到相对应的数据密钥,在存储时服务器存储ICCID数据、IMSI数据、OP数据、随机数因子和序列号即可,大大减少服务器保持数据的存储空间和复杂度,自动化批量生成数据,减少数据错误,数据不易丢失。
附图说明
图1是本发明实施例提供的一种智能卡的数据生成加密方法的步骤流程示意图;
图2是本发明实施例提供的将随机数因子与第一数据拼接后得到基础数据的步骤流程示意图;
图3是本发明实施例提供的一种智能卡的数据生成加密系统的结构框图;
图4是本发明实施例提供的一种智能卡的数据生成加密装置的构框图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
如图1所示,本发明实施例提供了一种智能卡的数据生成加密方法,其包括的步骤如下所示。
S100、获取数据表中一组的ICCID数据、IMSI数据,所述数据表包括多个ICCID数据和与所述ICCID数据对应的IMSI数据。
其中,国际移动用户识别码(International MobileSubscriber IdentificationNumber,IMSI),集成电路卡识别码(Integrate circuit card identity,ICCID)、鉴权密钥(Key identifier,KI),运营商可变算法配置域(OperatorVariant AlgorithmConfiguration Field,OP);ICCID数据、IMSI数据和OP数据保存在服务器端,通过服务器调用。同一数据表的智能卡即是同一个生产批次的智能卡或者是同一个客户所定的同一数据表生产的智能卡,不同批次的智能卡所对应的OP数据和主密钥都不同。
在一个具体的实施例中,服务器从存储器中获取一个数据表里面的一组ICCID数据,根据ICCID数据获取对应的IMSI数据。
在一个具体的实施例中,智能卡商的服务器通过客户提供的文件从存储器获取ICCID数据、IMSI数据和OP数据,然后获取存储的16字节的主密钥。
S200、根据所述数据表获取OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据。
具体的,根据数据表获取与数据表对应的一个OP数据、一个相对应存储的随机生成的主密钥。依次拼接ICCID数据、IMSI数据和OP数据得到第一数据,再根据数据表获取一个与数据表对应的随机数因子,将随机数因子与第一数据拼接后得到基础数据。同一数据表的ICCID数据所对应的OP数据、随机数因子和主密钥相同,保存时只需要保存一个OP数据、一个随机数因子和一个主密钥即可,和原来的每一个ICCID数据、IMSI数据都需要保存一个OP数据和一个主密钥相比存储量极大减少。
参照图2,可选地,将所述随机数因子与所述第一数据拼接后得到基础数据,具体包括:
S210、将所述随机数因子拼接到所述第一数据后得到第四数据;
S220、若所述第四数据的字节数小于预设的字节数,则在所述第四数据之后补位,补位完成后得到所述基础数据;
S230、若所述第四数据的字节数等于预设的字节数,则将所述第四数据作为所述基础数据。
其中,随机数因子由智能卡商服务器生成的没有规律的数据。
拼接即是在ICCID后面加上IMSI,在IMSI后面加上OP数据,根据需求可调换拼接顺序。
在一个具体的实施例中,拼接ICCID、IMSI和OP数据得到第一数据,第一数据拼接与ICCID数据、IMSI数据相对应的13个字节的随机数因子之后得到第四数据,第四数据不够48个字节补位00,从而得到智能卡的基础数据。
S300、在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥,其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到。
具体的,通过在已经生成的随机数因子中增加一个序列号后得到第二数据,通过主密钥对第二数据进行加密后得到会话密钥。目标序列号包括两个字节的第一序列和一个字节的第二序列,第一序列表征ICCID数据在数据表中的序列,第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,第一序列由数据表对应的初始序列自加得到。
S310、可选地,所述在所述随机数因子中增加目标序列号后得到第二数据,具体包括:在所述随机数因子的前两个字节之后增加所述目标序列号后得到所述第二数据。
具体的,同一数据表的ICCID、IMSI数据保存一个序列号,增加目标序列号则是在保存的序列号中进行自加,其中,序列号包括第一序列和第二序列,第一序列为两个字节,两个字节对应ICCID数据,第二序列为一个字节,此一个字节对应不同种类的数据密钥,不同种类的数据密钥对应的序列号的第一序列依次自加得到。其他序列号的第一序列的两个字节由初始序列的第一序列的两个字节自加得到。每进行一次处理自加一次,这样就可以在同一数据表的ICCID、IMSI数据中保存一个序列号就能得到其他序列号。和原来的每一个ICCID数据就要保存一个序列号相比,同一数据表的ICCID数据只需要保存一个初始序列号即可,当同一数据表的ICCID数据越多,相对减少的保存空间就越大,数据也就更加不易丢失和出错。
在一个具体的实施例中,在13个字节的随机因子random1的前两个字节后增加3个字节的序列号,3个字节序列号的前两个字节为数据组的序列号,不同的数据组即是代表不同的ICCID数据,第三个字节为数据的序列号,第三个字节即是代表了同一个数据组中的不同的数据,由不同种类的数据密钥对应的序列号的第三个字节依次自加得到,如KI对应01、KIC对应02、KID对应03、KIK对应04,最后加密生成的数据密钥也是不同的,数据密钥包括KI、KIC、KID和KIK。通过主密钥对第二数据加密后,得到session key密钥(会话密钥),该密钥用于每一张卡生成伪随机数离散密钥。
在一个具体的实施例中,当计算某一个数据表中的某一个ICCID数据所对应的序号时,根据ICCID数据与初始序列号所对应的ICCID数据的顺序差值,顺序差值即是排序号的差值,进而根据初始序列号和顺序差值计算得到所需的ICCID数据所对应的序列号。计算方法为将初始序列号的前两个字节加上顺序差值后得到所求序列号的前两个字节,第三个字节则根据计算的数据密钥依次自加。
S400、通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:KI、KIC、KID和KIK。
S410、可选地,所述对所述第三数据进行截取处理得到所述数据密钥,具体包括:截取所述第三数据的后16个字节作为所述数据密钥。
具体的,在用会话密钥对基础数据进行加密后,得到加密后的第三数据。加密后的48个字节的第三数据具有伪随机数的不重复性,唯一性。取加密后的第三数据的后16个字节作为智能卡的KI、KIC、KID或KIK。
可选地,所述方法还包括:通过所述KI对所述OP数据加密后计算得到OPC。
具体的,用KI对OP数据加密后通过异或计算得到OPC的值。OPC(网络鉴权密钥),是由OP数据和KI经过运算得到,智能卡运营商可以自定义不同的OPC的计算方法,如AES加密和异或运算后得到,确保在不同智能卡中预置不同的OPC,并且无法通过一张智能卡中预置的OPC反算出运营商的OP数据。
在一个具体的实施例中,把保存的13个字节的随机因子,16个字节的主密钥,序列号对应的数据保存在服务器文件中(作用:记录数据的生成过程),并用对称密钥keyFile进行加密。通过物理的方式保证KeyFile的安全性,比如加密机,分散密钥等方式。
每一批卡中的随机因子保证每一批卡的数据不一样,序列号保证同一个卡中每个会话密钥不一样,最后的数据也不一样。
可选地,所述方法还包括:依次增加所述目标序列号的第二序列后,处理生成所述KI、所述KIC、所述KID和所述KIK。
可选地,所述处理生成所述KI、所述KIC、所述KID和所述KIK,具体包括:依次对所述随机数因子增加不同的目标序列号进行处理生成后得到不同的所述第三数据,从而对不同的所述第三数据进行截取处理得到所述KI、所述KIC、所述KID和所述KIK。
具体的,不同的目标序列号对应着不同的数据,进而得到的会话密钥也不一样,通过会话密钥对基础数据加密后的后16字节也不同,进而可以获取16字节的KI、KIC、KID和KIK。在一个具体的实施例中,服务器端获取保存的ICCID:98582224052100000072、IMSI:084945608503910020、OP数据:BB7E495DC429786930ADA05F68FA6CCE。然后由智能卡商的服务器根据加密机或者其他方式生成的没有规律的主密钥,保存的主密钥Random1:FECCDFA7F7342416A27192C3F38EEF42,其中,每两个数字为一个字节,如98为一个字节。
拼接ICCID、IMSI和OP数据后得到基础数据baseData,从保存的文件中获取已知的数据:
ICCID:98582224052100000072
IMSI:084945608503910020
OP数据:BB7E495DC429786930ADA05F68FA6CCE
Random1: 56B7184D72E70671120B3315B9
拼接后进行补位:空(上面数据刚好为48个字节,如果不够48个字节,补00),即是baseData=ICCID+IMSI+OP数据+Random1+补位。
baseData=98582224052100000072+084945608503910020+BB7E495DC429786930ADA05F68FA6CCE+56B7184D72E70671120B3315B9(+是连接符,不是有效数据)。
拼接后得到的基础数据baseData为:
98582224052100000072084945608503910020BB7E495DC429786930ADA05F68FA6CCE56B7184D72E70671120B3315B9。
从保存的文件中获取Random1,在Random1的第二个字节后,增加两个字节0001的数据组编号,再增加一个字节01的数据编号,如下:
Random1:56B7184D72E70671120B3315B9
数据编号:000101
拼接后的数据:56B7+000101+184D72E70671120B3315B9(+为连接符)
用文件中保存的mastkey:FECCDFA7F7342416A27192C3F38EEF42
通过对称加密算法3DES CBC模式加密后得到session key :
B3E31D76B4AB902014CC31C4F9D34008(16个字节)。
用session key对baseData加密,得到:
Session key = B3E31D76B4AB902014CC31C4F9D34008;
baseData=98582224052100000072084945608503910020BB7E495DC429786930ADA05F68FA6CCE 56B7184D72E70671120B3315B9;
用session key作为密钥,对baseData进行对称加密算法3DES CBC模式加密后得到:
encryptData=D8996EC767386B82E62D4BD473BF8DD9208250C889EEB95BF97E54E3322FD7A62538C1C077674B06007AE52EFD4A38AC;取encryptData最后16个字节作为KI的值:KI=2538C1C077674B06007AE52EFD4A38AC。
OPC的值:先用KI作为密钥对OP数据值用AES算法加密,再异或OP数据计算得到:OPC=3C66012664F371A486BA9D1AF387F44C。
计算KIC的值:
所使用的基础数据baseData相同。从保存文件中获取Random1,在第二个字节后,两个字节0001的数据组编号不变,一个字节的数据编号自加得到02,如下:
Random1:56B7184D72E70671120B3315B9;
数据编号:000102;
拼接后的数据:56B7+000102+184D72E70671120B3315B9(+为连接符);
调用文件中保存的主密钥:FECCDFA7F7342416A27192C3F38EEF42。通过对称加密算法3DES CBC模式加密后得到session key :A1AC4A8C45A39270410FD7317B2CCDCA(16个字节)。
用session key对baseData加密,得到encryptData:
Session key =A1AC4A8C45A39270410FD7317B2CCDCA;
baseData=98582224052100000072084945608503910020BB7E495DC429786930ADA05F68FA6CCE 56B7184D72E70671120B3315B9;
用session key作为密钥,对baseData进行对称加密算法3DES CBC模式加密后得到:
encryptData=CD71DC0D10580E8B707E210539031A8E06C180D47336D028A3E0427A897D457A76416C597CDC90F14699AF9620224A2D。取最后16个字节作为KIC的值:KIC=76416C597CDC90F14699AF9620224A2D。
以此类推,KID或KIK也是在随机数因子中增加相应的序列号后进行加密生成,最后取相应的encryptData的最后16个字节作为KID值或KIK。
实施本发明实施例包括以下有益效果:本发明实施例提供一种智能卡的数据生成加密方法,包括获取数据表中一组的ICCID数据、IMSI数据,所述数据表包括多个ICCID数据和与所述ICCID数据对应的IMSI数据;根据所述数据表获取OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据;在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥;其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到;通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:KI、KIC、KID和KIK。通过对ICCID数据和IMSI数据进行加密生成处理后得到相对应的数据密钥,在存储时服务器存储ICCID数据、IMSI数据、OP数据、随机数因子和序列号即可,大大减少服务器保持数据的存储空间和复杂度,自动化批量生成数据,减少数据错误,数据不易丢失。
如图3所示,本发明实施例还提供了一种智能卡的数据生成加密系统,包括:
第一模块,获取数据表中一组的ICCID数据、IMSI数据,所述数据表包括多个ICCID数据和与所述ICCID数据对应的IMSI数据;
第二模块,根据所述数据表获取OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据;
第三模块,在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥;其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到;
第四模块,通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:KI、KIC、KID和KIK。
可见,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
如图4所示,本发明实施例还提供了一种智能卡的数据生成加密装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述方法实施例所述的方法步骤。
可见,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
此外,本申请实施例还公开了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述的方法。同样地,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
可以理解的是,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (10)
1.一种智能卡的数据生成加密方法,其特征在于,包括:
获取数据表中一组的集成电路卡识别码ICCID数据、国际移动用户识别码IMSI数据,所述数据表包括多个所述ICCID数据和与所述ICCID数据对应的所述IMSI数据;
根据所述数据表获取运营商可变算法配置域OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据;
在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥;其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到;
通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:鉴权密钥KI、KIC、KID和KIK。
2.根据权利要求1所述的方法,其特征在于,所述将所述随机数因子与所述第一数据拼接后得到基础数据,具体包括:
将所述随机数因子拼接到所述第一数据后得到第四数据;
若所述第四数据的字节数小于预设的字节数,则在所述第四数据之后补位,补位完成后得到所述基础数据;
若所述第四数据的字节数等于预设的字节数,则将所述第四数据作为所述基础数据。
3.根据权利要求1所述的方法,其特征在于,所述在所述随机数因子中增加目标序列号后得到第二数据,具体包括:在所述随机数因子的前两个字节之后增加所述目标序列号后得到所述第二数据。
4.根据权利要求1所述的方法,其特征在于,所述对所述第三数据进行截取处理得到所述数据密钥,具体包括:截取所述第三数据的后16个字节作为所述数据密钥。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过所述KI对所述OP数据加密后计算得到网络鉴权密钥OPC。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:依次增加所述目标序列号的第二序列后,处理生成所述KI、所述KIC、所述KID和所述KIK。
7.根据权利要求6所述的方法,其特征在于,所述处理生成所述KI、所述KIC、所述KID和所述KIK,具体包括:依次对所述随机数因子增加不同的目标序列号进行处理后得到不同的所述第三数据,从而对不同的所述第三数据进行截取处理得到所述KI、所述KIC、所述KID和所述KIK。
8.一种智能卡的数据生成加密系统,其特征在于,包括:
第一模块,获取数据表中一组的集成电路卡识别码ICCID数据、国际移动用户识别码IMSI数据,所述数据表包括多个所述ICCID数据和与所述ICCID数据对应的IMSI数据;
第二模块,根据所述数据表获取运营商可变算法配置域OP数据,依次拼接所述ICCID数据、所述IMSI数据和所述OP数据得到第一数据,根据所述数据表获取随机数因子,将所述随机数因子与所述第一数据拼接后得到基础数据;
第三模块,在所述随机数因子中增加目标序列号后得到第二数据,根据所述数据表获取主密钥,通过所述主密钥对所述第二数据进行加密后得到会话密钥;其中,所述目标序列号包括第一序列和第二序列,所述第一序列表征所述ICCID数据在所述数据表中的序列,所述第二序列表征目标需要生成的数据密钥的密钥类型对应的序列,所述第一序列由所述数据表对应的初始序列自加得到;
第四模块,通过所述会话密钥对所述基础数据进行加密后得到第三数据,对所述第三数据进行截取处理得到所述数据密钥,所述数据密钥至少包括如下之一:鉴权密钥KI、KIC、KID和KIK。
9.一种智能卡的数据生成加密装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310771431.7A CN116522367B (zh) | 2023-06-28 | 2023-06-28 | 智能卡的数据生成加密方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310771431.7A CN116522367B (zh) | 2023-06-28 | 2023-06-28 | 智能卡的数据生成加密方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116522367A CN116522367A (zh) | 2023-08-01 |
CN116522367B true CN116522367B (zh) | 2024-05-17 |
Family
ID=87396194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310771431.7A Active CN116522367B (zh) | 2023-06-28 | 2023-06-28 | 智能卡的数据生成加密方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116522367B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009000571A1 (fr) * | 2007-06-26 | 2008-12-31 | Gemalto Sa | Procède de génération embarque d'un identifiant et d'une clé associée dans un objet portable communiquant |
CN106533660A (zh) * | 2015-09-14 | 2017-03-22 | 杭州海康威视数字技术股份有限公司 | 智能卡密钥的获取方法及装置 |
CN115603907A (zh) * | 2022-10-13 | 2023-01-13 | 北京三快在线科技有限公司(Cn) | 加密存储数据的方法、装置、设备和存储介质 |
CN116016302A (zh) * | 2023-02-24 | 2023-04-25 | 星汉智能科技股份有限公司 | 基于https的智能卡数据加解密测试方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8943318B2 (en) * | 2012-05-11 | 2015-01-27 | Verizon Patent And Licensing Inc. | Secure messaging by key generation information transfer |
CN106936570B (zh) * | 2015-12-31 | 2021-08-20 | 华为技术有限公司 | 一种密钥配置方法及密钥管理中心、网元 |
-
2023
- 2023-06-28 CN CN202310771431.7A patent/CN116522367B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009000571A1 (fr) * | 2007-06-26 | 2008-12-31 | Gemalto Sa | Procède de génération embarque d'un identifiant et d'une clé associée dans un objet portable communiquant |
CN106533660A (zh) * | 2015-09-14 | 2017-03-22 | 杭州海康威视数字技术股份有限公司 | 智能卡密钥的获取方法及装置 |
CN115603907A (zh) * | 2022-10-13 | 2023-01-13 | 北京三快在线科技有限公司(Cn) | 加密存储数据的方法、装置、设备和存储介质 |
CN116016302A (zh) * | 2023-02-24 | 2023-04-25 | 星汉智能科技股份有限公司 | 基于https的智能卡数据加解密测试方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于Android平台虚拟SIM卡的设计与实现;徐鑫;《中国优秀硕士学位论文全文数据库信息科技辑》;第I138-674页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116522367A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10396984B2 (en) | Apparatus and system having multi-party cryptographic authentication | |
US11070542B2 (en) | Systems and methods for certificate chain validation of secure elements | |
US8943574B2 (en) | Tokenizing sensitive data | |
FI125736B (fi) | Ohjelmistolla määritetty radiolaite, ja menetelmä ohjelmiston uudistamiseksi, ja ohjelmistolla määritetty radiojärjestelmä | |
EP3358867A1 (en) | Method for managing communication between a server and a user equipment | |
EP2696531B1 (en) | Initialization of embedded secure elements | |
CN111107066A (zh) | 敏感数据的传输方法和系统、电子设备、存储介质 | |
US11997190B2 (en) | Credential management in distributed computing system | |
CN111241596B (zh) | 一种区块链资产账户恢复的方法及装置 | |
US20200044838A1 (en) | Data encryption method and system using device authentication key | |
CN116522367B (zh) | 智能卡的数据生成加密方法、系统、装置及存储介质 | |
US8798261B2 (en) | Data protection using distributed security key | |
US20220286291A1 (en) | Secure environment for cryptographic key generation | |
WO2022046330A1 (en) | Data management and encryption in a distributed computing system | |
CN111553686A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN116226886B (zh) | 一种软件信息系统的信息安全管理方法及系统 | |
CN113259097A (zh) | 基于cpk的可多态配置的密钥生成方法及装置 | |
CN111049808A (zh) | 实名认证方法及装置 | |
CN114691759B (zh) | 数据查询统计方法、装置、计算机设备及存储介质 | |
CN113379418B (zh) | 基于安全插件的信息验证方法、设备、介质及程序产品 | |
CN113067701B (zh) | 一种更新绑定关系的方法及装置 | |
CN110213216B (zh) | 确定不同账号集合中相同账号的方法、装置及存储介质 | |
KR101957885B1 (ko) | 결제 처리 방법 및 이를 수행하기 위한 보안 카드 리더기 | |
CN116939579A (zh) | 写卡方法、装置、系统及存储介质 | |
US20200167774A1 (en) | Systems and methods for optimized retail message authentication code processing |
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 |