FIPS 186‑4
FIPS 186‑4 (ang. Federal Information Processing Standard 186‑4) jest amerykańskim standardem wydanym przez NIST, określającym wymagania i zalecenia dotyczące algorytmów cyfrowego podpisu opartego na kryptografii klucza publicznego. Standard ten jest następcą wersji FIPS 186‑3 i został opublikowany w 2013 roku.
Historia
W 2000 roku powstał pierwszy oficjalny dokument FIPS 186 opisujący algorytm DSA. W kolejnych latach standard był wielokrotnie aktualizowany, aby uwzględnić nowe rodzaje funkcji skrótu oraz rozszerzenia długości kluczy. Wersja 4 wprowadziła obsługę funkcji skrótu z rodziny SHA‑2 oraz możliwość stosowania kluczy o długości do 3072 bitów.
Zakres standardu
FIPS 186‑4 definiuje następujące elementy:
- Parametry algorytmu DSA, w tym wielkości liczb pierwszych p, q i generatora g.
- Procedury generowania kluczy prywatnych i publicznych.
- Standardowe długości kluczy: 1024 bit, 2048 bit i 3072 bit.
- Zalecane funkcje skrótu: SHA‑1, SHA‑224, SHA‑256, SHA‑384 oraz SHA‑512.
- Procedury weryfikacji podpisu cyfrowego.
- Zalecenia dotyczące bezpieczeństwa implementacji, w tym unikanie kanałów bocznych.
Struktura podpisu
Podpis generowany zgodnie z FIPS 186‑4 składa się z dwóch liczb całkowitych r i s (elementy pary podpisu DSA), które są kodowane w formacie ASN.1 typu DER. Długość tych liczb zależy od wybranej długości klucza i użytej funkcji skrótu.
PorĂłwnanie z innymi standardami
| Cecha | FIPS 186‑4 (DSA) | RSA | ECDSA |
|---|---|---|---|
| Podstawowa grupa matematyczna | Grupa multiplikatywna modulo p | Moduł RSA (n = p·q) | Krzywa eliptyczna |
| Typ klucza | Klucz publiczny (y) i prywatny (x) | Klucz publiczny (e, n), prywatny (d, n) | Klucz publiczny (Q), prywatny (d) |
| Rozmiar klucza (bit) | 1024, 2048, 3072 | 2048 – 4096 (typowo) | 256, 384, 521 |
| Wymagane funkcje skrótu | SHA‑1, SHA‑224/256/384/512 | SHA‑1, SHA‑2, SHA‑3 | SHA‑2, SHA‑3 |
Zastosowania
Standard FIPS 186‑4 jest szeroko stosowany w:
- Systemach PKI (Public Key Infrastructure) w instytucjach rzÄ…dowych USA.
- Urządzeniach smart‑card oraz tokenach bezpieczeństwa.
- Protokole TLS (w starszych wersjach) oraz w standardzie CMS (Cryptographic Message Syntax).
- Oprogramowaniu spełniającym wymagania bezpieczeństwa określone w FIPS 140‑2.
Krytyka i ograniczenia
Choć FIPS 186‑4 jest wciąż uznawany za bezpieczny, krytycy zwracają uwagę na:
- Znaczny wzrost wymagań obliczeniowych przy kluczach 3072 bit i dłuższych funkcjach skrótu SHA‑512.
- Zalecenie SHA‑1 jako jednego z dopuszczalnych algorytmów, pomimo znanych słabości tego skrótu.
- Konkurencję ze standardem FIPS 186‑5, który wprowadza wsparcie dla algorytmów opartych na krzywych eliptycznych oraz nowych funkcji skrótu.
PowiÄ…zane dokumenty
- FIPS 186‑3 – poprzednia wersja standardu.
- FIPS 186‑5 – najnowsza wersja, obejmująca ECDSA.
- NIST SP 800‑57 – wytyczne dotyczące długości kluczy.
- FIPS 140‑2 – standard zabezpieczeń modułów kryptograficznych.
Bibliografia
- NIST, FIPS 186‑4 – Digital Signature Standard (DSS), 2013.
- M. Katz, J. Lindell, Introduction to Modern Cryptography, 2 ed., 2014.
- J. Hankerson, A. Javitz, A. Lindsey, Guide to Elliptic Curve Cryptography, 2004.