CN111404682B - 一种Android环境密钥分段处理方法及装置 - Google Patents

一种Android环境密钥分段处理方法及装置 Download PDF

Info

Publication number
CN111404682B
CN111404682B CN202010186675.5A CN202010186675A CN111404682B CN 111404682 B CN111404682 B CN 111404682B CN 202010186675 A CN202010186675 A CN 202010186675A CN 111404682 B CN111404682 B CN 111404682B
Authority
CN
China
Prior art keywords
key
library
segmented
data
processing method
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
Application number
CN202010186675.5A
Other languages
English (en)
Other versions
CN111404682A (zh
Inventor
李江培
郑涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Hengbao Intelligent System Technology Co Ltd
Original Assignee
Jiangsu Hengbao Intelligent System Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Hengbao Intelligent System Technology Co Ltd filed Critical Jiangsu Hengbao Intelligent System Technology Co Ltd
Priority to CN202010186675.5A priority Critical patent/CN111404682B/zh
Priority to CN202310361102.5A priority patent/CN116388980A/zh
Publication of CN111404682A publication Critical patent/CN111404682A/zh
Application granted granted Critical
Publication of CN111404682B publication Critical patent/CN111404682B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开一种Android环境密钥分段处理方法及装置。所述处理方法包括密钥存储和密钥提取:密钥存储包括将初始密钥输入白盒密钥模块生成目标存储密钥;根据设备唯一标识生成密钥运算因子;根据目标存储密钥和密钥运算因子生成待分段密钥,执行分段操作,将分段子密钥存储至对应的so库;密钥提取包括从so库中获取分段子密钥并组装成密文;使用密钥运算因子对组装密文解密,将解密结果分解为密钥和密钥哈希值;若计算密钥的哈希值与分解的密钥哈希值一致,则将密钥输入白盒密钥模块解密得到初始密钥,密钥提取成功。本申请采用多so库分段存储密钥的策略来保护密钥数据,适用于所有的Android系统设备,利于安全应用的推广。

Description

一种Android环境密钥分段处理方法及装置
技术领域
本申请涉及密钥存储技术领域,尤其涉及一种Android环境密钥分段处理方法及装置。
背景技术
对于android手机系统来说,目前手机里存储密钥都是通过TEE和SE来完成,TA作为TEE的应用,密钥数据都在TA中存储,位于TEE中,而TEE隔离于REE(比如android系统),多个TA并行于TEE中,互不干扰,相互隔离。这就保证了TA存储的密钥及中间过程生成的数据的安全。SE需要手机内安全硬件的支持,密钥可以存储在SE的applet中。
对于Android系统来说,虽然当前手机厂商推出的主流手机都包含有TEE系统和SE,可以运行TA应用及安装applet,但是在三四线城市及偏远地区的手机比较低端,大部分手机在千元以下,因为成本问题,不包含TEE环境及SE,无法存储密钥,在涉及手机安全应用方向,受限手机型号,无法大面积推广。
另外,对于Android系统来说,因为手机品牌不同,采用的CPU芯片型号也不一样,所以使用的TEE系统及SE也不一样,比如华为使用自己的TEE环境,而高通也有自己的TEE环境,同样的TA应用无法同时适配华为麒麟芯片和高通芯片的手机,手机安全应用受限手机品牌及手机芯片,开发成本高且无法大面积推广。
发明内容
本申请提供了一种Android环境密钥分段处理方法,包括:
将初始密钥输入白盒密钥模块生成目标存储密钥;
根据当前设备的设备唯一标识生成密钥运算因子;
根据目标存储密钥和密钥运算因子生成待分段密钥;
对待分段密钥执行分段操作,将得到的分段子密钥分别存储至对应的so库中。
如上所述的Android环境密钥分段处理方法,其中,根据当前设备的设备唯一标识生成密钥运算因子,具体包括如下子步骤:
由于每台设备都有唯一的标识,且唯一标识的最后半字节均不相同,保证起始位置的随机数,因此根据当前设备的设备唯一标识,将设备唯一标识的最后半字节的值作为起始位置读取到最后一个字节;
对读取的数据做哈希运算,截取哈希运算结果前预设长度的数据作为第一数据;
生成预设长度的随机数作为第二数据,将第一数据和第二数据进行异或操作,再对异或结果做哈希运算后截取哈希运算结果前预设长度的数据作为密钥运算因子。
如上所述的Android环境密钥分段处理方法,其中,根据目标存储密钥和密钥运算因子生成待分段密钥,具体包括如下子步骤:
对目标存储密钥作哈希运算后得到哈希值;
将目标存储密钥及其哈希值进行拼接,再使用密钥运算因子对拼接值作加密运算得到待分段密钥;采用目标存储密钥与哈希值拼接的方式方便验证目标存储密钥是否被篡改且验证是否合法。
如上所述的Android环境密钥分段处理方法,其中,对待分段密钥执行分段操作,将得到的分段子密钥分别存储至对应的so库中,具体包括如下子步骤:
按照so库数量将待分段密钥进行分段;
根据so库数量对待分段密钥的首字节作模运算,根据运算结果将分段子密钥按照tlv格式存储到对应so库的全局变量中。
如上所述的Android环境密钥分段处理方法,其中,tlv格式为分段标识+待分段密钥长度/so库数量+分段子密钥。
如上所述的Android环境密钥分段处理方法,其中,so库中的分段子密钥存储在Android设备本地。
如上所述的Android环境密钥分段处理方法,其中,响应于接收到密钥提取指令,从so库中获取分段子密钥,将分段子密钥组装成密文;
使用密钥运算因子对组装得到的密文进行解密,并将解密结果分解为密钥和密钥哈希值;
若计算密钥的哈希值与分解得到的密钥哈希值一致,则将密钥输入白盒密钥模块进行解密操作,得到初始密钥,密钥提取成功;采用白盒密钥模块进行加解密运算,即使知晓加解密密钥也无法解密出正确的初始密钥,增加密钥存储的安全性。
如上所述的Android环境密钥分段处理方法,其中,so库包括功能so库和一个或多个分段密钥存储so库;
功能so库存储主要功能接口,提供密钥生成、存储、读写、校验功能,以及用于加解密数据和指令处理;
分段密钥存储so库用于分段存储密钥,以及提供读写接口;
so库还包括校验so库,在分段密钥存储so库之前加载,用于预置分段密钥存储so库的校验值,以校验库文件是否被篡改。;其中可以选择不加载用于检验库文件是否被篡改的libcheck.so库,本申请优选采用加载libcheck.so库的方式增加密钥存储的安全性,防止so库被反编译后修改代码逻辑。
如上所述的Android环境密钥分段处理方法,其中,从so库中获取分段子密钥,将分段子密钥组装成密文,具体为:
响应于接收到密钥提取指令,调用接口向功能so库发送密钥提取指示,功能so库从分段密钥存储so库中分别提取出对应存储的分段子密钥;
根据各分段子密钥的分段标识确定组装顺序,将对应的数据按照组装顺序组装成密文。
本申请还提供一种Android环境密钥分段处理装置,所述装置执行上述任一项所述的Android环境密钥分段处理方法。
本申请实现的有益效果如下:本申请采用多so库分段存储密钥的策略来保护密钥数据,适用于所有的Android系统设备,利于安全应用的推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的一种Android环境密钥分段存储方法流程图;
图2是本申请实施例二提供的一种Android环境密钥分段提取方法流程图;
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种Android环境密钥分段处理方法,包括如实施例一所示的密钥分段存储方法和实施例二所示的密钥分段提取方法。
实施例一
本申请实施例一提供一种Android环境密钥分段存储方法,如图1所示,包括:
步骤110、将初始密钥输入白盒密钥模块生成table表,将table表作为目标存储密钥;
本申请实施例中,白盒密钥模块是利用白盒加密计算对输入的初始密钥pkey加密生成table表,此table作为目标存储密钥key;
由于采用白盒加解密算法无法根据加解密密钥解密出正确的初始密钥,因此本申请采用白盒加解密计算作为更加安全的加解密算法,增加密钥存储的安全性。
步骤120、根据当前设备的设备唯一标识生成密钥运算因子;
由于每台设备都有唯一的标识,类比UUID(通用唯一识别码),且每台设备唯一标识的最后半字节都不相同,以此保证起始位置的随机性,因此根据当前设备的设备唯一标识deviceID(该标识由服务器下发的32字节唯一数据),将设备唯一标识的最后半字节的值作为起始位置读取到最后一个字节,例如,deviceID的最后半字节的值为4,则从第4字节开始读取到最后一个字节,然后对读取的数据做哈希运算(如sha256算法),截取哈希运算结果前预设长度(如24字节)的数据作为第一数据mR1,并生成对应长度的随机数作为第二数据mR2,将第一数据mR1和第二数据mR2进行异或操作得到第三数据,再对第三数据做哈希运算后截取哈希运算结果前预设长度的数据作为密钥运算因子mmkey;
其中,第二数据mR2可以由服务器数据+控件随机数+签名数据+so库各生成随机数后提取预定字节(如各提取6字节组成24字节的第二数据)后组合而成;
此外,本申请需要将生成的密钥运算因子mmkey存储至本地,方便对密钥的提取;另外也可以只存储随机生成的第二数据mR2,在后续密钥提取时进行与步骤120相同的计算方法得到密钥运算因子。
步骤130、根据目标存储密钥和密钥运算因子生成待分段密钥;
具体地,生成待分段密钥,具体包括如下子步骤:
步骤131、对目标存储密钥key作哈希运算后得到哈希值;
步骤132、将目标存储密钥key及其哈希值进行拼接,再使用密钥运算因子mmkey对拼接值作加密运算得到待分段密钥;
具体地,目标存储密钥key及其哈希值进行拼接可以采用多种方式,例如采用目标存储密钥key+哈希值,或哈希值+目标存储密钥key,也可以根据哈希值长度,将目标存储密钥key和哈希值按字节间隔拼接等,在此不做限定。
其中,加密算法可以采用3Des-CBC算法。
步骤140、对待分段密钥执行分段操作,将分段子密钥分别存储至对应的so库中;
本申请实施例中,为了保证密钥数据的安全性,将密钥分段存储至so库中,so库包括功能so库和一个或多个分段密钥存储so库;功能so库存储主要功能接口,提供密钥生成、存储、读写、校验功能,以及用于加解密数据和指令处理;分段密钥存储so库用于分段存储密钥,以及提供读写接口;
优选地,so库还包括校验so库,在分段密钥存储so库之前加载,用于预置分段密钥存储so库的校验值,以校验库文件是否被篡改。
其中so库的数量可以依据需求设定,分段越多,存储和提取的工作量越大,效率也越低,但会提高安全性,综合安全与效率考虑优选分配为一个功能so库和三个分段密钥存储so库;例如so库包括libmainFunc.so库、libsecurity1.so库、libsecurity2.so库和libsecurity3.so库;其中,libmainFunc.so库为功能so库,存储主要功能接口,提供密钥生成、存储、读写、校验功能,以及用于加解密数据和指令处理;libsecurity1.so库、libsecurity2.so库和libsecurity3.so库用于分段存储密钥,提供读写接口,增强密钥的安全性。
另外,为了增加密钥存储的安全性,防止so库被反编译后修改代码逻辑,因此在加载libmainFunc.so库、libsecurity1.so库、libsecurity2.so库和libsecurity3.so库之前先加载libcheck.so库,在libcheck.so库中预置libmainFunc.so库、libsecurity1.so库、libsecurity2.so库和libsecurity3.so库的校验值(MD5值),用于检验库文件是否被篡改过;
对待分段密钥执行分段操作可以为平均分段,也可以按照约定方式进行分段,然后分别存储到so库中,同样采用相同的约定方式进行分段密钥提取,例如存储时每个so库中存储的分段密钥字节数与提取时对应;
例如,以平均分段为例,先按照so库数量将待分段密钥进行平均分段,例如将待分段密钥按顺序平均分段,例如本申请将待分段数据均分为四份数据,即四份分段子密钥:data0,data1,data2,data3;然后根据so库数量对待分段密钥的首字节作模运算,例如对待分段密钥的首字节作模4运算,根据运算结果将分段子密钥按照tlv格式(分段标识+待分段密钥长度/so库数量+分段子密钥)存储到对应so库的全局变量中,并将so库中的所有分段子密钥存储在本地;
例如,若待分段密钥的首字节作模4运算得到结果为0,则将分段子密钥按照(0,1,2,3)的顺序按照tlv格式存储至libmainFunc.so库、libsecurity1.so库、libsecurity2.so库和libsecurity3.so库中,即将data0按照tlv格式(00+len/4+data0)存储到libmainFunc.so库的全局变量中、将data1按照tlv格式(01+len/4+data1)存储到libsecurity1.so库的全局变量中、将data2按照tlv格式(02+len/4+data2)存储到libsecurity2.so库的全局变量中、将data3按照tlv格式(03+len/4+data3)存储到libsecurity3.so库的全局变量中;若待分段密钥的首字节作模4运算得到结果为1,则将分段子密钥按照(1,2,3,0)的顺序存储至libsecurity1.so库、libsecurity2.so库、libsecurity3.so库和libmainFunc.so库;同样道理,若待分段密钥的首字节作模4运算得到结果为2,则将分段子密钥按照(2,3,0,1)的顺序存储至libsecurity2.so库、libsecurity3.so库、libmainFunc.so库和libsecurity1.so库中,以此类推;
另外,为了方便后续获取对应的分段子密钥,优选在将分段子密钥存储在对应的so库后,在libmainFunc.so库中记录能够获取到libsecurity1.so库、libsecurity2.so库和libsecurity3.so库中对应分段子密钥的关联索引。
实施例二
本申请实施例二提供一种Android环境密钥分段提取方法,如图2所示,包括:
步骤210、从so库中获取分段子密钥,将分段子密钥组装成密文;
具体地,在需要进行密钥提取时,响应于接收到密钥提取指令后,调用接口向功能so库发送密钥提取指示,功能so库从分段密钥存储so库中分别提取出对应存储的分段子密钥,例如,libmainFunc.so库接收到Android设备的密钥提取指示后,从libsecurity1.so库、libsecurity2.so库和libsecurity3.so库中分别提取出对应存储的分段子密钥,然后根据各分段子密钥的分段标识(即数据存储格式的首字节)确定组装的顺序,然后再将对应的数据按照组装顺序组装成密文;
进一步地,响应于接收到密钥提取指令,先根据在libcheck.so库中预置的libmainFunc.so库、libsecurity1.so库、libsecurity2.so库和libsecurity3.so库的校验值验证libmainFunc.so库、libsecurity1.so库、libsecurity2.so库和libsecurity3.so库中的数据是否被篡改,在确定so库数据未被篡改之后,libmainFunc.so库依据记录的其他so库的关联索引获取libsecurity1.so库、libsecurity2.so库和libsecurity3.so库中对应的分段子密钥。
步骤220、使用密钥运算因子对组装得到的密文进行解密,并将解密结果分解为密钥和密钥哈希值;
具体地,若本申请在实施例一计算待分段密钥时所用的方法中目标存储密钥key计算后的哈希值为32字节,因此在实施例二进行密钥提取时对组装后的密文解密后得到的解密结果,后32字节为密钥哈希值,剩余数据即为密钥。
步骤230、计算密钥的哈希值与分解得到的密钥哈希值是否一致,如果是,则执行步骤240,否则该密钥不合法;
若对上一步骤分解得到的密钥作哈希运算得到的哈希值与分解得到的密钥哈希值一致,则抛弃掉组装密钥解密结果的后32字节之后剩余的数据即为提取出的合法密钥。
步骤240、将密钥输入白盒密钥模块进行解密操作,得到初始密钥;
经上述操作后提取出的密钥为白盒密钥table表,需要送入白盒密钥模块中利用白盒密钥算法对输入数据进行解密操作,得到初始合法密钥,至此密钥提取成功。
实施例三
本申请实施例三提供一种Android环境密钥分段处理装置,包括:
密钥分段存储模块,执行如实施例一所述的Android环境密钥分段存储方法;
密钥分段提取模块,执行如实施例二所述的Android环境密钥分段提取方法。
采用本申请的技术方案能够达到如下效果:
1、节省开发成本,不区分手机厂商及使用的芯片型号,纯Android环境密钥分段存储方案,可以通用在所有的Android系统手机上,利于涉及安全应用的推广;
2、不需要TEE环境,在相对保证数据安全的基础下可以在低端手机上使用密钥处理敏感数据,利于涉及安全应用的推广。
以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种Android环境密钥分段处理方法,其特征在于,包括:
将初始密钥输入白盒密钥模块生成目标存储密钥;
根据当前设备的设备唯一标识生成密钥运算因子;
根据目标存储密钥和密钥运算因子生成待分段密钥;
对待分段密钥执行分段操作,将得到的分段子密钥分别存储至对应的so库中;
根据当前设备的设备唯一标识生成密钥运算因子,具体包括如下子步骤:
根据当前设备的设备唯一标识,将设备唯一标识的最后半字节的值作为起始位置读取到最后一个字节;
对读取的数据做哈希运算,截取哈希运算结果前预设长度的数据作为第一数据;
生成预设长度的随机数作为第二数据,将第一数据和第二数据进行异或操作,再对异或结果做哈希运算后截取哈希运算结果前预设长度的数据作为密钥运算因子。
2.如权利要求1所述的Android环境密钥分段处理方法,其特征在于,根据目标存储密钥和密钥运算因子生成待分段密钥,具体包括如下子步骤:
对目标存储密钥作哈希运算后得到哈希值;
将目标存储密钥及其哈希值进行拼接,再使用密钥运算因子对拼接值作加密运算得到待分段密钥。
3.如权利要求1所述的Android环境密钥分段处理方法,其特征在于,对待分段密钥执行分段操作,将得到的分段子密钥分别存储至对应的so库中,具体包括如下子步骤:
按照so库数量将待分段密钥进行分段;
根据so库数量对待分段密钥的首字节作模运算,根据运算结果将分段子密钥按照tlv格式存储到对应so库的全局变量中。
4.如权利要求3所述的Android环境密钥分段处理方法,其特征在于,tlv格式为分段标识+待分段密钥长度/so库数量+分段子密钥。
5.如权利要求1所述的Android环境密钥分段处理方法,其特征在于,so库中的分段子密钥存储在Android设备本地。
6.如权利要求1所述的Android环境密钥分段处理方法,其特征在于,
响应于接收到密钥提取指令,从so库中获取分段子密钥,将分段子密钥组装成密文;
使用密钥运算因子对组装得到的密文进行解密,并将解密结果分解为密钥和密钥哈希值;
若计算密钥的哈希值与分解得到的密钥哈希值一致,则将密钥输入白盒密钥模块进行解密操作,得到初始密钥,密钥提取成功。
7.如权利要求1-6任一项所述的Android环境密钥分段处理方法,其特征在于,so库包括功能so库和一个或多个分段密钥存储so库;
功能so库存储主要功能接口,提供密钥生成、存储、读写、校验功能,以及用于加解密数据和指令处理;
分段密钥存储so库用于分段存储密钥,以及提供读写接口;
so库还包括校验so库,在分段密钥存储so库之前加载,用于预置分段密钥存储so库的校验值,以校验库文件是否被篡改。
8.如权利要求7所述的Android环境密钥分段处理方法,其特征在于,从so库中获取分段子密钥,将分段子密钥组装成密文,具体为:
响应于接收到密钥提取指令,调用接口向功能so库发送密钥提取指示,功能so库从分段密钥存储so库中分别提取出对应存储的分段子密钥;
根据各分段子密钥的分段标识确定组装顺序,将对应的数据按照组装顺序组装成密文。
CN202010186675.5A 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置 Active CN111404682B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010186675.5A CN111404682B (zh) 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置
CN202310361102.5A CN116388980A (zh) 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010186675.5A CN111404682B (zh) 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310361102.5A Division CN116388980A (zh) 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置

Publications (2)

Publication Number Publication Date
CN111404682A CN111404682A (zh) 2020-07-10
CN111404682B true CN111404682B (zh) 2023-04-25

Family

ID=71430873

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310361102.5A Pending CN116388980A (zh) 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置
CN202010186675.5A Active CN111404682B (zh) 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310361102.5A Pending CN116388980A (zh) 2020-03-17 2020-03-17 一种Android环境密钥分段处理方法及装置

Country Status (1)

Country Link
CN (2) CN116388980A (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507291B (zh) * 2020-11-18 2022-09-13 深思数盾(天津)科技有限公司 Android设备的唯一标识的生成方法和装置
CN112565258B (zh) * 2020-12-04 2023-01-31 国创移动能源创新中心(江苏)有限公司 私钥的存储方法、存储装置、计算机设备和存储介质
CN113595727B (zh) * 2021-09-26 2021-12-21 南京慧链和信数字信息科技研究院有限公司 一种基于密钥分存与硬件绑定的密钥安全系统
CN114285554A (zh) * 2021-12-15 2022-04-05 廊坊市新奥能源有限公司 基于设备标识的密钥生成方法及装置、计算机可读介质
CN114629643B (zh) * 2022-03-25 2024-06-14 山东云海国创云计算装备产业创新中心有限公司 一种密钥处理方法、装置、介质
CN115225673A (zh) * 2022-07-14 2022-10-21 蔚来汽车科技(安徽)有限公司 车辆监控方法、设备和存储介质
CN116108214B (zh) * 2023-02-24 2024-02-06 中科星图数字地球合肥有限公司 遥感影像数据的处理方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055931B (zh) * 2016-05-18 2017-06-16 北京芯盾时代科技有限公司 移动终端软件安全元器件系统及用于该系统的密钥系统
CN110535642B (zh) * 2019-09-02 2022-09-13 北京智游网安科技有限公司 一种分散存储密钥的方法、智能终端及存储介质

Also Published As

Publication number Publication date
CN111404682A (zh) 2020-07-10
CN116388980A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN111404682B (zh) 一种Android环境密钥分段处理方法及装置
US8381307B2 (en) Method for protecting a converted applet (CAP) file including encrypting the CAP file
CN102156843B (zh) 数据加密方法与系统以及数据解密方法
CN103946856A (zh) 加解密处理方法、装置和设备
CN111401901B (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
CN101339597B (zh) 一种升级读写器固件的方法、系统和设备
CN108595198B (zh) 一种安全的固件更新方法
CN112612486B (zh) 存储器烧录方法、装置和待烧录芯片
CN109145628B (zh) 一种基于可信执行环境的数据采集方法及系统
CN107944234B (zh) 一种Android设备的刷机控制方法
US10027639B2 (en) IC chip performing access control based on encrypted ID
CN101316168A (zh) 认证装置以及认证方法
CN109104724A (zh) 一种用于设备升级的数据加密方法和装置
CN107273150B (zh) 预加载固件下载写入方法及装置
CN103914662A (zh) 一种基于分区的文件加密系统的访问控制方法和装置
CN106056017A (zh) 智能卡cos加密下载系统
CN108170461A (zh) 差分升级包生成方法、差分升级方法及装置
CN115396121A (zh) 安全芯片ota数据包的安全认证方法及安全芯片装置
CN104200137A (zh) 一种保护java程序自身安全的方法
CN101815292A (zh) 一种移动终端的数据保护装置及方法
CN102196317A (zh) 一种机顶盒的保护方法及机顶盒
CN102831357B (zh) 二次开发嵌入式应用程序的加密和认证保护的方法及系统
CN103370718B (zh) 使用分布式安全密钥的数据保护方法、设备和系统
CN113014393B (zh) 一种基于硬件加密的密码保险箱系统及应用方法
CN111093190B (zh) 写入关键数据的方法、装置、系统、电子设备及存储介质

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