Objectifs
Comprendre l'urgence defaire
progresser la cryptographie
quantique
Explorer les solutions et les norms
de sécurité
Utilisez la sécurité JDK pour créer
des applications résilientes
4.
Pourquoi est lacryptographie
quantique importante aujourd’hui ?
5.
Incident impliquant vosinformations personnelles
We’re writing to inform you that some of your personal data shared with one of our
contractors was involved in a recent security incident.
The data was encrypted using industry-standard cryptographic methods. While the
encrypted files were accessed by an unauthorized party, they remain
undecipherable.
We are actively investigating and reinforcing our systems for added protection.
You do not need to take any action at this time, but we remain available for any
questions.
6.
Les mathématiques derrièrela cryptographie
moderne (ECC)
La cryptographie à courbes elliptiques (ECC) est
une approche cryptographique moderne basée sur la
structure algébrique des courbes elliptiques sur des
corps finis.
Elliptic Curve
Equation
y2=x3+ax+b mod p
where a,b∈𝐹p and
4a3+27b2≠0
Finite Fields
(Fp)
operations are
done modulo a
prime p
Point Addition
Scalar
Multiplication
7.
La cryptographie àcourbes elliptiques (ECC) est
une approche cryptographique moderne basée sur la
structure algébrique des courbes elliptiques sur des
corps finis.
Elliptic Curve
Equation
y2=x3+ax+b mod p
where a,b∈𝐹p and
4a3+27b2≠0
Finite Fields
(Fp)
operations are
done modulo a
prime p
Point Addition
given
points P and Q on
the curve,
define R=P+Q with
algebraic rules
Scalar
Multiplication
the basis of
ECC key
exchange and
signatures
Les mathématiques derrière la cryptographie
moderne (ECC)
8.
Applications cryptographiques
Clés pluspetites: 256-
bit ECC ≈ 3072-bit
RSA
Des calculs plus
rapides et une
utilisation réduite des
ressources
ECDSA
Elliptic Curve Digital
Signature Algorithm
ECDH
Elliptic Curve Diffie-Hellman for
Secure Key Exchange
Cryptographie basée surles reseaux modulaires
Reseaux (lattice): est une grille discrète de points dans ℝn, définie comme des combinaisons
entières de vecteurs linéairement indépendants.
Reseaux modulaires (module lattice): généralise ceci sur des anneaux de polynômes.
Les KEM basés sur des réseaux s'appuient sur des problèmes mathématiques tels que
l'apprentissage avec erreurs ou l'apprentissage en anneau avec erreurs.
Ce sont des problèmes NP-difficiles pour les ordinateurs quantiques.
13.
Normes de sécuritéavant-gardistes
Une norme de chiffrement général,
basée sur ML-KEM
La principale norme de protection des signatures
numériques, basée sur ML-DSA
Source: https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards
14.
Amélioration de lasécurité du JDK
JEP 452: Key Encapsulation Mechanism API
JDK 21
• JEP 478: Key Derivation Function API (Preview)
• JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism
• JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm
JEP 510: Key Derivation Function API
JDK 25
JDK 24
15.
La sécurité dusystème doit évoluer
Source: https://media.defense.gov/2022/Sep/07/2003071836/-1/-1/0/CSI_CNSA_2.0_FAQ_.PDF
Hybrid Public KeyEncryption (HPKE)
Une nouvelle norme de cryptage à clé
publique qui permet à un expéditeur de crypter
des messages de longueur arbitraire sous la clé
publique d’un destinataire.
Peut être utilisé pour une communication
sécurisée pré-quantique ou post-quantique.
18.
Stratégie en couchespour la sécurité quantique
“HPKE works for any combination of an asymmetric KEM, key
derivation function (KDF), and authenticated encryption with additional
data (AEAD) encryption function.”
Source: RFC 9180 on Hybrid Public Key Encryption
19.
Adopter HPKE enJava via KEM (1)
Receiver
Public Key
Receiver
Private Key
Sender Receiver
KeyGen
API KeyPairGenerator
20.
Adopter HPKE enJava via KEM (2)
Encapsulation
Receiver
Public Key
Receiver
Private Key
Sender Receiver
21.
Adopter HPKE enJava via KEM (3)
Encapsulation
Receiver
Public Key
Receiver
Private Key
Sender Receiver
Encapsulated Shared Secret
22.
Adopter HPKE enJava via KEM (4)
Encapsulation Decapsulation
Receiver
Public Key
Receiver
Private Key
Sender Receiver
Encapsulated Shared Secret
23.
De KEM àla fonction de dérivation de clé
Chaque fonction de dérivation de clé comporte deux opérations fondamentales.
Instanciation et initialisation via
KDF::getInstance
Dérivation, qui accepte le matériel clé, d'autres entrées et paramètres
facultatifs pour décrire la sortie, puis génère la clé dérivée
(KDF::deriveKey) ou des données(KDF::deriveData).
Key Derivation Function API (KDF) via la classe javax.crypto.KDF et trois sous-classes HKDFParameterSpec.
Informations importantes surles certificats X.509
# activez les options dans votre fichier de configuration JFR
<event name="jdk.X509Certificate">
<setting name="enabled">true</setting>
<setting name="stackTrace">true</setting>
</event>
<event name="jdk.X509Validation">
<setting name="enabled">true</setting>
<setting name="stackTrace">true</setting>
</event>
# ou exécutez la commande jfr configure dans une fenêtre de terminal
$JAVA_HOME/bin/jfr configure jdk.X509Certificate#enabled=true
jdk.X509Validation#enabled=true
30.
N'oubliez pas desupprimer les données sensibles
• Filtrer les données du fichier d’enregistrement spécifié.
jfr scrub [filters] [recording-file] [output-file]
• Indiquez les événements à inclure.
jfr scrub --include-events jdk.X509Certificate,jdk.X509Validation rec.jfr
• Inclure une catégorie et exclure des événements.
jfr scrub --include-categories Security --exclude-events jdk.X509Validation rec.jfr
• Supprimer tous les événements par catégorie: jfr scrub --exclude-categories Security rec.jfr
31.
Quelle est laprochaine étape pour vous ?
Auditez vos actifs chiffrés.
Prenez soin de votre application en la mettant à jour vers un JDK
recent.
Ne présumez pas que crypté = sûr (pour toujours)
32.
Ne manquez pasla suite!
inside.java
dev.java youtube.com/java