Summary of Digital Signatures, PKI, and Cryptographic Protocols
Digital Signatures, PKI, & Cryptographic Protocols Explained
Introduction
Authentication is the process of verifying the identity of an entity (user, device, or process) before granting access or establishing trust. In networked systems and cryptographic protocols, authentication is essential to prevent impersonation, replay attacks, and man-in-the-middle attacks. This guide explains practical authentication methods, key establishment techniques, time-variant parameters, and common pitfalls.
Definition: Authentication is the process of proving or verifying an identity to another entity using credentials, cryptographic proofs, or other mechanisms.
1. Levels of Entity Authentication
Authentication can be classified by strength and mechanism. The three principal levels are:
1. Weak secret
- Uses human-memorable secrets (passwords, PINs).
- Vulnerable to brute-force and guessing attacks.
- Easy to replay if not protected by additional freshness mechanisms.
Definition: Weak secret refers to credentials that are short, predictable, or user-chosen and therefore susceptible to brute-force or guess attacks.
2. Challenge-Response with Cryptographic Keys
- Most common in protocols: the verifier sends a challenge, the prover responds using a secret key.
- Requires that keys be stored securely (often decrypted for use).
- Many implementation and parameterization mistakes can weaken security (nonce reuse, bad randomness, weak key storage).
Example: Verifier B sends nonce $N_B$ to A. A computes $M = ext{MAC}{K{AB}}(N_B)$ and sends $M$ back. B verifies.
Definition: Challenge-response is a protocol where a verifier issues a challenge (typically a nonce) and the prover returns a cryptographic response proving knowledge of a secret.
3. Zero-knowledge proofs
- Prover convinces verifier they know a secret without revealing it.
- Strong in theory, complex in practice; less common historically but resurging with cryptocurrencies and smart contracts.
Definition: A zero-knowledge proof is a method by which one party proves to another that a statement is true without revealing any additional information beyond the validity of the statement.
2. Key Establishment Methods
Key establishment is how two or more parties agree on a shared cryptographic key.
Key transport (simple public-key encrypted session key)
- One party generates a session key $K$ and sends it encrypted to the recipient using the recipients public key. Optionally the sender signs to authenticate.
- Example message patterns:
- With signature scheme supporting message recovery: A \u2192 B: $P_B\big( S_A(\text{"B"}, K, t_A) \big)$ where $P_B$ denotes encryption to B, $S_A$ denotes a signature by A, and $t_A$ is a time value.
- With signature scheme with appendix: A \u2192 B: $P_B\big(K, t_A\big),; S_A\big(\text{"B"}, K, t_A\big)$
- Note: If signature scheme does not support message recovery, the recipient cannot obtain $K$ from a signature alone; the encrypted part must carry $K$.
Definition: Key transport is a key establishment method where one party generates the session key and securely delivers it to others.
Key agreement (Diffie-Hellman)
- Both parties contribute entropy and compute a common key without sending it directly.
- Classic Diffie-Hellman example: Alice picks secret $a$, Bob picks secret $b$, public base $g$ and prime $p$. They exchange $g^a\bmod p$ and $g^b\bmod p$ and each computes the shared key $g^{ab}\bmod p$.
$$ ext{Alice computes }A = g^a \bmod p$$ $$ ext{Bob computes }B = g^b \bmod p$$ $$ ext{Shared key } = g^{ab} \bmod p$$
Definition: Key agreement is a method where parties jointly derive a shared secret so that no single party controls the entire secret.
Already have an account? Sign in
Authentication Essentials
Klíčová slova: Public Key Infrastructure, Authentication, eIDAS
Klíčové pojmy: Authentication verifies identity before trust is granted, Weak secrets are vulnerable to brute-force and replay, Challenge-response uses nonces and cryptographic keys for proof, Zero-knowledge proofs prove knowledge without revealing secrets, Key transport sends an encrypted session key from sender to recipient, Diffie-Hellman is a key agreement where both parties derive $g^{ab}\bmod p$, Nonces must be unpredictable, long, and never reused, Timestamps require synchronized clocks but provide timeliness, Sequence numbers ensure uniqueness and ordering without unpredictability, MITM attacks exploit lack of authentication in key exchange, Secure key storage and good randomness are essential, Combine authentication with authenticated key agreement to prevent MITM