FIPS 180‑4
FIPS 180‑4 (Federal Information Processing Standard Publication 180‑4) jest amerykańskim standardem opisującym rodzinę kryptograficznych funkcji skrótu (hash functions) znanych jako SHA‑1, SHA‑2 oraz SHA‑3. Standard został opracowany i opublikowany przez National Institute of Standards and Technology (NIST) w 2008 roku, zastępując poprzednią wersję FIPS 180‑2.
Historia
Wcześniejsze iteracje standardu pojawiały się w 1995 (FIPS 180) i 2001 (FIPS 180‑2). Rozwój FIPS 180‑4 był odpowiedzią na:
- zidentyfikowane słabości SHA‑1,
- potrzebÄ™ ujednolicenia opisĂłw metod skrĂłtu,
- rosnÄ…ce zapotrzebowanie na algorytmy odporniejsze na ataki kolizyjne.
Publikacja w 2008 roku wprowadziła pełną specyfikację SHA‑2 (SHA‑224, SHA‑256, SHA‑384, SHA‑512, SHA‑512/224, SHA‑512/256) oraz odwołania do późniejszych algorytmów SHA‑3, które zostały zdefiniowane w standardzie FIPS 202.
Struktura standardu
Dokument podzielony jest na następujące części:
- Wprowadzenie – opis celów i zakresu.
- Definicje i skróty – pojęcia używane w kryptografii.
- Opis algorytmów – szczegółowe konstrukcje i parametry.
- Wymagania bezpieczeństwa – zalecenia dotyczące długości wyjścia.
- Procedury testowe – zestawy testów weryfikujących poprawność implementacji.
- Załączniki – przykładowe implementacje oraz odniesienia do literatury.
Algorytmy opisane w FIPS 180‑4
Standard formalizuje trzy rodziny funkcji skrĂłtu:
- SHA‑1 – 160‑bitowy skrót, pierwotnie zaprojektowany w latach 1993. Ze względu na wykryte kolizje jest już niezalecany w nowych systemach.
- SHA‑2 – grupa sześciu algorytmów o różnych długościach wyjścia (224, 256, 384, 512, 224/256 przy użyciu 512‑bitowego stanu). Dostarcza wyższego poziomu bezpieczeństwa niż SHA‑1.
- SHA‑3 – alternatywna konstrukcja oparta na funkcji Keccak, wprowadzona w 2015 roku (formalnie w FIPS 202), ale uwzględniona w FIPS 180‑4 jako zalecany zamiennik w sytuacjach wymagających odporności na speci‑ficzne ataki.
Zastosowania
FIPS 180‑4 oraz jego rodzina skrótów znajdują zastosowanie w:
- Podpisach cyfrowych – np. RSA i ECDSA z użyciem SHA‑256.
- Protokołach wymiany kluczy – TLS, SSH, IPsec.
- Systemach kontroli integralności – Git, Docker (hashowanie identyfikatorów).
- Weryfikacji haseł i przechowywania haseł – w połączeniu z funkcjami klucza pochodnego (PBKDF2).
Krytyka i zastÄ…pienie
Chociaż standard pozostaje podstawą bezpieczeństwa w wielu aplikacjach rządowych USA, krytyka dotyczy głównie:
- Wciąż obowiązującej rekomendacji używania SHA‑1 w niektórych starszych systemach.
- Braku wsparcia dla algorytmów post‑kwantowych – co skłoniło organizacje do przyjęcia projekcji NIST po‑kwantowych.
W praktyce coraz częściej rekomenduje się SHA‑3 lub SHA‑2 o długościach 256 i 384 bitowych, zwłaszcza w nowych implementacjach.
PowiÄ…zane standardy
- FIPS 180‑2 – poprzednik FIPS 180‑4.
- FIPS 202 – definiuje rodzinę SHA‑3.
- SP 800‑107 – wytyczne dotyczące użycia funkcji skrótu w kryptografii.
- ISO/IEC 10118 – międzynarodowy odpowiednik opisujący funkcje skrótu.
Bibliografia
- NIST, FIPS 180‑4: Secure Hash Standard (SHS), 2008.
- NIST, FIPS 202: SHA‑3 Standard, 2015.
- J. Menezes, P. Oorschot, S. Van stone, Handbook of Applied Cryptography, CRC Press, 1996.
- R. Miller, Analysis of SHA‑1 Collision Vulnerabilities, 2020.
Standard FIPS 180‑4 jest kluczowym elementem infrastruktury kryptograficznej zarówno w sektorze publicznym, jak i prywatnym, zapewniając jednolitą i sprawdzoną metodologię generowania skrótów kryptograficznych.