From e398df053b7eb963eee62667c57afacc4242163c Mon Sep 17 00:00:00 2001 From: mtu Date: Tue, 22 Aug 2017 11:37:07 +0200 Subject: [PATCH] Add JCSA17 TLS notebooks --- doc/notebooks/tls/images/handshake_tls12.png | Bin 0 -> 65021 bytes doc/notebooks/tls/images/handshake_tls13.png | Bin 0 -> 54499 bytes doc/notebooks/tls/notebook1_x509.ipynb | 310 ++++++++++++++++++ .../tls/notebook2_tls_protected.ipynb | 263 +++++++++++++++ .../tls/notebook3_tls_compromised.ipynb | 123 +++++++ doc/notebooks/tls/notebook4_tls13.ipynb | 143 ++++++++ doc/notebooks/tls/raw_data/pki/ca_cert.der | Bin 0 -> 908 bytes doc/notebooks/tls/raw_data/pki/ca_key.der | Bin 0 -> 1191 bytes doc/notebooks/tls/raw_data/pki/srv_cert.pem | 22 ++ doc/notebooks/tls/raw_data/pki/srv_key.pem | 28 ++ .../tls/raw_data/tls_session_13/01_cli.raw | Bin 0 -> 179 bytes .../tls/raw_data/tls_session_13/02_srv.raw | Bin 0 -> 19 bytes .../tls/raw_data/tls_session_13/03_cli.raw | Bin 0 -> 212 bytes .../tls/raw_data/tls_session_13/04_srv.raw | Bin 0 -> 120 bytes .../tls/raw_data/tls_session_13/05_srv.raw | Bin 0 -> 661 bytes .../tls/raw_data/tls_session_13/06_cli.raw | Bin 0 -> 58 bytes .../tls/raw_data/tls_session_13/07_srv.raw | Bin 0 -> 24 bytes .../tls/raw_data/tls_session_13/08_cli.raw | Bin 0 -> 24 bytes .../tls/raw_data/tls_session_13/cli_key.raw | 1 + .../tls_session_compromised/01_cli.raw | Bin 0 -> 58 bytes .../tls_session_compromised/02_srv.raw | Bin 0 -> 1012 bytes .../tls_session_compromised/03_cli.raw | Bin 0 -> 326 bytes .../tls_session_compromised/04_srv.raw | Bin 0 -> 234 bytes .../tls_session_compromised/05_cli.raw | Bin 0 -> 122 bytes .../raw_data/tls_session_protected/01_cli.raw | Bin 0 -> 218 bytes .../raw_data/tls_session_protected/02_srv.raw | Bin 0 -> 89 bytes .../raw_data/tls_session_protected/03_srv.raw | Bin 0 -> 2682 bytes .../raw_data/tls_session_protected/04_srv.raw | Bin 0 -> 831 bytes .../raw_data/tls_session_protected/05_cli.raw | Bin 0 -> 126 bytes .../raw_data/tls_session_protected/06_srv.raw | Bin 0 -> 258 bytes .../raw_data/tls_session_protected/07_cli.raw | Bin 0 -> 507 bytes 31 files changed, 890 insertions(+) create mode 100644 doc/notebooks/tls/images/handshake_tls12.png create mode 100644 doc/notebooks/tls/images/handshake_tls13.png create mode 100644 doc/notebooks/tls/notebook1_x509.ipynb create mode 100644 doc/notebooks/tls/notebook2_tls_protected.ipynb create mode 100644 doc/notebooks/tls/notebook3_tls_compromised.ipynb create mode 100644 doc/notebooks/tls/notebook4_tls13.ipynb create mode 100644 doc/notebooks/tls/raw_data/pki/ca_cert.der create mode 100644 doc/notebooks/tls/raw_data/pki/ca_key.der create mode 100644 doc/notebooks/tls/raw_data/pki/srv_cert.pem create mode 100644 doc/notebooks/tls/raw_data/pki/srv_key.pem create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/01_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/02_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/03_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/04_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/05_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/06_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/07_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/08_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_13/cli_key.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_compromised/01_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_compromised/02_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_compromised/03_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_compromised/04_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_compromised/05_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_protected/01_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_protected/02_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_protected/03_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_protected/04_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_protected/05_cli.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_protected/06_srv.raw create mode 100644 doc/notebooks/tls/raw_data/tls_session_protected/07_cli.raw diff --git a/doc/notebooks/tls/images/handshake_tls12.png b/doc/notebooks/tls/images/handshake_tls12.png new file mode 100644 index 0000000000000000000000000000000000000000..ecfe61a1308e0171508890cc74ba9060ea30a881 GIT binary patch literal 65021 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

*y|tTkoC`6vgQd>FF?m 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

=xhVjLk?>Oq@1=aEmxYdnLSp9BHH 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�B>29+C6^y{&ePG^=OykyWu;{cdg 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 cW9tuxUH$Tw`J{_^57C^N^9" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# We're going to parse several successive records from the passive listening of a standard TLS handshake\n", + "from scapy.all import *" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## (C) ---> (S) ClientHello" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record1 = TLS(open('raw_data/tls_session_protected/01_cli.raw').read())\n", + "record1.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "for extension in record1.msg[0].ext:\n", + " print ''\n", + " extension.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## (C) <--- (S) ServerHello" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record2 = TLS(open('raw_data/tls_session_protected/02_srv.raw').read())\n", + "record2.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## (C) <--- (S) Certificate" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record3 = TLS(open('raw_data/tls_session_protected/03_srv.raw').read())\n", + "record3.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# The Certificate message actually contains a *chain* of certificates\n", + "for cert in record3.msg[0].certs:\n", + " print type(cert[1])\n", + " cert[1].show()\n", + " print ''" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Let's recall the domain that the client wants to access\n", + "record1.msg[0].ext[0].show()\n", + "\n", + "# Indeed the certificate may be used with other domains than its CN 'www.github.com'\n", + "x509c = record3.msg[0].certs[0][1].x509Cert\n", + "print type(x509c)\n", + "x509c.tbsCertificate.extensions[2].show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## (C) <--- (S) CertificateStatus, ServerKeyExchange, ServerHelloDone" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Here the server sent three TLS records in the same TCP segment\n", + "record4 = TLS(open('raw_data/tls_session_protected/04_srv.raw').read())\n", + "record4.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Let's verify the signature in the ServerKeyExchange\n", + "# First, we need to assemble the whole data being signed\n", + "cli_random = pkcs_i2osp(record1.msg[0].gmt_unix_time, 4) + record1.msg[0].random_bytes\n", + "srv_random = pkcs_i2osp(record2.msg[0].gmt_unix_time, 4) + record2.msg[0].random_bytes\n", + "ecdh_params = str(record4[TLSServerKeyExchange].params)\n", + "\n", + "# Then we retrieve the server's Cert and verify the signature\n", + "cert_srv = record3.msg[0].certs[0][1]\n", + "cert_srv.verify(cli_random + srv_random + ecdh_params, record4[TLSServerKeyExchange].sig.sig_val, h='sha512')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## (C) ---> (S) ClientKeyExchange, ChangeCipherSpec, Finished" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record5_str = open('raw_data/tls_session_protected/05_cli.raw').read()\n", + "record5 = TLS(record5_str)\n", + "record5.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Every record has a 'tls_session' context which may enhance the parsing of later records\n", + "record5 = TLS(record5_str, tls_session=record2.tls_session.mirror())\n", + "record5.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## (C) <--- (S) NewSessionTicket, ChangeCipherSpec, Finished" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record6_str = open('raw_data/tls_session_protected/06_srv.raw').read()\n", + "record6 = TLS(record6_str, tls_session=record5.tls_session.mirror())\n", + "record6.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## (C) ---> (S) ApplicationData" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record7_str = open('raw_data/tls_session_protected/07_cli.raw').read()\n", + "record7 = TLS(record7_str, tls_session=record6.tls_session.mirror())\n", + "record7.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/doc/notebooks/tls/notebook3_tls_compromised.ipynb b/doc/notebooks/tls/notebook3_tls_compromised.ipynb new file mode 100644 index 000000000..4a879a3cf --- /dev/null +++ b/doc/notebooks/tls/notebook3_tls_compromised.ipynb @@ -0,0 +1,123 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The lack of PFS: a danger to privacy" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from scapy.all import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record1_str = open('raw_data/tls_session_compromised/01_cli.raw').read()\n", + "record1 = TLS(record1_str)\n", + "record1.msg[0].show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [], + "source": [ + "record2_str = open('raw_data/tls_session_compromised/02_srv.raw').read()\n", + "record2 = TLS(record2_str, tls_session=record1.tls_session.mirror())\n", + "record2.msg[0].show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Suppose we possess the private key of the server\n", + "# Try registering it to the session\n", + "#key = PrivKey('raw_data/pki/srv_key.pem')\n", + "#record2.tls_session.server_rsa_key = key" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record3_str = open('raw_data/tls_session_compromised/03_cli.raw').read()\n", + "record3 = TLS(record3_str, tls_session=record2.tls_session.mirror())\n", + "record3.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record4_str = open('raw_data/tls_session_compromised/04_srv.raw').read()\n", + "record4 = TLS(record4_str, tls_session=record3.tls_session.mirror())\n", + "record4.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "record5_str = open('raw_data/tls_session_compromised/05_cli.raw').read()\n", + "record5 = TLS(record5_str, tls_session=record4.tls_session.mirror())\n", + "record5.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/doc/notebooks/tls/notebook4_tls13.ipynb b/doc/notebooks/tls/notebook4_tls13.ipynb new file mode 100644 index 000000000..39dbd2d22 --- /dev/null +++ b/doc/notebooks/tls/notebook4_tls13.ipynb @@ -0,0 +1,143 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# TLS 1.3 handshake overview\n", + "This is the basic TLS 1.3 handshake:\n", + "\n", + "\"Handshake" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from scapy.all import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "record1_str = open('raw_data/tls_session_13/01_cli.raw').read()\n", + "record1 = TLS(record1_str)\n", + "sess = record1.tls_session\n", + "record1.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "record2_str = open('raw_data/tls_session_13/02_srv.raw').read()\n", + "record2 = TLS(record2_str, tls_session=sess.mirror())\n", + "record2.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "record3_str = open('raw_data/tls_session_13/03_cli.raw').read()\n", + "record3 = TLS(record3_str, tls_session=sess.mirror())\n", + "record3.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# The PFS relies on the ECDH secret below being kept from observers, and deleted right after the key exchange\n", + "#from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePrivateNumbers\n", + "#from cryptography.hazmat.backends import default_backend\n", + "#secp256r1_client_privkey = open('raw_data/tls_session_13/cli_key.raw').read()\n", + "#pubnum = sess.tls13_client_pubshares[\"secp256r1\"].public_numbers()\n", + "#privnum = EllipticCurvePrivateNumbers(pkcs_os2ip(secp256r1_client_privkey), pubnum)\n", + "#privkey = privnum.private_key(default_backend())\n", + "#sess.tls13_client_privshares[\"secp256r1\"] = privkey" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "record4_str = open('raw_data/tls_session_13/04_srv.raw').read()\n", + "record4 = TLS(record4_str, tls_session=sess.mirror())\n", + "record4.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "record5_str = open('raw_data/tls_session_13/05_srv.raw').read()\n", + "record5 = TLS(record5_str, tls_session=sess)\n", + "record5.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "record6_str = open('raw_data/tls_session_13/06_cli.raw').read()\n", + "record6 = TLS(record6_str, tls_session=sess.mirror())\n", + "record6.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Observations sur TLS 1.3\n", + "* Certificat désormais chiffré...\n", + "* ...mais pas le Server Name dans le ClientHello\n", + "* Risques du mode 0-RTT" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/doc/notebooks/tls/raw_data/pki/ca_cert.der b/doc/notebooks/tls/raw_data/pki/ca_cert.der new file mode 100644 index 0000000000000000000000000000000000000000..ff9ea20b33a1364e4c6d8372171bd2e6116f306b GIT binary patch literal 908 zcmXqLV(u_#Vk%g`%*4pV#L2KL>UY@VRWs)q@Un4gwRyCC=VfH%W@Ru4G2}MjWMd9x zVH0NZ^)nPP5CU=7dALJ!5)<>15)(@jiwwmLL_wn5Jbb~)i3ODkA*sbB3IX1phGGUH zAPHt3UL*-;M*}%=UPChjOG7h510ypN( z6C)$Tg`AzbD;ynolq9{*r|dcy&?w0i`Nqm&?iYKmtiYPkub<9EI%PgN#B+Y8)uy7#UyeMB9*6h;UKVhF zl}ye0#tm16`7W+&IXh$5@~E>7)2GBzmo|veKYwF@{o|bd3P)z1~FE6;FKKyR~lC6i%9aDa&mAI-<_KCT&45QfEl8(FK zZr^*@+h3oO=Zy(p$i&RZz_>WpAlg6{7;Cb8EMhDoX~9#zh+f>Ap0Od&+{pCdl2!NE zYYgN;(#k9n24W4^74U!*2(z#nFf%g#H{b^G_*qz(nV49RBLJAbfDypRFgd+V(|@n( zV~LO{X7j?O&n7+Y^f zYg+3%wZyvY(OI?F=h96K-b~dIPbRlln@gJB|G;?LZid#^c{}gF*J062=rIoe)pCS+ z{m)4U`uo#FZMJ_|+6)1JD1`OJ@D z8B5N8`*CE3xu?5SY!{pxupnf*$q$xYLWa9uCvcs(#{Ym_EpTBz%aSCu zi3;h=X)~TLw=;Igxl=6UcU$G)9!bv)3G-u;Ef0zaZ)TWWWaPN#pk`0P-Ls814?kGO Ho)`!KXW~&4 literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/pki/ca_key.der b/doc/notebooks/tls/raw_data/pki/ca_key.der new file mode 100644 index 0000000000000000000000000000000000000000..675124e9cd231adc79362bba7e21632240ad780d GIT binary patch literal 1191 zcmV;Y1X%kpf&`-i0RRGm0RaHeY`HC{K|l;58A{J&y1`I^83I}CIzXN534Xww8a!A` zFE6KotuAcKlm?Cu^fWK;Z)2t;XS<{|NyE22#8>1~T@b8Q_43YHLTTi}49}T5vT}L) zK@6hfSC9LqP~WN?e6NA9)e{cUu7u5)x~E#rfR~hA(9kibiA$k}RZ+=Tu2Y6%vfYxd z76J!lC6qcoCUSa=`e4_nMA?ytghnViv!Njhs=ySMjKqU`9t%+$Q$+1!+V?w8Z4hUm zK|m2B71iFVR*YO)k*t1SJmq%_s3Btx?;jDUe^=d)q_x7%#v|b>VXAQ*&hPuTvwq20|5X50)hbmT_fob?K;zoScRhZ(Ny2$!2DAmsz6cp0I)HW zlWyt$uXOsq$z*}`o_I9@u|at}-mDRY0*TbY$_jtV*l=*NnMz`m5ef?miMsP8hE73C zfqs)m%{LYP>9B6#<0XhJUp0U~$)K)xb?2`)m3*jdD zPNj{ljKfHg7Nl?$-d~(<((y{D^li#1)nBo_2-Y}1zj8xQn}&p%f($=)w4neIw3m_g z=BTr-F1gn})(Ug>4)FTJzLFfh$N^nrU%i6CB3i1OwNy5HbU+4*C9hr&am}{d0)c@5 z;N5T|aeJwL%EN^N`A3dqWA~L6WhCtL0gjX9>*imeAMdG4f@Br`amBn08?Jo#V+Qn*8!4D z@D)T3B>2~)YxT@U`SR@M1AVK3K0g_Dea3!vdObwP8*rvUJOika#YGYGO0B_Z_!Pqe zfq?+NHq$#uE&*)){Bp9d)%E|n2%i=pA0kOr(bNt!g$45;(9QPG@Ae$!-)mi?ISg-X z4q-;>FAhs-i$T!+MbEA`5q%(7mMhSU-k%fl=z6z&i@nVZq|t}+>)*eEAtse?R{zB_ zZky{sF&MH_Yj%*I%(Z)oGE~)YVGnnZPH(*efq;Ke7t^w2?|yq@zoq{0cnRGg`c5)M zr$aNlLao*(Wyf%YS_-rvz02^S1_9BLtc;5?QD7~#@{7Hiws@!1gxkE*- zrt#MFNRBjXKn!n3#wmRA;0#05LTd!Oe67}luBrwX^>As};jvJB!35)2v)Y78nswgT(>mA=AX z*PazooLqTzaqXTbMY5BoJS{qwD)qWd!lE&nL7Rb@sa}YImqCF+j)j?(nT?r=nS+Ic dm4l6ik(H5+k%^IoiIs_siHV6pmw}0q5dhUkC*}YE literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_13/02_srv.raw b/doc/notebooks/tls/raw_data/tls_session_13/02_srv.raw new file mode 100644 index 0000000000000000000000000000000000000000..3c119721eb9aee2f65a4f1821acebad8bc381574 GIT binary patch literal 19 acmWe*W@O-FV_@K_7h+&z&|qL<5C;GXHvtg< literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_13/03_cli.raw b/doc/notebooks/tls/raw_data/tls_session_13/03_cli.raw new file mode 100644 index 0000000000000000000000000000000000000000..b526cd708ef94f7f4bd08f1c7f5bcd3244e2e17a GIT binary patch literal 212 zcmWe*W@I?e$iQ%#nfd0+&fagf&TIFjEK2t0PTq6JL2~g^wLOeh2~H29MM7g37}$gv zg_(t!fXe4EFfed4Z~}#jQ;W({i~ch*07bbNI2hO%WEsR6Bp5Up+!6a{^~U`{mf+0W?*Kj7h>RLP+*W_VP<7!V`gIJVBuipU}IrqWn^PyVq{@rWnyDu MVq(x`U}9th00~?<4FCWD literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_13/04_srv.raw b/doc/notebooks/tls/raw_data/tls_session_13/04_srv.raw new file mode 100644 index 0000000000000000000000000000000000000000..469e99d5d40558da0eb73c05841969fe1e86281c GIT binary patch literal 120 zcmV-;0Ehn;0|5YY0ssJSe-f7eX)txzMpjX&!iRJ9No7JHYom}Eo1B?-McJVyW)%|w z07(ES07U>706_$bO$p8Ajl2XIRk@@ZL&0fn#X_I@mif&YN`^Yeg7JY_@N%^F5FuTL aKz-LXi*-t}=1(jeKb=K#TYQ6}2Q>2s+ z`9cVu0@D?n9B&bI*Zj2_y4L;F_y0=vSqn!N!PyQFG2x-(AbIsM5R7Y|dDapG8Q`OH z0SnK+U#(Nkh|siYLuolXb^tsb2JhlfpIFI?`$&Vuo>fKXu=#3+Iaw z{?Z0z2GN>!ot-kRz(aS0nL}CcUPUGeH8yY@MgUCq{3R|_Zh3Mz$2*j;b4C$ZFdujn zn2~%k+z!rVic@(EW^VaYn%NCIc-P%YuVPKPzojP5DB{ zv7iM8l*h8aF{l>z|9A1%+lM{7Zbn9|tNL@p7o$w(Au2R!^-1Q<=Nhsprt%=H+F*k# zQ3hiIqCEn~G`(JNuurl`%162kdmqw|?wehP=CP)tp`<=IF(CyR^+7brWQNfm^AcZl zmY0QT1c%_NTnaG`znw9a>{Uarif{XI4zQ^Lg_aG$%-j&{?v`nhap``pQfe0n-*n%47U>UMNv>#sU`A1M`Z~!oIBKOFs z*1+1LWX3UrBaLznthi`-`nkG_XFO4*EP{k};~^3w%_2Cxi;9y<^W@#(4tS07I@Z`x v){A%uD#mB1R5fH3=Y@;qCNOg{nGKA?ie1Fd!YVAHz1b3KEa5$H6(&g`z`H@3 literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_13/06_cli.raw b/doc/notebooks/tls/raw_data/tls_session_13/06_cli.raw new file mode 100644 index 0000000000000000000000000000000000000000..127631c031d78de9099c6e835267547a187f237a GIT binary patch literal 58 zcmV-A0LA|o0|5XvL#?glk~Sm~`*+tUv4OxFcgr^J(Txq;rL)h!*QTz8_rY-!%z`(+w O&+s3pn1w-^fdK$0j1tKJ literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_compromised/02_srv.raw b/doc/notebooks/tls/raw_data/tls_session_compromised/02_srv.raw new file mode 100644 index 0000000000000000000000000000000000000000..229cb52be866fa6775151b6466d9a9ad71e395bb GIT binary patch literal 1012 zcmWe*W@IpBVqh?2X6#sVW&Py3t=QPFM8>G$*(-Fz7Qd zaQ5QxLh!yTHFn3$K8m{^inWGHSR z3KHe!;R{YqET~inNi8l>2=Mka6f+P3Nig&9B1t$q8pw(B8k!kc8k!jz7+Dw^Mv3zp zfw-nnu0aGvwn`aDKx`F6vNbrhs4TU}povil*^7*<49rc8{0u;GE~X|%MusyVKh93j zO<4D72Cus2%>$f~KKxz=D}wGn-KaR<|FCV?`SQ1H zMfxcgg#WW;wVjdRiP>#Vmc710+ashUKhM=(IHT#*b!(O1oR%B* z9GZH*NwZW;)80uzT-(>7CoE^}E`F2Njr9(dg%#VEvh1GneXHZtcQvnjc`7p^-=E(6 z%dSH1UAj-z-3K$@-+KOj6KCwc1_eddW*wK?v07!COE)NYl(2^=UDK?Z^fh01-t!-7 z+H)dOnScq5adEyuE;!a@g;|&k7!0_9!70nn!otkN`oKUI#NlHRV-Z=Xtx#|&yWwf- zp4ZI$9rH`p-u)(QAPmRb&di7$CBRe%j1oqM#*RtF*^{47y>{2}U7y_E#U2sM9Zl`4YcH73;M<`y zrTj#onZw#hPK^^`*Iq@h*>b}^V|&`EhhgR`8B$*bo_w<@(=+zx;{$IKLrx0KKemCZ zIP^uRX~KIMvk$i}PACs!*|FN<-FMETOJ___ekFffwBAUgarNw0Chw`w%>%2YJ@kIt z1uf>?;Ro-7SYi%h`trx4~dmNrLZrby`IbAT%Z}Kap_5T;oDi1Haz-_VSN7oe7zUx;K r&oKU1+0vh=ysP7SOif!V}d#iyNmVt$jfq?-4RkLzf literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_compromised/03_cli.raw b/doc/notebooks/tls/raw_data/tls_session_compromised/03_cli.raw new file mode 100644 index 0000000000000000000000000000000000000000..ef4ce6902257758a5ae9f3b9311e9041cfa1d11d GIT binary patch literal 326 zcmV-M0lEGb0|5aB5C8!J0RVTC?E3THTbeYdp3Me5jY#nZIgADYQ}?wNX!g}0N!Rej zTK3>(H0RRC376SnQFn$5yAu^D<$RM_ix7qc89VA*_$fKXL@l6cT Y?PReh59CEs$@fh2JHfho`nNXYaa$0kB>(^b literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_compromised/04_srv.raw b/doc/notebooks/tls/raw_data/tls_session_compromised/04_srv.raw new file mode 100644 index 0000000000000000000000000000000000000000..f79895556e75889b37e193041afbed76922118bb GIT binary patch literal 234 zcmV&pH(^@J*$L2X(uZ#l3t>K>W>QNLvk=vUR--Gh)6#_tew75~Cj&aeOx0(|Y6 zx?}qTP0rJjzL=F9@0+pKEDSbOWXWnO7rEXOkGfmDL>roZ>7w(bRx|$AC&+0lux$%Pk06(0>1v*lP#ZX>PU5p>|YcE0RRC376SnQFi>OQR4W%;KG3}8Sa^Nq kqBiOats7Yz1uTE=QP%1qoi5<>h~_71R{eTiO()K3N_^*PYybcN literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_compromised/05_cli.raw b/doc/notebooks/tls/raw_data/tls_session_compromised/05_cli.raw new file mode 100644 index 0000000000000000000000000000000000000000..5093c28c63c276867dab0ac59eff575cb9ab24f6 GIT binary patch literal 122 zcmV-=0EPb-0|5Xa=#eLFQdAeA)_p600@|&2E`n4+C*E+R;ju`mv4LlI7XtwRP~Air z+k$X3T-*Qq@iL%r}up=%7~Ci35x@T)cSF;|5k&)Jxy=*<5h9K5qt$ecdJB&Aix c)E^?w@R;yK(j5&dnJV05G(X7;rm}%0{MQvZH~;_u literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_protected/01_cli.raw b/doc/notebooks/tls/raw_data/tls_session_protected/01_cli.raw new file mode 100644 index 0000000000000000000000000000000000000000..a9080e84312596711aaecdfc96d439cce2b757d1 GIT binary patch literal 218 zcmWe*W@Na^$iQ%snOXdk@8KHB+lOtodU5xfHXc34sbIu$fFo+${ zKA?Yq>j38g;R7NJ#tfDW`V6KFTtMxU7#JAj8Dtq4q>>YJ^Yzj*OEOB6N{dsAlJoOQ zQu9jmlJj%_Gco{Gaxri)urY`;NH9n;a5FFgMU)vBj7xy}1sF6L)LAo(bPdhGq$!v* zVahP#C@x5;)Hl{MpA?;18ZtP0dVq$4S+)b!%0&I=)i1NsaM o8Vo@2pOJx)fq|QWg_(hoi9s1C!V1I!KoL%kjFOT9eM3D%0Qt=mSO5S3 literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_protected/03_srv.raw b/doc/notebooks/tls/raw_data/tls_session_protected/03_srv.raw new file mode 100644 index 0000000000000000000000000000000000000000..282b5884e22a06bd76987d8e6abf2cd0f8deb4da GIT binary patch literal 2682 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 literal 0 HcmV?d00001 diff --git a/doc/notebooks/tls/raw_data/tls_session_protected/05_cli.raw b/doc/notebooks/tls/raw_data/tls_session_protected/05_cli.raw new file mode 100644 index 0000000000000000000000000000000000000000..8033eecc5738acb53b132c0016fe2e668b5a1cf2 GIT binary patch literal 126 zcmWe*W@c~`U|?`^WVytCZe`gGS&7+x51T`K`mZMPKaHQu-!nJl+e!)b#C{JC2c9b~ z4Th80KTlm5F7ao(*R!nMYxvvNacN)Od8aMQkXphW7YPAje!DbCV zX2cI)aXH}!LIXIoeY>#y4oC6{CKH&;{Py(gnIQ>X;@K@qxw(HlgjTB_{N(}K)<^ZX@<}#}$;4sP8R~TW zoBAH-jH+%9{+>+i@;sIfK6^Q|EcpSC&N?7 z%{soEh{vgH0Jx@@@_l-?KX~-6m4E6^ZFj*he>i!?tx4zT0%MbuSrK#t1xY83QhCv?-uD`R9WHE$I0FdB6AO5ykbIN3&%h*fkH2g-GhcZXQy;0q^gV z=PEwEgo`;yL`jguB$}E_h)Zb-qpR(a&FHbzj=V*P=mi$l?HCqkJ_OhuLVb~t(b@yy zmoh_mbVP-(MtpuZL^&!|tqa5>27T<-(?5BZq_v|R9KFfOXR$KL51|7RP7CZ5$#zN# zO{d6c(0nK{D5ID_Zb%9Xs4xHmw+33&P23?tR^q2B!;n?((6R-icj4l`9=_Cdv7ve% x92F%u-TAqG0{L?cG5b5K@gA=RjIU(?6=gN7*IhmxOky>TD*