<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vpn on Le Site de François</title><link>https://lesitedefrancois.be/en/tags/vpn/</link><description>Recent content in Vpn 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/vpn/index.xml" rel="self" type="application/rss+xml"/><item><title>IPsec (Internet Protocol Security)</title><link>https://lesitedefrancois.be/en/security/ipsec/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/ipsec/</guid><description>&lt;p&gt;&lt;strong&gt;IPsec (Internet Protocol Security)&lt;/strong&gt; is a suite of IETF standards (core specification RFC 4301) that adds cryptographic security to IP packets at the network layer, transparently to applications running above it. Where &lt;strong&gt;TLS&lt;/strong&gt; secures a specific connection between two application endpoints, IPsec secures all IP traffic between two hosts or networks — including traffic from applications that have no TLS support, protocols that predate encryption (routing protocols, SNMP, ICMP), and layer-3 metadata that TLS cannot protect. IPsec provides two protocol headers: &lt;strong&gt;AH (Authentication Header, IP protocol 51)&lt;/strong&gt; signs the IP packet including immutable header fields, providing integrity and source authentication without confidentiality — rarely used in modern deployments because NAT rewrites fields that AH covers. &lt;strong&gt;ESP (Encapsulating Security Payload, IP protocol 50)&lt;/strong&gt; encrypts the payload and provides authenticated encryption with AES-GCM or ChaCha20-Poly1305, optionally protecting the inner IP header as well; ESP is the universally deployed choice. Both operate in two modes: &lt;strong&gt;transport mode&lt;/strong&gt; protects only the payload of an existing IP packet (used for host-to-host encryption between endpoints that share routing), and &lt;strong&gt;tunnel mode&lt;/strong&gt; encapsulates the entire original IP packet inside a new one with new source and destination addresses — the basis of VPN gateways where traffic from one network is tunnelled to another through the public internet.&lt;/p&gt;</description></item><item><title>WireGuard</title><link>https://lesitedefrancois.be/en/security/wireguard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/wireguard/</guid><description>&lt;p&gt;&lt;strong&gt;WireGuard&lt;/strong&gt; is a VPN protocol and implementation designed by Jason Donenfeld, merged into the Linux kernel in 5.6 (2020) and subsequently ported to Windows, macOS, iOS, Android, and BSD. Its defining characteristic is &lt;strong&gt;radical simplicity&lt;/strong&gt;: the reference Linux kernel implementation is approximately 4,000 lines of code, compared to tens of thousands for &lt;strong&gt;IPsec&lt;/strong&gt;&amp;rsquo;s XFRM subsystem and hundreds of thousands for OpenVPN. This simplicity is a deliberate security property — a smaller codebase has a smaller attack surface, is easier to audit, and is less likely to contain implementation vulnerabilities. WireGuard achieves this by making every design decision that allows optionality to be eliminated: there is no algorithm negotiation, no handshake negotiation, no cipher suite selection. The cryptographic suite is fixed: &lt;strong&gt;X25519&lt;/strong&gt; for key exchange, &lt;strong&gt;ChaCha20-Poly1305&lt;/strong&gt; for authenticated encryption, &lt;strong&gt;BLAKE2s&lt;/strong&gt; for hashing and key derivation (via a custom HKDF-like construction), and &lt;strong&gt;Curve25519&lt;/strong&gt; for the static key pairs that identify peers. Peers are identified exclusively by their 32-byte Curve25519 public key, making WireGuard a &lt;strong&gt;public-key routed&lt;/strong&gt; VPN: there are no usernames, passwords, certificates, or CAs; access control is entirely a function of which public keys are listed in each peer&amp;rsquo;s configuration.&lt;/p&gt;</description></item></channel></rss>