CN108416224B - 一种数据加解密方法及装置 - Google Patents
一种数据加解密方法及装置 Download PDFInfo
- Publication number
- CN108416224B CN108416224B CN201810151227.4A CN201810151227A CN108416224B CN 108416224 B CN108416224 B CN 108416224B CN 201810151227 A CN201810151227 A CN 201810151227A CN 108416224 B CN108416224 B CN 108416224B
- Authority
- CN
- China
- Prior art keywords
- encryption
- whitepack
- decryption
- identification information
- key
- 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
Images
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据加解密方法,用以提高现有技术中数据的安全性。该方法包括:获取当前运行环境的标识信息;若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;所述标识信息包括下述至少一种:当前操作系统的签名信息;当前应用程序的属性信息。本申请还提供一种数据加解密装置及计算机可读存储介质。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于设备绑定的加密方法、装置及存储介质。
背景技术
随着终端技术的发展,终端中安装的应用程序越来越多。终端中往往会有一些不希望被攻击者窃取的数据,比如,用户在使用应用程序的过程中会用到的或者产生的私密数据,或者开发者往往不希望应用程序的执行逻辑被攻击者逆向破解。为了保护应用程序及其运行过程中产生的数据的安全,常常需要对这些数据进行加密。
近年来,智能终端大量普及,由于智能终端的运行环境是相对开放的,智能终端的运行环境对攻击者而言是可见的(俗称白盒(white-box)环境),白盒密码技术相应地被提出。通过白盒密码技术,把密码算法进行混淆,使得攻击者无法得知具体的算法流程,进而达到保护密钥信息的目的,防止攻击者在白盒环境中提取出密钥,从而保证被保护数据的安全。
现有的白盒加密技术,通常是先选定一个密钥,然后对明文到密文的映射进行置乱编码,将编码的结果用查找表(也称白盒库文件)的方式表示,使得攻击者无法从查找表中分析得到密钥。但是,攻击者常常将白盒库从应用程序中提取出来,在其他环境下非法调用,使得白盒库存在被破解的可能,导致数据存在安全威胁。
发明内容
本申请实施例提供一种数据加解密方法,用以提高现有技术中数据的安全性。
本申请实施例采用下述技术方案:
一种数据加解密方法,包括:
获取当前运行环境的标识信息;
若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;
所述标识信息包括下述至少一种:
当前操作系统的签名信息;
当前应用程序的属性信息。
本申请实施例还提供一种数据加解密装置,用以提高现有技术中数据的安全性。
本申请实施例采用下述技术方案:
一种数据加解密装置,包括:
获取模块,获取当前运行环境的标识信息;
加解密模块,若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;
所述标识信息包括下述至少一种:
当前操作系统的签名信息;
当前应用程序的属性信息。
本申请实施例还提供一种数据加解密装置,用以提高现有技术中数据的安全性。
本申请实施例采用下述技术方案:
一种数据加解密装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明的数据加解密方法的步骤。
本申请实施例还提供一种数据加解密装置,用以提高现有技术中数据的安全性。
本申请实施例采用下述技术方案:
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的数据加解密方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过在确定当前运行环境的标识信息和预先存储在白盒库中的标识信息一致后,再执行加解密操作,标识信息比如可以是操作系统的签名信息、应用程序的属性信息等,这样便可以防止攻击者将白盒库从应用程序中提取出来,在其它环境下非法调用,避免白盒库被破解,提高了数据的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种数据加解密方法的实现流程示意图;
图2为本申请实施例提供的一种数据加解密方法的实现过程示意图;
图3为本申请实施例提供的一种数据加解密方法的实现过程示意图;
图4为本申请实施例提供的一种数据加解密方法的实现过程示意图;
图5为本申请实施例提供的一种数据加解密装置的具体结构示意图;
图6是本申请的一个实施例电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
为解决现有技术中数据安全性较低的问题,本申请实施例提供一种数据加解密方法。本申请实施例提供的数据加解密方法的执行主体可以是终端设备,例如手机、平板电脑等等,或者,此外,该方法的执行主体,也可以是实现该方法的程序模块,比如用来保障应用程序安全的模块,例如白盒库。
为便于描述,下文以该方法的执行主体为白盒库为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为白盒库只是一种示例性的说明,并不应理解为对该方法的限定。
该方法的实现流程示意图如图1所示,包括下述步骤:
步骤11:获取当前运行环境的标识信息;
本发明实施例中,标识信息包括下述至少一种:
当前操作系统的签名信息;当前应用程序的属性信息。
这里的当前运行环境,可以是白盒库当前时刻正在运行时所在的运行环境,比如白盒库正运行于linux操作系统中,或者是正运行于应用程序A中,那么其运行环境则可以是该linux操作系统,也可以是该应用程序A。
那么,当前操作系统,则可以是白盒库当前时刻所运行于的操作系统,当前应用程序,则可是白盒库当前时刻所运行于的应用程序。
其中,操作系统的签名信息,一般情况下可作为操作系统的标识信息,用来与其它操作系统进行区别。在一种实施方式中,如果所运行的应用程序是安卓程序,那么这里获取的签名信息可以是安卓系统安装包(AndroidPackage,apk)的签名信息,比如安卓系统apk签名文件中的消息摘要值(Message-Digest Algorithm 5,MD5),具体可以通过安卓操作系统提供的应用程序编程接口(Application Programming Interface,API)来获取该MD5值。
应用程序的属性信息,比如可以是应用程序的签名信息、应用程序的程序包名称等信息。在具体实施中,对于安卓平台而言,可以通过获取应用程序的app package name,来获取应用的程序包名称;对于苹果移动操作系统iOS平台而言,可以通过获取应用程序的app bundle id来获取应用程序包名称。
步骤12:判断所述标识信息与预先存储在白盒库中的标识信息是否一致;
请参阅图2,在生成白盒库时,开发人员可以预先获取待运行白盒库的运行环境的标识信息,然后将该标识信息存储到白盒库中,然后再将白盒库运行于该运行环境中。
那么白盒库在运行环境中运行时,可以鉴别当前运行环境是否是开发者预先设置的运行环境,即可通过判断当前运行环境的标识信息是否与预先存储在白盒库中的标识信息一致,来判断运行环境是否发生了改变。
若所述标识信息与预先存储在白盒库中的标识信息不一致,则不执行加解密操作,以保障数据的安全。此时可以返回校验失败的信息。
步骤13:若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作。
这里所说的加解密操作,可以包括加密操作或者解密操作,针对加密操作而言,会根据白盒密钥以及加密算法的相关输入参数,对明文信息进行加密,得到密文信息。针对解密操作而言,会根据白盒密钥以及加密算法的相关输入参数,对密文信息进行解密,得到明文信息。
这里的加密算法的相关输入参数,可以包括除了密钥、明文和密文以外,还可以向加密算法中输入的参数,比如,对称加密算法中的初始化向量值(Initialization Vector,iv)。
当确定标识信息与预先存储在白盒库中的标识信息一致后,便可以执行加解密操作。
本发明提供的数据加解密方法,通过验证运行环境信息,可以防止攻击者将白盒库从应用程序中提取出来,在其它环境下非法调用,避免白盒库被破解,提高了数据的安全性。另外,相对于仅验证设备硬件标识(如imei)而言,可以防止不法分子在获取到终端设备后,通过刷机等方式在终端设备上继续使用白盒库,进一步提高了数据的安全性。
另外,本发明提供的数据加解密方法,还可以根据设备指纹来进行加解密操作,请参阅图3。
在基于设备指纹进行加解密之前,开发人员会预先获取待运行白盒库的设备的指纹信息,然后在密钥生成工具中存入该指纹信息。
这样,密钥生成工具可根据原始密钥和预设指纹信息生成第一白盒密钥,该预设指纹信息即待运行白盒库的设备的指纹信息。然后再通过预设指纹信息对该第一白盒密钥进行变换,得到第二白盒密钥。
将第二白盒密钥输出给白盒库,即将第二白盒密钥作为白盒库的输入,这样白盒库的输入是经过转换的密码,非法用户无法获取真实的白盒密钥,保证了数据的安全。
在将第二白盒密钥输入给白盒库后,白盒库可以获取转换后得到的第二白盒密钥。白盒库在对第二白盒密钥进行反变换前,可以获取当前设备的第一指纹信息,然后通过该第一指纹信息对第二白盒密钥进行反变换,为便于描述,这里将反变换后得到的密钥称为第三白盒密钥。
需要说明的是,本发明中,如果变换和反变换的指纹信息相同,则第一白盒密钥会与第三白盒密钥相同。即,密钥生成工具对白盒密钥进行的变换,与白盒库对白盒密钥进行的反变换,为对称的变换操作。
那么,如果第三白盒密钥与第一白盒密钥是相同的,则表明当前设备的指纹信息和预设指纹信息是相同的。
白盒库会利用第三白盒密钥执行加解密操作。但是,如果第三白盒密钥和第一白盒密钥不相同,则在执行解密操作时,是无法通过第三白盒密钥对数据进行解密的,此时可进行报错操作;在执行加密操作时,也无法正确的对数据进行加密,比如会出现加密错误的情况,或者加密后的数据以后不可用(应用程序无法通过第一白盒密钥对数据进行解密)。
需要说明的是,在实际应用中,上述加解密操作中的设备指纹,也可以替换为前文所述的当前运行环境的标识信息,此处不做赘述。
本发明提供的数据加解密方法,应用程序在将加解密的参数输入给白盒库之前,可以先对输入参数进行一下预处理,以防止在传给白盒库时数据被窃取,那么白盒库在接收到输入参数时,也会对应进行返向的预处理,再将处理后得到的参数输入给加密算法。
本说明书一个或多个实施例中,输入参数可以包括下述至少一种:
明文;密文;白盒密钥;加密算法初始化向量。
输出参数为加解密算法所输出的参数,也可以包括下述至少一种:
明文;密文;白盒密钥;加密算法初始化向量。
请参阅图4,具体来说,应用程序通过第二预设规则对第一输入参数进行预处理,得到第二输入参数,然后将第二输入参数输入给白盒库。白盒库通过第一预设规则对该第二输入参数进行预处理,便可以得到第一输入参数;
第一预设规则和第二预设规则为对称关系,即通过第一预设规则对数据A进行处理得到数据B,则通过第二规则对数据B进行处理可以得到数据A。
在得到第一输入参数后,则可以将该第一输入参数输入给加解密算法,加解密算法在对输入参数进行处理后,会得到第一输出参数。
在得到第一输出参数后,为了防止第一输出参数被非法用户获取,在将第一输出参数传给应用程序之前,还可以通过第三预设规则对该第一输出参数进行预处理,得到第二输出参数,再返给应用程序。应用程序在得到第二输出参数收,可以再通过第四预设规则对第二输出参数进行反预处理,得到第一输出参数。当然,这里的第三预设规则和第四预设规则也为对称关系。
为便于描述,将白盒库所做的预处理操作称为内部预处理,将应用程序所做的预处理操作称为外部预处理。其中,外部预处理操作的执行模块可以放在应用程序的任何位置,同时可对该执行模块进行代码混淆保护。
通过上述预处理操作,可以显著地削弱明文攻击,提高了数据的安全性。
以上为本申请提供的数据加解密方法,基于上述数据加解密方法,本申请还提供一种数据加解密装置。该数据加解密装置的结构示意图如图5所示,主要包括下述功能单元:
获取模块201,获取当前运行环境的标识信息;
加解密模块202,若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;
所述标识信息包括下述至少一种:
当前操作系统的签名信息;
当前应用程序的属性信息。
在一种实施方式中,所述加解密模块202,具体用于:
获取当前设备的第一指纹信息,通过所述第一指纹信息对所述第二白盒密钥进行反变换,得到第三白盒密钥;其中,所述第二白盒密钥,是通过预设指纹信息对第一白盒密钥进行变换得到的,所述第一白盒密钥,是根据原始密钥和预设指纹信息生成的。
利用所述第三白盒密钥执行加解密操作。
在一种实施方式中,所述加解密模块202,具体包括第一预处理模块202-1、加解密子模块202-2和第二预处理模块202-3,其中:
第一预处理模块202-1,通过第一预设规则对第二输入参数进行预处理,得到加解密算法的第一输入参数;所述第二输入参数是应用程序通过第二预设规则对所述第一输入参数进行预处理后得到的,所述第一预设规则和所述第二预设规则互为逆反关系。
加解密子模块202-2,将所述第二输入参数输入加解密算法进行加解密操作,得到第一输出参数;
第二预处理模块202-3,通过第三预设规则对所述第一输出参数进行预处理,得到第二输出参数,并返给应用程序,以便应用程序通过第四预设规则对所述第二输出参数进行反预处理,得到所述第一输出参数。
在一种实施方式中,所述第一预设参数包括下述至少一种:
明文;密文;白盒密钥;加密算法初始化向量。
本申请提供的装置,通过在确定当前运行环境的标识信息和预先存储在白盒库中的标识信息一致后,再执行加解密操作,标识信息比如可以是操作系统的签名信息、应用程序的属性信息等,这样便可以防止攻击者将白盒库从应用程序中提取出来,在其它环境下非法调用,避免白盒库被破解,提高了数据的安全性。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成应用数据加解密装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取当前运行环境的标识信息;
若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;
所述标识信息包括下述至少一种:
当前操作系统的签名信息;
当前应用程序的属性信息。
上述如本申请图1所示实施例揭示的数据加解密装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中数据加解密装置执行的方法,并实现数据加解密方法在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中数据加解密装置执行的方法,并具体用于执行:
获取当前运行环境的标识信息;
若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;
所述标识信息包括下述至少一种:
当前操作系统的签名信息;
当前应用程序的属性信息。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据加解密方法,其特征在于,包括:
获取当前运行环境的标识信息;
若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;
所述标识信息包括下述至少一种:
当前操作系统的签名信息;
当前应用程序的属性信息。
2.如权利要求1所述方法,其特征在于,所述执行加解密操作,具体包括:
获取当前设备的第一指纹信息,通过所述第一指纹信息对第二白盒密钥进行反变换,得到第三白盒密钥;其中,所述第二白盒密钥,是通过预设指纹信息对第一白盒密钥进行变换得到的,所述第一白盒密钥,是根据原始密钥和预设指纹信息生成的;
利用所述第三白盒密钥执行加解密操作。
3.如权利要求1所述方法,其特征在于,所述执行加解密操作,具体包括:
通过第一预设规则对第二输入参数进行预处理,得到加解密算法的第一输入参数;所述第二输入参数是应用程序通过第二预设规则对所述第一输入参数进行预处理后得到的,所述第一预设规则和所述第二预设规则为对称关系;
将所述第一输入参数输入加解密算法进行加解密操作,得到第一输出参数。
4.如权利要求3所述方法,其特征在于,在得到第一输出参数后,所述方法还包括:
通过第三预设规则对所述第一输出参数进行预处理,得到第二输出参数,并返给应用程序,以便应用程序通过第四预设规则对所述第二输出参数进行反预处理,得到所述第一输出参数。
5.如权利要求3所述方法,其特征在于,所述第一输入参数包括下述至少一种:
明文;密文;白盒密钥;加密算法初始化向量。
6.一种数据加解密装置,其特征在于,包括:
获取模块,获取当前运行环境的标识信息;
加解密模块,若所述标识信息与预先存储在白盒库中的标识信息一致,则执行加解密操作;
所述标识信息包括下述至少一种:
当前操作系统的签名信息;
当前应用程序的属性信息。
7.如权利要求6所述装置,其特征在于,所述加解密模块,具体用于:
获取当前设备的第一指纹信息,通过所述第一指纹信息对第二白盒密钥进行反变换,得到第三白盒密钥;其中,所述第二白盒密钥,是通过预设指纹信息对第一白盒密钥进行变换得到的,所述第一白盒密钥,是根据原始密钥和预设指纹信息生成的;
利用所述第三白盒密钥执行加解密操作。
8.如权利要求7所述装置,其特征在于,所述加解密模块,具体包括第一预处理模块、加解密子模块和第二预处理模块,其中:
第一预处理模块,通过第一预设规则对第二输入参数进行预处理,得到加解密算法的第一输入参数;所述第二输入参数是应用程序通过第二预设规则对所述第一输入参数进行预处理后得到的,所述第一预设规则和所述第二预设规则互为逆反关系;
加解密子模块,将所述第二输入参数输入加解密算法进行加解密操作,得到第一输出参数;
第二预处理模块,通过第三预设规则对所述第一输出参数进行预处理,得到第二输出参数,并返给应用程序,以便应用程序通过第四预设规则对所述第二输出参数进行反预处理,得到所述第一输出参数。
9.一种数据加解密装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810151227.4A CN108416224B (zh) | 2018-02-13 | 2018-02-13 | 一种数据加解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810151227.4A CN108416224B (zh) | 2018-02-13 | 2018-02-13 | 一种数据加解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108416224A CN108416224A (zh) | 2018-08-17 |
CN108416224B true CN108416224B (zh) | 2019-10-15 |
Family
ID=63128876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810151227.4A Active CN108416224B (zh) | 2018-02-13 | 2018-02-13 | 一种数据加解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108416224B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909371B (zh) * | 2019-11-21 | 2022-04-15 | 广东美的厨房电器制造有限公司 | 一种数据加密方法、电子设备及介质 |
CN111310131B (zh) * | 2020-01-19 | 2022-11-04 | Oppo广东移动通信有限公司 | so库调用处理方法、装置、电子装置及存储介质 |
CN113656810B (zh) * | 2021-07-16 | 2024-07-12 | 五八同城信息技术有限公司 | 应用程序加密方法、装置、电子设备及存储介质 |
CN113794706B (zh) * | 2021-09-06 | 2023-08-15 | 北京百度网讯科技有限公司 | 数据的处理方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047220A (zh) * | 2008-05-23 | 2011-05-04 | 爱迪德加拿大公司 | 生成软件应用程序的白盒实现的系统和方法 |
CN107038110A (zh) * | 2016-02-03 | 2017-08-11 | 北京京东尚科信息技术有限公司 | 白盒测试的方法和系统 |
CN107317807A (zh) * | 2017-06-22 | 2017-11-03 | 北京洋浦伟业科技发展有限公司 | 一种设备绑定方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5757915A (en) * | 1995-08-25 | 1998-05-26 | Intel Corporation | Parameterized hash functions for access control |
-
2018
- 2018-02-13 CN CN201810151227.4A patent/CN108416224B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047220A (zh) * | 2008-05-23 | 2011-05-04 | 爱迪德加拿大公司 | 生成软件应用程序的白盒实现的系统和方法 |
CN107038110A (zh) * | 2016-02-03 | 2017-08-11 | 北京京东尚科信息技术有限公司 | 白盒测试的方法和系统 |
CN107317807A (zh) * | 2017-06-22 | 2017-11-03 | 北京洋浦伟业科技发展有限公司 | 一种设备绑定方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108416224A (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111181720B (zh) | 基于可信执行环境的业务处理方法及装置 | |
CN111082934B (zh) | 基于可信执行环境的跨域安全多方计算的方法及装置 | |
EP3678324B1 (en) | Method and apparatus for encrypting and decrypting product information | |
CN108416224B (zh) | 一种数据加解密方法及装置 | |
CN109728914B (zh) | 数字签名验证方法、系统、装置及计算机可读存储介质 | |
CN106055936B (zh) | 可执行程序数据包加密/解密方法及装置 | |
CN109214168A (zh) | 固件升级方法及装置 | |
CN102163268B (zh) | 在执行期间验证软件代码的完整性的方法和设备 | |
CN110826031B (zh) | 加密方法、装置、计算机设备及存储介质 | |
CN107196907B (zh) | 一种安卓so文件的保护方法及装置 | |
CN110868287A (zh) | 一种认证加密密文编码方法、系统、装置及存储介质 | |
CN108848058A (zh) | 智能合约处理方法及区块链系统 | |
CN108768963A (zh) | 可信应用与安全元件的通信方法和系统 | |
CN108111622A (zh) | 一种下载白盒库文件的方法、装置及系统 | |
CN109858255A (zh) | 数据加密存储方法、装置及实现装置 | |
CN108134673A (zh) | 一种生成白盒库文件的方法及装置 | |
CN107947917A (zh) | 一种生成白盒密钥的方法及装置 | |
CN108494546A (zh) | 一种白盒加密方法、装置及存储介质 | |
CN109903052A (zh) | 一种区块链签名方法和移动设备 | |
CN109687966A (zh) | 加密方法及其系统 | |
CN106550359A (zh) | 一种终端和sim卡的认证方法和系统 | |
CN109787768A (zh) | 一种身份验证配置方法、装置及计算机可读存储介质 | |
CN107423583B (zh) | 一种软件保护设备重置方法及装置 | |
CN113918982B (zh) | 一种基于标识信息的数据处理方法及系统 | |
CN110472429A (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 |