CN116305080B - 一种密码通用检测方法 - Google Patents

一种密码通用检测方法 Download PDF

Info

Publication number
CN116305080B
CN116305080B CN202310540241.4A CN202310540241A CN116305080B CN 116305080 B CN116305080 B CN 116305080B CN 202310540241 A CN202310540241 A CN 202310540241A CN 116305080 B CN116305080 B CN 116305080B
Authority
CN
China
Prior art keywords
key
outputting
plaintext
password
unsafe
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
CN202310540241.4A
Other languages
English (en)
Other versions
CN116305080A (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.)
Haofu Cipher Detection Technology Chengdu Co ltd
Original Assignee
Haofu Cipher Detection Technology Chengdu 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 Haofu Cipher Detection Technology Chengdu Co ltd filed Critical Haofu Cipher Detection Technology Chengdu Co ltd
Priority to CN202310540241.4A priority Critical patent/CN116305080B/zh
Publication of CN116305080A publication Critical patent/CN116305080A/zh
Application granted granted Critical
Publication of CN116305080B publication Critical patent/CN116305080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种密码通用检测方法,属于密码、网络安全和数据安全技术领域,包括:收集影响密码应用的环境数据,并进行密钥管理安全性检测以及密码安全性和正确性检测;在物理环境要求范围内和物理环境要求范围外分别重复多次密码安全性和正确性检测;当存在有多个独立密码模块时,运行密码和密码所在的系统,对密码模块之间以及密码模块与系统之间的通信进行抓包,对抓包的数据进行解析,如果解析数据显示没有使用密码,则输出不安全。本发明能对各种不同的非标准密码进行检测,且考虑了检查周期、网络结构、内存空间和温湿度等环境对密码的影响,通过检测的密码在被检环境中能安全运行,解决了非标准密码安全性无法明确判断的问题。

Description

一种密码通用检测方法
技术领域
本发明涉及数据安全技术领域,尤其涉及一种密码通用检测方法。
背景技术
目前,标准密码包括的密码算法、技术、产品和服务都有较为齐全的检测方法,但是在工业、物联网和智慧家居等领域,以及老旧信息系统中,非标准的密码也被广泛使用,存在大量的安全问题;比如MD5和SHA-1密码杂凑算法、DES和RSA密码算法、SSH1.0和SSL2.0密码技术以及存在Heartbleed漏洞的OpenSSL密码产品等已被证明是不安全的。而且新型的、缺少安全性证明的密码技术也在快速发展,并在一定程度上得到应用,这些都为安全性带来了巨大隐患,此外,这类密码所处环境差异较大,对密码设计有较大影响,同样为安全性测评带来了挑战。
需要说明的是,在上述背景技术部分公开的信息只用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于克服现有技术的缺点,提供了一种密码通用检测方法,解决了现有技术存在的不足。
本发明的目的通过以下技术方案来实现:一种密码通用检测方法,所述检测方法包括:
收集影响密码应用的环境数据,并进行密钥管理安全性检测以及密码安全性和正确性检测;所述密码安全性和正确性检测包括分组密码检测、流密码检测、公钥密码检测和密码杂凑算法检测;
在物理环境要求范围内和物理环境要求范围外分别重复多次密码安全性和正确性检测;
当存在有多个独立密码模块时,运行密码和密码所在的系统,对密码模块之间以及密码模块与系统之间的通信进行抓包,对抓包的数据进行解析,如果解析数据显示没有使用密码,则输出不安全。
所述分组密码检测包括:
S101、根据被检测对象采用的密码算法设计方案获取混淆和扩散规则,重复使用密码的规则以及密码工作模式,如果不同时具备混淆和扩散规则,则输出不安全,如果起混淆作用的S盒小于预设大小,则输出警告,如果没有重复使用一种或多种密码,则输出警告,如果没有工作模式,则输出不安全;
S102、获取明文分组位数长度n比特和密钥长度m比特,n和m相等,如果n小于32,输出不安全,如果n大于等于32小于64,输出警告,如果m小于32,输出不安全,如果m大于等于32小于64,输出警告;
S103、获取被检测对象采用的密码算法设计方案中接受的明文对密文对应变化比例值,如果小于预设比例值,则输出不安全,并根据随机产生的n比特明文样本数据和m比特密钥样本数据,改变明文样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内,如果不在,则输出不安全;
S104、随机产生的n比特明文样本数据和m比特密钥样本数据,改变密钥样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内,如果不在,则输出不安全;
S105、设定多组数据内容随机生成的明文和匹配的密文样本数据,分别进行加解密运算,第1组,长度n比特、第2组,长度a×n比特,a取值为大于1小于等于n的整数、第3组,长度n-1比特、第4组,长度n+1比特,将样本数据带入算法中进行加解密验证,如果出现不一致的情况在,则输出警告,且在密码运行期间同时记录运算时间,如果超出预设时间,则输出警告;
S106、根据密码所处计算能力、网络传输能力环境和安全需求,判断是否存在每个分组独立加密以及相同的明文加密成不同明文的情况,如果存在每个分组独立加解密的情况,则检查每个明文分组形成的密文是否传入其他明文分组中,如果是,则输出警告,如果存在相同的明文加密成不同明文的情况,则检查是否引入初始向量或者其他参数,如果不是,则输出警告。
所述根据随机产生的n比特明文样本数据和m比特密钥样本数据,改变明文样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内具体包括:
A1、随机产生n比特明文样本数据和m比特密钥样本数据,带入算法进行加密计算得到密文;
A2、改变最左边或最右边第1位的明文样本数据,带入算法进行加密计算得到密文,并将该密文与明文样本数据加密得到的密文进行对比,计算密文改变的位数,用此位数除以密文总数得到变化比例值;
A3、逐一改变最左边或最右边第2位的明文,并重复步骤A2的计算和对比,直到最右边或最左边的明文也进行了改变,并完成计算和对比,比较所有变化比例值是否在预设比例值的范围内。
所述随机产生的n比特明文样本数据和m比特密钥样本数据,改变密钥样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内包括:
B1、随机产生n比特明文样本数据和m比特密钥样本数据,带入算法进行加密计算得到密文;
B2、改变最左边或最右边第1位的密钥样本数据,带入算法进行加密计算得到密文,并将该密文与明文样本数据加密得到的密文进行对比,计算密文改变的位数,用此位数除以密文总数得到变化比例值;
B3、逐一改变最左边或最右边第2位的密钥样本数据,并重复步骤B2的计算和对比,直到最右边或最左边的密钥样本数据也进行了改变,并完成计算和对比,比较所有变化比例值是否在预设比例值的范围内。
所述分组密码检测还包括:将步骤S103中每次修改最左边或最右边1位明文改为随机修改最左边或最右边t位明文,并重复步骤S103;该步骤执行的内容于步骤S103和步骤S104之间且至少执行一次,其中,2≤t<n-1;
将步骤S104中每次修改最左边1或最右边位密钥改为随机修改最左边或最右边t位密钥,并重复步骤S104;该步骤执行的内容于步骤S104和步骤S105之间且至少执行一次,其中,2≤t<n-1。
所述流密码检测包括:
S111、收集被检测对象密码算法的设计方案,获取生成密钥流的密钥长度,如果长度小于64比特,输出不安全,长度大于等于64比特,小于128比特,输出警告,获取重复周期,如果小于2128,输出警告;
S112、设定一组数据内容随机生成的明文和匹配的密文样本数据,且明文的长度大于等于生成密钥流的密钥长度,分别进行加解密运算,如果运算不正确,则输出警告;
S113、设定一组数据内容随机生成的明文和匹配的密文样本数据,且明文的长度大于等于生成密钥流的密钥长度,随机改变1位明文进行加密运算对比发生变化的密文位数是否在预设范围内,以及随机改变1位密文进行解密运算对比发生变化的明文位数是否在预设范围内,如果不在,则输出不安全。
所述公钥密码检测包括:
S121、收集公钥密码算法的设计方案,单独划分采用的陷门函数,如果未采用陷门函数,则输出不安全,如果采用的陷门函数的类型不是预设类型,则输出警告;
S122、获取公钥和私钥的用途,如果没有公钥和私钥的说明或者说明不完整,则输出不安全,如果公钥不只是用于加密和数字签名验证,私钥不只是用于解密和数字签名,则输出警告,如果用于加解密和数字签名的公私钥对应一致,则输出不安全;
S123、运行密码,至少随机产生1对公私钥对,逐比特对比私钥与公钥是否一致,如果完全一致,则输出不安全,如果不完全一致,但是存在超出界限值的数据一致,则输出警告;
S124、获取公钥和私钥长度比特,如果公钥和/或私钥长度小于32,输出不安全,如果a大于等于32小于64,输出不安全,对于具有超级计算能力和量子计算的环境,直接输出警告;
S125、随机产生多组长度不一致的明文和对应的密文样本数据,其中1组长度应与内存空间一致,1组长度超出内存空间,分别运行密码,将明文和公钥代入计算得到密文,将私钥代入对密文进行解密得到明文,将计算得到的明文和密文与样本数据进行对比,如果不一致,则输出不安全,且获取计算时间,如果计算超出预设范围,则输出警告;
S126、根据密码运行环境,统计该环境中需要被加密的明文数量,如果数量不达标,则输出警告;
S127、获取被签名的内容长度,如果没有长度要求,则输出警告,随机生成1组长度符合要求的数据和1组超出长度要求的数据,分别进行数字签名和验证,如果出现签名和验证不通过的情况,则输出不安全。
所述密码杂凑算法检测包括:
S131、收集密码杂凑算法的设计方案,如果杂凑值长度小于i比特,则输出不安全,如果杂凑值长度大于等于i比特且小于j比特,则输出警告;
S132、随机产生多组长度不一致的明文和对应的杂凑值样本数据,其中1组长度应与内存空间一致,1组长度超出内存空间,分别运行密码,将明文代入计算得到杂凑值,将计算得到杂凑值与样本数据进行对比,如果不一致,则输出不安全,且获取计算时间,如果计算超出预设范围,则输出警告。
所述密钥管理安全性检测包括:
S201、获取被检测密码的密钥空间范围和所处环境计算性能,计算遍历密钥空间所需时间,如果所需时间小于等于检查周期,则输出不安全,如果所需时间大于检查周期但小于1.2倍检查周期,则输出警告;
S202、运行密钥产生模块,核查密钥是否在设备内部产生,如果不在内部产生,则输出警告,提取密钥对其进行随机性检测,如果检测不通过,则输出存在警告;
S203、对密钥进行分发操作,检测是否对接收方进行了身份鉴别,如果没有,则输出不安全,如果进行了身份鉴别,检测鉴别方式是否采用了密码技术和/生物特征技术,如果没有,则输出存在警告;
S204、获取在密钥分发过程中的密钥和敏感安全参数,核查密钥和敏感安全参数是否采用密码技术进行加密保护,如果进行了加密保护,则将密文进行解密,并将解密后获得的明文和初始的密钥和敏感参数进行对比,如果一致,则输出警告;
S205、采用非授权身份查询密钥和敏感安全参数,如果能查询,则输出不安全,如果不能查询,则继续进行多次连续查询且未被锁定,则输出不安全;
S206、采用授权身份检测存储的密钥是否被加密,如果未被加密,则输出不安全,进行多次连续修改密钥且未被锁定,则输出不安全;
S207、对产生和存储密钥的硬件部件进行暴力破拆,然后读取密钥或者任意调用密钥,如果密钥仍存在或者能正常使用,则输出不安全;
S208、检查密钥管理规则,判断密钥是否具有管理规则,如果没有,则输出不安全,如果管理规则不完整,则输出警告;
S209、至少随机选择1项需要保存的密钥,检查该密钥保存期间是否被加密保护,如果没有,则输出不安全;
S210、根据密钥管理规则进行密钥更新操作,检测在密钥更新周期内密钥是否能正常更新,如果不能,则输出警告;
S211、删除除主密钥功能的全部密钥,对密钥进行恢复操作, 如果能恢复全部或者部分密钥,则输出不安全。
本发明具有以下优点:一种密码通用检测方法,能对各种不同的非标准密码进行检测,且考虑了检查周期、网络结构和温湿度等环境对密码的影响,通过检测的密码在被检环境中能安全运行,解决了非标准密码安全性无法明确判断的问题。
附图说明
图1 为本发明的流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下结合附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的保护范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本发明做进一步的描述。
如图1所示,本发明具体涉及一种密码通用检测方法,其具体包括以下内容:
1、收集影响密码应用的环境资料,包括密码产品、网络结构、网络安全等级、检查周期、环境温湿度和供电等信息,确定安全需求。
2、对密钥管理安全性进行检测:
2.1、获取被检密码的密钥空间范围和所处环境计算性能,计算遍历密钥空间所需时间。所需时间应大于检查周期。如果小于和等于检查周期,则输出不安全。如果所需时间大于检查周期,但小于检查周期的1.2倍,则输出存在警告。通过该步骤检测算法中设计的密钥数量是否充足,会不会在检查周期内被暴力破解。
2.2、运行密钥产生模块,核查密钥是否在设备内部产生。如果不在内部产生,输出存在警告。提取密钥,对其进行随机性检测(密钥的安全关键之一是必须随机,不随机就存在密文被破解的可能,是必须检测的项目),检测方法包括:单比特频数检测、块内频数检测、扑克检测、重叠子序列检测、游程总数检测、游程分布检测、块内最大游程检测、二元推导检测、自相关检测、矩阵秩检测、累加和检测、近似熵检测、线性复杂度检测、Maurer 通用统计检测、离散傅立叶检测。检测参数设置查看随机数技术标准。检测不通过,输出存在警告。该步骤检测生产的密钥是否在设备内部产生,以及随机性是否合格。如果密钥的随机性不合格,则不安全。
2.3、对密钥进行分发操作,检测是否对接收方进行了身份鉴别。如果不鉴别,输出不安全。如果进行了身份鉴别,获取鉴别方式,检测鉴别方式是否采用了密码技术和/或生物特征技术。如果未采用密码技术和/或生物特征进行鉴别,输出存在警告。根据鉴别方式,尝试对错误的接收方分发密钥。如果能分发,输出警告和不安全。该步骤检测密钥产生之后在分发阶段的安全性,包括检测接收方是否真正的接收方,不要分发给其他人或程序。
2.4、获取在密钥分发过程中的密钥和敏感安全参数。核查密钥和敏感安全参数是否采用密码技术进行了加密保护。如果进行了加密保护,则将密文进行解密,并将解密后获得的明文和初始的密钥和敏感安全参数进行对比。如果不一致,输出警告。采用密码技术计算MAC和/或进行了数字签名保护。对于MAC保护,根据密钥和敏感安全参数重新计算MAC与获取的MAC进行对比,如果不一致,输出警告。对于数字签名保护,采用公钥对其进行验签,如果验签不一致,输出警告。该步骤检测在密钥分发环节,密钥本身,以及计算会用的的敏感安全参数是否被加密保护,以及是否被完整性保护,防止在分发的过程中被篡改。如果没有这些保护,那么不安全。
2.5、采用非授权身份查询密钥和敏感安全参数。如果能查询,输出不安全。如果不能查询,则尝试一定次数查询,如100次,如果能查询,或者未被锁定,输出不安全。该步骤检测密码是否设置有防止被不停的尝试,如果不能防止,也存在安全问题。
2.6、采用授权身份检测存储的密钥是否被加密。如果未被加密,输出不安全。尝试一定次数的修改密钥,如100次。如果能修改,或者未被锁定,输出不安全。该步骤检测存储的密钥是否被加密保护,如果存储的密钥没有被加密,那么存在安全问题。
2.7、对产生、存储密钥的硬件部件进行暴力破拆,然后读取密钥,或者进行任意调用密钥操作。如果密钥仍存在,或者还能正常调用密钥,输出不安全。该步骤检测密码被暴力拆解的时候,密码是否设置了及时销毁密钥的机制,如果没有设置,则存在被拆了之后,读取密钥的可能,也存在安全问题。
2.8、检查密钥管理规则,判断密钥是否具有归档、存档、更新、销毁等机制。如果没有密钥管理规则,输出不安全。如果密钥缺少归档、存档、更新、销毁等机制,输出警告。该步骤检测是否具有挂你规则。因为是非标准秘密,所以有这些规则,并且在执行就行。
2.9、至少随机选择1项需要保存的密钥,检查该密钥保存期间是否被加密保护。如果没有被加密保护,输出不安全。该步骤检测密钥是否被加密存储。
2.10、根据密钥管理规则,进行密钥更新操作。检测在密钥更新周期内密钥是否能正常更新。如果不能正常更新,输出存在警告。该步骤检测密钥能不能被正常更新。具体怎么更新,这个是要根据被检对象设定的规则执行。这一步就是检测能不能正常更新。
2.11、删除除主密钥功能的全部密钥,然后对密钥进行恢复操作。如果能恢复全部密钥或部分密钥,输出不安全。该步骤检测密钥被删除之后,还能不能被恢复,如果还能被恢复,那么这是不安全的。
3、对密码安全性和正确性的检测:
3.1、收集被检对象采用的密码算法设计方案,按照分组密码、流密码、公钥密码和密码杂凑算法进行分类。具体执行哪种检测,根据被检对象采用的密码算法确定。如果无法划分,输出警告。
3.2、对分组密码的检测:
3.2.1、根据算法设计方案,获取混淆和扩散的规则,重复使用密码的规则,以及密码工作模式。如果不同时具备混淆和扩散规则,输出不安全。如果起混淆作用的S盒小于6×6,输出警告。如果未重复使用一种或多种密码,输出警告。如果没有工作模式,输出不安全。
3.2.2、获取明文分组位数长度n比特和密钥长度m比特。如果n小于32,输出不安全。如果n大于等于32小于64,输出不安全。如果m小于32,输出不安全。如果m大于等于32小于64,输出不安全。对于具有超级计算能力和量子计算的环境,可根据算法设计方案将64的界限值改为更大数值。
3.2.3、获取算法设计方案中的可接受的明文对密文对应变化比例值。如果该值小于40%,输出不安全。随机产生n比特明文样本数据和m比特的密钥样本数据,并代入算法进行加密计算,得到密文。然后改变最左边第1位的明文样本数据,并代入算法进行加密计算,得到密文,并将该密文与明文样本数据加密得到的密文进行对比,计算密文改变的位数。用此位数除以密文总位数,得到变化比例值。然后逐一改变最左边第2位的明文,重复上述计算和对比,直到最右边位的明文也进行了改变,并完成计算和对比。比较所有变化比例值是否在设计的范围内。如果存在小于设计的范围,输出不安全。
3.2.4、在步骤3.2.3中将每次修改一位明文,改为随机修改t位,重复步骤3.2.3,t大于等于2小于n-1。该步骤至少进行一次。
3.2.5、随机产生n比特明文样本数据和m比特的密钥样本数据,并代入算法进行加密计算,得到密文。然后改变最左边第1位的密钥样本数据,并代入算法进行加密计算,得到密文,并将该密文与明文样本数据加密得到的密文进行对比,计算密文改变的位数。用此位数除以密文总位数,得到变化比例值。然后逐一改变最左边第2位的密钥样本数据,重复上述计算和对比,直到最右边位的密钥样本数据也进行了改变,并完成计算和对比。比较所有变化比例值是否在设计的范围内。如果存在小于设计的范围,输出不安全。
3.2.6、在步骤3.2.5中将每次修改一位密钥,改为随机修改t位,重复步骤3.2.5。t大于等于2小于n-1。该步骤至少进行一次。
3.2.7、分别设定不少于5组的明文与匹配的密文样本数据,分别进行加解密运算,明文数据内容随机生成。第1组,长度n比特。第2组,长度a×n比特,a取值为大于1小于等于n的整数。第3组,长度n-1比特。第4组,长度n+1比特。第5组,长度为内存空间大小。将样本数据代入算法,进行加解密验证。如果出现不一致,输出警告。密码运行期间同时记录运算时间。如果出现超出设计时间,输出警告。
3.2.8、根据密码所处计算能力、网络传输能力环境和安全需求,至少应提出是否有“每个分组独立加解密,相同的明文加密成不同的明文”的需求。对于“每个分组独立加解密”,检查每个明文分组形成的密文是否传入其他明文分组中。如果存在,输出警告。对于“相同的明文加密成不同的明文”,检查是否引入初始向量或者其他参数,包括其他分组计算得到的密文。如果不是,输出警告。
3.3、对流密码的检测:
3.3.1、收集被检对象密码算法设计方案。获取生成密钥流的密钥长度。如果长度小于64比特,输出不安全。长度大于等于64比特,小于128比特,输出警告。获取重复周期。如果小于2128,输出警告。
3.3.2、设定一组明文与匹配的密文样本数据,明文数据内容随机生成,长度为大于等于生成密钥流的密钥长度。分别进行加解密运算。如果运算不正确,输出警告。
3.3.3、设定一组明文与匹配的密文样本数据,明文数据内容随机生成,长度为大于等于生产密钥流的密钥长度。随机改变1位明文进行加密运算,对比发生变化的密文位数。随机改变1位密文进行解密运算,对比发生变化的明文位数。分别对比发生改变的密文位数和明文位数是否在预期范围内,如果不在范围内,输出不安全。
3.4、对公钥密码的检测:
3.4.1、收集公钥密码算法设计方案。单独划分采用的陷门函数。如果未采用陷门函数,输出不安全。如果采用的不是基于大整数分解问题,有限域上的离散对数问题,椭圆曲线上的离散对数问题这三类问题的陷门函数,输出警告。
3.4.2、根据算法设计方案,获取公钥和私钥的用途。如果没有用途说明,或者无公钥和私钥的完整用途说明,输出不安全。公钥应仅用于加密和数字签名验证,私钥应仅用于解密和数字签名。如果用途不一致,输出警告。用于加解密和数字签名的公私钥对应不一致。如果一致,输出不安全。
3.4.3、运行密码,至少随机生产1对公私钥对。逐比特对比私钥与公钥是否一致。如果完全一致,输出不安全。如果不完全一致,但有超过界限值的数据一致,输出警告。界限值由算法设计方案提供。如果方案中无该界限值,输出警告。
3.4.4、获取公钥和私钥长度比特。如果公钥和/或私钥长度小于32,输出不安全。如果n大于等于32小于64,输出不安全。对于具有超级计算能力和量子计算的环境,直接输出警告。
3.4.5、随机产生5组长度不一致的明文和对应的密文样本数据。5组样本数据中,1组长度应与内存空间一致,1组长度超出内存空间。分别运行密码,将明文和公钥代入,计算得到密文。将私钥代入,对密文进行解密,得到明文。将计算得到的明文和密文与样本数据对比。如果不一致,输出不安全。密码计算期间,获取计算时间。如果时间超出预期范围,输出警告。
3.4.6、根据密码运行环境,统计该环境中需要被加密的明文数量。明文数量统计方法为:明文内容一致的为1组。如果该数量小于100组,输出不安全。如果数量大于等于100小于10000组,输出警告。
3.4.7、根据设计方案,获得被签名的内容长度。如果没有长度要求,输出警告。随机生成1组长度符合要求的数据和1组超出长度要求的数据,分别进行数字签名和验证。如果出现签名和验证不通过的情况,输出不安全。
3.5、对密码杂凑算法检测:
3.5.1、收集密码杂凑算法设计方案。如果杂凑值长度小于80比特,输出不安全;如果杂凑值长度大于等于80比特小于160比特,输出警告。
3.5.2、随机产生5组长度不一致的明文和对应的杂凑值样本数据。5组样本数据中,1组长度应与内存空间一致,1组长度超出内存空间。分别运行密码,将明文代入计算得到杂凑值。将计算得到的杂凑值与样本数据对比。如果不一致,输出不安全。密码计算期间,获取计算时间。如果时间超出预期范围,输出警告。
4、上述步骤3在物理环境要求范围内和物理环境要求范围外分别重复2次。
5、检测是否具备对密码进行操作的人员的身份鉴别功能,如果没有,输出不安全。
6、检查独立的密码模块是否有物理外壳,如果没有物理外壳,输出警告。
7、对于有多个独立密码模块的情况,运行密码和其所在系统,对密码模块之间,以及密码模块与系统之间的通信进行抓包。然后对抓包数据进行解析。如果解析数据显示没有使用密码,输出不安全。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (4)

1.一种密码通用检测方法,其特征在于:所述检测方法包括:
收集影响密码应用的环境数据,并进行密钥管理安全性检测以及密码安全性和正确性检测;所述密码安全性和正确性检测包括分组密码检测、流密码检测、公钥密码检测和密码杂凑算法检测;
在物理环境要求范围内和物理环境要求范围外分别重复多次密码安全性和正确性检测;
检查独立的密码模块是否有物理外壳,如果没有物理外壳,输出警告;
当存在有多个独立密码模块时,运行密码和密码所在的系统,对密码模块之间以及密码模块与系统之间的通信进行抓包,对抓包的数据进行解析,如果解析数据显示没有使用密码,则输出不安全;
所述分组密码检测包括:
S101、根据被检测对象采用的密码算法设计方案获取混淆和扩散规则,重复使用密码的规则以及密码工作模式,如果不同时具备混淆和扩散规则,则输出不安全,如果起混淆作用的S盒小于预设大小,则输出警告,如果没有重复使用一种或多种密码,则输出警告,如果没有工作模式,则输出不安全;
S102、获取明文分组位数长度n比特和密钥长度m比特,n和m值相等,如果n小于32,输出不安全,如果n大于等于32小于64,输出警告,如果m小于32,输出不安全,如果m大于等于32小于64,输出警告;
S103、获取被检测对象采用的密码算法设计方案中接受的明文对密文对应变化比例值,如果小于预设比例值,则输出不安全,并根据随机产生的n比特明文样本数据和m比特密钥样本数据,改变明文样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内,如果不在,则输出不安全;
S104、随机产生的n比特明文样本数据和m比特密钥样本数据,改变密钥样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内,如果不在,则输出不安全;
S105、设定多组数据内容随机生成的明文和匹配的密文样本数据,分别进行加解密运算,第1组,长度n比特、第2组,长度a×n比特,a取值为大于1小于等于n的整数、第3组,长度n-1比特、第4组,长度n+1比特,将样本数据带入算法中进行加解密验证,如果出现不一致的情况在,则输出警告,且在密码运行期间同时记录运算时间,如果超出预设时间,则输出警告;
S106、根据密码所处计算能力、网络传输能力环境和安全需求,判断是否存在每个分组独立加密以及相同的明文加密成不同明文的情况,如果存在每个分组独立加解密的情况,则检查每个明文分组形成的密文是否传入其他明文分组中,如果是,则输出警告,如果存在相同的明文加密成不同明文的情况,则检查是否引入初始向量或者其他参数,如果不是,则输出警告;
所述流密码检测包括:
S111、收集被检测对象密码算法的设计方案,获取生成密钥流的密钥长度,如果长度小于64比特,输出不安全,长度大于等于64比特,小于128比特,输出警告,获取重复周期,如果小于2128,输出警告;
S112、设定一组数据内容随机生成的明文和匹配的密文样本数据,且明文的长度大于等于生成密钥流的密钥长度,分别进行加解密运算,如果运算不正确,则输出警告;
S113、设定一组数据内容随机生成的明文和匹配的密文样本数据,且明文的长度大于等于生成密钥流的密钥长度,随机改变1位明文进行加密运算对比发生变化的密文位数是否在预设范围内,以及随机改变1位密文进行解密运算对比发生变化的明文位数是否在预设范围内,如果不在,则输出不安全;
所述公钥密码检测包括:
S121、收集公钥密码算法的设计方案,单独划分采用的陷门函数,如果未采用陷门函数,则输出不安全,如果采用的陷门函数的类型不是预设类型,则输出警告;
S122、获取公钥和私钥的用途,如果没有公钥和私钥的说明或者说明不完整,则输出不安全,如果公钥不只是用于加密和数字签名验证,私钥不只是用于解密和数字签名,则输出警告,如果用于加解密和数字签名的公私钥对应一致,则输出不安全;
S123、运行密码,至少随机产生1对公私钥对,逐比特对比私钥与公钥是否一致,如果完全一致,则输出不安全,如果不完全一致,但是存在超出界限值的数据一致,则输出警告;
S124、获取公钥和私钥长度比特,如果公钥和/或私钥长度小于32,输出不安全,如果a大于等于32小于64,输出不安全,对于具有超级计算能力和量子计算的环境,直接输出警告;
S125、随机产生多组长度不一致的明文和对应的密文样本数据,其中1组长度应与内存空间一致,1组长度超出内存空间,分别运行密码,将明文和公钥代入计算得到密文,将私钥代入对密文进行解密得到明文,将计算得到的明文和密文与样本数据进行对比,如果不一致,则输出不安全,且获取计算时间,如果计算超出预设范围,则输出警告;
S126、根据密码运行环境,统计该环境中需要被加密的明文数量,如果数量不达标,则输出警告;
S127、获取被签名的内容长度,如果没有长度要求,则输出警告,随机生成1组长度符合要求的数据和1组超出长度要求的数据,分别进行数字签名和验证,如果出现签名和验证不通过的情况,则输出不安全;
所述密码杂凑算法检测包括:
S131、收集密码杂凑算法的设计方案,如果杂凑值长度小于i比特,则输出不安全,如果杂凑值长度大于等于i比特且小于j比特,则输出警告;
S132、随机产生多组长度不一致的明文和对应的杂凑值样本数据,其中1组长度应与内存空间一致,1组长度超出内存空间,分别运行密码,将明文代入计算得到杂凑值,将计算得到杂凑值与样本数据进行对比,如果不一致,则输出不安全,且获取计算时间,如果计算超出预设范围,则输出警告;
所述密钥管理安全性检测包括:
S201、获取被检测密码的密钥空间范围和所处环境计算性能,计算遍历密钥空间所需时间,如果所需时间小于等于检查周期,则输出不安全,如果所需时间大于检查周期但小于1.2倍检查周期,则输出警告;
S202、运行密钥产生模块,核查密钥是否在设备内部产生,如果不在内部产生,则输出警告,提取密钥对其进行随机性检测,如果检测不通过,则输出存在警告;
S203、对密钥进行分发操作,检测是否对接收方进行了身份鉴别,如果没有,则输出不安全,如果进行了身份鉴别,检测鉴别方式是否采用了密码技术和/生物特征技术,如果没有,则输出存在警告;
S204、获取在密钥分发过程中的密钥和敏感安全参数,核查密钥和敏感安全参数是否采用密码技术进行加密保护,如果进行了加密保护,则将密文进行解密,并将解密后获得的明文和初始的密钥和敏感参数进行对比,如果一致,则输出警告;
S205、采用非授权身份查询密钥和敏感安全参数,如果能查询,则输出不安全,如果不能查询,则继续进行多次连续查询且未被锁定,则输出不安全;
S206、采用授权身份检测存储的密钥是否被加密,如果未被加密,则输出不安全,进行多次连续修改密钥且未被锁定,则输出不安全;
S207、对产生和存储密钥的硬件部件进行暴力破拆,然后读取密钥或者任意调用密钥,如果密钥仍存在或者能正常使用,则输出不安全;
S208、检查密钥管理规则,判断密钥是否具有管理规则,如果没有,则输出不安全,如果管理规则不完整,则输出警告;
S209、至少随机选择1项需要保存的密钥,检查该密钥保存期间是否被加密保护,如果没有,则输出不安全;
S210、根据密钥管理规则进行密钥更新操作,检测在密钥更新周期内密钥是否能正常更新,如果不能,则输出警告;
S211、删除除主密钥功能的全部密钥,对密钥进行恢复操作,如果能恢复全部或者部分密钥,则输出不安全。
2.根据权利要求1所述的一种密码通用检测方法,其特征在于:所述根据随机产生的n比特明文样本数据和m比特密钥样本数据,改变明文样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内具体包括:
A1、随机产生n比特明文样本数据和m比特密钥样本数据,带入算法进行加密计算得到密文;
A2、改变最左边或最右边第1位的明文样本数据,带入算法进行加密计算得到密文,并将该密文与明文样本数据加密得到的密文进行对比,计算密文改变的位数,用此位数除以密文总数得到变化比例值;
A3、逐一改变最左边或最右边第2位的明文,并重复步骤A2的计算和对比,直到最右边或最左边的明文也进行了改变,并完成计算和对比,比较所有变化比例值是否在预设比例值的范围内。
3.根据权利要求2所述的一种密码通用检测方法,其特征在于:所述随机产生的n比特明文样本数据和m比特密钥样本数据,改变密钥样本数据进行加密计算和对比,比较比例值是否在预设比例值范围内包括:
B1、随机产生n比特明文样本数据和m比特密钥样本数据,带入算法进行加密计算得到密文;
B2、改变最左边或最右边第1位的密钥样本数据,带入算法进行加密计算得到密文,并将该密文与明文样本数据加密得到的密文进行对比,计算密文改变的位数,用此位数除以密文总数得到变化比例值;
B3、逐一改变最左边或最右边第2位的密钥样本数据,并重复步骤B2的计算和对比,直到最右边或最左边的密钥样本数据也进行了改变,并完成计算和对比,比较所有变化比例值是否在预设比例值的范围内。
4.根据权利要求3所述的一种密码通用检测方法,其特征在于:所述分组密码检测还包括:将步骤S103中每次修改最左边或最右边1位明文改为随机修改最左边或最右边t位明文,并重复步骤S103;该步骤执行的内容于步骤S103和步骤S104之间且至少执行一次,其中,2≤t<n-1;
将步骤S104中每次修改最左边1或最右边位密钥改为随机修改最左边或最右边t位密钥,并重复步骤S104;该步骤执行的内容于步骤S104和步骤S105之间且至少执行一次,其中,2≤t<n-1。
CN202310540241.4A 2023-05-15 2023-05-15 一种密码通用检测方法 Active CN116305080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310540241.4A CN116305080B (zh) 2023-05-15 2023-05-15 一种密码通用检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310540241.4A CN116305080B (zh) 2023-05-15 2023-05-15 一种密码通用检测方法

Publications (2)

Publication Number Publication Date
CN116305080A CN116305080A (zh) 2023-06-23
CN116305080B true CN116305080B (zh) 2023-07-28

Family

ID=86803457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310540241.4A Active CN116305080B (zh) 2023-05-15 2023-05-15 一种密码通用检测方法

Country Status (1)

Country Link
CN (1) CN116305080B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117134914B (zh) * 2023-10-26 2024-01-30 山东山大鸥玛软件股份有限公司 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005202048A (ja) * 2004-01-14 2005-07-28 Sharp Corp 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
CN101242275A (zh) * 2008-03-07 2008-08-13 四川虹微技术有限公司 基于流密码加密的安全传输方法
JP2012068988A (ja) * 2010-09-24 2012-04-05 Intec Inc セキュア・ネットワーク・ストレージ・システム、方法、クライアント装置、サーバ装置、及びプログラム
CN111586076A (zh) * 2020-05-26 2020-08-25 清华大学 基于混合密码的遥控遥测信息防篡改加解密方法和系统
CN115292738A (zh) * 2022-10-08 2022-11-04 豪符密码检测技术(成都)有限责任公司 一种联邦学习模型和数据安全性及正确性的检测方法
CN116015610A (zh) * 2022-12-19 2023-04-25 豪符密码检测技术(成都)有限责任公司 一种轻量级密码的检测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100369404C (zh) * 2002-01-10 2008-02-13 张红雨 混沌密码序列发生器
US7333611B1 (en) * 2002-09-27 2008-02-19 Northwestern University Ultra-secure, ultra-efficient cryptographic system
AU2012211129B2 (en) * 2011-01-27 2016-01-28 Security First Corp. Systems and methods for securing data
CN104639534B (zh) * 2014-12-30 2019-02-12 北京奇虎科技有限公司 网站安全信息的加载方法和浏览器装置
CN104580190B (zh) * 2014-12-30 2018-09-04 北京奇虎科技有限公司 安全浏览器的实现方法和安全浏览器装置
US11457001B2 (en) * 2016-04-28 2022-09-27 Arnold G. Reinhold System and method for securely encrypting data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005202048A (ja) * 2004-01-14 2005-07-28 Sharp Corp 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
CN101242275A (zh) * 2008-03-07 2008-08-13 四川虹微技术有限公司 基于流密码加密的安全传输方法
JP2012068988A (ja) * 2010-09-24 2012-04-05 Intec Inc セキュア・ネットワーク・ストレージ・システム、方法、クライアント装置、サーバ装置、及びプログラム
CN111586076A (zh) * 2020-05-26 2020-08-25 清华大学 基于混合密码的遥控遥测信息防篡改加解密方法和系统
CN115292738A (zh) * 2022-10-08 2022-11-04 豪符密码检测技术(成都)有限责任公司 一种联邦学习模型和数据安全性及正确性的检测方法
CN116015610A (zh) * 2022-12-19 2023-04-25 豪符密码检测技术(成都)有限责任公司 一种轻量级密码的检测方法

Also Published As

Publication number Publication date
CN116305080A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US7127067B1 (en) Secure patch system
JP2017076839A (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP2016131335A (ja) 情報処理方法、情報処理プログラムおよび情報処理装置
Accorsi Safe-keeping digital evidence with secure logging protocols: State of the art and challenges
US11784985B2 (en) Network security devices and method
US8472619B1 (en) Multiple validly decryptable messages
CN116305080B (zh) 一种密码通用检测方法
EP3163789B1 (en) Forward-secure crash-resilient logging device
Accorsi Log data as digital evidence: What secure logging protocols have to offer?
US9515989B1 (en) Methods and apparatus for silent alarm channels using one-time passcode authentication tokens
KR100546375B1 (ko) 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법
CN103404073A (zh) 针对无源监听的保护
Zitar et al. Hashing generation using recurrent neural networks for text documents
CN115001775B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US8788817B1 (en) Methods and apparatus for secure and reliable transmission of messages over a silent alarm channel
Khan et al. Evolution and Analysis Of Secure Hash Algorithm (Sha) Family
JP6040780B2 (ja) 暗号処理装置、方法およびプログラム
CN107026729B (zh) 用于传输软件的方法和装置
CN116484341A (zh) 一种基于哈希加密算法的数字化信息处理方法及系统
Thapar et al. A study of data threats and the role of cryptography algorithms
Nivetha et al. A comparative analysis of cryptography algorithms
Qader et al. A new algorithm for implementing message authentication and integrity in software implementations
CN116455584B (zh) 一种基于软件完整性的下载方法及系统
JP2015082077A (ja) 暗号化装置、制御方法、及びプログラム
Ke et al. Hash-algorithms output for digital evidence in computer forensics

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