diff options
| author | GeorgeFI | 2023-06-28 16:18:44 +0200 |
|---|---|---|
| committer | GeorgeFI | 2023-06-28 16:18:44 +0200 |
| commit | 51006dbaec7a92008b2eee183a34b42e04c8160a (patch) | |
| tree | 841c01eada255f72fec6e00a51ced4b38bfaf1f5 | |
| parent | c914a69c6cb3298d19fb15c9e4f372d03b0d1441 (diff) | |
| download | sec-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.ipynb | 1094 |
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)}\")" ] } ], |
