CN116070250B - 一种安卓系统应用程序的密码算法测评方法及装置 - Google Patents
一种安卓系统应用程序的密码算法测评方法及装置 Download PDFInfo
- Publication number
- CN116070250B CN116070250B CN202310209969.9A CN202310209969A CN116070250B CN 116070250 B CN116070250 B CN 116070250B CN 202310209969 A CN202310209969 A CN 202310209969A CN 116070250 B CN116070250 B CN 116070250B
- Authority
- CN
- China
- Prior art keywords
- target
- algorithm
- risk level
- cryptographic algorithm
- evaluating
- 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
- 238000011156 evaluation Methods 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 18
- 238000009434 installation Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/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
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种安卓系统应用程序的密码算法测评方法及装置,其中该测评方法包括:使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了目标框架服务,且目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;使用目标钩子获取目标密码算法对应的目标测评数据,并将目标测评数据写入目标文件中,其中目标钩子可截获或监控传输过程中的数据;对写入目标文件中的目标测评数据对应的风险等级进行测评,得到目标密码算法对应的目标密码算法测评结果。本发明可避免开发者在使用密码技术对数据加密后的存储或传输中产生安全漏洞,使开发者可以正确的运用密码技术对数据进行加密等操作。
Description
技术领域
本发明涉及密码算法测评的技术领域,尤其涉及一种安卓系统应用程序的密码算法测评方法及装置。
背景技术
目前,根据信息安全技术和信息系统密码应用的国标(例如GB/T 39786-2021)要求,应该采用密码技术保证信息系统中数据存储和传输过程中的机密性、完整性、真实性和不可否认性。因此,APP(应用程序)的开发者为了保证Android(安卓)系统APP数据的机密性和完整性,需要使用密码技术对数据加密后存储或传输。但是如果APP开发者对密码应用缺乏技能和经验,不了解密码算法的类型以及错误地调用密码技术,就会不可避免地产生安全漏洞。常见的错误案例种类很多,例如采用存在安全问题或安全强度不足的密码算法、使用固定值而不是随机数作为加密算法初始向量和密码算法的密钥不具有随机性等。如何在使用密码技术对数据加密后的存储或传输中避免产生安全漏洞,成为亟待解决的问题。
发明内容
基于此,有必要针对上述问题,提出一种安卓系统应用程序的密码算法测评方法及装置,以解决现有技术的以下问题:APP开发者对密码应用缺乏技能和经验,不了解密码算法的类型以及错误地调用密码技术,导致产生很多安全漏洞。
本发明实施例的第一技术方案为:
一种安卓系统应用程序的密码算法测评方法,其包括:使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
本发明实施例的第二技术方案为:
一种安卓系统应用程序的密码算法测评装置,其包括:算法获取模块,用于使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;数据获取模块,用于使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;风险测评模块,用于对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
本发明实施例的第三技术方案为:
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
本发明实施例的第四技术方案为:
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
采用本发明实施例,具有如下有益效果:
本发明首先通过使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,然后使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,最后对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,可避免开发者在使用密码技术对数据加密后的存储或传输中产生安全漏洞,使开发者可以正确的运用密码技术对数据进行加密。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中安卓系统应用程序的密码算法测评方法一实施方式的实施流程图;
图2为一个实施例中安卓系统应用程序的密码算法测评装置一实施方式的框架结构图;
图3为一个实施例中计算机设备一实施方式的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,结合图1可以得到,本发明实施例的一种安卓系统应用程序的密码算法测评方法,包括以下几个步骤:
步骤S101:使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行。
其中,本步骤的目标框架服务可选为xposed框架,即Xposed Framework,XposedFramework是一套开源的、在Android(安卓系统)高权限模式下运行的框架服务,可以在不修改APK文件(即安卓系统安装包文件)的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。
步骤S102:使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同。
其中,在本步骤中,目标钩子可选为Hook,Hook又叫“钩子”,它可以在事件传送的过程中截获并监控事件的传输(比如java代码的方法,Hook可截取方法的输入值和输出值)。
其中,不同的所述目标密码算法对应的所述目标测评数据不同,例如对于Hash(哈希)算法,本工具(目标钩子)能Hook到的数据为:Hash算法的类别、输入数据和Hash值等;例如对于对称密码算法,本工具能Hook到的数据为:对称密码算法的类别、明文数据、初始向量、密钥值和密文数据等;例如对于非对称密码算法,本工具能Hook到的数据为:非对称密码算法的类别、明文数据、公钥值、私钥值和密文数据等。
步骤S103:对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
其中,本步骤对于所述目标密码算法对应的类别和各种数据均有不同的测评方法,目标密码算法测评结果包括所述目标密码算法对应的各种数据的风险等级。
在本实施例中,可选地,所述对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,包括:
第一,判断写入所述目标文件中的所述目标测评数据对应的所述目标密码算法是否为目标哈希算法。
第二,若写入所述目标文件中的所述目标测评数据对应的所述目标密码算法为目标哈希算法,则获取所述目标哈希算法对应的类别,并根据所述目标哈希算法对应的类别得到所述目标密码算法对应的所述目标密码算法测评结果。
在本实施例中,可选地,所述获取所述目标哈希算法对应的类别,并根据所述目标哈希算法对应的类别得到所述目标密码算法对应的所述目标密码算法测评结果,包括:
第一,判断所述目标哈希算法对应的类别是否为MD5算法或SHA1算法。
其中,哈希算法又称哈希函数,或Hash算法,它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
其中,Hash算法包括MD5算法、SHA1算法、SHA256算法、SHA384算法、SHA512算法和SM3算法等算法。例如,MD5算法是信息-摘要算法(Message-digestalgorithm5),SHA1是安全哈希算法(SecureHashAlgorithm),其余算法不再一一介绍。
第二,若所述目标哈希算法对应的类别为MD5算法或SHA1算法,则将所述目标密码算法对应的风险等级测评为高风险等级,并将高风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
其中,MD5算法或SHA1算法是存在安全问题或安全强度不足的密码算法,它们对应的风险等级为高风险等级。
第三,若所述目标哈希算法对应的类别不是MD5算法或SHA1算法,则判断所述目标哈希算法对应的类别是否为SHA256算法、SHA384算法、SHA512算法和SM3算法中的任意一种。
第四,若所述目标哈希算法对应的类别为SHA256算法、SHA384算法、SHA512算法和SM3算法中的任意一种,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
其中,所述风险等级包括高风险等级、中风险等级和零风险等级,且高风险等级对应的风险程度大于中风险等级对应的风险程度,零风险等级对应的风险程度为零。其中,高风险等级、中风险等级和零风险等级的判定根据国标和经验阈值来进行。
在本实施例中,可选地,所述对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,包括:
第一,判断写入所述目标文件中的所述目标测评数据对应的所述目标密码算法是否为目标对称算法。
其中,对称密码算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密的密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要保密,密钥就必须保密。
第二,若写入所述目标文件中的所述目标测评数据对应的所述目标密码算法为目标对称算法,则判断所述目标对称算法对应的类别是否为DES算法或为3DES算法、AES算法和SM4算法中的任意一种。
其中,对称密码算法包括DES算法、3DES算法、AES算法和SM4算法等算法。DES算法、3DES算法、AES算法和SM4算法的全称在此不一一介绍。
第三,若所述目标对称算法对应的类别为DES算法,则将所述目标密码算法对应的风险等级测评为高风险等级,并将高风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
第四,若所述目标对称算法对应的类别为3DES算法、AES算法和SM4算法中的任意一种类别,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
其中,所述风险等级包括高风险等级、中风险等级和零风险等级,且高风险等级对应的风险程度大于中风险等级对应的风险程度,零风险等级对应的风险程度为零。其中,高风险等级、中风险等级和零风险等级的判定根据国标和经验阈值来进行。
在本实施例中,可选地,所述将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果,之后包括:
第一,判断写入所述目标文件中的所述目标测评数据中所包含的目标密钥值和/或目标初始向量值是否为随机值。
第二,若所述目标密钥值和/或所述目标初始向量值为随机值,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
第三,若所述目标密钥值和/或所述目标初始向量值不为随机值,则将所述目标密码算法对应的风险等级测评为中风险等级,并将中风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
其中,对称算法的ECB加密算法涉及到密钥和明文数据的输入,输出为密文数据,在ECB加密算法中密钥值应该是随机的,比如密钥值“C7261A9BB75FE33A0691215E62254B0D”就是一个随机的值,但比如密钥值是“11111111111111111111”或“12345678ABCDEFGH12345678ABCDEFGH”等这种数据,就不具有随机性,如果使用的密钥值不具有随机数,则判定为中风险。
其中,对称算法的CBC加密算法涉及到几个输入:密钥、明文数据、初始向量(比ECB的加密多了初始向量),输出为密文数据,在CBC加密算法中密钥值应该是随机的,比如密钥值“C7261A9BB75FE33A0691215E62254B0D”就是一个随机的,但比如密钥值是“111111111111111111111111111111”或“12345678ABCDEFGH12345678ABCDEFGH”等这种数据,就不具有随机性,如果使用的密钥值不具有随机数,则判定为中风险。同理,在CBC加密算法中初始向量应该是随机的,比如密钥值“C7261A9BB75FE33A0691215E62254B0D”就是一个随机的,但比如初始向量是“111111111111111111111111111111”或“12345678ABCDEFGH12345678ABCDEFGH”等这种,就不具有随机性,如果使用的初始向量不具有随机数,则判定为中风险。
在本实施例中,可选地,所述对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,包括:
第一,判断写入所述目标文件中的所述目标测评数据对应的所述目标密码算法是否为目标非对称算法。
其中,非对称加密算法是一种密钥的保密方法。非对称加密是指加密和解密使用不同密钥的加密算法,也称为公私钥加密。非对称密钥是用两个数学相关的密钥对信息进行编码,其中一个密钥叫公开密钥,可随意发给期望同密钥持有者进行安全通信的人,公开密钥用于对信息加密;第二个密钥是私有密钥,属于密钥持有者,密钥持有者用私有密钥对收到的信息进行解密。
第二,若所述目标密码算法为所述目标非对称算法,则判断所述目标非对称算法对应的类别是否为RSA算法或SM2算法。其中,所述目标非对称算法包括RSA算法和SM2算法。
第三,若所述目标非对称算法对应的类别为RSA算法,则进一步判断RSA算法的长度是否小于2048bit。
第四,若RSA算法的长度小于2048bit,则将所述目标密码算法对应的风险等级测评为高风险等级,并将高风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
第五,若RSA算法的长度是否大于或等于2048bit,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
其中,所述风险等级包括高风险等级、中风险等级和零风险等级,且高风险等级对应的风险程度大于中风险等级对应的风险程度,零风险等级对应的风险程度为零。其中,高风险等级、中风险等级和零风险等级的判定根据国标和经验阈值来进行。
在本实施例中,可选地,所述判断所述目标非对称算法对应的类别是否为RSA算法或SM2算法,之后包括:
第一,若所述目标非对称算法对应的类别为SM2算法,则判断写入所述目标文件中的所述目标测评数据中所包含的目标密钥值是否为随机值。
第二,若所述目标密钥值为随机值,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
第三,若所述目标密钥值不是随机值,则将所述目标密码算法对应的风险等级测评为中风险等级,并将中风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
其中,非对称算法的SM2加密算法涉及到密钥和明文数据几个输入,输出为密文数据,在非对称加密算法中密钥值应该是随机的,比如密钥值“CA7499D14F74672A932F866CDA1B0CA5068800B8CF0E4B29BE”就是一个随机的数据,但比如密钥值是“11111111111111111111111111111111111111”或“12345678ABCDEFGH12345678ABCDEFGH12345678ABCDEFGH”等这种数据,就不具有随机性,如果使用的密钥值不具有随机数,则判定为中风险。
请参阅图2,结合图2可以得到,本发明实施例的一种安卓系统应用程序的密码算法测评装置100,其包括:
算法获取模块10,用于使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;
数据获取模块20,用于使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;
风险测评模块30,用于对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
图3示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图3所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述的安卓系统应用程序的密码算法测评方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述的安卓系统应用程序的密码算法测评方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在另一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
在另一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本发明实施例首先通过使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,然后使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,最后对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,可避免开发者在使用密码技术对数据加密后的存储或传输中产生安全漏洞,使开发者可以正确的运用密码技术对数据进行加密。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种安卓系统应用程序的密码算法测评方法,其特征在于,包括:
使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;
使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;
对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
2.根据权利要求1所述的安卓系统应用程序的密码算法测评方法,其特征在于,所述对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,包括:
判断写入所述目标文件中的所述目标测评数据对应的所述目标密码算法是否为目标哈希算法;
若是,则获取所述目标哈希算法对应的类别,并根据所述目标哈希算法对应的类别得到所述目标密码算法对应的所述目标密码算法测评结果。
3.根据权利要求2所述的安卓系统应用程序的密码算法测评方法,其特征在于,所述获取所述目标哈希算法对应的类别,并根据所述目标哈希算法对应的类别得到所述目标密码算法对应的所述目标密码算法测评结果,包括:
判断所述目标哈希算法对应的类别是否为MD5算法或SHA1算法;
若是,则将所述目标密码算法对应的风险等级测评为高风险等级,并将高风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
若不是,则判断所述目标哈希算法对应的类别是否为SHA256算法、SHA384算法、SHA512算法和SM3算法中的任意一种;
若是,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
其中,所述风险等级包括高风险等级、中风险等级和零风险等级,且高风险等级对应的风险程度大于中风险等级对应的风险程度,零风险等级对应的风险程度为零。
4.根据权利要求1所述的安卓系统应用程序的密码算法测评方法,其特征在于,所述对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,包括:
判断写入所述目标文件中的所述目标测评数据对应的所述目标密码算法是否为目标对称算法;
若是,则判断所述目标对称算法对应的类别是否为DES算法或为3DES算法、AES算法和SM4算法中的任意一种;
若所述目标对称算法对应的类别为DES算法,则将所述目标密码算法对应的风险等级测评为高风险等级,并将高风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
若所述目标对称算法对应的类别为3DES算法、AES算法和SM4算法中的任意一种,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
其中,所述风险等级包括高风险等级、中风险等级和零风险等级,且高风险等级对应的风险程度大于中风险等级对应的风险程度,零风险等级对应的风险程度为零。
5.根据权利要求4所述的安卓系统应用程序的密码算法测评方法,其特征在于,所述将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果,之后包括:
判断写入所述目标文件中的所述目标测评数据中所包含的目标密钥值和/或目标初始向量值是否为随机值;
若所述目标密钥值和/或所述目标初始向量值为随机值,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
若所述目标密钥值和/或所述目标初始向量值不为随机值,则将所述目标密码算法对应的风险等级测评为中风险等级,并将中风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
6.根据权利要求1所述的安卓系统应用程序的密码算法测评方法,其特征在于,所述对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果,包括:
判断写入所述目标文件中的所述目标测评数据对应的所述目标密码算法是否为目标非对称算法;
若所述目标密码算法为所述目标非对称算法,则判断所述目标非对称算法对应的类别是否为RSA算法或SM2算法;
若所述目标非对称算法对应的类别为RSA算法,则进一步判断RSA算法的长度是否小于2048bit;
若RSA算法的长度小于2048bit,则将所述目标密码算法对应的风险等级测评为高风险等级,并将高风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
若RSA算法的长度是否大于或等于2048bit,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
其中,所述风险等级包括高风险等级、中风险等级和零风险等级,且高风险等级对应的风险程度大于中风险等级对应的风险程度,零风险等级对应的风险程度为零。
7.根据权利要求6所述的安卓系统应用程序的密码算法测评方法,其特征在于,所述判断所述目标非对称算法对应的类别是否为RSA算法或SM2算法,之后包括:
若所述目标非对称算法对应的类别为SM2算法,则判断写入所述目标文件中的所述目标测评数据中所包含的目标密钥值是否为随机值;
若所述目标密钥值为随机值,则将所述目标密码算法对应的风险等级测评为零风险等级,并将零风险等级作为所述目标密码算法对应的所述目标密码算法测评结果;
若所述目标密钥值不是随机值,则将所述目标密码算法对应的风险等级测评为中风险等级,并将中风险等级作为所述目标密码算法对应的所述目标密码算法测评结果。
8.一种安卓系统应用程序的密码算法测评装置,其特征在于,包括:
算法获取模块,用于使用目标框架服务获取安卓系统的目标应用程序对应的目标密码算法,其中在安卓系统预先安装了所述目标框架服务,且所述目标框架服务可在不修改安卓系统安装包文件的情况下影响程序运行;
数据获取模块,用于使用目标钩子获取所述目标密码算法对应的目标测评数据,并将所述目标测评数据写入目标文件中,其中所述目标钩子可截获或监控传输过程中的数据,且不同的所述目标密码算法对应的所述目标测评数据不同;
风险测评模块,用于对写入所述目标文件中的所述目标测评数据对应的风险等级进行测评,得到所述目标密码算法对应的目标密码算法测评结果。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1~7任一项所述的安卓系统应用程序的密码算法测评方法。
10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~7任一项所述的安卓系统应用程序的密码算法测评方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209969.9A CN116070250B (zh) | 2023-03-07 | 2023-03-07 | 一种安卓系统应用程序的密码算法测评方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209969.9A CN116070250B (zh) | 2023-03-07 | 2023-03-07 | 一种安卓系统应用程序的密码算法测评方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116070250A CN116070250A (zh) | 2023-05-05 |
CN116070250B true CN116070250B (zh) | 2023-06-23 |
Family
ID=86173357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310209969.9A Active CN116070250B (zh) | 2023-03-07 | 2023-03-07 | 一种安卓系统应用程序的密码算法测评方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070250B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1316811A3 (en) * | 2001-11-28 | 2005-01-19 | Itt Manufacturing Enterprises, Inc. | Staggered pulse acquisition method and apparatus |
CN105873044A (zh) * | 2015-01-21 | 2016-08-17 | 卓望数码技术(深圳)有限公司 | 基于安卓平台的应用程序发布方法、开发者追溯方法和装置 |
CN108038381A (zh) * | 2017-12-27 | 2018-05-15 | 中国人民解放军战略支援部队信息工程大学 | 一种密钥安全性检测方法及系统 |
CN110929252A (zh) * | 2019-11-22 | 2020-03-27 | 福建金密网络安全测评技术有限公司 | 一种算法和随机数检测系统 |
CN111417121A (zh) * | 2020-02-17 | 2020-07-14 | 西安电子科技大学 | 具有隐私保护的多恶意软件混合检测方法、系统、装置 |
CN114021142A (zh) * | 2021-11-03 | 2022-02-08 | 广州链安科技有限公司 | 一种安卓应用程序漏洞检测方法 |
CN114168961A (zh) * | 2021-11-04 | 2022-03-11 | 卓望数码技术(深圳)有限公司 | 应用的风险预测方法、系统及存储介质 |
CN114595465A (zh) * | 2020-12-04 | 2022-06-07 | 成都鼎桥通信技术有限公司 | 数据加密处理方法、装置及电子设备 |
CN115361206A (zh) * | 2022-08-18 | 2022-11-18 | 山石网科通信技术股份有限公司 | 加密程序的分析方法、装置及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516511B (zh) * | 2013-09-11 | 2016-05-04 | 国家电网公司 | 一种对加密算法与密钥进行检测的方法及装置 |
US20160117261A1 (en) * | 2014-05-16 | 2016-04-28 | Texas Instruments Incorporated | Response validation mechanism for triggering non-invasive re-test access of integrated circuits |
CN110620671B (zh) * | 2019-08-30 | 2024-04-09 | 厦门一通灵信息科技有限公司 | 加密算法测评方法、介质、设备及装置 |
CN113221155B (zh) * | 2021-05-29 | 2022-07-01 | 合肥学院 | 一种多层级与多等级加密的云储存系统 |
CN113709137A (zh) * | 2021-08-25 | 2021-11-26 | 广东财经大学 | 一种密码评测试验系统及密码评测试验方法 |
CN113836582A (zh) * | 2021-09-30 | 2021-12-24 | 西安诺瓦星云科技股份有限公司 | 软件加密及解密方法、装置、电子设备和存储介质 |
CN115630355B (zh) * | 2022-10-31 | 2023-08-22 | 鼎铉商用密码测评技术(深圳)有限公司 | 密码模块的安全评测方法、安全评测设备以及存储介质 |
CN115658542B (zh) * | 2022-11-11 | 2023-09-19 | 南京掌御信息科技有限公司 | 一种代码密码算法类型识别与参数误用检测方法与系统 |
-
2023
- 2023-03-07 CN CN202310209969.9A patent/CN116070250B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1316811A3 (en) * | 2001-11-28 | 2005-01-19 | Itt Manufacturing Enterprises, Inc. | Staggered pulse acquisition method and apparatus |
CN105873044A (zh) * | 2015-01-21 | 2016-08-17 | 卓望数码技术(深圳)有限公司 | 基于安卓平台的应用程序发布方法、开发者追溯方法和装置 |
CN108038381A (zh) * | 2017-12-27 | 2018-05-15 | 中国人民解放军战略支援部队信息工程大学 | 一种密钥安全性检测方法及系统 |
CN110929252A (zh) * | 2019-11-22 | 2020-03-27 | 福建金密网络安全测评技术有限公司 | 一种算法和随机数检测系统 |
CN111417121A (zh) * | 2020-02-17 | 2020-07-14 | 西安电子科技大学 | 具有隐私保护的多恶意软件混合检测方法、系统、装置 |
CN114595465A (zh) * | 2020-12-04 | 2022-06-07 | 成都鼎桥通信技术有限公司 | 数据加密处理方法、装置及电子设备 |
CN114021142A (zh) * | 2021-11-03 | 2022-02-08 | 广州链安科技有限公司 | 一种安卓应用程序漏洞检测方法 |
CN114168961A (zh) * | 2021-11-04 | 2022-03-11 | 卓望数码技术(深圳)有限公司 | 应用的风险预测方法、系统及存储介质 |
CN115361206A (zh) * | 2022-08-18 | 2022-11-18 | 山石网科通信技术股份有限公司 | 加密程序的分析方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
基于"微信小程序"的海外移动健康管理平台设计及安全生产应用;毛慧等;《石油石化绿色低碳》;第6卷(第4期);第71-76页 * |
基于SimHash 算法的Android 恶意程序检测;李红灵等;《计算机技术与发展》;第27卷(第10期);第121-125页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116070250A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3382933B1 (en) | Using a trusted execution environment as a trusted third party providing privacy for attestation | |
CN109067528B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN107094108B (zh) | 连接到数据总线的部件和在该部件中实现加密功能的方法 | |
CN111294203B (zh) | 信息传输方法 | |
CN112822255B (zh) | 基于区块链的邮件处理方法、邮件发送端、接收端及设备 | |
CN110781140B (zh) | 区块链中数据签名的方法、装置、计算机设备及存储介质 | |
US8422673B2 (en) | Method and system for protecting against unity keys | |
CN112800393B (zh) | 授权认证、软件开发工具包生成方法、装置及电子设备 | |
JP2022521525A (ja) | データを検証するための暗号方法 | |
EP3641219A1 (en) | Puf based securing of device update | |
CN110855433A (zh) | 基于加密算法的数据加密方法、装置及计算机设备 | |
CN114499875A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN113014380A (zh) | 文件数据的密码管理方法、装置、计算机设备及存储介质 | |
CN112152802A (zh) | 数据加密方法、电子设备及计算机存储介质 | |
US20200044838A1 (en) | Data encryption method and system using device authentication key | |
CN116455572B (zh) | 数据加密方法、装置及设备 | |
CN116226886B (zh) | 一种软件信息系统的信息安全管理方法及系统 | |
CN109784072B (zh) | 一种安全文件管理方法和系统 | |
CN111460463B (zh) | 电子存证保存和公证方法、装置、设备及存储介质 | |
CN116070250B (zh) | 一种安卓系统应用程序的密码算法测评方法及装置 | |
CN112866987B (zh) | 组网验证方法、设备及计算机可读存储介质 | |
KR20220000537A (ko) | 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법 | |
CN111641497A (zh) | 一种对敏感参数进行自动解密的方法及装置 | |
CN111260365A (zh) | 一种保护交易安全性的加密方法和装置 | |
CN111641507B (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 |