<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pki on Le Site de François</title><link>https://lesitedefrancois.be/en/tags/pki/</link><description>Recent content in Pki on Le Site de François</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 François</copyright><atom:link href="https://lesitedefrancois.be/en/tags/pki/index.xml" rel="self" type="application/rss+xml"/><item><title>AD (Active Directory)</title><link>https://lesitedefrancois.be/en/security/ad/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ad/</guid><description>&lt;p&gt;&lt;strong&gt;Active Directory (AD)&lt;/strong&gt; is Microsoft&amp;rsquo;s enterprise directory and identity platform, first released with Windows 2000 and now the dominant identity provider in enterprise environments worldwide. It combines four technologies into a single integrated system: &lt;strong&gt;LDAP&lt;/strong&gt; as the directory access protocol for querying and modifying identity data; &lt;strong&gt;Kerberos 5&lt;/strong&gt; as the authentication protocol for issuing tickets that prove identity without transmitting passwords; &lt;strong&gt;DNS&lt;/strong&gt; as the service location mechanism that clients use to discover domain controllers, Kerberos KDCs, and LDAP servers; and &lt;strong&gt;Group Policy&lt;/strong&gt; as the configuration management system that pushes security settings, software installation, and policy enforcement to every joined machine. These four components are inseparable in practice: a Linux host joining an AD domain receives a Kerberos principal in AD&amp;rsquo;s KDC, a machine account object in the AD LDAP directory, a DNS record for its hostname, and (optionally) Group Policy Objects applied to it. The AD forest is the trust boundary: multiple domains can exist within a forest and all share a common schema, configuration, and Global Catalog, with transitive Kerberos trust between them.&lt;/p&gt;</description></item><item><title>cert-manager</title><link>https://lesitedefrancois.be/en/security/cert-manager/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/cert-manager/</guid><description>&lt;p&gt;&lt;strong&gt;cert-manager&lt;/strong&gt; is a CNCF graduated project that brings &lt;strong&gt;PKI&lt;/strong&gt; lifecycle management into Kubernetes as a first-class controller, eliminating the manual processes — CSR generation, CA submission, secret rotation, renewal tracking — that cause certificate-related outages in clusters that manage TLS manually. Its premise is that &lt;strong&gt;X.509&lt;/strong&gt; certificates should be declared as Kubernetes resources with the same GitOps-friendly, reconciliation-driven lifecycle as any other workload configuration: an operator declares the desired certificate, cert-manager continuously ensures that a valid, non-expired certificate matching that declaration exists and is stored in a Kubernetes &lt;code&gt;Secret&lt;/code&gt;, and renews it automatically before expiry. The default renewal threshold is two-thirds of the certificate&amp;rsquo;s validity period, so a certificate with a 90-day lifetime is renewed at 60 days without operator intervention.&lt;/p&gt;</description></item><item><title>CRL (Certificate Revocation List)</title><link>https://lesitedefrancois.be/en/security/crl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/crl/</guid><description>&lt;p&gt;&lt;strong&gt;A Certificate Revocation List (CRL)&lt;/strong&gt; is a signed data structure, published by a &lt;strong&gt;Certificate Authority&lt;/strong&gt; as part of its &lt;strong&gt;PKI&lt;/strong&gt; operations, that lists the serial numbers of &lt;strong&gt;X.509&lt;/strong&gt; certificates the CA has revoked before their scheduled expiry date. A CA revokes a certificate when its private key is compromised, the subject&amp;rsquo;s identity information changes, the certificate was mis-issued, or the subject is no longer authorised. Without revocation, a compromised certificate remains trusted by all verifiers until it expires — which for long-lived CA and infrastructure certificates can be years. The CRL is the oldest revocation mechanism, defined in RFC 5280 alongside the X.509 v3 certificate format, and remains widely deployed for CA certificates, code signing certificates, and client certificates in contexts where &lt;strong&gt;OCSP&lt;/strong&gt; is impractical.&lt;/p&gt;</description></item><item><title>ECC (Elliptic Curve Cryptography)</title><link>https://lesitedefrancois.be/en/security/ecc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ecc/</guid><description>&lt;p&gt;&lt;strong&gt;Elliptic Curve Cryptography (ECC)&lt;/strong&gt; is a family of public-key cryptographic algorithms built on the mathematics of elliptic curves over finite fields. Its security rests on the &lt;strong&gt;Elliptic Curve Discrete Logarithm Problem (ECDLP)&lt;/strong&gt;: given a public point &lt;code&gt;Q = k × G&lt;/code&gt; on a curve (where &lt;code&gt;G&lt;/code&gt; is a fixed base point and &lt;code&gt;k&lt;/code&gt; is the private key scalar), recovering &lt;code&gt;k&lt;/code&gt; from &lt;code&gt;Q&lt;/code&gt; and &lt;code&gt;G&lt;/code&gt; is computationally infeasible on classical computers. The practical advantage over &lt;strong&gt;RSA&lt;/strong&gt; is dramatic key size efficiency: a 256-bit ECC key provides roughly the same classical security as a 3072-bit RSA key, because the best known classical algorithms for ECDLP (Pollard&amp;rsquo;s rho) are exponential whereas the best RSA algorithms (GNFS) are sub-exponential. This size difference has compounding benefits — smaller keys mean faster operations, smaller certificates, smaller TLS handshake messages, and lower power consumption on constrained devices. ECC is now the dominant choice for all new asymmetric cryptography deployments: TLS 1.3 mandates ECDHE for key exchange, and ECDSA or EdDSA for authentication; SSH defaults to Ed25519; code signing infrastructure increasingly uses ECDSA P-256 or Ed25519.&lt;/p&gt;</description></item><item><title>ECDSA (Elliptic Curve Digital Signature Algorithm)</title><link>https://lesitedefrancois.be/en/security/ecdsa/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ecdsa/</guid><description>&lt;p&gt;&lt;strong&gt;ECDSA (Elliptic Curve Digital Signature Algorithm)&lt;/strong&gt; is the elliptic curve analogue of DSA, standardised in FIPS 186 and the IETF, that produces digital signatures using a private key and verifies them with the corresponding public key. It is the most widely deployed signature algorithm in &lt;strong&gt;X.509&lt;/strong&gt; certificates (P-256 with SHA-256 is the default for certificate authorities issuing TLS certificates), in code signing (Authenticode, macOS, Linux package signing), in TLS 1.3 certificate authentication, in SSH host keys and user keys (though Ed25519 is increasingly preferred), and in blockchain and cryptocurrency systems. An ECDSA signature over a message &lt;code&gt;m&lt;/code&gt; with private key &lt;code&gt;d&lt;/code&gt; on curve with base point &lt;code&gt;G&lt;/code&gt; produces a pair &lt;code&gt;(r, s)&lt;/code&gt;, where &lt;code&gt;r&lt;/code&gt; is the x-coordinate of an ephemeral public key &lt;code&gt;k × G&lt;/code&gt; and &lt;code&gt;s&lt;/code&gt; encodes the relationship between the message hash, &lt;code&gt;r&lt;/code&gt;, the private key &lt;code&gt;d&lt;/code&gt;, and the nonce &lt;code&gt;k&lt;/code&gt;. Verification requires only the public key &lt;code&gt;Q = d × G&lt;/code&gt; and is fast; signing requires the private key and a nonce.&lt;/p&gt;</description></item><item><title>FIDO (Fast IDentity Online) / FIDO2</title><link>https://lesitedefrancois.be/en/security/fido/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/fido/</guid><description>&lt;p&gt;&lt;strong&gt;FIDO2&lt;/strong&gt; is the current generation of authentication standards produced jointly by the &lt;strong&gt;FIDO Alliance&lt;/strong&gt; and the &lt;strong&gt;W3C&lt;/strong&gt;, combining two specifications: &lt;strong&gt;WebAuthn&lt;/strong&gt; (Web Authentication API, W3C Level 3, 2025) and &lt;strong&gt;CTAP2&lt;/strong&gt; (Client to Authenticator Protocol 2, FIDO Alliance). Its defining security property is &lt;strong&gt;origin binding&lt;/strong&gt;: every FIDO2 credential is generated and used with a cryptographic binding to the specific Relying Party ID (RP ID — typically the registering domain&amp;rsquo;s origin) encoded into every authentication assertion. An authenticator will refuse to produce an assertion for &lt;code&gt;evil.com&lt;/code&gt; using a credential registered with &lt;code&gt;bank.com&lt;/code&gt;, even if the phishing site presents an identical login page and intercepts the WebAuthn call — the origin check is enforced inside the authenticator, not in JavaScript, and cannot be bypassed by a man-in-the-middle who controls the network or the browser DOM. This property is what makes FIDO2 &lt;strong&gt;phishing-resistant&lt;/strong&gt; by construction, whereas TOTP, SMS OTP, and push-notification MFA are all interceptable by a real-time phishing proxy. FIDO2 is the direct successor to FIDO U2F (Universal 2nd Factor), which provided phishing resistance as a second factor only; FIDO2 extends the model to full passwordless primary authentication.&lt;/p&gt;</description></item><item><title>HSM (Hardware Security Module)</title><link>https://lesitedefrancois.be/en/security/hsm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/hsm/</guid><description>&lt;p&gt;A &lt;strong&gt;Hardware Security Module (HSM)&lt;/strong&gt; is a purpose-built, tamper-resistant hardware device that holds cryptographic keys and performs cryptographic operations — signing, encryption, decryption, random number generation — entirely within its own protected boundary. The defining property is that private keys generated inside an HSM never exist in plaintext outside it: operations that need the key are sent into the HSM and the result is returned, but the key material itself cannot be extracted. This property is enforced both logically (the firmware refuses export in plaintext) and physically (the device detects and responds to tampering by erasing key material before an attacker can read it). HSMs come in several physical forms: network-attached appliances (rack-mounted devices accessed over the network by many clients), PCIe cards (embedded in a server), and compact USB devices for lower-throughput use cases like protecting CA root keys offline.&lt;/p&gt;</description></item><item><title>LDAP (Lightweight Directory Access Protocol)</title><link>https://lesitedefrancois.be/en/security/ldap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ldap/</guid><description>&lt;p&gt;&lt;strong&gt;LDAP (Lightweight Directory Access Protocol)&lt;/strong&gt; is a client-server protocol for accessing and modifying a &lt;strong&gt;directory service&lt;/strong&gt;: a specialised database optimised for read-heavy, hierarchically-organised identity data. It was derived from the X.500 directory standard in the early 1990s, stripping out OSI transport dependencies to run over TCP/IP, and standardised in its current form in RFC 4511 (LDAPv3, 2006). A directory in the LDAP sense is not a general-purpose database — it is a tree of &lt;strong&gt;entries&lt;/strong&gt; (also called objects), each identified by a &lt;strong&gt;Distinguished Name (DN)&lt;/strong&gt; that encodes its position in the hierarchy: &lt;code&gt;cn=alice,ou=users,dc=example,dc=com&lt;/code&gt;. Each entry is an instance of one or more &lt;strong&gt;object classes&lt;/strong&gt; (defined in a &lt;strong&gt;schema&lt;/strong&gt;), and each object class defines a set of mandatory and optional &lt;strong&gt;attributes&lt;/strong&gt; — typed, multi-valued fields such as &lt;code&gt;uid&lt;/code&gt;, &lt;code&gt;cn&lt;/code&gt; (common name), &lt;code&gt;mail&lt;/code&gt;, &lt;code&gt;userPassword&lt;/code&gt;, &lt;code&gt;memberOf&lt;/code&gt;, &lt;code&gt;sshPublicKey&lt;/code&gt;, &lt;code&gt;objectClass&lt;/code&gt;, and &lt;code&gt;userCertificate&lt;/code&gt;. The schema is extensible: LDAP servers ship with standard schema files (RFC 2307 for POSIX users and groups, RFC 4519 for person entries) and organisations add custom schema for application-specific attributes. The tree structure makes hierarchical policy delegation natural — all objects under &lt;code&gt;ou=engineering,dc=example,dc=com&lt;/code&gt; can be administered by a different set of ACL rules than objects under &lt;code&gt;ou=ops&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>ML-DSA (Module-Lattice-Based Digital Signature Algorithm)</title><link>https://lesitedefrancois.be/en/security/ml-dsa/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ml-dsa/</guid><description>&lt;p&gt;&lt;strong&gt;ML-DSA (Module-Lattice-Based Digital Signature Algorithm)&lt;/strong&gt;, standardised as &lt;strong&gt;NIST FIPS 204&lt;/strong&gt; in August 2024, is the primary post-quantum replacement for digital signatures. It replaces &lt;strong&gt;ECDSA&lt;/strong&gt;, &lt;strong&gt;EdDSA&lt;/strong&gt;, and &lt;strong&gt;RSA&lt;/strong&gt; PSS/PKCS#1 signatures in &lt;strong&gt;X.509&lt;/strong&gt; certificates, code signing, TLS client and server authentication, SSH, JWT signing, and any other context where a party proves possession of a private key by producing a signature that others verify with the public key. ML-DSA is derived from CRYSTALS-Dilithium, the submission that won NIST&amp;rsquo;s lattice-based signature selection, and its security rests on the &lt;strong&gt;Module Learning With Errors (MLWE)&lt;/strong&gt; and &lt;strong&gt;Module Short Integer Solution (MSIS)&lt;/strong&gt; problems — the same mathematical family as &lt;strong&gt;ML-KEM&lt;/strong&gt;, which is significant because both algorithms can share implementation code and hardware acceleration for the underlying polynomial arithmetic (NTT, number-theoretic transform).&lt;/p&gt;</description></item><item><title>OCSP (Online Certificate Status Protocol)</title><link>https://lesitedefrancois.be/en/security/ocsp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ocsp/</guid><description>&lt;p&gt;&lt;strong&gt;OCSP (Online Certificate Status Protocol)&lt;/strong&gt;, standardised in RFC 6960, is a request-response protocol that allows a verifier to query an &lt;strong&gt;OCSP responder&lt;/strong&gt; — a service operated by the &lt;strong&gt;CA&lt;/strong&gt; or a delegated party — for the current revocation status of a specific &lt;strong&gt;X.509&lt;/strong&gt; certificate. Where a &lt;strong&gt;CRL&lt;/strong&gt; requires downloading an entire list and searching it locally, an OCSP query asks about exactly one certificate and receives a signed response: &lt;code&gt;good&lt;/code&gt; (the certificate is currently valid and not revoked), &lt;code&gt;revoked&lt;/code&gt; (revoked, with the revocation time and reason), or &lt;code&gt;unknown&lt;/code&gt; (the responder does not know this certificate). The OCSP response is signed by the CA&amp;rsquo;s OCSP signing key (or a dedicated OCSP responder key with the &lt;code&gt;id-pkix-ocsp-nocheck&lt;/code&gt; extension, exempt from its own revocation checking to prevent circularity) and carries a &lt;code&gt;thisUpdate&lt;/code&gt; and &lt;code&gt;nextUpdate&lt;/code&gt; timestamp defining its freshness window. Verifiers in strict mode reject responses outside the freshness window; in practice, OCSP responses are valid for 24 hours to 7 days depending on the CA&amp;rsquo;s policy, meaning OCSP shares CRL&amp;rsquo;s staleness problem, albeit with a smaller window.&lt;/p&gt;</description></item><item><title>OpenPGP / GPG</title><link>https://lesitedefrancois.be/en/security/gpg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/gpg/</guid><description>&lt;p&gt;&lt;strong&gt;OpenPGP&lt;/strong&gt; is an open standard for encryption and digital signatures of arbitrary data, defined in RFC 4880 (2007) and substantially revised in RFC 9580 (2024, adding Ed25519, X25519, and modern AEAD encryption). &lt;strong&gt;GnuPG (GPG)&lt;/strong&gt; is the dominant open-source implementation, maintained by Werner Koch and the GnuPG project, and the tool most users interact with. OpenPGP predates the &lt;strong&gt;PKI&lt;/strong&gt;/CA model and takes a fundamentally different approach to trust: rather than a hierarchy of certificate authorities that users must trust transitively, OpenPGP uses a &lt;strong&gt;Web of Trust&lt;/strong&gt; in which individual users sign each other&amp;rsquo;s public keys, and trust is established through chains of personal endorsements. In the Web of Trust model, Alice trusts Bob&amp;rsquo;s key because she verified it in person and signed it; Carol trusts Bob&amp;rsquo;s key because Alice (whom Carol trusts) signed it. This decentralised, peer-to-peer trust model made sense for email encryption between individuals who could meet at key-signing parties, but does not scale to automated infrastructure verification, which is why OpenPGP&amp;rsquo;s role in modern infrastructure is primarily &lt;strong&gt;supply chain signing&lt;/strong&gt; — package repositories, Git commits, and release artifacts — rather than interactive authentication.&lt;/p&gt;</description></item><item><title>OpenSSL</title><link>https://lesitedefrancois.be/en/security/openssl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/openssl/</guid><description>&lt;p&gt;&lt;strong&gt;OpenSSL&lt;/strong&gt; is an open-source cryptographic library and command-line toolkit, originally derived from SSLeay in 1998 and now governed by the OpenSSL Software Foundation under an Apache 2.0 licence (since version 3.0). It is the default cryptographic substrate for the majority of Linux server software: Apache httpd, nginx, curl, wget, PostgreSQL, MySQL, Postfix, OpenLDAP, and hundreds of other projects link against &lt;code&gt;libssl&lt;/code&gt; and &lt;code&gt;libcrypto&lt;/code&gt; by default. It implements &lt;strong&gt;TLS&lt;/strong&gt; (all versions from 1.2 through 1.3), &lt;strong&gt;X.509&lt;/strong&gt; certificate parsing and validation, &lt;strong&gt;PKI&lt;/strong&gt; operations (CSR generation, certificate signing, CRL and OCSP processing), and the full range of cryptographic primitives — symmetric ciphers (AES-GCM, ChaCha20-Poly1305), &lt;strong&gt;hash functions&lt;/strong&gt; (SHA-2, SHA-3, SHAKE), &lt;strong&gt;RSA&lt;/strong&gt;, &lt;strong&gt;ECC&lt;/strong&gt; (ECDSA, ECDH, Ed25519, X25519), HMAC, HKDF, and key derivation functions. The library has two primary components: &lt;code&gt;libcrypto&lt;/code&gt;, the algorithm library, and &lt;code&gt;libssl&lt;/code&gt;, the TLS protocol layer built on top of it. The &lt;code&gt;openssl&lt;/code&gt; command-line tool exposes both as a single swiss-army interface for certificate management, key generation, encryption, hashing, benchmarking, and protocol testing.&lt;/p&gt;</description></item><item><title>PKI (Public Key Infrastructure)</title><link>https://lesitedefrancois.be/en/security/pki/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/pki/</guid><description>&lt;p&gt;&lt;strong&gt;Public Key Infrastructure (PKI)&lt;/strong&gt; is the framework that makes asymmetric cryptography operationally useful at scale. Asymmetric cryptography provides a mathematical relationship between a public key and a private key, but by itself it cannot answer the question a relying party cares about: &lt;em&gt;whose&lt;/em&gt; public key is this? PKI answers that question by introducing a trusted third party — the &lt;strong&gt;Certificate Authority (CA)&lt;/strong&gt; — that cryptographically binds a public key to an identity (a hostname, an organisation name, an email address, a SPIFFE ID) by signing a certificate. A relying party that trusts the CA can therefore trust any certificate the CA signs, without needing to know the subject directly. The chain of trust extends recursively: a &lt;strong&gt;Root CA&lt;/strong&gt; signs &lt;strong&gt;Intermediate CA&lt;/strong&gt; certificates, which sign &lt;strong&gt;end-entity certificates&lt;/strong&gt; (also called leaf certificates). Root CA private keys are kept offline in &lt;strong&gt;HSMs&lt;/strong&gt; and used rarely; intermediate CAs handle day-to-day issuance and can be revoked without rotating the root. The set of root CA certificates a system trusts is its &lt;strong&gt;trust store&lt;/strong&gt; — browsers and operating systems ship with a pre-populated trust store of publicly-trusted roots, while private PKIs use custom roots distributed by administrators.&lt;/p&gt;</description></item><item><title>PQC (Post-Quantum Cryptography)</title><link>https://lesitedefrancois.be/en/security/pqc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/pqc/</guid><description>&lt;p&gt;&lt;strong&gt;Post-Quantum Cryptography (PQC)&lt;/strong&gt; is the set of cryptographic algorithms designed to resist attacks from a &lt;strong&gt;Cryptographically Relevant Quantum Computer (CRQC)&lt;/strong&gt; — a quantum computer large and stable enough to run Shor&amp;rsquo;s algorithm at scale. Shor&amp;rsquo;s algorithm can solve the integer factorisation and discrete logarithm problems that underpin RSA, ECDSA, and ECDH in polynomial time, meaning that every asymmetric algorithm in wide use today — TLS key exchange, X.509 certificate signatures, SSH host keys, code signing, and encrypted email — becomes trivially breakable by a CRQC. Symmetric algorithms (AES, SHA-256) are substantially less affected: Grover&amp;rsquo;s algorithm provides only a quadratic speedup against them, which is mitigated by doubling key lengths (AES-256 remains appropriate). PQC replaces the asymmetric primitives only, on hard mathematical problems for which no efficient quantum algorithm is known: &lt;strong&gt;structured lattices&lt;/strong&gt; (the Learning With Errors and Module-LWE problems), &lt;strong&gt;hash functions&lt;/strong&gt; (the security of SHA-3 family variants), and &lt;strong&gt;error-correcting codes&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>RSA (Rivest–Shamir–Adleman)</title><link>https://lesitedefrancois.be/en/security/rsa/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/rsa/</guid><description>&lt;p&gt;&lt;strong&gt;RSA (Rivest–Shamir–Adleman)&lt;/strong&gt;, published in 1977, was the first widely adopted public-key cryptosystem and for decades the most deployed asymmetric algorithm in existence. Its security rests on the &lt;strong&gt;integer factorisation problem&lt;/strong&gt;: given a public modulus &lt;code&gt;n = p × q&lt;/code&gt; (the product of two large primes), recovering &lt;code&gt;p&lt;/code&gt; and &lt;code&gt;q&lt;/code&gt; is computationally infeasible on classical computers for sufficiently large &lt;code&gt;n&lt;/code&gt;. The public key is the pair &lt;code&gt;(n, e)&lt;/code&gt; and the private key is &lt;code&gt;(n, d)&lt;/code&gt;, where &lt;code&gt;e&lt;/code&gt; and &lt;code&gt;d&lt;/code&gt; are related by the modular arithmetic of Euler&amp;rsquo;s totient function. RSA enables two operations: &lt;strong&gt;encryption&lt;/strong&gt; (the sender uses the public key to encrypt a message that only the private key holder can decrypt) and &lt;strong&gt;signing&lt;/strong&gt; (the private key holder produces a signature that anyone with the public key can verify). In practice, RSA encryption is used almost exclusively for &lt;strong&gt;key encapsulation&lt;/strong&gt; — encrypting a randomly generated symmetric key — rather than encrypting arbitrary data directly, both because RSA is slow and because direct RSA encryption of large messages requires padding schemes that are historically error-prone.&lt;/p&gt;</description></item><item><title>Sigstore</title><link>https://lesitedefrancois.be/en/security/sigstore/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/sigstore/</guid><description>&lt;p&gt;&lt;strong&gt;Sigstore&lt;/strong&gt; is an OpenSSF project, initiated by Google, Red Hat, and Purdue University, that provides a free public-good infrastructure for cryptographically signing software artifacts — container images, binaries, SBOMs, attestations — without the operational burden of managing long-lived private keys. Its founding insight is that the two hardest problems in code signing are key management (generating, protecting, distributing, rotating, and revoking signing keys across thousands of developers and CI pipelines) and signature discoverability (how does a verifier find and trust the correct public key for an artifact it has never seen before). Sigstore solves both by eliminating long-lived keys entirely: every signing operation generates a fresh ephemeral key pair, uses it once, discards the private key, and records the event in a public transparency log — replacing &amp;ldquo;do you trust this key?&amp;rdquo; with &amp;ldquo;do you trust this identity at this moment in time?&amp;rdquo;.&lt;/p&gt;</description></item><item><title>SSH (Secure Shell)</title><link>https://lesitedefrancois.be/en/security/ssh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ssh/</guid><description>&lt;p&gt;&lt;strong&gt;SSH (Secure Shell)&lt;/strong&gt; is a cryptographic protocol, standardised in RFC 4251–4254, that provides a secure channel over an unsecured network for remote login, remote command execution, file transfer (via SFTP and SCP), and general TCP port forwarding. It replaced the plaintext protocols it was designed to obsolete — Telnet, rlogin, rsh, rcp — by providing mutual authentication and full session encryption. SSH is the universal administrative access mechanism for Linux servers, network devices, and embedded systems, and the transport layer for Git over SSH, Ansible, Fabric, and most configuration management tooling. The protocol stack has three layers: &lt;strong&gt;SSH-TRANS&lt;/strong&gt; (the transport layer — handles the initial key exchange, server authentication, and establishes the encrypted channel), &lt;strong&gt;SSH-AUTH&lt;/strong&gt; (the authentication protocol — authenticates the client to the server using one of several methods), and &lt;strong&gt;SSH-CONN&lt;/strong&gt; (the connection protocol — multiplexes the encrypted channel into multiple logical channels for sessions, port forwards, and X11 forwarding).&lt;/p&gt;</description></item><item><title>TLS (Transport Layer Security)</title><link>https://lesitedefrancois.be/en/security/tls/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/tls/</guid><description>&lt;p&gt;&lt;strong&gt;TLS (Transport Layer Security)&lt;/strong&gt; is the protocol that establishes an encrypted, integrity-protected, and authenticated channel between two parties over an untrusted network. It is the successor to SSL (which is deprecated and broken) and the mechanism behind HTTPS, gRPC, LDAPS, SMTPS, database connections, and most other encrypted transport in modern infrastructure. The current version is &lt;strong&gt;TLS 1.3&lt;/strong&gt; (RFC 8446, 2018); TLS 1.2 remains in wide use but TLS 1.0 and 1.1 are deprecated by RFC 8996. The fundamental security properties TLS provides are: &lt;strong&gt;confidentiality&lt;/strong&gt; (a passive observer cannot read the session content), &lt;strong&gt;integrity&lt;/strong&gt; (an active attacker cannot modify session content without detection), and &lt;strong&gt;server authentication&lt;/strong&gt; (the client can verify it is talking to the intended server rather than an impersonator). Client authentication is optional in standard TLS and is provided by &lt;strong&gt;mTLS&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Vault (HashiCorp Vault)</title><link>https://lesitedefrancois.be/en/security/vault/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/vault/</guid><description>&lt;p&gt;&lt;strong&gt;HashiCorp Vault&lt;/strong&gt; is a secrets management platform designed to replace the pattern of static, long-lived credentials scattered across configuration files, environment variables, and CI pipelines with a centralised, policy-enforced, fully audited secrets API. Its core abstraction is that every secret has an identity (a path), an owner (determined by an auth method), a policy (an HCL &lt;code&gt;HashiCorp Configuration Language&lt;/code&gt; document granting access to specific paths), and a lease (a TTL after which the secret expires or must be renewed). Nothing in Vault is persistent by default — every access is authenticated, every secret access is logged to an immutable audit trail, and credentials that are no longer needed expire automatically rather than accumulating indefinitely.&lt;/p&gt;</description></item><item><title>X.509</title><link>https://lesitedefrancois.be/en/security/x509/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/x509/</guid><description>&lt;p&gt;&lt;strong&gt;X.509&lt;/strong&gt; is the ITU-T standard (first published in 1988, currently at version 3) that defines the structure of a &lt;strong&gt;digital certificate&lt;/strong&gt;: a signed data structure that binds a public key to an identity and a set of constraints, issued by a Certificate Authority whose signature vouches for the binding. It is the near-universal format for certificates in &lt;strong&gt;PKI&lt;/strong&gt;, &lt;strong&gt;TLS&lt;/strong&gt;, code signing, S/MIME encrypted email, SPIFFE X.509-SVIDs, and SSH host certificates. When someone refers to a TLS certificate, a CA certificate, or a code-signing certificate, they are referring to an X.509 certificate. The format is defined using ASN.1 (Abstract Syntax Notation One) and most commonly serialised as &lt;strong&gt;DER&lt;/strong&gt; (Distinguished Encoding Rules, binary) or &lt;strong&gt;PEM&lt;/strong&gt; (base64-wrapped DER with &lt;code&gt;-----BEGIN CERTIFICATE-----&lt;/code&gt; headers, the format seen in most configuration files).&lt;/p&gt;</description></item></channel></rss>