CN106295257A - 一种被加固软件的认证方法及装置 - Google Patents
一种被加固软件的认证方法及装置 Download PDFInfo
- Publication number
- CN106295257A CN106295257A CN201510366915.9A CN201510366915A CN106295257A CN 106295257 A CN106295257 A CN 106295257A CN 201510366915 A CN201510366915 A CN 201510366915A CN 106295257 A CN106295257 A CN 106295257A
- Authority
- CN
- China
- Prior art keywords
- software
- hardened
- server
- result
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种被加固软件的认证方法及装置,该认证方法包括:在服务器对被加固软件的壳程序验证通过之后,获取服务器发送的关键数据,关键数据包括:被加固软件的明文软件代码中被隐藏的数据和被隐藏数据对应的入口地址;根据被隐藏的数据和入口地址,替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据,然后加载明文软件代码。通过本发明提供的认证方法既能够有效分清服务请求的来源,又能够在恶意应用请求提供服务时,进行有效的保护,大大提高了对被加固软件的保护强度,有效地防止攻击者的攻击,保证被加固软件可以正常运行。
Description
技术领域
本发明涉及互联网安全技术领域,尤其涉及一种被加固软件的认证方法及装置。
背景技术
在安卓(Android)系统中,为了安全的需要,我们会对应用软件安装包做相应的加固处理,并且相应的希望市场上流通的都是经过加固处理的安装包。但是现有的安卓软件市场种类繁多,对同一软件安装包的发布也会有很多自定义的版本。
对安卓系统的服务而言,当作为应用的服务运行时,会启动一个新的进程或者利用应用现有进程,创建一个服务对象。当其他应用调用到此服务时由此服务对象的代码完成具体的业务逻辑。
然而按照现有安卓系统的服务提供方式,服务提供应用无法对提供的数据进行存取保护。即使服务请求应用在存取数据时进行安全提示,但对用户而言,也不能有效分清服务请求的来源,在恶意应用请求提供服务时,无法进行有效的保护。为避免未经保护的安装包在市面上的安装传播,需要对应用软件进行认证。
发明内容
为了克服上述问题,本发明提供了一种被加固软件的认证方法及装置,既能够有效分清服务请求的来源,又能够在恶意应用请求提供服务时,进行有效的保护,大大提高了对被加固软件的保护强度,有效地防止攻击者的攻击,保证被加固软件可以正常运行。
为了解决上述技术问题,本发明采用如下技术方案:
依据本发明的一个方面,提供了一种被加固软件的认证方法,应用于一移动终端,所述认证方法包括:
在服务器对被加固软件的壳程序验证通过之后,获取所述服务器发送的关键数据,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址;
根据所述被隐藏的数据和所述入口地址,替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
可选地,在服务器对被加固软件的壳程序验证通过之前,所述认证方法还包括:
计算得到被加固软件的壳程序的完整性校验值,并对所述壳程序的完整性校验值进行处理,将处理后的处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
可选地,所述计算得到被加固软件的壳程序的完整性校验值,并对所述壳程序的完整性校验值进行处理,将处理后的处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据,具体包括:
将所述被加固软件的请求信息发送给服务器,由所述服务器根据所述被加固软件的请求信息随机生成第一随机数;
根据第一算法计算得到被加固软件的壳程序的完整性校验值;
获取所述第一随机数,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第一级联结果;
根据第二算法对所述第一级联结果进行计算,获取第一计算结果;
将所述第一计算结果与所述被加固软件随机生成的第二随机数进行第二级联处理,并将处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
可选地,所述在服务器对被加固软件的壳程序验证通过之后,获取所述服务器发送的关键数据,具体包括:
在服务器对被加固软件的壳程序验证通过之后,对所述服务器发送的加密数据进行解密运算;
所述解密运算完成后,获取解密数据中包含的所述服务器发送的关键数据。
可选地,所述根据所述被隐藏的数据和所述入口地址,替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码,具体包括:
根据所述入口地址,定位所述被加固软件的明文软件代码所隐藏的对应数据在所述被加固软件的明文软件代码中的位置;
将所述被隐藏的数据替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
依据本发明的另一方面,还提供了一种被加固软件的认证方法,应用于一服务器,所述认证方法包括:
获取被加固软件发送的处理结果,对所述被加固软件的壳程序的完整性校验值进行验证;
若所述验证结果为验证通过,则对关键数据进行加密处理,并将加密生成的加密数据发送给所述被加固软件,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址。
可选地,所述根据被加固软件发送的处理结果,对所述被加固软件的壳程序的完整性校验值进行验证,具体包括:
获取被加固软件的请求信息,根据所述请求信息随机生成第一随机数,并将所述第一随机数发送给所述被加固软件;
根据所述被加固软件的请求信息获取所述被加固软件的ID信息,并根据所述被加固软件的ID信息获取所述被加固软件的壳程序的完整性校验值,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第二级联结果;
根据第二算法对所述第二级联结果进行计算,得到第二计算结果;
获取所述被加固软件发送的处理结果,根据所述处理结果识别获取第一计算结果和第二随机数;
对所述第一计算结果与所述第二计算结果进行验证,若所述第一计算结果与所述第二计算结果相同,则验证结果为验证通过。
可选地,所述若所述验证结果为验证通过,则对关键数据进行加密处理,将加密生成的加密数据发送给所述被加固软件,具体包括:
获取根据所述第二级联结果识别得到的所述第二随机数;
所述第二随机数与关键数据中包括的所述被隐藏数据对应的入口地址根据第三算法进行计算,并得到第三计算结果;
对所述第三计算结果进行加密处理,将加密后生成的加密数据发送给所述被加固软件。
可选地,所述将所述第二随机数与所述被加固软件的明文软件代码中的入口地址根据第三算法进行计算,具体为:
对所述第二随机数与所述被加固软件的明文软件代码中的入口地址进行异或的逻辑运算。
依据本发明的另一个方面,还提供了一种被加固软件的认证装置,应用于一移动终端,所述认证装置包括:
获取模块,用于在服务器对被加固软件的壳程序验证通过之后,获取所述服务器发送的关键数据,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址;
替换模块,用于根据所述被隐藏的数据和所述入口地址,替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
可选地,所述认证装置还包括:
处理模块,用于计算得到被加固软件的壳程序的完整性校验值,并对所述壳程序的完整性校验值进行处理,将处理后的处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
可选地,所述处理模块具体包括:
发送单元,用于将所述被加固软件的请求信息发送给服务器,由所述服务器根据所述被加固软件的请求信息随机生成第一随机数;
第一计算单元,用于根据第一算法计算得到被加固软件的壳程序的完整性校验值;
第一级联单元,用于获取所述第一随机数,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第一级联结果;
第二计算单元,用于根据第二算法对所述第一级联结果进行计算,获取第一计算结果;
第二级联单元,用于将所述第一计算结果与所述被加固软件随机生成的第二随机数进行第二级联处理,并将处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
可选地,所述获取模块具体包括:
解密单元,用于在服务器对被加固软件的壳程序验证通过之后,对所述服务器发送的加密数据进行解密运算;
第一获取单元,用于所述解密运算完成后,获取解密数据中包含的所述服务器发送的关键数据。
可选地,所述替换模块具体包括:
定位单元,用于根据所述入口地址,定位所述被加固软件的明文软件代码所隐藏的对应数据在所述被加固软件的明文软件代码中的位置;
替换单元,用于将所述被隐藏的数据替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
依据本发明的另一方面,还提供了一种被加固软件的认证装置,应用于一服务器,所述认证装置包括:
验证模块,用于获取被加固软件发送的处理结果,对所述被加固软件的壳程序的完整性校验值进行验证;
加密模块,用于若所述验证结果为验证通过,则对关键数据进行加密处理,将加密生成的加密数据发送给所述被加固软件,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址。
可选地,所述验证模块具体包括:
生成单元,用于获取被加固软件的请求信息,根据所述请求信息随机生成第一随机数,并将所述第一随机数发送给所述被加固软件;
第三级联单元,用于根据所述被加固软件的请求信息获取所述被加固软件的ID信息,并根据所述被加固软件的ID信息获取所述被加固软件的壳程序的完整性校验值,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第二级联结果;
第三计算单元,用于根据第二算法对所述第二级联结果进行计算,得到第二计算结果;
识别单元,用于获取所述被加固软件发送的处理结果,根据所述处理结果识别获取第一计算结果和第二随机数;
验证单元,用于对所述第一计算结果与所述第二计算结果进行验证,若所述第一计算结果与所述第二计算结果相同,则验证结果为验证通过。
可选地,所述添加模块具体包括:
第二获取单元,用于获取根据所述第二级联结果识别得到的所述第二随机数;
第四计算单元,用于所述第二随机数与关键数据中包括的所述被隐藏数据对应的入口地址根据第三算法进行计算,并得到第三计算结果;
加密单元,用于对所述第三计算结果进行加密处理,将加密后生成的加密数据发送给所述被加固软件。
可选地,所述第四计算单元在根据所述第三算法进行计算时,具体为:
对所述第二随机数与所述被加固软件的明文软件代码中的入口地址进行异或的逻辑运算。
本发明的有益效果是:
本发明中提供的被加固软件的认证方法,在服务器对被加固软件的壳程序验证通过之后,可获取服务器提供的关键数据,并根据关键数据中的被加固软件的明文软件代码中被隐藏的数据对应的入口地址,能够确定内存中存储的被加固软件的明文软件代码所隐藏的对应数据在明文软件代码中的位置,然后用关键数据中包括的明文软件代码中被隐藏的数据替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据,保证了该被加固软件正常运行。另外,通过对被加固软件的壳程序进行验证,有效地防止壳程序被篡改,保证了壳程序的完整性。所以,通过本发明提供的认证方法既能够有效分清服务请求的来源,又能够在恶意应用请求提供服务时,进行有效的保护,大大提高了对被加固软件的保护强度,有效地防止攻击者的攻击,保证被加固软件可以正常运行。
附图说明
图1表示本发明实施例中被加固软件的认证方法的流程图之一;
图2表示本发明实施例中对壳程序的完整性校验值进行处理的流程图;
图3表示本发明实施例中获取关键数据的流程图;
图4表示本发明实施例中替换明文软件代码所隐藏的对应数据的流程图;
图5表示本发明实施例中被加固软件的认证方法的流程图之二;
图6表示本发明实施例中验证壳程序的完整性校验值的流程图;
图7表示本发明实施例中加密关键数据的流程图;
图8表示本发明实施例中被加固软件的认证装置的结构框图之一;
图9表示本发明实施例中处理模块的结构框图;
图10表示本发明实施例中获取模块的结构框图;
图11表示本发明实施例中替换模块的结构框图;
图12表示本发明实施例中被加固软件的认证装置的结构框图之二;
图13表示本发明实施例中验证模块的结构框图;以及
图14表示本发明实施例中加密模块的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
实施例一
依据本发明的一个方面,提供了一种被加固软件的认证方法,应用于一移动终端,如图1所示,该认证方法100包括:
步骤S103、在服务器对被加固软件的壳程序验证通过之后,获取服务器发送的关键数据,关键数据包括:被加固软件的明文软件代码中被隐藏的数据和被隐藏数据对应的入口地址;
步骤S105、根据被隐藏的数据和入口地址,替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据,然后加载明文软件代码。
通过本发明实施例提供的被加固软件的认证方法,可获取服务器提供的关键数据,并根据关键数据中的被加固软件的明文软件代码中被隐藏的数据对应的入口地址,能够确定内存中存储的被加固软件的明文软件代码所隐藏的对应数据在明文软件代码中的位置,然后用关键数据中包括的明文软件代码中被隐藏的数据替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据。因此,在本发明实施例提供的被加固软件的认证方法中,被加固软件需要从服务器上获取自身隐藏的关键数据,可以有效地对抗了攻击者的攻击,对该被加固软件有很好的保护作用,而且在获取隐藏的关键数据后,还可以保证该被加固软件正常运行。
其中,如图1所示,在本发明实施例中,该认证方法100还包括:
步骤S101、计算得到被加固软件的壳程序的完整性校验值,并对壳程序的完整性校验值进行处理,将处理后的处理结果发送给服务器,由服务器对处理结果进行验证,若验证结果为验证通过,则由服务器对关键数据加密处理生成加密数据。
因此,在本发明实施例中,在获取关键数据前,首先需要对被加固软件的壳程序的完整性校验值进行验证,只有当验证通过后,才能获取服务器发送的关键数据。另外,通过服务器对被加固软件的壳程序的完整性校验值进行验证,能够有效防止壳程序被篡改,很好地保证其完整性。而且服务器在对被加固软件的壳程序的完整性校验值进行验证过程中,采用基于对称体制的双向挑战应答方式,即由安装于移动终端的被加固软件与服务器双向配合实现,避免了传统的信道攻击,实现了双向实体认证,增加了对被加固软件的壳程序的保护强度。
具体地,如图2所示,在本发明实施例中,计算得到被加固软件的壳程序的完整性校验值,并对壳程序的完整性校验值进行处理,将处理后的处理结果发送给服务器,由服务器对处理结果进行验证,若验证结果为验证通过,则由服务器对关键数据加密处理生成加密数据(步骤S101)具体包括:
步骤S1011、将被加固软件的请求信息发送给服务器,由服务器根据被加固软件的请求信息随机生成第一随机数;
步骤S1013、根据第一算法计算得到被加固软件的壳程序的完整性校验值;
步骤S1015、获取第一随机数,将第一随机数与壳程序的完整性校验值进行第一级联处理,获取第一级联结果;
步骤S1017、根据第二算法对第一级联结果进行计算,获取第一计算结果;
步骤S1019、将第一计算结果与被加固软件随机生成的第二随机数进行第二级联处理,并将处理结果发送给服务器,由服务器对处理结果进行验证,若验证结果为验证通过,则由服务器对关键数据加密处理生成加密数据。
其中,在本发明实施例中,在对被加固软件的壳程序的完整性校验值进行校验时,首先需要对其壳程序的完整性校验值进行处理,有效地防止了在将壳程序的完整性校验值发送给服务器的过程中遭受到被攻击者修改或者破坏,因此,对被加固软件的壳程序的完整性校验值起到了很好的保护作用。
具体地,如图3所示,在本发明实施例中,在服务器对被加固软件的壳程序验证通过之后,获取服务器发送的关键数据(步骤S103),具体包括:
步骤S1031、在服务器对被加固软件的壳程序验证通过之后,对服务器发送的加密数据进行解密运算;
步骤S1033、解密运算完成后,获取解密数据中包含的服务器发送的关键数据。
通过对关键数据进行加密处理,能够有效防止服务器发送关键数据的过程中,关键数据被攻击者获取,对关键数据起到了很好的保护作用。因此,被加固软件在获取加密数据后,需要对其进行解密以获取服务器发送的关键数据。
具体地,如图4所示,在本发明实施例中,根据被隐藏的数据和入口地址,替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据,然后加载明文软件代码(步骤S105),具体包括:
步骤S1051、根据入口地址,定位被加固软件的明文软件代码所隐藏的对应数据在被加固软件的明文软件代码中的位置;
步骤S1053、将被隐藏的数据替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据,然后加载明文软件代码。
因此,在获取服务器提供的关键数据后,根据关键数据中的被加固软件的明文软件代码中被隐藏的数据对应的入口地址,能够确定内存中存储的被加固软件的明文软件代码所隐藏的对应数据在明文软件代码中的位置,并用关键数据中包括的明文软件代码中被隐藏的数据替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据。因此,本发明实施例提供的被加固软件的认证方法不仅可以保证该被加固软件正常运行,而且对该被加固软件有很好的保护作用,能够有效地对抗了攻击者的攻击。
其中,在本发明实施例中,上述完整性校验值、第一随机数以及第二随机数均采用十六进制表示,当然可以理解的是,在本发明实施例中,对完整性校验值、第一随机数以及第二随机数的表述方式并不进行具体限定。
实施例二
依据本发明的另一方面,还提供了一种被加固软件的认证方法,应用于一服务器,如图5所示,该认证方法500包括:
步骤S501、获取被加固软件发送的处理结果,对被加固软件的壳程序的完整性校验值进行验证;
步骤S503、若验证结果为验证通过,则对关键数据进行加密处理,并将加密生成的加密数据发送给被加固软件,关键数据包括:被加固软件的明文软件代码中被隐藏的数据和被隐藏数据对应的入口地址。
其中,在本发明实施例中,首先要对被加固软件的壳程序的完整性校验值进行验证,以保证其壳程序的完整性,有效地防止壳程序被篡改,只有当验证通过后,才能向被加固软件发送关键数据,在发送关键数据前,需要对关键数据进行加密处理,因此保证了在发送关键数据过程中的安全性,能够有效防止服务器发送关键数据被攻击者获取,对关键数据起到了很好的保护作用。
具体地,如图6所示,在本发明实施例中,根据被加固软件发送的处理结果,对被加固软件的壳程序的完整性校验值进行验证(步骤S501),具体包括:
步骤S5011、获取被加固软件的请求信息,根据请求信息随机生成第一随机数,并将第一随机数发送给被加固软件;
步骤S5013、根据被加固软件的请求信息获取被加固软件的ID信息,并根据被加固软件的ID信息获取被加固软件的壳程序的完整性校验值,将第一随机数与壳程序的完整性校验值进行第一级联处理,获取第二级联结果;
步骤S5015、根据第二算法对第二级联结果进行计算,得到第二计算结果;
步骤S5017、获取被加固软件发送的处理结果,根据处理结果识别获取第一计算结果和第二随机数;
步骤S5019、对第一计算结果与第二计算结果进行验证,若第一计算结果与第二计算结果相同,则验证结果为验证通过。
由于被加固软件对其壳程序的完整性校验值进行了相应的处理,因此,服务器需要对其获取的被加固软件的壳程序的完整性校验值进行同样的处理,并对被加固软件计算的第一计算结果与服务器计算的第二计算结果进行对比,若第一结果与第二结果不同,则证明被加固软件的壳程序被篡改,遭到攻击者的攻击;若第一计算结果与第二计算结果相同,则被加固软件的壳程序没有被破坏。
所以,本发明提供的认证方法能够有效防止壳程序被篡改,很好地保证其完整性,并通过被加固软件与服务器的双向配合,实现了对壳程序完整性的验证,能够避免传统的信道攻击,实现了双向实体认证。其中,上述完整性校验值、第一随机数以及第二随机数均采用十六进制表示,当然可以理解的是,在本发明实施例中,对完整性校验值、第一随机数以及第二随机数的表述方式并不进行具体限定。
具体地,如图7所示,在本发明实施例中,若验证结果为验证通过,则对关键数据进行加密处理,将加密生成的加密数据发送给被加固软件(步骤S503),具体包括:
步骤S5031、获取根据第二级联结果识别得到的第二随机数;
步骤S5033、第二随机数与关键数据中包括的被隐藏数据对应的入口地址根据第三算法进行计算,并得到第三计算结果;
步骤S5035、对第三计算结果进行加密处理,将加密后生成的加密数据发送给被加固软件。
具体地,在本发明实施例中,将第二随机数与被加固软件的明文软件代码中的入口地址根据第三算法进行计算,具体为:对第二随机数与被加固软件的明文软件代码中的入口地址进行异或的逻辑运算。
其中,在本发明实施例中,经过上述加密处理,提高了对关键数据的保护程度,保证了在发送关键数据过程中的安全性,能够有效防止服务器发送关键数据被攻击者获取,对关键数据起到了很好的保护作用。
由上述可知,本发明实施例提供的认证方法中的流程不能被逾越,只要在认证过程中出现错误,则不能继续后续流程,因此既能够有效分清服务请求的来源,又能够在恶意应用请求提供服务时,进行有效的保护,大大提高了对被加固软件的保护强度,有效地防止攻击者的攻击,保证被加固软件可以正常运行。
实施例三
依据本发明的另一个方面,还提供了一种被加固软件的认证装置,应用于一移动终端,如图8所示,该认证装置800包括:
获取模块803,用于在服务器对被加固软件的壳程序验证通过之后,获取服务器发送的关键数据,关键数据包括:被加固软件的明文软件代码中被隐藏的数据和被隐藏数据对应的入口地址;
替换模块805,用于根据被隐藏的数据和入口地址,替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据,然后加载明文软件代码。
其中,如图8所示,在本发明实施例中,该认证装置800还包括:
处理模块801,用于计算得到被加固软件的壳程序的完整性校验值,并对壳程序的完整性校验值进行处理,将处理后的处理结果发送给服务器,由服务器对处理结果进行验证,若验证结果为验证通过,则由服务器对关键数据加密处理生成加密数据。
具体地,如图9所示,在本发明实施例中,处理模块801具体包括:
发送单元8011,用于将被加固软件的请求信息发送给服务器,由服务器根据被加固软件的请求信息随机生成第一随机数;
第一计算单元8013,用于根据第一算法计算得到被加固软件的壳程序的完整性校验值;
第一级联单元8015,用于获取第一随机数,将第一随机数与壳程序的完整性校验值进行第一级联处理,获取第一级联结果;
第二计算单元8017,用于根据第二算法对第一级联结果进行计算,获取第一计算结果;
第二级联单元8019,用于将第一计算结果与被加固软件随机生成的第二随机数进行第二级联处理,并将处理结果发送给服务器,由服务器对处理结果进行验证,若验证结果为验证通过,则由服务器对关键数据加密处理生成加密数据。
具体地,如图10所示,在本发明实施例中,获取模块803具体包括:
解密单元8031,用于在服务器对被加固软件的壳程序验证通过之后,对服务器发送的加密数据进行解密运算;
第一获取单元8033,用于解密运算完成后,获取解密数据中包含的服务器发送的关键数据。
具体地,如图11所示,在本发明实施例中,替换模块805具体包括:
定位单元8051,用于根据入口地址,定位被加固软件的明文软件代码所隐藏的对应数据在被加固软件的明文软件代码中的位置;
替换单元8053,用于将被隐藏的数据替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据,然后加载明文软件代码。
通过本发明实施例提供的被加固软件的认证装置,可获取服务器提供的关键数据,并根据关键数据中的被加固软件的明文软件代码中被隐藏的数据对应的入口地址,能够确定内存中存储的被加固软件的明文软件代码所隐藏的对应数据在明文软件代码中的位置,然后用关键数据中包括的明文软件代码中被隐藏的数据替换内存中存储的被加固软件的明文软件代码所隐藏的对应数据。因此,被加固软件需要从服务器上获取自身隐藏的关键数据,可以有效地对抗了攻击者的攻击,对该被加固软件有很好的保护作用,而且在获取隐藏的关键数据后,还可以保证该被加固软件正常运行。
实施例四
依据本发明的另一方面,还提供了一种被加固软件的认证装置,应用于一服务器,如图12所示,该认证装置1200包括:
验证模块1201,用于获取被加固软件发送的处理结果,对被加固软件的壳程序的完整性校验值进行验证;
加密模块1203,用于若验证结果为验证通过,则对关键数据进行加密处理,将加密生成的加密数据发送给被加固软件,关键数据包括:被加固软件的明文软件代码中被隐藏的数据和被隐藏数据对应的入口地址。
具体地,如图13所示,在本发明实施例中,验证模块1201具体包括:
生成单元12011,用于获取被加固软件的请求信息,根据请求信息随机生成第一随机数,并将第一随机数发送给被加固软件;
第三级联单元12013,用于根据被加固软件的请求信息获取被加固软件的ID信息,并根据被加固软件的ID信息获取被加固软件的壳程序的完整性校验值,将第一随机数与壳程序的完整性校验值进行第一级联处理,获取第二级联结果;
第三计算单元12015,用于根据第二算法对第二级联结果进行计算,得到第二计算结果;
识别单元12017,用于获取被加固软件发送的处理结果,根据处理结果识别获取第一计算结果和第二随机数;
验证单元12019,用于对第一计算结果与第二计算结果进行验证,若第一计算结果与第二计算结果相同,则验证结果为验证通过。
具体地,如图14所示,在本发明实施例中,添加模块1203具体包括:
第二获取单元12031,用于获取根据第二级联结果识别得到的第二随机数;
第四计算单元12033,用于第二随机数与关键数据中包括的被隐藏数据对应的入口地址根据第三算法进行计算,并得到第三计算结果;
加密单元12035,用于对第三计算结果进行加密处理,将加密后生成的加密数据发送给被加固软件。
其中,第四计算单元12033在根据第三算法进行计算时,具体为:
对第二随机数与被加固软件的明文软件代码中的入口地址进行异或的逻辑运算。
本发明实施例提供的认证装置首先要对被加固软件的壳程序的完整性校验值进行验证,以保证其壳程序的完整性,有效地防止壳程序被篡改,然后在当验证通过后,向被加固软件发送关键数据,其中在发送关键数据前,需要对关键数据进行加密处理,因此保证了在发送关键数据过程中的安全性,能够有效防止服务器发送关键数据被攻击者获取,对关键数据起到了很好的保护作用。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (18)
1.一种被加固软件的认证方法,应用于一移动终端,其特征在于,所述认证方法包括:
在服务器对被加固软件的壳程序验证通过之后,获取所述服务器发送的关键数据,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址;
根据所述被隐藏的数据和所述入口地址,替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
2.如权利要求1所述的认证方法,其特征在于,在服务器对被加固软件的壳程序验证通过之前,所述认证方法还包括:
计算得到被加固软件的壳程序的完整性校验值,并对所述壳程序的完整性校验值进行处理,将处理后的处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
3.如权利要求2所述的认证方法,其特征在于,所述计算得到被加固软件的壳程序的完整性校验值,并对所述壳程序的完整性校验值进行处理,将处理后的处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据,具体包括:
将所述被加固软件的请求信息发送给服务器,由所述服务器根据所述被加固软件的请求信息随机生成第一随机数;
根据第一算法计算得到被加固软件的壳程序的完整性校验值;
获取所述第一随机数,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第一级联结果;
根据第二算法对所述第一级联结果进行计算,获取第一计算结果;
将所述第一计算结果与所述被加固软件随机生成的第二随机数进行第二级联处理,并将处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
4.如权利要求3所述的认证方法,其特征在于,所述在服务器对被加固软件的壳程序验证通过之后,获取所述服务器发送的关键数据,具体包括:
在服务器对被加固软件的壳程序验证通过之后,对所述服务器发送的加密数据进行解密运算;
所述解密运算完成后,获取解密数据中包含的所述服务器发送的关键数据。
5.如权利要求1所述的认证方法,其特征在于,所述根据所述被隐藏的数据和所述入口地址,替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码,具体包括:
根据所述入口地址,定位所述被加固软件的明文软件代码所隐藏的对应数据在所述被加固软件的明文软件代码中的位置;
将所述被隐藏的数据替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
6.一种被加固软件的认证方法,应用于一服务器,其特征在于,所述认证方法包括:
获取被加固软件发送的处理结果,对所述被加固软件的壳程序的完整性校验值进行验证;
若所述验证结果为验证通过,则对关键数据进行加密处理,并将加密生成的加密数据发送给所述被加固软件,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址。
7.如权利要求6所述的认证方法,其特征在于,所述根据被加固软件发送的处理结果,对所述被加固软件的壳程序的完整性校验值进行验证,具体包括:
获取被加固软件的请求信息,根据所述请求信息随机生成第一随机数,并将所述第一随机数发送给所述被加固软件;
根据所述被加固软件的请求信息获取所述被加固软件的ID信息,并根据所述被加固软件的ID信息获取所述被加固软件的壳程序的完整性校验值,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第二级联结果;
根据第二算法对所述第二级联结果进行计算,得到第二计算结果;
获取所述被加固软件发送的处理结果,根据所述处理结果识别获取第一计算结果和第二随机数;
对所述第一计算结果与所述第二计算结果进行验证,若所述第一计算结果与所述第二计算结果相同,则验证结果为验证通过。
8.如权利要求7所述的认证方法,其特征在于,所述若所述验证结果为验证通过,则对关键数据进行加密处理,将加密生成的加密数据发送给所述被加固软件,具体包括:
获取根据所述第二级联结果识别得到的所述第二随机数;
所述第二随机数与关键数据中包括的所述被隐藏数据对应的入口地址根据第三算法进行计算,并得到第三计算结果;
对所述第三计算结果进行加密处理,将加密后生成的加密数据发送给所述被加固软件。
9.如权利要求8所述的认证方法,其特征在于,所述将所述第二随机数与所述被加固软件的明文软件代码中的入口地址根据第三算法进行计算,具体为:
对所述第二随机数与所述被加固软件的明文软件代码中的入口地址进行异或的逻辑运算。
10.一种被加固软件的认证装置,应用于一移动终端,其特征在于,所述认证装置包括:
获取模块,用于在服务器对被加固软件的壳程序验证通过之后,获取所述服务器发送的关键数据,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址;
替换模块,用于根据所述被隐藏的数据和所述入口地址,替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
11.如权利要求10所述的认证装置,其特征在于,所述认证装置还包括:
处理模块,用于计算得到被加固软件的壳程序的完整性校验值,并对所述壳程序的完整性校验值进行处理,将处理后的处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
12.如权利要求11所述的认证装置,其特征在于,所述处理模块具体包括:
发送单元,用于将所述被加固软件的请求信息发送给服务器,由所述服务器根据所述被加固软件的请求信息随机生成第一随机数;
第一计算单元,用于根据第一算法计算得到被加固软件的壳程序的完整性校验值;
第一级联单元,用于获取所述第一随机数,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第一级联结果;
第二计算单元,用于根据第二算法对所述第一级联结果进行计算,获取第一计算结果;
第二级联单元,用于将所述第一计算结果与所述被加固软件随机生成的第二随机数进行第二级联处理,并将处理结果发送给所述服务器,由所述服务器对所述处理结果进行验证,若验证结果为验证通过,则由所述服务器对关键数据加密处理生成加密数据。
13.如权利要求12所述的认证装置,其特征在于,所述获取模块具体包括:
解密单元,用于在服务器对被加固软件的壳程序验证通过之后,对所述服务器发送的加密数据进行解密运算;
第一获取单元,用于所述解密运算完成后,获取解密数据中包含的所述服务器发送的关键数据。
14.如权利要求10所述的认证装置,其特征在于,所述替换模块具体包括:
定位单元,用于根据所述入口地址,定位所述被加固软件的明文软件代码所隐藏的对应数据在所述被加固软件的明文软件代码中的位置;
替换单元,用于将所述被隐藏的数据替换内存中存储的所述被加固软件的明文软件代码所隐藏的对应数据,然后加载所述明文软件代码。
15.一种被加固软件的认证装置,应用于一服务器,其特征在于,所述认证装置包括:
验证模块,用于获取被加固软件发送的处理结果,对所述被加固软件的壳程序的完整性校验值进行验证;
加密模块,用于若所述验证结果为验证通过,则对关键数据进行加密处理,将加密生成的加密数据发送给所述被加固软件,所述关键数据包括:所述被加固软件的明文软件代码中被隐藏的数据和所述被隐藏数据对应的入口地址。
16.如权利要求15所述的认证装置,其特征在于,所述验证模块具体包括:
生成单元,用于获取被加固软件的请求信息,根据所述请求信息随机生成第一随机数,并将所述第一随机数发送给所述被加固软件;
第三级联单元,用于根据所述被加固软件的请求信息获取所述被加固软件的ID信息,并根据所述被加固软件的ID信息获取所述被加固软件的壳程序的完整性校验值,将所述第一随机数与所述壳程序的完整性校验值进行第一级联处理,获取第二级联结果;
第三计算单元,用于根据第二算法对所述第二级联结果进行计算,得到第二计算结果;
识别单元,用于获取所述被加固软件发送的处理结果,根据所述处理结果识别获取第一计算结果和第二随机数;
验证单元,用于对所述第一计算结果与所述第二计算结果进行验证,若所述第一计算结果与所述第二计算结果相同,则验证结果为验证通过。
17.如权利要求16所述的认证装置,其特征在于,所述添加模块具体包括:
第二获取单元,用于获取根据所述第二级联结果识别得到的所述第二随机数;
第四计算单元,用于所述第二随机数与关键数据中包括的所述被隐藏数据对应的入口地址根据第三算法进行计算,并得到第三计算结果;
加密单元,用于对所述第三计算结果进行加密处理,将加密后生成的加密数据发送给所述被加固软件。
18.如权利要求17所述的认证装置,其特征在于,所述第四计算单元在根据所述第三算法进行计算时,具体为:
对所述第二随机数与所述被加固软件的明文软件代码中的入口地址进行异或的逻辑运算。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510366915.9A CN106295257A (zh) | 2015-06-29 | 2015-06-29 | 一种被加固软件的认证方法及装置 |
| PCT/CN2016/080384 WO2017000648A1 (zh) | 2015-06-29 | 2016-04-27 | 一种被加固软件的认证方法及装置 |
| EP16817012.4A EP3316160A4 (en) | 2015-06-29 | 2016-04-27 | AUTHENTICATION METHOD AND APPARATUS FOR REINFORCED SOFTWARE |
| US15/740,836 US20180204004A1 (en) | 2015-06-29 | 2016-04-27 | Authentication method and apparatus for reinforced software |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510366915.9A CN106295257A (zh) | 2015-06-29 | 2015-06-29 | 一种被加固软件的认证方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN106295257A true CN106295257A (zh) | 2017-01-04 |
Family
ID=57607589
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510366915.9A Withdrawn CN106295257A (zh) | 2015-06-29 | 2015-06-29 | 一种被加固软件的认证方法及装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20180204004A1 (zh) |
| EP (1) | EP3316160A4 (zh) |
| CN (1) | CN106295257A (zh) |
| WO (1) | WO2017000648A1 (zh) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107135408A (zh) * | 2017-03-31 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
| CN107292134A (zh) * | 2017-05-27 | 2017-10-24 | 北京思特奇信息技术股份有限公司 | 一种防止Android应用被反编译的应用加固方法及系统 |
| CN107423586A (zh) * | 2017-07-31 | 2017-12-01 | 北京深思数盾科技股份有限公司 | 软件保护方法和软件保护装置 |
| CN110826030A (zh) * | 2019-11-08 | 2020-02-21 | 湖南长城医疗科技有限公司 | 一种自助软件和相关模块授权使用方法 |
| CN112559981A (zh) * | 2020-12-11 | 2021-03-26 | 北京深思数盾科技股份有限公司 | 一种软件保护方法及装置 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10740186B2 (en) * | 2017-05-15 | 2020-08-11 | The Boeing Company | High data integrity processing system |
| CN109255247B (zh) * | 2018-08-14 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
| CN109960509B (zh) * | 2019-03-06 | 2025-07-04 | 江苏通付盾信息安全技术有限公司 | 应用加固的方法、装置、计算设备及计算机存储介质 |
| CN111695093B (zh) * | 2020-05-29 | 2024-10-25 | 平安科技(深圳)有限公司 | 基于iOS应用的加固方法、电子装置及存储介质 |
| CN114662087B (zh) * | 2022-05-20 | 2022-09-02 | 广州万协通信息技术有限公司 | 一种多端验证的安全芯片固件更新方法及装置 |
| CN116361749B (zh) * | 2023-04-28 | 2025-02-11 | 中电信量子科技有限公司 | 基于量子随机数熵源的软件加壳方法及脱壳方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101140600A (zh) * | 2006-09-08 | 2008-03-12 | 盛趣信息技术(上海)有限公司 | 服务器端程序保护方法 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2001267055A1 (en) * | 2000-06-27 | 2002-01-08 | Microsoft Corporation | System and method for providing an individualized secure repository |
| EP1243998B1 (en) * | 2001-03-21 | 2017-04-19 | Excalibur IP, LLC | A technique for license management and online software license enforcement |
| DE602007004503D1 (de) * | 2006-08-21 | 2010-03-11 | Koninkl Philips Electronics Nv | Steuerung der verteilung von digitalem inhalt |
| CN103049702A (zh) * | 2013-01-05 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于服务器层的安全加固策略 |
| US20140259004A1 (en) * | 2013-03-07 | 2014-09-11 | Go Daddy Operating Company, LLC | System for trusted application deployment |
| CN103281187B (zh) * | 2013-05-17 | 2016-12-28 | 北京网秦天下科技有限公司 | 安全认证方法、设备和系统 |
| WO2015192637A1 (zh) * | 2014-06-17 | 2015-12-23 | 北京奇虎科技有限公司 | 软件安装包的加固保护方法和装置 |
| CN104392181A (zh) * | 2014-11-18 | 2015-03-04 | 北京奇虎科技有限公司 | So文件的保护方法、装置及安卓安装包的加固方法和系统 |
-
2015
- 2015-06-29 CN CN201510366915.9A patent/CN106295257A/zh not_active Withdrawn
-
2016
- 2016-04-27 US US15/740,836 patent/US20180204004A1/en not_active Abandoned
- 2016-04-27 WO PCT/CN2016/080384 patent/WO2017000648A1/zh not_active Ceased
- 2016-04-27 EP EP16817012.4A patent/EP3316160A4/en not_active Withdrawn
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101140600A (zh) * | 2006-09-08 | 2008-03-12 | 盛趣信息技术(上海)有限公司 | 服务器端程序保护方法 |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107135408A (zh) * | 2017-03-31 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
| CN107135408B (zh) * | 2017-03-31 | 2020-06-12 | 武汉斗鱼网络科技有限公司 | 一种视频流地址的鉴权方法及装置 |
| CN107292134A (zh) * | 2017-05-27 | 2017-10-24 | 北京思特奇信息技术股份有限公司 | 一种防止Android应用被反编译的应用加固方法及系统 |
| CN107423586A (zh) * | 2017-07-31 | 2017-12-01 | 北京深思数盾科技股份有限公司 | 软件保护方法和软件保护装置 |
| CN110826030A (zh) * | 2019-11-08 | 2020-02-21 | 湖南长城医疗科技有限公司 | 一种自助软件和相关模块授权使用方法 |
| CN110826030B (zh) * | 2019-11-08 | 2023-09-15 | 湖南长城医疗科技有限公司 | 一种自助软件和相关模块授权使用方法 |
| CN112559981A (zh) * | 2020-12-11 | 2021-03-26 | 北京深思数盾科技股份有限公司 | 一种软件保护方法及装置 |
| CN112559981B (zh) * | 2020-12-11 | 2021-09-17 | 北京深思数盾科技股份有限公司 | 一种软件保护方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180204004A1 (en) | 2018-07-19 |
| EP3316160A4 (en) | 2019-02-27 |
| WO2017000648A1 (zh) | 2017-01-05 |
| EP3316160A1 (en) | 2018-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106295257A (zh) | 一种被加固软件的认证方法及装置 | |
| CN110519309B (zh) | 数据传输方法、装置、终端、服务器及存储介质 | |
| US8725649B2 (en) | System and method to protect computer software from unauthorized use | |
| CN112187544B (zh) | 固件升级方法、装置、计算机设备及存储介质 | |
| US9703945B2 (en) | Secured computing system with asynchronous authentication | |
| TW201502847A (zh) | 運用一電腦處理器使用一安全非揮發儲存器之系統、方法及裝置 | |
| US9177121B2 (en) | Code protection using online authentication and encrypted code execution | |
| US12105804B2 (en) | Securely executing software based on cryptographically verified instructions | |
| US8774407B2 (en) | System and method for executing encrypted binaries in a cryptographic processor | |
| JP6387908B2 (ja) | 認証システム | |
| CN110096849A (zh) | 一种License授权认证方法、装置、设备及可读存储介质 | |
| CN104318135A (zh) | 一种基于可信执行环境的Java代码安全动态载入方法 | |
| US11790050B2 (en) | Systems and methods for securely processing content | |
| US8347109B2 (en) | Secure serial number generation | |
| CN110245466B (zh) | 软件完整性保护和验证方法、系统、设备及存储介质 | |
| CN109446752B (zh) | 版权文件管理方法、系统、设备及存储介质 | |
| US20190044709A1 (en) | Incorporating software date information into a key exchange protocol to reduce software tampering | |
| CN104376277B (zh) | 运算装置、方法与系统 | |
| CN106992978B (zh) | 网络安全管理方法及服务器 | |
| CN111385083B (zh) | 密钥保护方法及密钥保护系统 | |
| CN108242997B (zh) | 安全通信的方法与设备 | |
| CN114816549B (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
| CN112597449B (zh) | 软件加密方法、装置、设备及存储介质 | |
| CN114817956A (zh) | 一种usb通信对象验证方法、系统、装置及存储介质 | |
| CN108848051B (zh) | 应用数据的获取方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| WW01 | Invention patent application withdrawn after publication | ||
| WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170104 |