A general method and system for application system password security assessment and audit
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- 张健
- Filing Date
- 2026-05-14
- Publication Date
- 2026-08-07
AI Technical Summary
[0006]但是,在实际应用系统密码安全评估和审计场景中,行业内已公开的方案在不同的具体评估场景下仍面临若干有待解决的问题
[0033]First, it features zero intrusion. Throughout the entire evaluation process, the method described in this invention does not initiate any login verification requests to the target application system's external interfaces for verifying user passwords, nor does it call or utilize the target application system's external functions for verifying user passwords. Furthermore, it does not require the deployment of any evaluation components on the target application system. This fundamentally avoids the constraints imposed on the evaluation process by application-layer protection mechanisms such as CAPTCHAs, IP rate limits, account lockout thresholds, and behavioral risk control, and also avoids the coordination costs and potential risks associated with deploying components in a production environment.
Smart Images

Figure CN122528136A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information security technology, and in particular to cryptographic security assessment and auditing technology for application systems, specifically to a general method and system for cryptographic security assessment and auditing of application systems. Background Technology
[0002] Application systems authenticate users using their accounts and passwords, which is one of the most common authentication methods today. To ensure password security, modern application systems generally use one-way hash algorithms or custom encryption algorithms to encrypt user passwords before storage. Common password processing schemes include: hash algorithms (such as MD5, SHA-1, SHA-256, SM3, etc.); slow hash algorithms (such as bcrypt, Argon2, scrypt, PBKDF2, etc.); custom encryption chains, which combine the above algorithms in a specific order, such as SHA-256 nested with MD5, multiple rounds of iteration after salting, Base64 encoding of the hash result, truncation or padding of specific fields, and other multi-step transformations; and symmetric encryption algorithms (such as AES, SM4, etc., some systems use symmetric encryption to perform reversible processing on passwords before storage).
[0003] Despite the widespread adoption of the aforementioned password processing mechanisms in modern application systems, weak passwords remain a common problem. According to publicly available industry reports, the percentage of accounts with weak passwords in enterprise application systems typically ranges from 5% to 30%, with some older intranet systems experiencing even higher percentages. Weak passwords pose a significant threat to enterprise information security, as attackers can use them for unauthorized access, privilege escalation, and the acquisition of sensitive data. Therefore, proactively assessing, identifying, and implementing corrective measures for weak passwords in application systems is crucial for enterprise security operations. As a prevalent cybersecurity issue, weak passwords have received considerable attention from industry regulators in recent years, and the "two highs and one weak" special inspection, which includes weak password screening, is an annual security task for these departments.
[0004] It is worth noting that different application software vendors, based on their own security strategies, technology stack selections, compliance requirements, and historical backgrounds, will choose drastically different combinations from the aforementioned encryption schemes and apply them, resulting in significant differences in the cryptographic encryption chains used by target application systems across different vendors' products. This industry reality makes it difficult for traditional penetration testing methods and existing technical solutions to achieve comprehensive, automated, and routine cryptographic security assessment and auditing.
[0005] A search revealed several methods and systems for detecting weak passwords in application systems published in Chinese patent literature. For example, Chinese patent application CN117792620A discloses a method and system for weak password arrangement verification based on ciphertext feature recognition. This scheme identifies the features of the target ciphertext (such as ciphertext length, ciphertext prefix, etc.), and automatically obtains the algorithm arrangement by combining and brute-forcing a preset algorithm set based on collected plaintext and ciphertext samples. Then, based on the obtained algorithm arrangement, it encrypts the candidate plaintext in the weak password dictionary and matches it with the target ciphertext to identify weak password accounts, thus realizing automatic reverse deduction of encryption algorithms and batch identification of weak passwords. For example, Chinese patent application CN117077121A discloses a method and system for weak password verification in programmable business systems. This solution obtains a new weak password dictionary database by configuring and managing rules on a preset weak password dictionary. Candidate plaintexts in this dictionary database are encrypted according to a preset weak password arrangement method and then matched with ciphertexts stored in the business system to achieve weak password verification. This method can be applied to the detection of weak password accounts in business systems. Another example is Chinese patent application CN103886248A, which discloses a method for detecting weak passwords on websites. This method automatically scans websites based on scheduled tasks to obtain usernames, passwords, and password encryption methods. Weak passwords in the weak password dictionary are encrypted using the obtained encryption methods and then matched with the collected passwords. For identified weak password accounts, simulated login verification is further performed, thereby completing the detection and verification of weak passwords on websites. The above solutions provide different technical approaches for the detection and identification of weak password accounts in application systems.
[0006] However, in practical application system cryptographic security assessment and auditing scenarios, publicly available solutions in the industry still face several unresolved issues under different specific assessment scenarios. On the one hand, the encryption links adopted by application software development vendors based on their own needs are highly diverse, including both publicly available standard algorithms and custom encryption links formed by concatenating multiple transformation steps in a specific order. In target application system scenarios where the encryption mechanism is not publicly available and there is no available plaintext and ciphertext sample data (such as self-developed closed commercial software, internal business systems without publicly available source code, etc.), the ability to universally reproduce various custom encryption links based on automatic identification or preset algorithm libraries needs to be improved. Weak password accounts that actually exist in such target application systems are easily unidentifiable because the encryption method cannot be completely reproduced.
[0007] On the other hand, in large-scale scenarios involving automated and batch assessments of all accounts, solutions that attempt logins or simulate login verifications via the application-layer authentication interface of the target application system are constrained by application-layer protection mechanisms (including but not limited to CAPTCHAs, IP rate limits, account lockout thresholds, and behavioral risk control). The ability to quickly and completely cover all accounts needs improvement, and the assessment process also places a significant load on the system being assessed. In routine assessment scenarios, relying solely on fixed-period scheduled triggering methods cannot simultaneously meet the dual requirements of assessment timeliness and system load. There is a demand in the industry for triggering mechanisms that support monitoring of changes in target account data.
[0008] On the other hand, when the encryption method configured in the evaluation scheme deviates from the encryption mechanism currently used by the target application system (for example, the target application system uses a non-standard algorithm for cryptographic encryption and the scheme cannot be flexibly extended to support it), the candidate ciphertexts generated after encrypting all candidate plaintexts cannot match the target ciphertext. All accounts will be judged as having no weak passwords, which will mask the actual weak password risks in the target application system. Moreover, the overall distortion of the evaluation results is not easily detected when there is no mechanism to pre-verify the correctness of the encryption method configuration. At the same time, the adaptability of the publicly available matching mechanisms in the industry to block symmetric encryption algorithms with ciphertext length strongly correlated with plaintext length, and to slow hash algorithms with random salt that produce different ciphertexts for the same plaintext each time, needs to be improved. There is a demand in the industry for a mechanism that adaptively selects the matching path based on the characteristics of the encryption method.
[0009] In the context of cryptographic security assessment and auditing of application systems with different vendors, encryption mechanisms, and assessment scales, there remains a persistent demand within the industry for a universal, flexible, and reliable assessment method. Summary of the Invention
[0010] Purpose of the invention: The purpose of this invention is to address the aforementioned deficiencies in the prior art by providing a general method for cryptographic security assessment and auditing of application systems, as well as a general assessment apparatus and computer-readable storage medium for implementing this method.
[0011] Technical solution: To achieve the above objectives, the present invention adopts the following technical solution:
[0012] The method described in this invention employs six core mechanisms working collaboratively to form a complete execution chain for cryptographic security assessment and auditing of a target application system. These mechanisms are as follows: Dictionary preparation mechanism (corresponding to step N1), used to construct a pre-defined dictionary containing candidate plaintexts; Data acquisition mechanism (corresponding to step N2), used to obtain target account records from the target application system; Chained encryption combination mechanism (corresponding to step N3), used to concatenate one or more transformation steps in a specified order to construct an executable representation of the encryption chain currently used by the target application system on the assessment device side, i.e., the chained encryption combination configuration; Pre-verification mechanism (corresponding to step N4), used to pre-verify the correctness of the constructed chained encryption combination configuration based on at least one known sample before the assessment process is executed; Adaptive matching mechanism (corresponding to step N5), used to adaptively select execution from three matching paths—fast hashing, slow hashing, and reverse decryption—based on the type of transformation steps in the chained encryption combination configuration; and Result determination mechanism (corresponding to step N6), used to process the matching results and form the assessment result. The above six mechanisms are not independent of each other, but are interconnected and cooperate with each other according to the execution chain of input construction, configuration construction, configuration verification, matching execution, and result processing to form the overall technical solution of the method described in this invention.
[0013] This invention provides a general method for password security assessment and auditing (hereinafter collectively referred to as assessment) of application systems. The method is applied to an assessment system or assessment device (hereinafter collectively referred to as assessment device). Throughout the entire execution of the assessment, the assessment device does not rely on the target application system's own password verification logic. Specifically, it does not initiate any login verification request to the interface provided by the target application system for verifying the correctness of user passwords, nor does it call or utilize the functions provided by the target application system for verifying the correctness of user passwords; and it does not require the deployment of any assessment components on the target application system. The method includes the following steps, which are presented in an enumerated order for ease of description. The actual execution order of each step depends on its technical dependencies. When there is no technical dependency between two steps, they can be executed in any order or in parallel:
[0014] N1. Dictionary Preparation Steps: Based on the dictionary preparation mechanism, a preset dictionary is obtained. The preset dictionary is constructed from one or more of the following sources, and when constructed from multiple sources, the dictionaries corresponding to the multiple sources are merged and deduplicated to obtain a unified preset dictionary: Built-in dictionary source: one or more dictionaries are selected from the dictionary library pre-built into the evaluation device as components of the preset dictionary. The built-in dictionary library includes at least one or more of the following: publicly available common weak password dictionary, birthday combination dictionary, name pinyin dictionary, and common mobile phone number combination dictionary; User-defined dictionary source: dictionary files uploaded by users are received as components of the preset dictionary. The upload method includes appending or replacing the preset dictionary; Social engineering dictionary generation source: a social engineering dictionary for the target application system is automatically generated based on a root word pool and a transformation rule set as a component of the preset dictionary. The root word pool includes, but is not limited to, root words actively input by the user and specific root word categories in the built-in dictionary. The transformation rule set includes, but is not limited to, symbol appending transformation, character prefix transformation, character repetition transformation, and root word concatenation transformation.
[0015] N2. Data Acquisition Steps: Based on the data acquisition mechanism, obtain one or more target account records from the target source. Each target account record corresponds to a user account and password in the target application system. The password is stored in one or more storage formats, including but not limited to ciphertext and plaintext. Each target account record includes at least an account identifier field and a password field. The target source format includes, but is not limited to: database source (establishing a connection with the target application system's data storage via a database connector and executing a data query statement to obtain the target account records), where the database connector supports at least one or more relational databases, document databases, and key-value databases; and file import source (receiving account record files pre-exported from the target application system via a file import interface), where the account record file format includes, but is not limited to, CSV, SQL dump, JSON, and spreadsheet formats. After obtaining the target account records through any of the above target source formats, map the actual field names of the target source to built-in role keys within the evaluation device based on a field role mapping mechanism. The built-in role keys include at least an account identifier, a password, and an optional salt value. The mapping is obtained through user-specified methods, system-automatic inference methods, or the default mapping method preset by the evaluation device.
[0016] N3. Chain-based encryption combination configuration steps: Based on the chain-based encryption combination mechanism, a chain-based encryption combination configuration is constructed. The chain-based encryption combination mechanism is characterized by concatenating one or more transformation steps in a specified order. When multiple transformation steps exist, the output of the previous transformation step is used as the input of the next transformation step, thereby performing a composite encryption transformation on the candidate plaintext in the preset dictionary. The type of the transformation step is selected from one or more of the following: hash algorithm steps, symmetric encryption algorithm steps, asymmetric encryption algorithm steps, encoding algorithm steps, byte truncation transformation steps, byte padding transformation steps, and user-defined transformation steps. The user-defined transformation steps are implemented through the algorithm extension interface provided by the evaluation device. The algorithm extension interface allows transformation steps not belonging to the above-listed types to be included in the chain-based encryption combination. Each transformation step in the chain-based encryption combination configuration further records the execution parameters of that transformation step, and at least one of the execution parameters is... Parameters can also be generated by applying the chain encryption combination mechanism to other input data; the chain encryption combination configuration is constructed through user manual configuration or intelligent recognition-assisted configuration based on ciphertext samples: the user manual configuration method responds to the user's direct configuration input and constructs the chain encryption combination configuration; the intelligent recognition-assisted configuration based on ciphertext samples extracts at least one ciphertext sample from the target account record collected in the data collection step, identifies and generates an automatically recommended chain encryption combination configuration through an automatic ciphertext recognition mechanism, the automatic ciphertext recognition mechanism is based on the features of the ciphertext sample, the features include but are not limited to the format features of the ciphertext, the format features include but are not limited to the length of the ciphertext, the character set distribution of the ciphertext, the specific prefix of the ciphertext, the specific suffix of the ciphertext, and the format pattern of the ciphertext, responding to the user's confirmation or modification of the automatically recommended chain encryption combination configuration, and constructs the chain encryption combination configuration. In the chain-encryption combination configuration, the execution mode can be further recorded. The selectable values of the execution mode are forward and reverse. The execution mode is used to indicate the matching path direction adopted in the subsequent N5 evaluation processing steps. The forward value corresponds to the forward calculation direction of obtaining candidate ciphertext from candidate plaintext through the chain-encryption combination mechanism, and the reverse value corresponds to the reverse decryption direction of obtaining decrypted plaintext from ciphertext in the target account record through the reverse execution of the chain-encryption combination mechanism.
[0017] N4. Chain Encryption Combination Pre-verification Step: Based on the pre-verification mechanism, the chain encryption combination configuration is pre-verified. The pre-verification mechanism is characterized by obtaining at least one known sample, which includes known plaintext and ciphertext encrypted by the target application system as expected ciphertext; executing the chain encryption combination mechanism on the known plaintext according to the chain encryption combination configuration to obtain verification ciphertext; comparing the verification ciphertext with the expected ciphertext; only when the verification ciphertext matches the expected ciphertext is the chain encryption combination configuration confirmed to be correct, and allowing entry into step N5; if the comparison does not match, the execution of subsequent evaluation processing steps is stopped, and a prompt message indicating that the chain encryption combination configuration has a deviation is output.
[0018] N5. Evaluation and Processing Steps: Based on an adaptive matching mechanism, the ciphertext in the target account record is matched. The adaptive matching mechanism is characterized by adaptively selecting one or more of the following three matching paths to perform matching based on the type of transformation step in the chain encryption combination configuration, and obtaining the matching result: N5.1 Fast hash matching path, applicable to situations where the execution results of each transformation step in the chain encryption combination configuration are deterministic for the same candidate plaintext. The chain encryption combination mechanism is executed in batches on the candidate plaintexts in the preset dictionary according to the chain encryption combination configuration to obtain a candidate ciphertext set. The candidate ciphertexts in the candidate ciphertext set are matched with the ciphertexts in the target account record by looking up a table. When a match is found, the candidate plaintext corresponding to the matched candidate ciphertext is determined as the hit weak password plaintext; N5.2 The slow hash matching path is applicable to situations where the chained encryption combination configuration includes slow hash algorithm steps, and the execution result of the slow hash algorithm steps is not deterministic for the same candidate plaintext. Through the password verification mechanism provided by the slow hash algorithm itself, the ciphertext in the target account record and the candidate plaintexts in the preset dictionary are used as inputs to the password verification mechanism. The candidate plaintexts are verified one by one. When the password verification mechanism determines a match, the candidate plaintext corresponding to the input that is determined to be a match is identified as the weak password plaintext. N5.3 The reverse decryption matching path is applicable to situations where the chained encryption combination configuration contains reversible encryption algorithm steps and the execution mode recorded in the chained encryption combination configuration is reversed. Following the reverse order of the configuration sequence of each transformation step in the chained encryption combination configuration, the inverse transformation of the encryption algorithm configured in each transformation step is applied sequentially to the ciphertext in the target account record to obtain the decrypted plaintext. The decrypted plaintext is then matched with candidate plaintexts in the preset dictionary, or a password strength evaluation is performed on the decrypted plaintext. If a match is found, the decrypted plaintext is determined to be a weak password plaintext. Similarly, if the password strength evaluation determines it to be a weak password, the decrypted plaintext is also determined to be a weak password plaintext.
[0019] N6. Result Determination Steps: Based on the result determination mechanism, the matching results are processed to form an evaluation result and saved; the result determination mechanism is characterized in that the evaluation result is formed by combining the matched weak password plaintext with the target account record; the determination attributes of the matched weak password plaintext are determined, including but not limited to the risk level and strength of the matched weak password plaintext; the evaluation result includes but is not limited to the account identifier in the target account record, the matched weak password plaintext, and the determination attributes.
[0020] N7. The target application system is an application system that uses account and password for identity authentication.
[0021] Based on the above method, the method of the present invention can be further implemented in one or more of the following ways to adapt to different specific evaluation scenarios and implementation needs.
[0022] Furthermore, in the N1 dictionary preparation step, the source of the root word pool and the specific implementation of each transformation in the transformation rule set are further defined as follows: the source of the root word pool further includes the account identifier or its components extracted from the target account record, and user identity information associated with the account identifier; in the transformation rule set, the specific implementation of the symbol appending transformation includes appending one or more symbols from a preset symbol set to a preset position on the root word, wherein the preset position is selected from the beginning, the end, or the middle of the root word; the specific implementation of the character prefix transformation includes appending one or more symbols from a preset symbol set to a preset position on the root word. The root is appended with a preset character or a preset combination of characters; the specific implementation of character repetition transformation includes repeating the entire root or a part of the root a preset number of times; the specific implementation of root concatenation transformation includes concatenating at least two roots in the root pool according to a preset separator or without a separator; multiple transformations in the transformation rule set are allowed to be applied in combination so that the same root can be transformed in sequence through two or more transformations to obtain candidate plaintext; during the execution of the method, the hit weak password plaintexts are collected, and the collected weak password plaintexts serve as a supplementary source for the root pool in the subsequent social engineering dictionary generation.
[0023] Furthermore, in the database source of the N2 data acquisition step, the establishment of a connection between the database connector and the data storage of the target application system further includes checking the permission scope of the database account used for the connection; the permission scope check includes determining whether the database account only has the read permission required to execute the data query statement; when it is determined that the database account has write permission other than the read permission, the evaluation device outputs a prompt, which instructs the user to establish the connection using a database account that only has the read permission; the write permission includes, but is not limited to, data insertion permission, data modification permission, and data deletion permission.
[0024] Furthermore, in the N2 data acquisition step, the field role mapping mechanism is further implemented in the following ways: the user manual specification method includes receiving the user's input on the mapping relationship between the actual field name of the target source and the built-in role key through the configuration interface provided by the evaluation device, and using the input as the mapping; the system automatic inference method includes matching the built-in role key based on the semantic features of the actual field name of the target source, and using the matching result as the mapping, wherein the semantic features include, but are not limited to, the character pattern of the field name and the semantic keywords of the field name; the default mapping method preset by the evaluation device includes preset mapping templates for the target application system within the evaluation device, selecting the corresponding preset mapping template according to the type of the target application system, and using the preset mapping template as the mapping; the built-in role key, in addition to the account identifier, the password, and the salt value, further includes, but is not limited to, the user identity information field, the record change time field, and the version number field.
[0025] Furthermore, in the N3 chain encryption combination configuration step, the execution parameters generated by applying the chain encryption combination mechanism to other input data specifically include: the generated parameters include, but are not limited to, key parameters, initialization vector parameters, and salt parameters; the other input data includes, but are not limited to, fields extracted from the target account record, user-provided preset constant data, derived data generated internally by the evaluation device, and other execution parameters already generated in the chain encryption combination configuration; the chain encryption combination mechanism applied to the other input data and the chain encryption combination mechanism applied to perform composite encryption transformation on candidate plaintexts in the preset dictionary adopt the same chain encryption combination mechanism; the generated parameters are used as the execution parameters of the corresponding transformation step in the chain encryption combination configuration, and participate in the execution of the chain encryption combination mechanism together with the candidate plaintexts.
[0026] Furthermore, in the N3 chain encryption combination configuration step, the automatic ciphertext identification mechanism employs the following three-layer identification strategy to identify the ciphertext sample. The three-layer identification strategy is applied sequentially in hierarchical order; if a previous layer fails to identify the ciphertext sample, the next layer is entered. The three-layer identification strategy outputs one or more candidate algorithm categories for the ciphertext sample, along with a confidence level corresponding to each candidate algorithm category. The confidence level reflects the degree of trustworthiness of the candidate algorithm category matching the ciphertext sample. The automatically recommended chain encryption combination configuration is generated based on the confidence level from the candidate algorithm categories: a precise matching identification layer, which, for cases where the ciphertext sample has a preset specific format identifier, identifies the ciphertext sample based on the specific format identifier. The algorithm category corresponding to the ciphertext sample is precisely matched and identified. The specific format identifier includes, but is not limited to, a specific prefix, a specific suffix, and a specific separator of the ciphertext sample. The inference and identification layer, for cases where the ciphertext sample does not have a preset specific format identifier but has a regular length and a regular character set distribution, infers and identifies the algorithm category corresponding to the ciphertext sample based on the length of the ciphertext sample and the character set distribution of the ciphertext sample. The heuristic identification layer, for cases where the ciphertext sample does not belong to the above cases, heuristically identifies the algorithm category corresponding to the ciphertext sample based on other features of the ciphertext sample. The other features include, but are not limited to, encoding padding features and character distribution pattern features.
[0027] Further, in the N5 evaluation processing step, the adaptive matching mechanism adaptively selects one of the following matching paths based on the encryption algorithm category used in each transformation step of the N3 chain encryption combination configuration: The first path is applicable when all transformation steps in the chain encryption combination mechanism belong to a batch-pre-computable algorithm category, which includes, but is not limited to, hash algorithms, symmetric encryption algorithms, encoding algorithms, and character transformation algorithms; in the first path, the chain encryption combination mechanism is executed on each candidate plaintext in the preset dictionary to obtain candidate ciphertext, and the candidate ciphertext is compared with the target ciphertext in the target account record by byte sequence; the second path is applicable when the chain encryption combination mechanism contains a slow hash algorithm category that cannot be batch-pre-computed, which includes, but is not limited to, PBK. DF2, scrypt, bcrypt, Argon2; In the second path, for each candidate plaintext in the preset dictionary, together with the target ciphertext in the target account record and the parameters required by the slow hash algorithm attached to the target ciphertext, the corresponding slow hash algorithm verification function is input, and the verification function returns the comparison result. The parameters required by the slow hash algorithm include, but are not limited to, salt value, number of iterations, and memory parameters; The third path is applicable to the case where each transformation step in the chain encryption combination mechanism is a reversible transformation. In the third path, the reverse execution of the chain encryption combination mechanism is performed on the target ciphertext in the target account record to obtain the restored plaintext, and the restored plaintext is compared with the candidate plaintext in the preset dictionary.
[0028] Furthermore, in the N5.3 reverse decryption matching path of the N5 evaluation processing step, the chain encryption combination configuration allows the reverse decryption transformation of the ciphertext in the target account record in the following situations: the chain encryption combination configuration further records the execution mode, and the execution mode is reversed; the execution mode can be either forward or reversed; the reversed execution mode is based on the premise that the encryption algorithms used in each transformation step of the chain encryption combination configuration are all reversible algorithms; in the case where the execution mode is reversed, the way to perform the reverse decryption transformation on the ciphertext in the target account record according to the chain encryption combination configuration is: in reverse order of the configuration order of each transformation step in the chain encryption combination configuration, the reverse transformation of the encryption algorithm configured in each transformation step is applied to the ciphertext sequentially.
[0029] Furthermore, the method is repeatedly executed according to a data change monitoring trigger, which specifically includes: repeatedly triggering the execution of the method at a preset period; after each trigger, the evaluation device first detects whether the encrypted data of the target account record has changed, and only executes the subsequent steps of the method if a change in the encrypted data is detected; the detection of whether the encrypted data has changed is implemented through a dual watermarking mechanism, which includes independent insertion watermark and update watermark, wherein the insertion watermark records the preset monotonically increasing field in the target account record determined in the previous execution. The maximum value is determined by comparing the current maximum value of the monotonically increasing field with the inserted watermark during this execution. If the current maximum value is greater than the inserted watermark, it is determined that a new target account record exists. The updated watermark records the maximum value of the preset update time field in the target account record determined in the previous execution. During this execution, the current maximum value of the update time field is compared with the updated watermark. If the current maximum value is greater than the updated watermark, it is determined that a modified target account record exists. If either the inserted watermark or the updated watermark changes, it is determined that the encrypted data has been changed. In N2 In the data collection step, the collected target account records are limited to those identified as newly added or modified in this instance through the dual watermarking mechanism. After the N6 result determination step, an incremental comparison is performed between the set of weak password accounts determined in this execution and the set of weak password accounts determined in the previous execution to obtain a difference result. The difference result includes at least the subset of newly added weak password accounts, the subset of accounts that disappeared in this execution, and the subset of accounts that were identified as having weak passwords in both executions. The method further includes a step of generating an incremental notification based on the difference result. The incremental notification is generated only for accounts in the subset of newly added weak password accounts.
[0030] Based on the above method, the present invention also provides a general evaluation device for cryptographic security assessment and auditing of application systems. The evaluation device includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, implements the method described in the present invention and the method described in any of the following embodiments.
[0031] Corresponding to the above method and the above evaluation device, the present invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in the present invention and the method described in any of the following embodiments.
[0032] Beneficial effects: Compared with the prior art, the beneficial effects of the present invention are as follows:
[0033] First, it features zero intrusion. Throughout the entire evaluation process, the method described in this invention does not initiate any login verification requests to the target application system's external interfaces for verifying user passwords, nor does it call or utilize the target application system's external functions for verifying user passwords. Furthermore, it does not require the deployment of any evaluation components on the target application system. This fundamentally avoids the constraints imposed on the evaluation process by application-layer protection mechanisms such as CAPTCHAs, IP rate limits, account lockout thresholds, and behavioral risk control, and also avoids the coordination costs and potential risks associated with deploying components in a production environment.
[0034] Second, full coverage. Based on the aforementioned zero-intrusion characteristic, the method described in this invention can perform a complete assessment of all accounts in the target application system at once, without resorting to sampling assessments or long-term window-based distributed assessment strategies commonly used in traditional methods to circumvent application-layer protection mechanisms, thereby improving the completeness and timeliness of the assessment coverage.
[0035] Third, the method offers generalized reproducibility of encrypted encryption chains. Through a chain-based encryption combination mechanism (corresponding to step N3), the method concatenates various transformation steps, including hash algorithm steps, symmetric encryption algorithm steps, asymmetric encryption algorithm steps, encoding algorithm steps, byte truncation transformation steps, byte padding transformation steps, and user-defined transformation steps, in a specified order. This provides generalized reproducibility for various custom encryption chains used in the target application system, making it particularly suitable for closed commercial software or self-developed business systems where the encryption mechanism is not publicly available and no plaintext / ciphertext samples are available.
[0036] Fourth, flexibility and scalability. The method described in this invention, through the algorithm extension interface in the chained encryption combination mechanism (corresponding to the user-defined transformation steps described in step N3), allows transformation steps that do not belong to the types listed above to be included in the chained encryption combination. This supports evaluators in actively constructing corresponding chained encryption combination configurations based on their diverse understanding of the encryption mechanism of the target application system, including but not limited to reading public source code, consulting vendor technical documents, being proactively informed by customer security or development teams, and reverse engineering analysis of the target application system, to cope with various non-standard, special, or novel encryption mechanisms.
[0037] Fifth, pre-verification prevents overall distortion of the evaluation results. The method described in this invention employs a pre-verification mechanism (corresponding to step N4) to pre-verify the correctness of the constructed chain-encrypted combination configuration based on at least one known sample before the evaluation processing steps are executed. Subsequent evaluation processing steps are only performed if the verified ciphertext matches the expected ciphertext; if the comparison is inconsistent, the execution of subsequent evaluation processing steps is terminated, and a prompt message indicating a configuration deviation is output. This mechanism avoids the overall distortion that occurs when there is a deviation in the encryption method configuration, resulting in all candidate ciphertexts generated after encryption failing to match the target ciphertext, and all accounts being uniformly judged as having no weak passwords, thus masking the actual risk of weak passwords.
[0038] Sixth, the high-efficiency evaluation brought by adaptive matching. The method described in this invention, through an adaptive matching mechanism (corresponding to step N5), adaptively selects the most suitable matching path from the three matching paths of fast hashing, slow hashing, and reverse decryption, based on the type of transformation steps in the chained encryption combination configuration. This avoids the situation where a single matching method is insufficient to adapt to various encryption forms. It has corresponding matching capabilities for different encryption forms, such as block symmetric encryption algorithms where the ciphertext length is strongly correlated with the plaintext length, slow hashing algorithms with random salt that produce different ciphertexts for the same plaintext each time, and reversible encryption chains where each transformation step is reversible. Based on theoretical analysis of typical hardware configurations, in typical scenarios applicable to the fast hash matching path, the overall evaluation speed of the method described in this invention can have a significant speed difference compared to traditional application-layer login brute-force methods, with a range of 5 to 7 orders of magnitude. The above performance estimates are based on theoretical analysis of typical hardware configurations. Actual performance fluctuates due to multiple factors such as specific hardware configuration, operating system, chained encryption combination complexity, and dictionary size. Specific values should not be taken as a performance commitment of this invention.
[0039] Seventh, support for routine and automated evaluation. The method of this invention uses a data change monitoring triggering mechanism (corresponding to the content defined in claim 9) to repeatedly trigger the execution of the method at a preset period. Based on a dual watermarking mechanism, it detects whether the encrypted data recorded by the target account has changed. The subsequent steps of the method are executed only when a change in encrypted data is detected; otherwise, the execution is skipped to reduce system load. Furthermore, based on a differential comparison mechanism, incremental notifications are generated for the subset of newly added weak password accounts in the differential result between the set of weak password accounts determined in the current execution and the set of weak password accounts determined in the previous execution. Notifications are generated only for newly added weak password accounts. The evaluation device can further orchestrate the execution of the method as a whole through task scheduling, combining the data change monitoring triggering mechanism and the incremental notification mechanism to achieve routine, incremental, and low-noise evaluation and auditing. In summary, the method of this invention achieves comprehensive, automated, and routine evaluation and auditing of application system passwords without relying on the target application system's own verification logic. Attached Figure Description
[0040] To make the technical solutions of the embodiments of the present invention clearer, the accompanying drawings used in the following description of the embodiments are briefly introduced. The accompanying drawings, together with the embodiments of the present invention, are used to explain the present invention and do not constitute a limitation on the scope of protection of the present invention.
[0041] Figure 1 is a system architecture diagram of the evaluation device provided in the embodiment of the present invention, showing the interface relationship between the evaluation device and the target application system and the account associated person;
[0042] Figure 2 is a flowchart of the method provided in an embodiment of the present invention, showing the overall execution flow of the method according to claim 1;
[0043] Figure 3 is a chain encryption combination structure diagram provided by the embodiment of the present invention, showing the internal structure of the chain encryption combination constructed in step N3 of claim 1;
[0044] Figure 4 is a flowchart of the three-layer strategy for intelligent recognition of encrypted format provided in the embodiment of the present invention, showing the execution flow of the three-layer recognition strategy as defined in claim 6;
[0045] Figure 5 is a flowchart of the chained encryption combination pre-verification process provided in the embodiment of the present invention, showing the execution flow of step N4 in claim 1;
[0046] Figure 6 is a flowchart of the adaptive selection process of the three-way matching engine provided in the embodiment of the present invention, showing the execution flow of step N5 in claim 1, the three-way matching path defined in claim 7, and the reverse decryption matching path defined in claim 8;
[0047] Figure 7 is a flowchart of the data change monitoring triggering process provided in the embodiment of the present invention, showing the execution flow of the data change monitoring triggering mechanism of claim 9;
[0048] Figure 8 is a schematic diagram of the incremental comparison of evaluation results provided by the embodiment of the present invention, showing the output structure of the differential comparison and incremental notification as defined in claim 9;
[0049] Figure 9 is an example diagram of an end-to-end evaluation scenario provided by an embodiment of the present invention, showing a complete execution example of the method of the present invention from dictionary preparation to result determination. Detailed Implementation
[0050] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the protection scope of the present invention.
[0051] In the description of this invention, the "prefix deterministic recognition," "structure inference recognition," and "composite reasoning recognition" in the three-layer strategy for intelligent recognition of encrypted formats shown in Figure 4 of this specification correspond to the "precise matching recognition layer," "inference recognition layer," and "heuristic recognition layer" as defined in claim 6, respectively. The "first path fast hash lookup," "second path slow hash verification," and "third path reverse decryption" in the three-way matching engine shown in Figure 6 of this specification correspond to the N5.1 fast hash matching path, N5.2 slow hash matching path, and N5.3 reverse decryption matching path in claim 1, respectively, and also correspond to the first path, second path, and third path as defined in claim 7, respectively. The "account associated person" shown in Figure 1 of this specification refers to the actual account user associated with the account identifier in the target account record. After identifying a weak password account, the evaluation device can output a rectification notice to the account associated person.
[0052] Example 1: End-to-end evaluation scenario based on hash algorithm link.
[0053] This embodiment provides an end-to-end evaluation scenario based on a hash algorithm link. This scenario is applicable when the target application system uses salted hashing to encrypt user passwords. Specifically, the target application system is an enterprise intranet office automation (OA) application system, and its data storage is a relational database. The data table storing user passwords in the target application system includes at least the following fields: username, password, salt value, and record update time. The password encryption mechanism of the target application system is as follows: the plaintext input by the user is concatenated with the corresponding salt value, and the MD5 hash of the concatenation result is then stored in the password field.
[0054] The method is executed on the evaluation device as follows:
[0055] In the N1 dictionary preparation step, the evaluation device constructs a preset dictionary based on the dictionary preparation mechanism; the preset dictionary is obtained by merging and deduplicating the built-in dictionary source and the user-defined dictionary source; the built-in dictionary source is selected from one or more of the publicly available commonly used weak password dictionaries, birthday combination dictionaries, name pinyin dictionaries, and common mobile phone number combination dictionaries in the dictionary library pre-built into the evaluation device; the user-defined dictionary source receives dictionary files uploaded by users and incorporates them into the preset dictionary in the appending manner of the preset dictionary.
[0056] In the N2 data acquisition step, the evaluation device establishes a connection with the data storage of the target application system through a database connector and executes a data query statement to obtain the target account record. The database connector supports relational databases. During the connection establishment process, the permission scope of the database account used for the connection is further checked in accordance with the method defined in claim 3 to determine whether the database account only has the read permission required to execute the data query statement. When it is determined that the database account has write permissions other than the read permission (including one or more of the data insertion permission, data modification permission, and data deletion permission), the evaluation device outputs a prompt message, instructing the user to establish the connection using a database account that only has the read permission. After obtaining the target account record, based on the field role mapping mechanism (the specific implementation of which is defined in claim 4), the actual field names of the data table in the target application system are mapped to the built-in role keys inside the evaluation device: the username field is mapped to the account identifier, the password field is mapped to the password, the salt value field is mapped to the salt value, and the record update time field is mapped to the record change time field.
[0057] In the N3 chained encryption combination configuration step, the evaluation device constructs a chained encryption combination configuration through an intelligent recognition-assisted configuration method based on ciphertext samples. The evaluation device extracts at least one ciphertext sample from the target account record and uses a three-layer recognition strategy to identify the ciphertext sample through an automatic ciphertext recognition mechanism: the exact match recognition layer skips the exact match recognition if no preset specific format identifier is found in the ciphertext sample; the inference recognition layer infers that the corresponding algorithm category is the MD5 algorithm based on the ciphertext sample's length of 32 bits and the character set distribution of hexadecimal characters; the heuristic recognition layer further eliminates other candidate algorithms based on the encoding padding features. Based on the recognition results, the evaluation device automatically recommends a chained encryption combination configuration; the user, based on diverse ways of understanding the encryption mechanism of the target application system (including reading public source code, consulting vendor technical documents, being proactively informed by customer security or development teams, reverse engineering analysis of the target application system, etc.), confirms or modifies the automatically recommended chained encryption combination configuration into the following two-step concatenation structure.
[0058] Step 1, salting (belonging to the byte stuffing transformation step defined in claim 1), further describes the following execution parameters: the salt value position parameter is set to post, the salt value source parameter is set to the field extracted from the target account record, the salt value field role parameter is set to the "salt value" built-in role key mapped by the field role mapping mechanism in step N2, and the salt value encoding parameter is set to UTF-8.
[0059] Step 2: Perform an MD5 hash calculation on the output of Step 1 (which is a hash algorithm step as defined in claim 1).
[0060] In the N4 chained encryption combination pre-verification step, the evaluation device acquires a known sample, which includes known plaintext and ciphertext encrypted by the target application system as the desired ciphertext. The known sample can be obtained in either of the following ways: Method 1: The evaluator obtains an account with a known password (e.g., the evaluator's own account in the target application system, or an account with a known password provided by the target application system's administrator), and directly reads the values of the password field and salt field corresponding to that account from the target application system's data storage. The password field value is used as the desired ciphertext. Method 2: A test account is registered on the target application system, the password of the test account is set to known plaintext, and the values of the password field and salt field corresponding to that test account are read from the target application system's data storage. The password field value is used as the desired ciphertext. Method 1 is more efficient when the evaluator or the target application system's administrator can directly provide an account with a known password, while Method 2 is suitable for scenarios where a known password account cannot be directly obtained. The evaluation device executes the chain encryption combination mechanism on the known plaintext according to the chain encryption combination configuration: first, according to step 1, it configures the concatenation of the salt field value to the end of the known plaintext; then, according to step 2, it configures the calculation of MD5 on the concatenation result to obtain the verification ciphertext. The evaluation device compares the verification ciphertext with the expected ciphertext: if the comparison matches, it confirms that the chain encryption combination configuration is correct and allows proceeding to step N5; if the comparison does not match, the evaluation device stops the execution of subsequent evaluation processing steps and outputs a prompt message indicating that the chain encryption combination configuration has a deviation, instructing the user to correct the chain encryption combination configuration.
[0061] In the N5 evaluation process, the evaluation device performs matching processing on the ciphertext in the target account record based on an adaptive matching mechanism. In this embodiment, the execution result of each transformation step of the chain encryption combination configuration is deterministic for the same candidate plaintext. The adaptive matching mechanism adaptively selects the N5.1 fast hash matching path to perform matching accordingly. The N5.1 fast hash matching path is specifically executed as follows: For each target account record in the target account record, the field value of the salt field corresponding to the target account record is used as the salt parameter in step 1. The chain encryption combination mechanism is batch-executed on all candidate plaintexts in the preset dictionary according to the chain encryption combination configuration to obtain a set of candidate ciphertexts corresponding to the target account record. The candidate ciphertexts in the candidate ciphertext set are matched with the field value of the password field in the target account record by looking up a table. When the match is consistent, the candidate plaintext corresponding to the candidate ciphertext that matches the match is determined as the weak password plaintext that the target account record hits.
[0062] In the N6 result determination step, the evaluation device processes the matching result based on the result determination mechanism, forms an evaluation result, and saves it. The evaluation device combines the matched weak password plaintext with the target account record to form the evaluation result. Further, the evaluation device determines the determination attributes of the matched weak password plaintext, the determination attributes including at least the risk level and strength of the matched weak password plaintext. The evaluation result includes at least the account identifier corresponding to the username field in the target account record, the matched weak password plaintext, and the determination attributes. The evaluation device can further generate and output a rectification notice based on the evaluation result, corresponding to the account associated with the matched weak password plaintext.
[0063] The evaluation device described in this embodiment (corresponding to the general evaluation device defined in claim 10) further includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, implements the method described in this embodiment. At the physical level, the evaluation device may further include functional modules such as a dictionary management module, a data acquisition module, a chain-encrypted combination configuration module, a chain-encrypted combination pre-verification module, an evaluation processing module, a result determination module, a trigger module, and a notification module. These functional modules are implemented through corresponding code segments of the computer program. This embodiment further provides a computer-readable storage medium (corresponding to the computer-readable storage medium defined in claim 11), on which a computer program is stored. When executed by the processor, the computer program also implements the method described in this embodiment.
[0064] Example 2: Evaluation scenario based on slow hashing algorithm.
[0065] This embodiment provides an evaluation scenario based on the slow hashing algorithm, applicable to situations where the target application system uses the slow hashing algorithm to encrypt user passwords. Specifically, the target application system is a business application system procured by a third party. The password encryption mechanism of the target application system is as follows: the user password is encrypted and stored using the bcrypt algorithm (with an iteration cost parameter of 10). The ciphertext output by the target application system uses the bcrypt standard format (i.e., a string prefixed with "$2a$"), and the ciphertext already carries the salt value and iteration cost parameter used for encryption. The data acquisition method for the target application system does not use the database connector, but rather a file import interface.
[0066] In the N1 dictionary preparation step, given that the single password verification operation of the slow hash matching path in this embodiment N5.2 takes significantly longer than that of the fast hash algorithm, the preset dictionary adopts a simplification strategy during construction, containing only the publicly available commonly used weak password dictionary from the built-in dictionary library, in order to control the total evaluation time within a reasonable range.
[0067] In the N2 data acquisition step, the evaluation device receives an account record file pre-exported from the target application system via a file import interface. The account record file is in CSV format. The account record file is pre-exported by the administrator of the target application system through the target application system's own data export function. The evaluation device parses the account record file to obtain the target account records. Based on the field role mapping mechanism, the corresponding field names in the account record file are mapped to two built-in role keys: the account identifier and the password. The salt value and the iteration cost parameter are implicitly included in the standard format of the ciphertext itself and do not require separate field role keys.
[0068] In the N3 chain encryption combination configuration step, the chain encryption combination configuration includes only one transformation step: the slow hash algorithm step, and the slow hash algorithm corresponding to the slow hash algorithm step is the bcrypt algorithm.
[0069] In the N4 chain encryption combination pre-verification step, the evaluation device acquires a known sample (known plaintext and the corresponding target ciphertext in the target application system) and verifies the known sample using the cryptographic verification function provided by the bcrypt algorithm itself: the known plaintext and the expected ciphertext are input together into the cryptographic verification function. If the result returned by the cryptographic verification function is a match, the chain encryption combination configuration is confirmed to be correct, and the process is allowed to proceed to step N5; if the result returned by the cryptographic verification function is a mismatch, the evaluation device stops the execution of subsequent evaluation processing steps and outputs a prompt message indicating that the chain encryption combination configuration has a deviation.
[0070] In the N5 evaluation process, the evaluation device performs matching processing on the ciphertext in the target account record based on an adaptive matching mechanism. In this embodiment, the chained encryption combination configuration includes a slow hashing algorithm step. The execution result of the slow hashing algorithm step is not deterministic for the same candidate plaintext (because the bcrypt algorithm uses different random salt values each time it is executed, outputting different ciphertexts for the same plaintext each time). The adaptive matching mechanism accordingly adaptively selects the N5.2 slow hashing matching path for matching. The N5.2 slow hashing matching path is specifically executed as follows: using the password verification mechanism provided by the bcrypt algorithm itself, the ciphertext in the target account record and the candidate plaintexts in the preset dictionary are used as inputs to the password verification mechanism, verifying each candidate plaintext one by one. When the password verification mechanism determines a match, it identifies the candidate plaintext corresponding to the input that is determined to be a matched weak password plaintext. The parameters required by the slow hashing algorithm (including salt value, number of iterations, memory parameters, etc.) are automatically extracted from the standard format of the target ciphertext, requiring no additional configuration by the user.
[0071] In the N6 result determination step, the evaluation device processes the matching result, forms an evaluation result, and saves it; the determination method is similar to that in Embodiment 1, and will not be repeated here.
[0072] Example 3: Evaluation scenario based on AES symmetric encryption and reverse decryption.
[0073] This embodiment provides an evaluation scenario based on AES symmetric encryption and reverse decryption. This scenario is applicable when the target application system uses reversible symmetric encryption to encrypt user passwords. The password encryption mechanism of the target application system is as follows: the user password is encrypted using the AES-128-CBC symmetric encryption algorithm, with CBC encryption mode and pkcs7 padding mode. The output of the encryption algorithm is stored in the password field after being output in Base64 encoded form. The encryption key and initial vector are fixed values configured by the target application system and are hard-coded in the source code of the target application system as a byte sequence (i.e., a byte[] array). The byte sequence contains non-visible characters.
[0074] Since the key and the initial vector in the target application system are stored in byte sequence form and contain non-visible characters, after the evaluator obtains the key and the initial vector through reverse engineering analysis or source code reading of the target application system, the obtained byte sequence is recorded in hexadecimal string form (for example, the hexadecimal string corresponding to the key is 795a8432e3cab2391579b3eb11d11172, and the hexadecimal string corresponding to the initial vector is c55691f826193f9dcf85952aad2af235), so as to facilitate subsequent configuration in the chain encryption combination configuration of the evaluation device.
[0075] In the N1 dictionary preparation step, the evaluation device constructs a preset dictionary based on the dictionary preparation mechanism; the construction method is similar to that in Embodiment 1, and will not be described again here.
[0076] In the N2 data acquisition step, the evaluation device establishes a connection with the data storage of the target application system through a database connector to obtain the target account record; the specific method is similar to that in Embodiment 1.
[0077] In the N3 chained encryption combination configuration step, the evaluation device responds to the user's direct configuration input and constructs the chained encryption combination configuration as a single transformation step structure (i.e., the single transformation step case in the chained encryption combination mechanism where one or more transformation steps are chained together in a specified order): The transformation step is AES encryption (belonging to the symmetric encryption algorithm step defined in claim 1). The transformation step further records the following execution parameters: the encryption algorithm value is AES-128, the encryption mode value is CBC, the padding mode value is pkcs7, and the output encoding parameter value is Base64, that is, the encryption result of the transformation step is directly output in Base64 encoded form; the key parameter and the initial vector parameter are generated by applying the chain encryption combination mechanism to other input data (the specific implementation method is defined in claim 5). The other input data is specifically the preset constant data provided by the user (i.e., the hexadecimal strings corresponding to the key and the initial vector, respectively). The chain encryption combination mechanism applied to the other input data is specifically a hexadecimal decoding transformation step (belonging to the reverse transformation of the encoding algorithm step defined in claim 1), that is, performing hexadecimal decoding on the hexadecimal string to restore it to a byte sequence. The restored byte sequence is used as the key parameter and the initial vector parameter of the transformation step, respectively.
[0078] Furthermore, in the chain-encryption combination configuration, the evaluation device further records an execution mode, which can be either forward or reverse. In this embodiment, the execution mode is reverse (corresponding to the case where the execution mode is reverse as defined in claim 8), and the reverse execution mode is based on the premise that the encryption algorithms used in each transformation step of the chain-encryption combination configuration are reversible algorithms; in this embodiment, the AES-128-CBC algorithm used in the transformation step is a reversible algorithm, which meets the above premise.
[0079] In the N4 chain encryption combination pre-verification step, taking advantage of the characteristic that each transformation step in the chain encryption combination configuration described in this embodiment is a reversible transformation, the evaluation device can obtain known samples and perform pre-verification in any of the following ways:
[0080] Method 1 (Forward Pre-verification): The known sample includes known plaintext and the ciphertext encrypted by the target application system as the expected ciphertext; the evaluation device executes the chain encryption combination mechanism on the known plaintext according to the chain encryption combination configuration (i.e., according to the forward direction of the transformation step, the known plaintext is encrypted with AES-128-CBC and output in Base64 encoded form) to obtain the verification ciphertext; the verification ciphertext is compared with the expected ciphertext: if the comparison is consistent, proceed to step N5; if the comparison is inconsistent, the evaluation device stops the execution of subsequent evaluation processing steps and outputs a prompt message indicating that there is a deviation in the chain encryption combination configuration.
[0081] Method 2 (Reverse Pre-verification): The known sample includes a known ciphertext and its corresponding plaintext as the expected plaintext; the evaluation device performs the reverse execution of the chain encryption combination mechanism on the known ciphertext according to the chain encryption combination configuration (i.e., first performs Base64 decoding on the known ciphertext, the output encoding parameter of the corresponding transformation step is a reverse operation of Base64, and then performs AES-128-CBC decryption on the Base64 decoding result) to obtain the verification plaintext; the verification plaintext is compared with the expected plaintext: if the comparison is consistent, proceed to step N5; if the comparison is inconsistent, the evaluation device stops the execution of subsequent evaluation processing steps and outputs a prompt message indicating that there is a deviation in the chain encryption combination configuration.
[0082] Method 1 and Method 2 are equivalent and effective when all transformation steps in the chained encryption combination configuration are reversible. The evaluation device can select between Method 1 and Method 2 based on the available form of the known sample. In scenarios where the source code or external interface of the target application system can directly generate encrypted output for known plaintext, Method 1 is easier to implement; in scenarios where the evaluator can only obtain the ciphertext in the target account record and cannot directly encrypt the known plaintext through the target application system, Method 2 has greater implementation flexibility.
[0083] In the N5 evaluation process, the evaluation device performs matching processing on the ciphertext in the target account record based on an adaptive matching mechanism. In this embodiment, the transformation step in the chain encryption combination configuration is a reversible transformation, and the execution mode recorded in the chain encryption combination configuration is reversed. The adaptive matching mechanism adaptively selects the N5.3 reverse decryption matching path to perform matching accordingly. The specific execution of the N5.3 reverse decryption matching path in this embodiment is as follows: For each target ciphertext in the target account record, firstly, Base64 decoding is performed on the target ciphertext (corresponding to the reverse operation of Base64 for the output encoding parameter of the transformation step), and then AES-128-CBC decryption is performed on the Base64 decoding result to obtain the decrypted plaintext. The decrypted plaintext is precisely compared with the candidate plaintext in the preset dictionary, or the password strength of the decrypted plaintext is evaluated. When the match is consistent, the decrypted plaintext is determined to be the weak password plaintext. When the password strength evaluation determines that it is a weak password, the decrypted plaintext is also determined to be the weak password plaintext.
[0084] It should be noted that the time complexity of the N5.3 reverse decryption matching path is linear with the number of target account records, and it can obtain the plaintext corresponding to each target account record without traversing the preset dictionary. The preset dictionary is only used as a basis for judging weak passwords in this path. The N5.3 reverse decryption matching path has significant differences from the N5.1 and N5.2 paths in terms of applicable scenarios and execution methods, reflecting the ability of the adaptive matching mechanism to adaptively select the most suitable matching path for the chain encryption combination configuration based on the type of transformation steps in the chain encryption combination configuration.
[0085] In the N6 result determination step, the evaluation device processes the matching result, forms an evaluation result, and saves it; the specific method is similar to that in Embodiment 1.
[0086] The isomorphic generation method of key parameters and initial vector parameters shown in this embodiment demonstrates the adaptability of the execution parameter generation mechanism defined in claim 5 to the encryption parameters stored in the target application system in the form of byte sequences and containing non-visible characters.
[0087] Example 4: Routine evaluation scenario based on data change monitoring trigger.
[0088] This embodiment provides a routine evaluation scenario triggered by data change monitoring. This scenario is applicable to situations where the password security of the target application system needs to be evaluated routinely, incrementally, and with low noise during its operation. This embodiment is based on the target application system described in Embodiment 1 (i.e., the enterprise intranet office automation (OA) application system) and the complete evaluation configuration established in Embodiment 1.
[0089] The evaluation device further includes a project management module, which is used to orchestrate the overall execution of the method. The evaluator incorporates the complete evaluation configuration established in Example 1 (including the complete configurations corresponding to N1 dictionary preparation step, N2 data acquisition step, N3 chained encryption combination configuration step, N4 chained encryption combination pre-verification step, N5 evaluation processing step, and N6 result determination step) into the project management module as a single evaluation task, and further configures the single evaluation task to be repeatedly executed according to the data change monitoring triggering method defined in claim 9. The specific execution methods of steps N1 to N6 in the single evaluation task are the same as in Example 1, and will not be repeated in this embodiment; this embodiment only describes the specific implementation details involved in the data change monitoring triggering method.
[0090] The specific method for triggering the data change monitoring includes: the evaluation device repeatedly triggering the execution of the single evaluation task according to a preset period, wherein the preset period is specifically set to once every 24 hours.
[0091] After each trigger, the evaluation device first detects whether the encrypted data of the target account record has changed; the detection of whether the encrypted data has changed is implemented through a dual watermarking mechanism. The dual watermarking mechanism includes independent insertion watermark and update watermark: the insertion watermark records the maximum value of a preset monotonically increasing field (specifically the id field of the data table in this embodiment) in the target account record determined in the previous execution; during the current execution, the evaluation device compares the current maximum value of the monotonically increasing field with the insertion watermark, and determines that a new target account record exists if the current maximum value is greater than the insertion watermark; the update watermark records the maximum value of a preset update time field (specifically the updated_at field of the data table in this embodiment) in the target account record determined in the previous execution, and determines that a modified target account record exists if the current maximum value of the update time field is greater than the update watermark during the current execution. If either the inserted watermark or the updated watermark changes, the encrypted data is determined to have changed. Only if the encrypted data is determined to have changed will the evaluation device execute the subsequent steps N2 to N6 of the single evaluation task. If the encrypted data is determined not to have changed, the evaluation device will skip this execution and wait for the next wake-up to reduce system load.
[0092] In the N2 data collection step of the single evaluation task, the collected target account records are limited to those that are determined to be newly added or modified in this instance through the dual watermarking mechanism. Specifically, this can be achieved by adding a filtering condition to the data query statement that the id field is greater than the inserted watermark or the updated_at field is greater than the updated watermark.
[0093] After the N6 result determination step of the single evaluation task, the evaluation device further performs an incremental comparison between the set of weak password accounts determined in the current execution and the set of weak password accounts determined in the previous execution to obtain a difference result. The difference result includes at least the following three subsets: the subset of newly added weak password accounts, including the portion of the weak password accounts determined in the current execution that does not belong to the weak password accounts determined in the previous execution; the subset of lost weak password accounts, including the portion of the weak password accounts determined in the previous execution that does not belong to the weak password accounts determined in the current execution; and the subset of accounts that were determined to have weak passwords in both executions. Each account in the subset of accounts that were determined to have weak passwords in both executions is further identified as having changed its corresponding ciphertext between the two executions. If the ciphertext changes, it indicates that the password of the account has been modified, but the modified password is still a weak password. If the ciphertext does not change, it indicates that the password of the account has not been modified.
[0094] The method further generates incremental notifications based on the differential results. These incremental notifications are only generated for accounts in the newly added weak password subset. By limiting the generation scope of the incremental notifications, the disturbance caused by repeatedly sending notifications to accounts in the subset of accounts that were determined to have weak passwords in both tests is avoided, thus achieving normalized, incremental, and low-noise assessment and auditing.
[0095] At the end of this execution, the evaluation device will persistently save the maximum value of the monotonically increasing field and the maximum value of the update time field during this execution as a new inserted watermark and a new updated watermark, respectively, for use in the next execution.
[0096] By incorporating the complete evaluation configuration established in Example 1 into the project management module as a single evaluation task and configuring it to be repeatedly executed in a manner triggered by the data change monitoring, this example demonstrates how the evaluation device, under the overall orchestration of the project management module, extends the single evaluation capability into a normalized, automated, incremental, low-noise evaluation and auditing capability for the cryptographic security of the target application system.
[0097] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection of the present invention.
Claims
1. A general method for password security assessment and auditing (hereinafter collectively referred to as assessment) of application systems, wherein the method is applied to an assessment system or assessment device (hereinafter collectively referred to as assessment device), wherein the assessment device does not rely on the password verification logic of the target application system itself during the entire execution of the assessment (specifically, it does not initiate any login verification request to the interface provided by the target application system itself for verifying the correctness of user passwords, nor does it call or utilize the function provided by the target application system itself for verifying the correctness of user passwords), and does not require the deployment of any assessment components on the target application system, characterized in that, The method includes the following steps (presented in an enumerated order for ease of description; the actual execution order of each step is based on their technical dependencies; when there is no technical dependency between two steps, they can be executed in any order or in parallel): N1. Dictionary preparation steps: Based on the dictionary preparation mechanism, obtain the preset dictionary; the dictionary preparation mechanism is characterized in that the preset dictionary is constructed from one or more of the following sources, and when constructed from multiple sources, the dictionaries corresponding to the multiple sources are merged and deduplicated to obtain a unified preset dictionary: N1.1, Source of built-in dictionary: Select one or more dictionaries from the pre-built dictionary library of the evaluation device as components of the preset dictionary. The built-in dictionary library includes at least one or more of the following: commonly used weak password dictionary, birthday combination dictionary, name pinyin dictionary, and common mobile phone number combination dictionary. N1.2, User-defined dictionary source: Receive dictionary files uploaded by users as part of the preset dictionary, and the upload method includes appending or replacing the preset dictionary; N1.3, Source of Social Engineering Dictionary Generation: A social engineering dictionary for the target application system is automatically generated based on a root word pool and a transformation rule set as a component of the preset dictionary. The source of the root word pool includes, but is not limited to, root words actively input by the user and specific root word categories in the built-in dictionary. If the target account records have been collected, the root word pool may also include account identifier-related information extracted from the target account records. The transformation rule set includes, but is not limited to, symbol appending transformation, character prefix transformation, character repetition transformation, and root word concatenation transformation. N2. Data Acquisition Steps: Based on the data acquisition mechanism, obtain one or more target account records from the target source; the target account record corresponds to the user account and password of the target application system, and the password is stored in one or more storage formats including but not limited to ciphertext and plaintext. Each target account record includes at least an account identifier field and a password field; the data acquisition mechanism is characterized in that it obtains the target account record from one or more of the following exemplary target source formats, including but not limited to the following examples: N2.1 Database Source: A connection is established with the data storage of the target application system through a database connector, and a data query statement is executed to obtain the target account records; the database connector supports at least one or more of relational databases, document databases, and key-value databases; N2.2, File import source: Receive account record files pre-exported from the target application system via the file import interface; The account record file is obtained through methods including but not limited to the following: exported by the target application system's own data export function or data management tool; or obtained by other data acquisition tools and generated into a file that meets the format required by the file import interface. The target account record is obtained by parsing the account record file. The account record files may be in formats including, but not limited to, CSV, SQL dump, JSON, and spreadsheet formats. After obtaining the target account record through any of the above target source methods, the actual field names of the target source are mapped to the built-in role keys inside the evaluation device based on the field role mapping mechanism. The built-in role keys include at least the account identifier, password, and optional salt value. The mapping is obtained through user manual specification, system automatic inference, or the default mapping method preset by the evaluation device. N3. Chain-based encryption combination configuration steps: Based on the chain-based encryption combination mechanism, a chain-based encryption combination configuration is constructed. The chain-based encryption combination mechanism is characterized by concatenating one or more transformation steps in a specified order. When multiple transformation steps exist, the output of the previous transformation step is used as the input of the next transformation step, thereby performing a composite encryption transformation on the candidate plaintext in the preset dictionary. The type of the transformation step is selected from one or more of the following: hash algorithm steps, symmetric encryption algorithm steps, asymmetric encryption algorithm steps, encoding algorithm steps, byte truncation transformation steps, byte padding transformation steps, and user-defined transformation steps. The user-defined transformation steps are implemented through the algorithm extension interface provided by the evaluation device. The algorithm extension interface allows transformation steps not belonging to the above-listed types to be included in the chain-based encryption combination. Each transformation step in the chain-based encryption combination configuration further records the execution parameters of that transformation step. At least one of these execution parameters can also be generated by applying the chain-based encryption combination mechanism to other input data. The other input data includes, but is not limited to, fields in the target account record and other data accessible by the evaluation device. The chain-based encryption combination configuration is constructed through one or more of the following methods: N3.1 User manual configuration method: Respond to the user's direct configuration input and construct the chained encrypted combination configuration; N3.2 Intelligent Recognition Assisted Configuration Method Based on Ciphertext Samples: At least one ciphertext sample is extracted from the target account record collected in the data acquisition step. An automatic ciphertext recognition mechanism is used to identify and generate an automatically recommended chained encryption combination configuration. This automatic ciphertext recognition mechanism is based on the features of the ciphertext sample. These features include, but are not limited to, the format features of the ciphertext, including but not limited to the length of the ciphertext, the character set distribution of the ciphertext, a specific prefix of the ciphertext, a specific suffix of the ciphertext, and the format pattern of the ciphertext. The chained encryption combination configuration is constructed in response to the user's confirmation or modification of the automatically recommended chained encryption combination configuration. N4. Chain-based encryption combination pre-verification step: Based on the pre-verification mechanism, the chain-based encryption combination configuration is pre-verified; The pre-verification mechanism is characterized by: acquiring at least one known sample, the known sample including known plaintext and ciphertext encrypted by the target application system as expected ciphertext; executing the chain encryption combination mechanism on the known plaintext according to the chain encryption combination configuration to obtain verification ciphertext; comparing the verification ciphertext with the expected ciphertext; only when the verification ciphertext matches the expected ciphertext is the chain encryption combination configuration confirmed to be correct, and allowing entry into step N5; if the comparison does not match, the execution of subsequent evaluation processing steps is stopped, and a prompt message indicating that the chain encryption combination configuration has a deviation is output. N5. Evaluation and Processing Steps: Based on an adaptive matching mechanism, the ciphertext in the target account record is matched; the adaptive matching mechanism is characterized in that, according to the type of transformation step in the chained encryption combination configuration, one or more of the following three matching paths are adaptively selected to perform matching, and a matching result is obtained: N5.1 Fast Hash Matching Path: For cases where the execution results of each transformation step in the chained encryption combination configuration are deterministic for the same candidate plaintext, the chained encryption combination mechanism is executed in batches on the candidate plaintexts in the preset dictionary according to the chained encryption combination configuration to obtain a candidate ciphertext set; The candidate ciphertexts in the candidate ciphertext set are matched with the ciphertexts in the target account record by looking up a table; when a match is found, the candidate plaintext corresponding to the matching candidate ciphertext is determined as the weak password plaintext that has been hit. N5.2 Slow Hash Matching Path: For cases where the chained encryption combination configuration includes a slow hash algorithm step, and the execution result of the slow hash algorithm step is not deterministic for the same candidate plaintext, the password verification mechanism provided by the slow hash algorithm itself corresponding to the slow hash algorithm step is used. The ciphertext in the target account record and the candidate plaintext in the preset dictionary are used as the input of the password verification mechanism to verify the candidate plaintext one by one. When the password verification mechanism determines that a match is made, the candidate plaintext corresponding to the input that is determined to be a match is identified as the weak password plaintext. N5.3 Reverse Decryption Matching Path: For cases where the chain encryption combination configuration contains reversible encryption algorithm steps and the chain encryption combination configuration allows reverse decryption transformation to be performed on the ciphertext in the target account record, the reverse decryption transformation is performed on the ciphertext in the target account record according to the chain encryption combination configuration to obtain the decrypted plaintext; The decrypted plaintext is matched with candidate plaintexts in the preset dictionary, or the password strength of the decrypted plaintext is evaluated; if a match is found, the decrypted plaintext is determined to be a weak password plaintext. When the password is determined to be a weak password based on the aforementioned password strength assessment, the decrypted plaintext is also determined to be the plaintext of the weak password that was hit. N6. Result Determination Step: Based on the result determination mechanism, the matching result is processed to form an evaluation result and saved; the result determination mechanism is characterized in that the evaluation result is formed by combining the plaintext of the weak password that was hit with the target account record. The attributes of the detected weak password plaintext are determined, including but not limited to the risk level and strength of the detected weak password plaintext; the evaluation results include but are not limited to the account identifier in the target account record, the detected weak password plaintext, and the determination attributes. N7. The target application system is an application system that uses account and password for identity authentication.
2. The method according to claim 1, characterized in that, In the N1 dictionary preparation step, the sources of the social engineering dictionary generation, the source of the root word pool, and the specific implementation of each transformation in the transformation rule set are further defined as follows: The source of the root word pool further includes: the account identifier or a component thereof extracted from the target account record, and user identity information associated with the account identifier; The specific implementation of the symbol appending transformation in the set of transformation rules includes: appending one or more symbols from a preset symbol set to a preset position on the root word, wherein the preset position is selected from the beginning, the end, or the middle of the root word; the preset symbol set includes, but is not limited to, one or more of @, #, !, $, *, _, -, ., =, +, and ?. The specific implementation of character prefix transformation in the set of transformation rules includes: adding a preset character or a preset character combination to the beginning of the word root, wherein the preset character or preset character combination includes, but is not limited to, one or more of numeric characters, alphabetic characters, and symbolic characters; The specific implementation of character repetition transformation in the set of transformation rules includes: repeating the entire root word or a part of the root word a preset number of times; The specific implementation of the word root concatenation transformation in the set of transformation rules includes: concatenating at least two word roots in the word root pool according to a preset separator or without a separator; The set of transformation rules allows for the combined application of various transformations, so that the same root word can be transformed in two or more ways to obtain candidate plaintext. Furthermore, during the execution of the method, the weak password plaintexts that are hit are collected, and the collected weak password plaintexts serve as a supplementary source for the root word pool in the subsequent social engineering dictionary generation.
3. The method according to claim 1, characterized in that, In the N2.1 database source of the N2 data acquisition step, the establishment of a connection with the data storage of the target application system through the database connector further includes checking the permission scope of the database account used for the connection; the permission scope check includes determining whether the database account only has the read permission required to execute the data query statement; when it is determined that the database account has write permission other than the read permission, the evaluation device outputs a prompt, which instructs the user to establish the connection using a database account that only has the read permission; the write permission includes, but is not limited to, data insertion permission, data modification permission, and data deletion permission.
4. The method according to claim 1, characterized in that, In the N2 data acquisition step, the field role mapping mechanism is further implemented in the following way: The user-manual specification method includes: receiving user input on the mapping relationship between the actual field name of the target source and the built-in role key through the configuration interface provided by the evaluation device, and using the input as the mapping; The system's automatic inference method includes: matching the built-in role key based on the semantic features of the actual field name of the target source, and using the matching result as the mapping; the semantic features include, but are not limited to, the character pattern of the field name and the semantic keywords of the field name; The default mapping method preset by the evaluation device includes: preset mapping templates for the target application system within the evaluation device, selecting the corresponding preset mapping templates according to the type of the target application system, and using the preset mapping templates as the mappings; In addition to the account identifier, the password, and the salt value, the built-in role key further includes, but is not limited to: a user identity information field, a record change time field, and a version number field; the user identity information field includes, but is not limited to, a phone number field and an email address field; the record change time field includes, but is not limited to, a record creation time field and a record update time field.
5. The method according to claim 1, characterized in that, In the N3 chain encryption combination configuration step, the execution parameters generated by applying the chain encryption combination mechanism to other input data are specifically implemented as follows: The generated parameters include, but are not limited to, key parameters, initialization vector parameters, and salt value parameters; The other input data includes, but is not limited to: fields extracted from the target account record, user-provided preset constant data, derived data generated within the evaluation device, and other execution parameters generated in the chained encryption combination configuration; The chain encryption combination mechanism applied to the other input data and the chain encryption combination mechanism applied to perform composite encryption transformation on the candidate plaintext in the preset dictionary use the same chain encryption combination mechanism. The generated parameters are used as the execution parameters for the corresponding transformation step in the chained encryption combination configuration, and participate in the execution of the chained encryption combination mechanism together with the candidate plaintext.
6. The method according to claim 1, characterized in that, In the N3 chain encryption combination configuration step, the ciphertext automatic identification mechanism uses the following three-layer identification strategy to identify the ciphertext sample. The three-layer identification strategy is applied in a hierarchical order. If the previous layer fails to identify the ciphertext sample, it proceeds to the next layer. The three-layer identification strategy outputs one or more candidate algorithm categories and a confidence level corresponding to each candidate algorithm category for the ciphertext sample. The confidence level reflects the degree of trustworthiness of the candidate algorithm category matching the ciphertext sample; the automatically recommended chained encryption combination configuration is generated from the candidate algorithm categories based on the confidence level. (a) Precise matching and identification layer: For cases where the ciphertext sample has a preset specific format identifier, the algorithm category corresponding to the ciphertext sample is precisely matched and identified based on the specific format identifier; the specific format identifier includes, but is not limited to, a specific prefix, a specific suffix, and a specific separator of the ciphertext sample; (b) Inference and recognition layer: For cases where the ciphertext sample does not have a preset specific format identifier but has a regular length and a regular character set distribution, the algorithm category corresponding to the ciphertext sample is inferred and recognized based on the length of the ciphertext sample and the character set distribution of the ciphertext sample; (c) Heuristic recognition layer: For cases where the ciphertext sample does not belong to the above situations, heuristic recognition is performed on the algorithm category corresponding to the ciphertext sample based on other features of the ciphertext sample; the other features include, but are not limited to, encoding padding features and character distribution pattern features.
7. The method according to claim 1, characterized in that, In the N5 evaluation process, the adaptive matching mechanism adaptively selects one of the following matching paths based on the type of encryption algorithm used in each transformation step of the N3 chained encryption combination configuration: (a) The first path is applicable when each transformation step in the chain encryption combination mechanism belongs to an algorithm category that can be pre-computed in batches; the algorithm category that can be pre-computed in batches includes, but is not limited to, hash algorithms, symmetric encryption algorithms, encoding algorithms, and character transformation algorithms; in the first path, the chain encryption combination mechanism is executed on each candidate plaintext in the preset dictionary to obtain candidate ciphertext, and the candidate ciphertext is compared with the target ciphertext in the target account record by byte sequence; (b) The second path applies to situations where there are slow hashing algorithms that cannot be pre-computed in batches within the chained encryption combination mechanism; the slow hashing algorithms include, but are not limited to, PBKDF2, scrypt, bcrypt, and Argon2. In the second path, for each candidate plaintext in the preset dictionary, together with the target ciphertext in the target account record and the parameters required by the slow hash algorithm attached to the target ciphertext, the corresponding slow hash algorithm verification function is input, and the verification function returns the comparison result; the parameters required by the slow hash algorithm include, but are not limited to, salt value, number of iterations, and memory parameters; (c) The third path is applicable to the case where each transformation step in the chain encryption combination mechanism is a reversible transformation; In the third path, the chain encryption combination mechanism is reversed on the target ciphertext in the target account record to obtain the restored plaintext, and the restored plaintext is compared with the candidate plaintext in the preset dictionary.
8. The method according to claim 1, characterized in that, In the N5.3 reverse decryption matching path of the N5 evaluation processing step, the chain encryption combination configuration allows reverse decryption transformation of the ciphertext in the target account record in the following situations: the chain encryption combination configuration further records the execution mode, and the execution mode is reversed; the execution mode can be either forward or reversed; the reversed execution mode is based on the premise that the encryption algorithms used in each transformation step of the chain encryption combination configuration are reversible algorithms; in the case where the execution mode is reversed, the method of performing the reverse decryption transformation on the ciphertext in the target account record according to the chain encryption combination configuration is as follows: the reverse transformation of the encryption algorithm configured in each transformation step is applied to the ciphertext in reverse order of the configuration order of each transformation step in the chain encryption combination configuration.
9. The method according to claim 1, characterized in that, The method is repeatedly executed according to a data change monitoring triggering method, which specifically includes: The method is repeatedly triggered at a preset period; after each trigger, the evaluation device first detects whether the encrypted data recorded by the target account has changed, and executes the subsequent steps of the method only if the encrypted data has been changed. The detection of whether the encrypted data has been changed is achieved through a dual watermarking mechanism. This mechanism includes independent insertion and update watermarks. The insertion watermark records the maximum value of a preset monotonically increasing field in the target account record determined in the previous execution. During the current execution, the current maximum value of the monotonically increasing field is compared with the insertion watermark. If the current maximum value is greater than the insertion watermark, it is determined that a new target account record exists. The update watermark records the maximum value of a preset update time field in the target account record determined in the previous execution. During the current execution, the current maximum value of the update time field is compared with the update watermark. If the current maximum value is greater than the update watermark, it is determined that a modified target account record exists. If either the insertion watermark or the update watermark changes, it is determined that the encrypted data has been changed. In the N2 data acquisition step of the method, the target account records acquired are limited to those that are determined to be newly added or modified in this instance through the dual watermarking mechanism. After the N6 result determination step of the method, an incremental comparison is performed between the set of weak password accounts determined in this execution and the set of weak password accounts determined in the previous execution to obtain a difference result; the difference result includes at least the following subsets: The newly added subset of weak password accounts includes those weak password accounts identified in this execution that were not identified in the previous execution. The subset of weak password accounts that disappeared this time includes the weak password accounts identified in the previous execution that are not included in the weak password accounts identified in this execution. A subset of accounts that are both identified as having weak passwords in both instances, and each account in the subset of accounts that are both identified as having weak passwords in both instances, is further identified as to whether the ciphertext corresponding to the account has changed between the two executions; the case where the ciphertext has changed indicates that the password of the account has been modified but the modified password is still a weak password, and the case where the ciphertext has not changed indicates that the password of the account has not been modified. The method further includes the step of generating incremental notifications based on the difference results, wherein the incremental notifications are generated only for accounts in the newly added weak password account subset.
10. A universal assessment device for cryptographic security assessment and auditing of application systems, characterized in that, The evaluation apparatus includes a memory and a processor, the memory storing a computer program that, when executed by the processor, implements the method as described in any one of claims 1 to 9.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Website weak password detecting method
CN103886248A
Weak password checking method and system for orchestrable service system
CN117077121A
Weak password arrangement and verification method and system based on ciphertext feature recognition
CN117792620A