Criptografia
Les eines que protegeixen les dades: mantenir-les secretes, detectar si algú les ha modificat i saber qui les ha enviat. No depèn dels blocs anteriors i es pot llegir per separat, però els completa: TLS protegeix la comunicació de Sòcols i serveis, i Seguretat fa servir aquestes eines per construir sistemes segurs.
Com llegir aquests documents
Els documents van de la idea al codi, i del codi a l’operació:
- Conceptes. Sense una línia de codi: xifrat simètric i asimètric, intercanvi de claus, resums, signatures, certificats i TLS. Tota la resta en depèn, perquè a Java només canvia com es demana cada operació.
- Xifrar a Java. L’arquitectura JCA: proveïdors, generació de claus, xifrat de dades i de streams, i com convertir dades binàries en text.
- Integritat i autenticitat a Java. Resums, MAC, funcions de derivació de claus i signatures. Responen a preguntes diferents del xifrat: si el missatge ha canviat i qui l’ha enviat.
- Gestió de claus. L’algorisme és públic, i la seguretat depèn només de la clau. Per això cal saber generar-la, guardar-la i destruir-la bé.
- Certificats digitals. Material de consulta sobre què conté un certificat, qui el signa i en quins formats es troba.
flowchart TD
C["Conceptes"] --> J["Criptografia a Java"]
J --> R["Resums, signatures i certificats"]
J --> G["Gestió de claus"]
C --> F["Certificats digitals"]
R --> F
Fonaments
- Conceptes: estats de les dades, xifrat, intercanvi de claus, resums, signatures, certificats i TLS
Criptografia a Java
- Criptografia a Java: l’arquitectura JCA, amb proveïdors, claus, xifrat de dades i de streams, i codificació en text
- Resums, signatures i certificats:
MessageDigest, MAC, funcions de derivació de claus, signatures i ús de certificats a Java - Gestió de claus: generació i destrucció de claus, emmagatzematge i ús de KeyStores
Consulta
- Certificats digitals: què conté un certificat, el paper de l’autoritat de certificació i els formats habituals
Després
Seguretat aplica aquestes eines al disseny d’un sistema: on guardar les contrasenyes, com autenticar els usuaris i com protegir una API.
Itinerari curt
Si no pots llegir-ho tot, aquests tres documents en ordre donen una base suficient per xifrar, resumir i signar dades a Java:
Conceptes → Criptografia a Java → Resums, signatures i certificats
Referències
- Java Security Standard Algorithm Names, JDK 25
- Cryptographic Storage Cheat Sheet
- Security Developer’s Guide, JDK 25 Providers Documentation
- Block cipher mode of operation
- Java Criptography (Jenkov)
- Cryptographic hash function (Wikipedia)
- Public-key cryptography (Wikipedia)
- Java Security 2nd Edition (examples)
- Practical Cryptography for Developers
- Establishing a TLS Connection
- Generating and Verifying Signatures (The Java Tutorials)
- A Deep Dive on End-to-End Encryption: How Do Public Key Encryption Systems Work?
- Java Keytool - Commands and Tutorials
- Java KeyStores - the gory details
- Trusted Timestamping (Wikipedia)
- CyberChef
- Capture The Flag 101
- SideKEK