
Master cryptography basics, compare TLS 1.3 and 1.2, and review fixes from 1.2 to 1.3; explore packet capture, Let's Encrypt automation, and certificate formats including wild card and send certificates.
Introduce data and cryptography concepts, including confidentiality, encryption, integrity, digital signing, authenticity via digital certificates, and non-repudiation.
Explore data forms—motion, at rest, and in use—and learn how cryptography protects data in motion with confidentiality, integrity, authenticity, and non-repudiation, noting availability lies outside cryptography.
Reveal how confidentiality protects data in motion through encryption. Compare symmetric and asymmetric encryption, keys, and key sizes to enable secure communication and signing.
Explore digital signing for integrity in motion by hashing data into a message digest and encrypting it with a private key in asymmetric scheme, then verify with the public key.
Explore authenticity as the third pillar of cryptography and how digital certificates establish authenticity, including authority versus non authority certificates, static key pair generation, and certificate signing request.
Digital certificates prove authenticity for data in motion by ensuring senders and receivers are who they claim to be, signed by a recognized certificate authority like Digicert or Entrust.
Learn how asymmetric key infrastructure powers PKI, from server public/private key pairs and CSR to trusted certificate authorities, and how root certificates exist on all systems.
Generate a server key pair and CSR, have a trusted CA verify admin identity by email with a token, then obtain a digitally signed certificate to install.
Observe certificate authentication in action as the client retrieves Bank.com's server certificate, decrypts the signature with the root CA public key, and validates the message digest.
Demonstrates how Windows and macOS store trusted root CA certificates in their system stores, showcasing Digicert high assurance ev root CA via Windows trusted root store and macOS Keychain Access.
Understand how intermediate certificates sit between the server certificate and root CA to establish a PKI trust chain, with the root private key kept secure and used to sign intermediates.
Demonstrate the certificate trust chain for Facebook.com by inspecting it in a browser and in a Wireshark capture, highlighting server, intermediate, and root certificates.
Distinguish authority certificates from non authority certificates and learn how authority certificates sign other certificates. Identify examples such as the root CA certificate, the intermediate CA certificate, and the server certificate.
Demonstrates server certificate fields, including issuer, common name, public key, certificate signature and algorithms, validity and serial number, via a browser and Wireshark to show CA vs non-CA status.
Generate static RSA keys with OpenSSL by creating a 2048-bit private key encrypted with AES-256 and a password, then generate a certificate signing request containing the corresponding public key.
Demonstrate generating a static RSA key pair and a certificate signing request (CSR) using OpenSSL, encrypting the private key with a password, and preparing CSR fields for a certificate authority.
Generate a static ecdsa key pair on elliptic curves, illustrate 256-bit x and y coordinates, show compressed (x only) and decompressed forms, and create a key and csr with openssl.
Demonstrate generating a static ECDSA key pair and a certificate signing request with OpenSSL, selecting the secp521r1 curve, encrypting the key with AES-256 and a password, and outlining CSR fields.
Examine the static ECDSA public key for google.com in the server certificate, decompressed with 256-bit X and Y coordinates (32 bytes each) totaling 64 bytes, with a leading 0x04 indicator.
compare ecdsa and rsa key generation for signing data, showing ecdsa with 256-bit keys and curves like secp256k1 delivers stronger signing performance than 2048-bit rsa, reducing cpu usage.
Demonstrate non-repudiation in TLS by signing handshake messages with the server's private key using digital signatures and verifying with the public key to prove origin and integrity.
Bring together confidentiality, encryption, integrity, and non-repudiation by using symmetric encryption for data in motion, hashing and signing with asymmetric keys, and TLS certificate-based server authentication during the handshake.
Explore TLS 1.3 session stages and discuss the importance of additional data in an ad.
TLS 1.3 establishes encrypted connections for secure transactions via https, replacing TLS 1.2, with a two-stage session: handshake for integrity and non-repudiation, then encrypted data with a MAC for integrity.
Explore TLS 1.3 session stages, from the TCP three-way handshake on port 443 to session setup, certificate verification, session key generation, and encrypted data flow.
Explore TLS 1.3 session setup, exchanging cipher suites and ephemeral key generation, and explain cipher suites, labels, and session key generation using OECD.
Explain how TLS 1.3 negotiates versions and cipher suites via client hello and server hello, including change cipher spec and encrypted extensions, then server certificate and finished messages.
Capturing a https session to facebook.com, the demo shows tls version negotiation including tls 1.3, client hello with sni extension, and how the client and server select a cipher suite.
Explain how client and server negotiate cipher suites during the hello exchange, comparing chaCha20-poly1305 sha256 and aes-256-gcm-sha384, and show how nginx settings ssl_prepare_server_ciphers and ssl_prefer_server_ciphers decide who chooses.
Explore how TLS 1.3 generates ephemeral elliptic-curve key pairs for sessions. Learn how curves like secp256k1 or x25519 and the static ecdsa key secure the handshake.
Explore ephemeral key exchange in TLS 1.3 by examining a packet capture of client and server hello messages, key share extensions, and certificate verify message, including secp256k1 and x25519 keys.
Explore TLS 1.3 session key generation with ephemeral elliptic-curve Diffie-Hellman, deriving pre-master and master secrets via hkdf, and producing session and handshake keys for secure data flow.
Explore TLS 1.3 cipher suites, compare 256-bit and 128-bit keys, and decode labels such as ChaCha20, Poly1305, and AES-256-GCM, noting the roles of Hmac and Sha256 in session key generation.
Generate a unique initialization vector for each TLS session using the session key, then combine it with the counter to encrypt plaintext messages, as with ChaCha20-Poly1305 and GCM.
Explore TLS 1.3 encrypted data flow stage, covering EDI and dataflow encryption H-mack, cipher modes such as xor, cha cha 2013 zero five, and GCM.
Explore authenticated encryption with additional data (AEAD), a symmetric technique that provides confidentiality and integrity in one operation, used in TLS 1.3 cipher suites.
Explain HMAC, a hash-based message authentication code, to ensure integrity in encrypted data flows. Note poly 13 zero five in ChaCha20-Poly1305 and Geohash in GCM, with 256 and 128 variants.
Describe how stream ciphers and block ciphers encrypt data, using ChaCha20 and GCM, with 512-bit keystream blocks, 128-bit plaintext blocks, and xor operations that produce ciphertext.
Discover how the xor operation uses a keystream to convert plaintext into ciphertext and recover plaintext by applying the same keystream, illustrating bitwise encryption principles.
Explore ChaCha20-Poly1305 encryption with a 96-bit initialization vector and counter, a 256-bit key, and XOR-based keystream. Learn how the one-time key and Poly1305 tag verify integrity.
Demonstrate client-side AES-256 GCM encryption, generating keystream blocks, using ghash for authentication, and discuss the session-specific one-time key as a potential weakness.
Compare chacha20 poly1305 and gcm to guide cipher selection. Set your server to support both, with chacha20 poly1305 as first preference due to its message-specific one-time key.
Explain how additional data in AEAD ciphers prevents replay attacks by seeding the mac with a unique combination of TLS session ID, TCP sequence number, and TCP source port.
Discover how the TLS message authentication tag guarantees integrity by inspecting a packet capture of a server-to-client exchange; note the last 16 bytes as the MAC in the encrypted data.
Explore TLS version 1.2 concepts, including the session stages, the session setup stage, and the encrypted data flow stage.
Explain TLS 1.2 session stages, from the TCP handshake to the TLS handshake with client hello, certificate, key exchange, and server hello done, then encrypted data flow with session key.
Explore exchanging cipher suites, ephemeral key generation and signing, and cipher suite labels in the TLS 1.2 session setup stage, and review end session and key generation using ACG.
Explore the TLS 1.2 session setup, covering client hello and server hello negotiations, cipher suite and version selection, certificate exchange, server and client key exchange, changecipherspec, and encrypted finished messages.
Demonstrates TLS version negotiation (1.2 and 1.3) and cipher suite selection via client hello and server hello in a packet capture, illustrating supported versions, RSA-based signatures, and session identifiers.
Explore ephemeral key generation and signing of the server's public ephemeral key in tls 1.2, using elliptic curve cryptography, ecdsa with secp256k1, for client verification via the server certificate.
Demonstrates negotiating ephemeral key pairs via the supported groups extension, selecting x25519, and signing the server's public ephemeral key with rsa sha-256.
Explore TLS 1.2 cipher suites, favoring the top two with ECDSA for ephemeral key signing, and decode suite labels: ChaCha20, Poly1305, and sha256/sha384, while comparing TLS 1.2 and TLS 1.3 labeling.
Demonstrates TLS 1.2 ephemeral key exchange using ECDHE, including certificate verification, pre-master and master secret derivation via PRF with sha-384, and generation of session keys, handshake encryption key, and IV.
Explore TLS 1.2 encrypted data flow, detailing how GCM uses explicit eight-byte IVs with implicit four-byte IVs to form a 12-byte IV, and compare TLS 1.3’s implicit IVs.
Explore TLS 1.3 fixes, including perfect forward secrecy and discontinuation of RSA, RSA key generation, the TLS 1.2 logjam attack and its prevention by TLS 1.3, and quantum secure readiness.
TLS 1.3 enables a faster key exchange with one round trip, unlike TLS 1.2's two round trips, speeding key generation and boosting security and speed in stock exchange applications.
Explore perfect forward secrecy in TLS 1.3, highlighting removal of RSA key exchange and reliance on ephemeral keys, while contrasting TLS 1.2's legacy RSA and certificate-based authentication.
Explore how the logjam attack downgrades TLS 1.2 to weak Diffie-Hellman cipher suites via a man-in-the-middle, enabling decryption of handshake and data, and how TLS 1.3 mitigates this risk.
Explain how TLS 1.3 prevents logjam by removing weak export diffie-hellman and signing the handshake to detect tampering via digest checks, with the client verifying the server's public key.
TLS 1.3 is quantum secure ready, with plug-in protection mechanisms against quantum cryptoanalysis that can be integrated; Microsoft tests illustrate progress, while TLS 1.2 remains not quantum secure.
Learn to take a decrypted TLS packet capture on macOS by following a nine-step process in Wireshark, including setting the log file path and updating the username.
Demonstrate taking a decrypted packet capture on macOS by configuring a log folder, launching Wireshark, and decrypting the TLS session for cloudflare.com using the server name indication extension.
Follow a nine-step walkthrough to take a decrypted packet capture in Windows, demonstrated in a live demo with a downloadable PDF of the steps.
Demonstrate a decrypted packet capture on Windows using an SSL key log file in Chrome and Wireshark. View TLS session data and SNI for cloudflare.com.
Learn automatic PKI management with Let's Encrypt and the Certbot ACME client on nginx, generating private keys and CSRs, renewing certificates, and configuring TLS 1.2 and 1.3.
Discover automatic certificate renewal with nginx and letsencrypt via certbot, including expiry checks, CSR and key generation, DNS and HTTP challenges, and updating live certificates while archiving old ones.
Configure firewall rules for Certbot and NGINX to enable Letsencrypt PKI management on the NGINX web server.
Install certbot on the nginx server using snap. Configure TLS 1.3 and 1.2 cipher suites in nginx options and verify https redirection and Let's Encrypt certificates.
Discover server certificate revocation, including CRL and OCSP mechanisms, and how clients or servers verify revocation using CRL distribution point and OCSP responder URLs.
Demonstrate locating the OCSP responder URL and CRL distribution point in a server certificate, and show how these extensions appear in the browser and in packet captures.
Learn how server checks certificates via ocsp responder, sending a serial-number request and returning good or revoked statuses, with stapled status in tls 1.2 and status extension in tls 1.3.
Explore OCSP stapling with Nginx by detailing how the client and Nginx verify certificates via the OCSP responder in TLS 1.2 and TLS 1.3, including configuration and packet-capture demos.
Demonstrates configuring ocsp stapling in nginx for tls 1.3 and tls 1.2, editing ssl options, reloading nginx, and validating with packet captures and certificate status responses.
Renew a TLS certificate with Certbot ACME client on nginx, then revoke the old certificate to prevent outages, while Let's Encrypt intermediate CA signs the CSR and updates OCSP.
Renew the current certificate with certbot using the nginx plugin, select the domain, revoke the old certificate, and verify the new certificate is in use.
Explore wildcard certificates versus individually issued certificates for multiple websites, weighing certificate management complexity and domain and subdomain scope across virtual hosts.
Explore subject alternative name certificates that cover a domain and its subdomains, and learn the risks of private key compromise across multiple servers, with an Nginx demo.
Demonstrate generating a SAN certificate on nginx using certbot with Let's Encrypt to cover two domains, test bitcoin.com and marketing podcast.com.
Explore the main X.509 v3 certificate formats—der, pem, and pkcs12—and see how server, intermediate, and root certificates, plus private keys, are stored and protected for Windows and other systems.
Explore commands to convert certificates across Dar, Pem, PGM, and Pkcs12 formats, including exporting private keys and combining certificates into single files.
Immerse yourself in a comprehensive exploration of data security in motion through our meticulously crafted animated course, focusing on the implementation of TLS 1.3 and TLS 1.2.
The course begins with a foundational understanding of cybersecurity's cornerstones: Confidentiality, Integrity, Authenticity, and Non-Repudiation. It then meticulously examines essential concepts such as Hashing, Signing, Symmetric and Asymmetric encryption, and the intricate domain of Public Key Infrastructure (PKI).
A deep dive into TLS version 1.3 follows, elucidating its mechanisms for key generation and exchange, and the sophisticated AEAD protocols CHACH20-POLY1305 and AES256-GCM.
Moving forward, we scrutinise TLS version 1.2, carefully contrasting its features with TLS 1.3, highlighting the latter's distinct advantages.
Practical application takes centre stage as you learn to configure your NGINX web server seamlessly with TLS 1.2 and TLS 1.3. Additionally, the course covers the intricate process of certificate revocation and its implementation on NGINX.
The exploration concludes with a detailed examination of certificate types and formats. The predominantly animated course format ensures an engaging yet thorough learning experience, integrating theoretical content with practical demonstrations and packet captures for an in-depth comprehension.
Join us on this educational journey, where each module is meticulously crafted to provide a profound understanding of secure data transmission. I look forward to guiding you through this learning experience. Enroll today to fortify your expertise in cybersecurity.