aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGeorgeFI2023-06-28 16:18:44 +0200
committerGeorgeFI2023-06-28 16:18:44 +0200
commit51006dbaec7a92008b2eee183a34b42e04c8160a (patch)
tree841c01eada255f72fec6e00a51ced4b38bfaf1f5
parentc914a69c6cb3298d19fb15c9e4f372d03b0d1441 (diff)
downloadsec-certs-51006dbaec7a92008b2eee183a34b42e04c8160a.tar.gz
sec-certs-51006dbaec7a92008b2eee183a34b42e04c8160a.tar.zst
sec-certs-51006dbaec7a92008b2eee183a34b42e04c8160a.zip
refactor: General refactoring of level references
-rw-r--r--notebooks/fips/references.ipynb1094
1 files changed, 155 insertions, 939 deletions
diff --git a/notebooks/fips/references.ipynb b/notebooks/fips/references.ipynb
index 21d5e334..e5ad366b 100644
--- a/notebooks/fips/references.ipynb
+++ b/notebooks/fips/references.ipynb
@@ -53,7 +53,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 2,
"id": "91a0cb1b",
"metadata": {},
"outputs": [],
@@ -76,7 +76,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 3,
"id": "629aec45",
"metadata": {
"scrolled": true
@@ -86,7 +86,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Downloading FIPS Dataset: 100%|█████████████████████████████████████| 57.0M/57.0M [00:30<00:00, 1.94MB/s]\n"
+ "Downloading FIPS Dataset: 100%|█████████████████████████████████████| 57.0M/57.0M [00:06<00:00, 9.06MB/s]\n"
]
}
],
@@ -96,7 +96,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 4,
"id": "96ad0831",
"metadata": {},
"outputs": [],
@@ -106,7 +106,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 5,
"id": "160b35a0",
"metadata": {},
"outputs": [
@@ -190,7 +190,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2022-09-20</td>\n",
" <td>2024-08-22</td>\n",
- " <td>{SHS#A2605, AES#A2605, HMAC#A2113, SHA-3#A1641...</td>\n",
+ " <td>{DRBG#A2605, DSA#A2113, SHA-3#A2113, KBKDF#A26...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -214,7 +214,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2022-02-03</td>\n",
" <td>2026-09-21</td>\n",
- " <td>{DRBG#C1292, AES#C1271, RSA#C1293, SHS#C1272}</td>\n",
+ " <td>{AES#C1271, DRBG#C1292, SHS#C1272, RSA#C1293}</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -238,7 +238,7 @@
" <td>Single Chip</td>\n",
" <td>2021-11-29</td>\n",
" <td>2026-09-21</td>\n",
- " <td>{SHS#A764, RSA#A982, SHS#A982, CVL#A982, HMAC#...</td>\n",
+ " <td>{PBKDF#A984, HMAC#A984, ECDSA#A984, DRBG#A764,...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -262,7 +262,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2022-04-14</td>\n",
" <td>2026-09-21</td>\n",
- " <td>{PBKDF#A2125, RSA#C2022, RSA#A675, KAS#A2125, ...</td>\n",
+ " <td>{CVL#C2021, KDA#A2125, PBKDF#A2125, CVL#C2020,...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -286,7 +286,7 @@
" <td>Multi-Chip Embedded</td>\n",
" <td>2021-05-11</td>\n",
" <td>2026-05-10</td>\n",
- " <td>{DRBG#C1358, AES#C1356, KTS#C1356, KTS#C1358, ...</td>\n",
+ " <td>{RSA#C1356, SHS#C1358, DRBG#C1358, SHS#C1357, ...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -331,11 +331,11 @@
"\n",
" algorithms ... \\\n",
"dgst ... \n",
- "803919e93ccac91d {SHS#A2605, AES#A2605, HMAC#A2113, SHA-3#A1641... ... \n",
- "ab86fe44dea15e7a {DRBG#C1292, AES#C1271, RSA#C1293, SHS#C1272} ... \n",
- "705249ef258f9318 {SHS#A764, RSA#A982, SHS#A982, CVL#A982, HMAC#... ... \n",
- "a2730bca63eff586 {PBKDF#A2125, RSA#C2022, RSA#A675, KAS#A2125, ... ... \n",
- "c62b377fa3d3a0f4 {DRBG#C1358, AES#C1356, KTS#C1356, KTS#C1358, ... ... \n",
+ "803919e93ccac91d {DRBG#A2605, DSA#A2113, SHA-3#A2113, KBKDF#A26... ... \n",
+ "ab86fe44dea15e7a {AES#C1271, DRBG#C1292, SHS#C1272, RSA#C1293} ... \n",
+ "705249ef258f9318 {PBKDF#A984, HMAC#A984, ECDSA#A984, DRBG#A764,... ... \n",
+ "a2730bca63eff586 {CVL#C2021, KDA#A2125, PBKDF#A2125, CVL#C2020,... ... \n",
+ "c62b377fa3d3a0f4 {RSA#C1356, SHS#C1358, DRBG#C1358, SHS#C1357, ... ... \n",
"\n",
" related_cves module_directly_referenced_by \\\n",
"dgst \n",
@@ -380,7 +380,7 @@
"[5 rows x 23 columns]"
]
},
- "execution_count": 4,
+ "execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
@@ -399,7 +399,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 6,
"id": "14dfcca5",
"metadata": {},
"outputs": [
@@ -417,7 +417,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 7,
"id": "15f14e2d",
"metadata": {
"scrolled": true
@@ -453,7 +453,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 8,
"id": "b1ade08f",
"metadata": {
"scrolled": false
@@ -487,7 +487,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 9,
"id": "49b9727e",
"metadata": {
"scrolled": false
@@ -522,7 +522,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 10,
"id": "dcd5b8c8",
"metadata": {
"scrolled": true
@@ -555,7 +555,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 11,
"id": "9a0a7b1c",
"metadata": {
"scrolled": false
@@ -589,7 +589,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 12,
"id": "a960fd10",
"metadata": {
"scrolled": true
@@ -611,7 +611,7 @@
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": 13,
"id": "12a2e03f",
"metadata": {
"scrolled": true
@@ -621,28 +621,28 @@
"data": {
"text/plain": [
"[('cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*', 19),\n",
- " ('cpe:2.3:o:redhat:enterprise_linux:8.1:*:*:*:*:*:*:*', 19),\n",
" ('cpe:2.3:o:redhat:enterprise_linux:8.4:*:*:*:*:*:*:*', 19),\n",
+ " ('cpe:2.3:o:redhat:enterprise_linux:8.1:*:*:*:*:*:*:*', 19),\n",
" ('cpe:2.3:o:redhat:enterprise_linux:8.5.0:*:*:*:*:*:*:*', 19),\n",
- " ('cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:-:*:*:*', 19),\n",
" ('cpe:2.3:o:redhat:enterprise_linux:8.6:*:*:*:*:*:*:*', 19),\n",
+ " ('cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:-:*:*:*', 19),\n",
" ('cpe:2.3:o:redhat:linux:8.0:*:*:*:*:*:*:*', 19),\n",
+ " ('cpe:2.3:o:oracle:linux:7:3:*:*:*:*:*:*', 19),\n",
" ('cpe:2.3:o:oracle:linux:7:0:*:*:*:*:*:*', 19),\n",
- " ('cpe:2.3:o:oracle:linux:7:1:*:*:*:*:*:*', 19),\n",
" ('cpe:2.3:o:oracle:linux:7:2:*:*:*:*:*:*', 19),\n",
- " ('cpe:2.3:o:oracle:linux:7:3:*:*:*:*:*:*', 19),\n",
+ " ('cpe:2.3:o:oracle:linux:7:1:*:*:*:*:*:*', 19),\n",
" ('cpe:2.3:o:oracle:linux:7:-:*:*:*:*:*:*', 19),\n",
" ('cpe:2.3:h:cisco:catalyst_6509-e:-:*:*:*:*:*:*:*', 15),\n",
" ('cpe:2.3:h:cisco:catalyst_6506-e:-:*:*:*:*:*:*:*', 15),\n",
" ('cpe:2.3:a:mcafee:network_security_platform:9.1:*:*:*:*:*:*:*', 12),\n",
- " ('cpe:2.3:h:juniper:mx240:-:*:*:*:*:*:*:*', 11),\n",
- " ('cpe:2.3:h:juniper:mx480:-:*:*:*:*:*:*:*', 11),\n",
" ('cpe:2.3:h:juniper:mx960:-:*:*:*:*:*:*:*', 11),\n",
+ " ('cpe:2.3:h:juniper:mx480:-:*:*:*:*:*:*:*', 11),\n",
+ " ('cpe:2.3:h:juniper:mx240:-:*:*:*:*:*:*:*', 11),\n",
" ('cpe:2.3:o:amazon:linux_2:-:*:*:*:*:*:*:*', 9),\n",
" ('cpe:2.3:o:redhat:enterprise_linux:7.1:*:*:*:*:*:*:*', 8)]"
]
},
- "execution_count": 12,
+ "execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
@@ -668,7 +668,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 14,
"id": "f66de442",
"metadata": {
"scrolled": true
@@ -680,7 +680,7 @@
"Text(0.5, 1.0, 'Boxplot of total cpe matches per certificate')"
]
},
- "execution_count": 13,
+ "execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
@@ -703,7 +703,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 15,
"id": "a0ad02e1",
"metadata": {
"scrolled": false
@@ -744,7 +744,7 @@
},
{
"cell_type": "code",
- "execution_count": 15,
+ "execution_count": 16,
"id": "a92548f0",
"metadata": {
"scrolled": true
@@ -830,9 +830,9 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2008-07-24</td>\n",
" <td>NaT</td>\n",
- " <td>{RNG#447, SHS#783, Triple-DES#675, RSA#371, Tr...</td>\n",
+ " <td>{HMAC#428, SHS#783, RSA#371, RNG#447, Triple-D...</td>\n",
" <td>...</td>\n",
- " <td>{CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ...</td>\n",
+ " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -854,9 +854,9 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2008-07-24</td>\n",
" <td>NaT</td>\n",
- " <td>{DSA#292, Triple-DES MAC#676, RNG#448, SHS#784...</td>\n",
+ " <td>{DSA#292, RNG#448, Triple-DES#676, SHS#784, Tr...</td>\n",
" <td>...</td>\n",
- " <td>{CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ...</td>\n",
+ " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -878,9 +878,9 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2002-08-01</td>\n",
" <td>NaT</td>\n",
- " <td>{Triple-DES#16, HMAC-SHA-1#35, DSA/SHA-1#35}</td>\n",
+ " <td>{Triple-DES#16, DSA/SHA-1#35, HMAC-SHA-1#35}</td>\n",
" <td>...</td>\n",
- " <td>{CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ...</td>\n",
+ " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -902,9 +902,9 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2002-08-01</td>\n",
" <td>NaT</td>\n",
- " <td>{DSA/SHA-1#29, Triple-DES#16}</td>\n",
+ " <td>{Triple-DES#16, DSA/SHA-1#29}</td>\n",
" <td>...</td>\n",
- " <td>{CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ...</td>\n",
+ " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -944,17 +944,17 @@
"\n",
" algorithms ... \\\n",
"dgst ... \n",
- "926a7fc32c08e491 {RNG#447, SHS#783, Triple-DES#675, RSA#371, Tr... ... \n",
- "fe50b64954720ccb {DSA#292, Triple-DES MAC#676, RNG#448, SHS#784... ... \n",
- "749fc650cacb0f06 {Triple-DES#16, HMAC-SHA-1#35, DSA/SHA-1#35} ... \n",
- "6af1f692e9496c6d {DSA/SHA-1#29, Triple-DES#16} ... \n",
+ "926a7fc32c08e491 {HMAC#428, SHS#783, RSA#371, RNG#447, Triple-D... ... \n",
+ "fe50b64954720ccb {DSA#292, RNG#448, Triple-DES#676, SHS#784, Tr... ... \n",
+ "749fc650cacb0f06 {Triple-DES#16, DSA/SHA-1#35, HMAC-SHA-1#35} ... \n",
+ "6af1f692e9496c6d {Triple-DES#16, DSA/SHA-1#29} ... \n",
"\n",
" related_cves \\\n",
"dgst \n",
- "926a7fc32c08e491 {CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ... \n",
- "fe50b64954720ccb {CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ... \n",
- "749fc650cacb0f06 {CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ... \n",
- "6af1f692e9496c6d {CVE-2011-2005, CVE-2005-0058, CVE-2010-3974, ... \n",
+ "926a7fc32c08e491 {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n",
+ "fe50b64954720ccb {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n",
+ "749fc650cacb0f06 {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n",
+ "6af1f692e9496c6d {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n",
"\n",
" module_directly_referenced_by \\\n",
"dgst \n",
@@ -994,7 +994,7 @@
"[4 rows x 23 columns]"
]
},
- "execution_count": 15,
+ "execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
@@ -1006,7 +1006,7 @@
},
{
"cell_type": "code",
- "execution_count": 16,
+ "execution_count": 19,
"id": "2b216157",
"metadata": {
"scrolled": true
@@ -1092,7 +1092,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2023-04-14</td>\n",
" <td>2025-04-19</td>\n",
- " <td>{AES#C791, AES#C792, SHS#C790, HMAC#C792, AES#...</td>\n",
+ " <td>{AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1116,7 +1116,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2020-02-19</td>\n",
" <td>2025-02-18</td>\n",
- " <td>{HMAC#C693, Triple-DES#C693, DSA#C693, DRBG#C6...</td>\n",
+ " <td>{Triple-DES#C693, DRBG#C693, DSA#C693, SHS#C69...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1140,7 +1140,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2021-04-23</td>\n",
" <td>2026-04-22</td>\n",
- " <td>{ECDSA#C1981, RSA#C1981, DRBG#C1981, Triple-DE...</td>\n",
+ " <td>{AES#C1981, HMAC#C1982, AES#C1979, KTS#C2042, ...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1164,7 +1164,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2020-09-28</td>\n",
" <td>2025-09-27</td>\n",
- " <td>{DRBG#C947, HMAC#C970, DRBG#C942, SHS#C943, HM...</td>\n",
+ " <td>{CVL#C947, DRBG#C942, SHS#C970, HMAC#C943, HMA...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1188,7 +1188,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2023-05-11</td>\n",
" <td>2026-03-02</td>\n",
- " <td>{RSA#C220, CVL#A1462, HMAC#A1462, DSA#C431, KB...</td>\n",
+ " <td>{RSA#C431, SHS#C220, KBKDF#A1462, DSA#C431, KA...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1236,7 +1236,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2016-03-29</td>\n",
" <td>NaT</td>\n",
- " <td>{RSA#1825, CVL#599, DRBG#649, AES#3156, RSA#16...</td>\n",
+ " <td>{RSA#1600, SHS#2612, CVL#599, SHS#2923, DRBG#6...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1260,7 +1260,7 @@
" <td>Single Chip</td>\n",
" <td>2012-07-17</td>\n",
" <td>NaT</td>\n",
- " <td>{KTS#1654, ECDSA#214, CVL#2, AES#1654, RSA#824...</td>\n",
+ " <td>{KTS#1654, ECDSA#214, CVL#2, SHS#1465, DRBG#98...</td>\n",
" <td>...</td>\n",
" <td>{CVE-2019-15809}</td>\n",
" <td>NaN</td>\n",
@@ -1284,7 +1284,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2019-12-09</td>\n",
" <td>NaT</td>\n",
- " <td>{RSA#2638, KTS#C409, DRBG#C409, SHS#C409, SHS#...</td>\n",
+ " <td>{KTS#C409, RSA#2638, SHS#C409, CVL#C409, HMAC#...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1308,7 +1308,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2017-09-22</td>\n",
" <td>NaT</td>\n",
- " <td>{AES#2677, DRBG#433, AES#2680, RSA#1268, Tripl...</td>\n",
+ " <td>{CVL#152, KTS#1605, SHS#2098, SHS#2246, AES#24...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1332,7 +1332,7 @@
" <td>Multi-Chip Stand Alone</td>\n",
" <td>2020-04-20</td>\n",
" <td>NaT</td>\n",
- " <td>{AES#C791, AES#C792, SHS#C790, HMAC#C792, AES#...</td>\n",
+ " <td>{AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C...</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
@@ -1395,17 +1395,17 @@
"\n",
" algorithms ... \\\n",
"dgst ... \n",
- "71cadd0c63e57249 {AES#C791, AES#C792, SHS#C790, HMAC#C792, AES#... ... \n",
- "9931f287c490c562 {HMAC#C693, Triple-DES#C693, DSA#C693, DRBG#C6... ... \n",
- "03f65a290e11d786 {ECDSA#C1981, RSA#C1981, DRBG#C1981, Triple-DE... ... \n",
- "7119d5d9637ddeeb {DRBG#C947, HMAC#C970, DRBG#C942, SHS#C943, HM... ... \n",
- "f36e412aea00d7c6 {RSA#C220, CVL#A1462, HMAC#A1462, DSA#C431, KB... ... \n",
+ "71cadd0c63e57249 {AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C... ... \n",
+ "9931f287c490c562 {Triple-DES#C693, DRBG#C693, DSA#C693, SHS#C69... ... \n",
+ "03f65a290e11d786 {AES#C1981, HMAC#C1982, AES#C1979, KTS#C2042, ... ... \n",
+ "7119d5d9637ddeeb {CVL#C947, DRBG#C942, SHS#C970, HMAC#C943, HMA... ... \n",
+ "f36e412aea00d7c6 {RSA#C431, SHS#C220, KBKDF#A1462, DSA#C431, KA... ... \n",
"... ... ... \n",
- "9cbfc3c153a29e5c {RSA#1825, CVL#599, DRBG#649, AES#3156, RSA#16... ... \n",
- "1625f9db144171f7 {KTS#1654, ECDSA#214, CVL#2, AES#1654, RSA#824... ... \n",
- "15bb14fd69723b98 {RSA#2638, KTS#C409, DRBG#C409, SHS#C409, SHS#... ... \n",
- "586540138f7cd7fd {AES#2677, DRBG#433, AES#2680, RSA#1268, Tripl... ... \n",
- "6678394ac11e55af {AES#C791, AES#C792, SHS#C790, HMAC#C792, AES#... ... \n",
+ "9cbfc3c153a29e5c {RSA#1600, SHS#2612, CVL#599, SHS#2923, DRBG#6... ... \n",
+ "1625f9db144171f7 {KTS#1654, ECDSA#214, CVL#2, SHS#1465, DRBG#98... ... \n",
+ "15bb14fd69723b98 {KTS#C409, RSA#2638, SHS#C409, CVL#C409, HMAC#... ... \n",
+ "586540138f7cd7fd {CVL#152, KTS#1605, SHS#2098, SHS#2246, AES#24... ... \n",
+ "6678394ac11e55af {AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C... ... \n",
"\n",
" related_cves module_directly_referenced_by \\\n",
"dgst \n",
@@ -1480,7 +1480,7 @@
"[159 rows x 23 columns]"
]
},
- "execution_count": 16,
+ "execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
@@ -1500,7 +1500,7 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 20,
"id": "0ecd1b1c",
"metadata": {
"scrolled": false
@@ -1522,7 +1522,7 @@
},
{
"cell_type": "code",
- "execution_count": 18,
+ "execution_count": 21,
"id": "dbac8629",
"metadata": {},
"outputs": [
@@ -1530,18 +1530,18 @@
"data": {
"text/plain": [
"[('CVE-2016-7091', 49),\n",
+ " ('CVE-2000-0017', 45),\n",
+ " ('CVE-1999-0297', 45),\n",
+ " ('CVE-1999-0798', 45),\n",
" ('CVE-2000-0701', 45),\n",
- " ('CVE-1999-0037', 45),\n",
- " ('CVE-1999-1288', 45),\n",
- " ('CVE-2001-0690', 45),\n",
- " ('CVE-2000-1207', 45),\n",
- " ('CVE-2001-0889', 45),\n",
+ " ('CVE-1999-0894', 45),\n",
" ('CVE-2007-3103', 45),\n",
- " ('CVE-2000-0017', 45),\n",
- " ('CVE-1999-0894', 45)]"
+ " ('CVE-2001-0889', 45),\n",
+ " ('CVE-1999-0037', 45),\n",
+ " ('CVE-1999-1288', 45)]"
]
},
- "execution_count": 18,
+ "execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
@@ -1565,7 +1565,7 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": 22,
"id": "02306c40",
"metadata": {
"scrolled": true
@@ -1576,17 +1576,17 @@
"text/plain": [
"[('RSA#1', 180),\n",
" ('Triple-DES#34', 45),\n",
- " ('SHS#1954', 35),\n",
- " ('HMAC#1391', 35),\n",
" ('RSA#1166', 35),\n",
+ " ('DSA#709', 35),\n",
+ " ('SHS#1954', 35),\n",
" ('ECDSA#368', 35),\n",
+ " ('Triple-DES#1420', 35),\n",
" ('AES#2273', 35),\n",
- " ('DSA#709', 35),\n",
- " ('DRBG#281', 35),\n",
- " ('Triple-DES#1420', 35)]"
+ " ('HMAC#1391', 35),\n",
+ " ('DRBG#281', 35)]"
]
},
- "execution_count": 19,
+ "execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
@@ -1610,7 +1610,7 @@
},
{
"cell_type": "code",
- "execution_count": 26,
+ "execution_count": 23,
"id": "6ceb86c7",
"metadata": {},
"outputs": [],
@@ -1635,7 +1635,7 @@
},
{
"cell_type": "code",
- "execution_count": 27,
+ "execution_count": 24,
"id": "f38fce2b",
"metadata": {},
"outputs": [],
@@ -1645,7 +1645,7 @@
},
{
"cell_type": "markdown",
- "id": "d217838f",
+ "id": "56c15006",
"metadata": {},
"source": [
"### Active certificates which reference at least one historical cert (=module refs)"
@@ -1653,8 +1653,8 @@
},
{
"cell_type": "code",
- "execution_count": 42,
- "id": "7d994f6e",
+ "execution_count": 25,
+ "id": "12a6820b",
"metadata": {},
"outputs": [],
"source": [
@@ -1677,8 +1677,8 @@
},
{
"cell_type": "code",
- "execution_count": 59,
- "id": "b0272d13",
+ "execution_count": 26,
+ "id": "46569a81",
"metadata": {
"scrolled": true
},
@@ -1710,7 +1710,7 @@
},
{
"cell_type": "markdown",
- "id": "7c4d37f5",
+ "id": "531ea132",
"metadata": {},
"source": [
"### Certificates with higher levels referencing certficates with lower levels"
@@ -1718,8 +1718,8 @@
},
{
"cell_type": "code",
- "execution_count": 69,
- "id": "4db80768",
+ "execution_count": 40,
+ "id": "c41a16c5",
"metadata": {
"scrolled": false
},
@@ -1730,8 +1730,8 @@
},
{
"cell_type": "code",
- "execution_count": 85,
- "id": "94481c85",
+ "execution_count": 41,
+ "id": "424c9096",
"metadata": {},
"outputs": [],
"source": [
@@ -1741,90 +1741,40 @@
" \n",
"\n",
"def compare_levels(dataset: DataFrame, cert_ids: set[int], compare_to_level: int) -> int:\n",
- " is_referencing_any_lower_level = [get_cert_level(dataset, cert_id) < compare_to_leve for cert_id in cert_ids]\n",
+ " is_referencing_any_lower_level = [get_cert_level(dataset, cert_id) < compare_to_level for cert_id in cert_ids]\n",
" return any(is_referencing_any_lower_level)"
]
},
{
"cell_type": "code",
- "execution_count": 154,
- "id": "73a3a360",
+ "execution_count": 42,
+ "id": "66addda9",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[4293, 1104, 1103, 2919, 2979, 3795, 3246, 3733, 1097, 2073, 3306, 3286, 1365, 3880, 1138, 3981]\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
- "compare_level: int = 2\n",
- "cert_ids = []\n",
- "\n",
- "for _, rows in referencing_certs[referencing_certs[\"level\"] == compare_level].iterrows():\n",
- " referencing_ids = rows[\"module_directly_referencing\"]\n",
- " if compare_levels(refs_df, referencing_ids, compare_level):\n",
- " cert_ids.append(rows.cert_id)\n",
+ "def get_certs_referencing_lower_level(refs_df: DataFrame, referencing_certs: DataFrame, compare_level: int) -> list[int]:\n",
+ " cert_ids = []\n",
" \n",
- "print(cert_ids)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 129,
- "id": "44dbfa03",
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "dgst\n",
- "3d80025e7a475d44 {1081}\n",
- "Name: module_directly_referencing, dtype: object"
- ]
- },
- "execution_count": 129,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "refs_df[refs_df[\"cert_id\"] == 1777][\"module_directly_referencing\"]"
+ " for _, rows in referencing_certs.iterrows():\n",
+ " referencing_ids = rows[\"module_directly_referencing\"]\n",
+ " if compare_levels(refs_df, referencing_ids, compare_level):\n",
+ " cert_ids.append(rows.cert_id)\n",
+ "\n",
+ " return cert_ids"
]
},
{
- "cell_type": "code",
- "execution_count": 139,
- "id": "907ceb3e",
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64"
- ]
- },
- "execution_count": 139,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "cell_type": "markdown",
+ "id": "50fb4e6f",
+ "metadata": {},
"source": [
- "refs_df[refs_df[\"cert_id\"] == 1883][\"level\"]"
+ "#### Level 2 referencing at least one certificate of level 1"
]
},
{
"cell_type": "code",
- "execution_count": 150,
- "id": "7e54f10f",
+ "execution_count": 58,
+ "id": "29bc4234",
"metadata": {
"scrolled": true
},
@@ -1833,788 +1783,54 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "dgst\n",
- "6b724a6630ccac9a 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "470ece82662f3490 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "cba8e6252ab5d5b8 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "316c0f93c7fe1258 4.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "8c4fa4cc13eb1f58 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "59ae69c1396f6995 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "0fe39b99b379952d 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "e18037f42fd038fa 1.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "38206b956d53155a 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "da4ea2a5506f2693 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "2c73b3b9ed664a18 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "7b0838c2af7e6b1f 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "2c73b3b9ed664a18 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "cba8e6252ab5d5b8 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "de27088fdf91b0a5 4.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "f804663d999ea924 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "48449a14a4ff7d79 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "027ffe049491405f 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "d67e8edaa3a287c3 3.0\n",
- "Name: level, dtype: float64\n",
- "dgst\n",
- "50d65da5a5788e61 3.0\n",
- "Name: level, dtype: float64\n"
+ "Total amount of certificates with level 2 referencing at least one certificate: 40\n",
+ "Total amount of certicates with reference at least one certificate with lower level: 16\n",
+ "Hit ratio: 0.4\n"
]
}
],
"source": [
- "my_ids = referencing_certs[referencing_certs[\"level\"] == 3][\"module_directly_referencing\"].tolist()\n",
- "\n",
- "for my_id_set in my_ids:\n",
- " for cert_id in my_id_set:\n",
- " print(refs_df[refs_df[\"cert_id\"] == int(cert_id)][\"level\"])"
+ "compare_level: int = 2\n",
+ "level2_ref_certs = referencing_certs[referencing_certs[\"level\"] == level2]\n",
+ "certificates_referencing_lower_level: list[int] = get_certs_referencing_lower_level(refs_df, level2_ref_certs, compare_level)\n",
+ "ratio: float = len(certificates_referencing_lower_level) / level2_ref_certs.shape[0]\n",
+ "print(f\"Total amount of certificates with level {compare_level} referencing at least one certificate: {level2_ref_certs.shape[0]}\")\n",
+ "print(f\"Total amount of certicates with reference at least one certificate with lower level: {len(certificates_referencing_lower_level)}\")\n",
+ "print(f\"Hit ratio: {round(ratio, 2)}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9f3055bc",
+ "metadata": {},
+ "source": [
+ "#### Level 3 referencing at least one certificate of level 1 or 2"
]
},
{
"cell_type": "code",
- "execution_count": 153,
- "id": "5c51c168",
+ "execution_count": 61,
+ "id": "ec6566cd",
"metadata": {},
"outputs": [
{
- "data": {
- "text/html": [
- "<div>\n",
- "<style scoped>\n",
- " .dataframe tbody tr th:only-of-type {\n",
- " vertical-align: middle;\n",
- " }\n",
- "\n",
- " .dataframe tbody tr th {\n",
- " vertical-align: top;\n",
- " }\n",
- "\n",
- " .dataframe thead th {\n",
- " text-align: right;\n",
- " }\n",
- "</style>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>cert_id</th>\n",
- " <th>status</th>\n",
- " <th>standard</th>\n",
- " <th>type</th>\n",
- " <th>level</th>\n",
- " <th>embodiment</th>\n",
- " <th>module_directly_referenced_by</th>\n",
- " <th>module_indirectly_referenced_by</th>\n",
- " <th>module_directly_referencing</th>\n",
- " <th>module_indirectly_referencing</th>\n",
- " <th>policy_directly_referenced_by</th>\n",
- " <th>policy_indirectly_referenced_by</th>\n",
- " <th>policy_directly_referencing</th>\n",
- " <th>policy_indirectly_referencing</th>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>dgst</th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>bcbbc9eada524a09</th>\n",
- " <td>3932</td>\n",
- " <td>active</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Stand Alone</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>55184832e55ea6b7</th>\n",
- " <td>4079</td>\n",
- " <td>active</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>956fb62ae9cc5ac2</th>\n",
- " <td>3410</td>\n",
- " <td>active</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>fbb2a73b0bacf395</th>\n",
- " <td>956</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{41}</td>\n",
- " <td>{41}</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>bff3992c1d4f9aa5</th>\n",
- " <td>930</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>3ea77fc339263dd3</th>\n",
- " <td>1624</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{1137}</td>\n",
- " <td>{1137}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>e8dedb66d09f7dc9</th>\n",
- " <td>2298</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>a24a6dd3d30dc6b1</th>\n",
- " <td>2976</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Single Chip</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>9f14025af0065b30</th>\n",
- " <td>35</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>755917ecbc61091f</th>\n",
- " <td>1505</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{419, 911, 754}</td>\n",
- " <td>{419, 911, 754}</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>e84909d7fba7798e</th>\n",
- " <td>1623</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>388c2eafe5afd475</th>\n",
- " <td>524</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>0a2d643bfd24a028</th>\n",
- " <td>235</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>93de0089bfe55e8e</th>\n",
- " <td>2793</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>0a5b046d07f6f971</th>\n",
- " <td>146</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>973d94870ea2543d</th>\n",
- " <td>1174</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{1559, 2452}</td>\n",
- " <td>{1559, 2452}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>316c0f93c7fe1258</th>\n",
- " <td>661</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>{909}</td>\n",
- " <td>{909}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{909}</td>\n",
- " <td>{909}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>d59eced1ded07f84</th>\n",
- " <td>40</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Single Chip</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>b1556dea32e9d0cd</th>\n",
- " <td>112</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{123, 2398}</td>\n",
- " <td>{3608, 3220, 3493, 668, 123, 2398, 548, 3667}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>de27088fdf91b0a5</th>\n",
- " <td>3164</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>{4224}</td>\n",
- " <td>{4224}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{4224}</td>\n",
- " <td>{4224}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>28dae7c8bde2f3ca</th>\n",
- " <td>115</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>9e0bc0a9aa374eab</th>\n",
- " <td>1340</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>e5b861a6d8a966df</th>\n",
- " <td>116</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>a665a45920422f9d</th>\n",
- " <td>123</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{548}</td>\n",
- " <td>{548, 668}</td>\n",
- " <td>{112}</td>\n",
- " <td>{112}</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>5de664ef205f95d4</th>\n",
- " <td>541</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-2</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Multi-Chip Embedded</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>85daaf6f7055cd57</th>\n",
- " <td>118</td>\n",
- " <td>historical</td>\n",
- " <td>FIPS 140-1</td>\n",
- " <td>Hardware</td>\n",
- " <td>4.0</td>\n",
- " <td>Single Chip</td>\n",
- " <td>{720}</td>\n",
- " <td>{720}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " <td>{720, 719}</td>\n",
- " <td>{720, 719}</td>\n",
- " <td>NaN</td>\n",
- " <td>NaN</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " cert_id status standard type level \\\n",
- "dgst \n",
- "bcbbc9eada524a09 3932 active FIPS 140-2 Hardware 4.0 \n",
- "55184832e55ea6b7 4079 active FIPS 140-2 Hardware 4.0 \n",
- "956fb62ae9cc5ac2 3410 active FIPS 140-2 Hardware 4.0 \n",
- "fbb2a73b0bacf395 956 historical FIPS 140-2 Hardware 4.0 \n",
- "bff3992c1d4f9aa5 930 historical FIPS 140-2 Hardware 4.0 \n",
- "3ea77fc339263dd3 1624 historical FIPS 140-2 Hardware 4.0 \n",
- "e8dedb66d09f7dc9 2298 historical FIPS 140-2 Hardware 4.0 \n",
- "a24a6dd3d30dc6b1 2976 historical FIPS 140-2 Hardware 4.0 \n",
- "9f14025af0065b30 35 historical FIPS 140-1 Hardware 4.0 \n",
- "755917ecbc61091f 1505 historical FIPS 140-2 Hardware 4.0 \n",
- "e84909d7fba7798e 1623 historical FIPS 140-2 Hardware 4.0 \n",
- "388c2eafe5afd475 524 historical FIPS 140-2 Hardware 4.0 \n",
- "0a2d643bfd24a028 235 historical FIPS 140-1 Hardware 4.0 \n",
- "93de0089bfe55e8e 2793 historical FIPS 140-2 Hardware 4.0 \n",
- "0a5b046d07f6f971 146 historical FIPS 140-1 Hardware 4.0 \n",
- "973d94870ea2543d 1174 historical FIPS 140-2 Hardware 4.0 \n",
- "316c0f93c7fe1258 661 historical FIPS 140-2 Hardware 4.0 \n",
- "d59eced1ded07f84 40 historical FIPS 140-1 Hardware 4.0 \n",
- "b1556dea32e9d0cd 112 historical FIPS 140-1 Hardware 4.0 \n",
- "de27088fdf91b0a5 3164 historical FIPS 140-2 Hardware 4.0 \n",
- "28dae7c8bde2f3ca 115 historical FIPS 140-1 Hardware 4.0 \n",
- "9e0bc0a9aa374eab 1340 historical FIPS 140-2 Hardware 4.0 \n",
- "e5b861a6d8a966df 116 historical FIPS 140-1 Hardware 4.0 \n",
- "a665a45920422f9d 123 historical FIPS 140-1 Hardware 4.0 \n",
- "5de664ef205f95d4 541 historical FIPS 140-2 Hardware 4.0 \n",
- "85daaf6f7055cd57 118 historical FIPS 140-1 Hardware 4.0 \n",
- "\n",
- " embodiment module_directly_referenced_by \\\n",
- "dgst \n",
- "bcbbc9eada524a09 Multi-Chip Stand Alone NaN \n",
- "55184832e55ea6b7 Multi-Chip Embedded NaN \n",
- "956fb62ae9cc5ac2 Multi-Chip Embedded NaN \n",
- "fbb2a73b0bacf395 Multi-Chip Embedded NaN \n",
- "bff3992c1d4f9aa5 Multi-Chip Embedded NaN \n",
- "3ea77fc339263dd3 Multi-Chip Embedded NaN \n",
- "e8dedb66d09f7dc9 Multi-Chip Embedded NaN \n",
- "a24a6dd3d30dc6b1 Single Chip NaN \n",
- "9f14025af0065b30 Multi-Chip Embedded NaN \n",
- "755917ecbc61091f Multi-Chip Embedded NaN \n",
- "e84909d7fba7798e Multi-Chip Embedded NaN \n",
- "388c2eafe5afd475 Multi-Chip Embedded NaN \n",
- "0a2d643bfd24a028 Multi-Chip Embedded NaN \n",
- "93de0089bfe55e8e Multi-Chip Embedded NaN \n",
- "0a5b046d07f6f971 Multi-Chip Embedded NaN \n",
- "973d94870ea2543d Multi-Chip Embedded NaN \n",
- "316c0f93c7fe1258 Multi-Chip Embedded {909} \n",
- "d59eced1ded07f84 Single Chip NaN \n",
- "b1556dea32e9d0cd Multi-Chip Embedded NaN \n",
- "de27088fdf91b0a5 Multi-Chip Embedded {4224} \n",
- "28dae7c8bde2f3ca Multi-Chip Embedded NaN \n",
- "9e0bc0a9aa374eab Multi-Chip Embedded NaN \n",
- "e5b861a6d8a966df Multi-Chip Embedded NaN \n",
- "a665a45920422f9d Multi-Chip Embedded NaN \n",
- "5de664ef205f95d4 Multi-Chip Embedded NaN \n",
- "85daaf6f7055cd57 Single Chip {720} \n",
- "\n",
- " module_indirectly_referenced_by module_directly_referencing \\\n",
- "dgst \n",
- "bcbbc9eada524a09 NaN NaN \n",
- "55184832e55ea6b7 NaN NaN \n",
- "956fb62ae9cc5ac2 NaN NaN \n",
- "fbb2a73b0bacf395 NaN NaN \n",
- "bff3992c1d4f9aa5 NaN NaN \n",
- "3ea77fc339263dd3 NaN NaN \n",
- "e8dedb66d09f7dc9 NaN NaN \n",
- "a24a6dd3d30dc6b1 NaN NaN \n",
- "9f14025af0065b30 NaN NaN \n",
- "755917ecbc61091f NaN NaN \n",
- "e84909d7fba7798e NaN NaN \n",
- "388c2eafe5afd475 NaN NaN \n",
- "0a2d643bfd24a028 NaN NaN \n",
- "93de0089bfe55e8e NaN NaN \n",
- "0a5b046d07f6f971 NaN NaN \n",
- "973d94870ea2543d NaN NaN \n",
- "316c0f93c7fe1258 {909} NaN \n",
- "d59eced1ded07f84 NaN NaN \n",
- "b1556dea32e9d0cd NaN NaN \n",
- "de27088fdf91b0a5 {4224} NaN \n",
- "28dae7c8bde2f3ca NaN NaN \n",
- "9e0bc0a9aa374eab NaN NaN \n",
- "e5b861a6d8a966df NaN NaN \n",
- "a665a45920422f9d NaN NaN \n",
- "5de664ef205f95d4 NaN NaN \n",
- "85daaf6f7055cd57 {720} NaN \n",
- "\n",
- " module_indirectly_referencing policy_directly_referenced_by \\\n",
- "dgst \n",
- "bcbbc9eada524a09 NaN NaN \n",
- "55184832e55ea6b7 NaN NaN \n",
- "956fb62ae9cc5ac2 NaN NaN \n",
- "fbb2a73b0bacf395 NaN NaN \n",
- "bff3992c1d4f9aa5 NaN NaN \n",
- "3ea77fc339263dd3 NaN {1137} \n",
- "e8dedb66d09f7dc9 NaN NaN \n",
- "a24a6dd3d30dc6b1 NaN NaN \n",
- "9f14025af0065b30 NaN NaN \n",
- "755917ecbc61091f NaN NaN \n",
- "e84909d7fba7798e NaN NaN \n",
- "388c2eafe5afd475 NaN NaN \n",
- "0a2d643bfd24a028 NaN NaN \n",
- "93de0089bfe55e8e NaN NaN \n",
- "0a5b046d07f6f971 NaN NaN \n",
- "973d94870ea2543d NaN {1559, 2452} \n",
- "316c0f93c7fe1258 NaN {909} \n",
- "d59eced1ded07f84 NaN NaN \n",
- "b1556dea32e9d0cd NaN {123, 2398} \n",
- "de27088fdf91b0a5 NaN {4224} \n",
- "28dae7c8bde2f3ca NaN NaN \n",
- "9e0bc0a9aa374eab NaN NaN \n",
- "e5b861a6d8a966df NaN NaN \n",
- "a665a45920422f9d NaN {548} \n",
- "5de664ef205f95d4 NaN NaN \n",
- "85daaf6f7055cd57 NaN {720, 719} \n",
- "\n",
- " policy_indirectly_referenced_by \\\n",
- "dgst \n",
- "bcbbc9eada524a09 NaN \n",
- "55184832e55ea6b7 NaN \n",
- "956fb62ae9cc5ac2 NaN \n",
- "fbb2a73b0bacf395 NaN \n",
- "bff3992c1d4f9aa5 NaN \n",
- "3ea77fc339263dd3 {1137} \n",
- "e8dedb66d09f7dc9 NaN \n",
- "a24a6dd3d30dc6b1 NaN \n",
- "9f14025af0065b30 NaN \n",
- "755917ecbc61091f NaN \n",
- "e84909d7fba7798e NaN \n",
- "388c2eafe5afd475 NaN \n",
- "0a2d643bfd24a028 NaN \n",
- "93de0089bfe55e8e NaN \n",
- "0a5b046d07f6f971 NaN \n",
- "973d94870ea2543d {1559, 2452} \n",
- "316c0f93c7fe1258 {909} \n",
- "d59eced1ded07f84 NaN \n",
- "b1556dea32e9d0cd {3608, 3220, 3493, 668, 123, 2398, 548, 3667} \n",
- "de27088fdf91b0a5 {4224} \n",
- "28dae7c8bde2f3ca NaN \n",
- "9e0bc0a9aa374eab NaN \n",
- "e5b861a6d8a966df NaN \n",
- "a665a45920422f9d {548, 668} \n",
- "5de664ef205f95d4 NaN \n",
- "85daaf6f7055cd57 {720, 719} \n",
- "\n",
- " policy_directly_referencing policy_indirectly_referencing \n",
- "dgst \n",
- "bcbbc9eada524a09 NaN NaN \n",
- "55184832e55ea6b7 NaN NaN \n",
- "956fb62ae9cc5ac2 NaN NaN \n",
- "fbb2a73b0bacf395 {41} {41} \n",
- "bff3992c1d4f9aa5 NaN NaN \n",
- "3ea77fc339263dd3 NaN NaN \n",
- "e8dedb66d09f7dc9 NaN NaN \n",
- "a24a6dd3d30dc6b1 NaN NaN \n",
- "9f14025af0065b30 NaN NaN \n",
- "755917ecbc61091f {419, 911, 754} {419, 911, 754} \n",
- "e84909d7fba7798e NaN NaN \n",
- "388c2eafe5afd475 NaN NaN \n",
- "0a2d643bfd24a028 NaN NaN \n",
- "93de0089bfe55e8e NaN NaN \n",
- "0a5b046d07f6f971 NaN NaN \n",
- "973d94870ea2543d NaN NaN \n",
- "316c0f93c7fe1258 NaN NaN \n",
- "d59eced1ded07f84 NaN NaN \n",
- "b1556dea32e9d0cd NaN NaN \n",
- "de27088fdf91b0a5 NaN NaN \n",
- "28dae7c8bde2f3ca NaN NaN \n",
- "9e0bc0a9aa374eab NaN NaN \n",
- "e5b861a6d8a966df NaN NaN \n",
- "a665a45920422f9d {112} {112} \n",
- "5de664ef205f95d4 NaN NaN \n",
- "85daaf6f7055cd57 NaN NaN "
- ]
- },
- "execution_count": 153,
- "metadata": {},
- "output_type": "execute_result"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total amount of certificates with level 3 referencing at least one certificate: 27\n",
+ "Total amount of certicates with reference at least one certificate with lower level: 1\n",
+ "Hit ratio: 0.04\n"
+ ]
}
],
"source": [
- "refs_df[refs_df[\"level\"] == 4]"
+ "compare_level: int = 3 \n",
+ "level3_ref_certs = referencing_certs[referencing_certs[\"level\"] == compare_level]\n",
+ "certificates_referencing_lower_level: list[int] = get_certs_referencing_lower_level(refs_df, level3_ref_certs, compare_level)\n",
+ "ratio: float = len(certificates_referencing_lower_level) / level3_ref_certs.shape[0]\n",
+ "print(f\"Total amount of certificates with level {compare_level} referencing at least one certificate: {level3_ref_certs.shape[0]}\")\n",
+ "print(f\"Total amount of certicates with reference at least one certificate with lower level: {len(certificates_referencing_lower_level)}\")\n",
+ "print(f\"Hit ratio: {round(ratio, 2)}\")"
]
}
],