aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPetr Svenda2021-01-15 13:31:42 +0100
committerPetr Svenda2021-01-15 13:31:42 +0100
commit0ac47ca8a89efae43e92be01f162d24ab76e08c3 (patch)
tree50ed7f49c1847e30e4fd2c6a35f1eb128c9060ae
parent1e9b084ee3a71705454e1b2be75f2fbe80f5e556 (diff)
downloadsec-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.py91
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