diff options
| author | Petr Svenda | 2021-01-15 13:31:42 +0100 |
|---|---|---|
| committer | Petr Svenda | 2021-01-15 13:31:42 +0100 |
| commit | 0ac47ca8a89efae43e92be01f162d24ab76e08c3 (patch) | |
| tree | 50ed7f49c1847e30e4fd2c6a35f1eb128c9060ae | |
| parent | 1e9b084ee3a71705454e1b2be75f2fbe80f5e556 (diff) | |
| download | sec-certs-0ac47ca8a89efae43e92be01f162d24ab76e08c3.tar.gz sec-certs-0ac47ca8a89efae43e92be01f162d24ab76e08c3.tar.zst sec-certs-0ac47ca8a89efae43e92be01f162d24ab76e08c3.zip | |
add cc claims keywords, improved packages
| -rw-r--r-- | sec_certs/cert_rules.py | 91 |
1 files changed, 61 insertions, 30 deletions
diff --git a/sec_certs/cert_rules.py b/sec_certs/cert_rules.py index 1fd6050b..3cba9718 100644 --- a/sec_certs/cert_rules.py +++ b/sec_certs/cert_rules.py @@ -1,7 +1,7 @@ import copy import re -REGEXEC_SEP = '[ ,;\]”)(]' +REGEXEC_SEP = r'[ ,;\]”)(]' rules_cert_id = [ 'BSI-DSZ-CC-[0-9]+?-[0-9]+', # German BSI @@ -95,7 +95,8 @@ rules_standard_id = [ 'ISO/IEC[ ]*[0-9]+', 'ICAO(?:-SAC|)', '[Xx]\\.509', - 'RFC [0-9]+' + 'RFC [0-9]+', + '(?:SCP|scp)[ \']*[0-9][0-9]', ] rules_security_level = [ @@ -105,34 +106,49 @@ rules_security_level = [ ] rules_security_assurance_components = [ - r'ACE_[A-Z]{3}(?:\.[0-9]|)', - r'ACM_[A-Z]{3}(?:\.[0-9]|)', - r'ACO_[A-Z]{3}(?:\.[0-9]|)', - r'ADO_[A-Z]{3}(?:\.[0-9]|)', - r'ADV_[A-Z]{3}(?:\.[0-9]|)', - r'AGD_[A-Z]{3}(?:\.[0-9]|)', - r'ALC_[A-Z]{3}(?:\.[0-9]|)', - r'ATE_[A-Z]{3}(?:\.[0-9]|)', - r'AVA_[A-Z]{3}(?:\.[0-9]|)', - r'AMA_[A-Z]{3}(?:\.[0-9]|)', - r'APE_[A-Z]{3}(?:\.[0-9]|)', - r'ASE_[A-Z]{3}(?:\.[0-9]|)' + r'ACE_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'ACM_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'ACO_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'ADO_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'ADV_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'AGD_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'ALC_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'ATE_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'AVA_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'AMA_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'APE_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'ASE_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)' ] rules_security_functional_components = [ - r'FAU_[A-Z]{3}(?:\.[0-9]|)', - r'FCO_[A-Z]{3}(?:\.[0-9]|)', - r'FCS_[A-Z]{3}(?:\.[0-9]|)', - r'FDP_[A-Z]{3}(?:\.[0-9]|)', - r'FIA_[A-Z]{3}(?:\.[0-9]|)', - r'FMT_[A-Z]{3}(?:\.[0-9]|)', - r'FPR_[A-Z]{3}(?:\.[0-9]|)', - r'FPT_[A-Z]{3}(?:\.[0-9]|)', - r'FRU_[A-Z]{3}(?:\.[0-9]|)', - r'FTA_[A-Z]{3}(?:\.[0-9]|)', - r'FTP_[A-Z]{3}(?:\.[0-9]|)' + r'FAU_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FCO_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FCS_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FDP_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FIA_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FMT_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FPR_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FPT_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FRU_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FTA_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)', + r'FTP_[A-Z]{3}(?:\.[0-9]|\.[0-9]\.[0-9]|)' ] +rules_cc_claims = [ + r'D\.[\._\-A-Z]+?', # user Data + r'O\.[\._\-A-Z]+?', # Objectives + r'T\.[\._\-A-Z]+?', # Threats + r'A\.[\._\-A-Z]+?', # Assumptions + r'R\.[\._\-A-Z]+?', # Requirements + r'OT\.[\._\-A-Z]+?', # security objectives + r'OP\.[\._\-A-Z]+?', # OPerations + r'OE\.[\._\-A-Z]+?', # Objectives for the Environment + r'SA\.[\._\-A-Z]+?', # Security Aspects + r'OSP\.[\._\-A-Z]+?', # Organisational Security Policy +] + + + rules_javacard = [ #'(?:Java Card|JavaCard)', #'(?:Global Platform|GlobalPlatform)', @@ -152,7 +168,7 @@ rules_javacard_api_consts = [ r'ALG_AES_[A-Z_0-9]+', r'ALG_HMAC_[A-Z_0-9]+', r'ALG_KOREAN_[A-Z_0-9]+', - r'ALG_EC_[A-Z_0-9]+', + r'ALG_EC_[A-Z_0-9]+?', r'ALG_SHA_[A-Z_0-9]+', r'ALG_SHA3_[A-Z_0-9]+', r'ALG_MD[A-Z_0-9]+', @@ -181,6 +197,17 @@ rules_javacard_api_consts = [ r'X448', ] +rules_javacard_packages = [ + # javacard packages + r'java\.[a-z\.]+', + r'javacard\.[a-z\.]+', + r'javacardx\.[a-z\.]+', + r'org\.[0-9a-z\.]+', + r'uicc\.[a-z\.]+', + r'com\.[0-9a-z\.]+', + r'de\.bsi\.[a-z\.]+', +] + rules_crypto_algs = [ 'RSA[- ]*(?:512|768|1024|1280|1536|2048|3072|4096|8192)', 'RSASSAPKCS1-[Vv]1_5', @@ -194,12 +221,13 @@ rules_crypto_algs = [ 'ECDH', 'ECDSA', 'EdDSA', - '3?DES', + '[3T]?DES', 'ECC', 'DTRNG', 'TRNG', 'RN[GD]', 'RBG', + 'PACE' ] rules_block_cipher_modes = [ @@ -212,9 +240,10 @@ rules_block_cipher_modes = [ ] rules_ecc_curves = [ - 'P-(192|224|256|384|521)', - 'brainpoolP[0-9]{3}[rkt][12]', - '(sec|ansi)[pt].+?[rk][12]', + '(?:Curve |curve |)P-(192|224|256|384|521)', + '(?:brainpool|BRAINPOOL)P[0-9]{3}[rkt][12]', + '(?:secp|SECP)[0-9]+?[rk][12]', + '(?:anssi|ANSSI)[ ]*FRP[0-9]+?v1', 'prime[0-9]{3}v[123]', 'c2[pto]nb[0-9]{3}[vw][123]', 'FRP256v1', @@ -430,8 +459,10 @@ common_rules['rules_standard_id'] = rules_standard_id common_rules['rules_security_level'] = rules_security_level common_rules['rules_security_assurance_components'] = rules_security_assurance_components common_rules['rules_security_functional_components'] = rules_security_functional_components +common_rules['rules_cc_claims'] = rules_cc_claims common_rules['rules_javacard'] = rules_javacard common_rules['rules_javacard_api_consts'] = rules_javacard_api_consts +common_rules['rules_javacard_packages'] = rules_javacard_packages common_rules['rules_crypto_algs'] = rules_crypto_algs common_rules['rules_block_cipher_modes'] = rules_block_cipher_modes common_rules['rules_ecc_curves'] = rules_ecc_curves |
