encyklopedia.run.place

FIPS 186‑3

FIPS 186‑3 (ang. Federal Information Processing Standard 186‑3) jest amerykańskim standardem federalnym dotyczącym algorytmów podpisu cyfrowego. Został opracowany przez National Institute of Standards and Technology (NIST) i opublikowany w 2009 roku. Standard opisuje specyfikację algorytmu podpisu cyfrowego DSA (Digital Signature Algorithm) oraz zalecenia dotyczące użycia funkcji skrótu z rodziny SHA‑1 i SHA‑2.

Historia

FIPS 186‑3 jest następcą FIPS 186‑2, który wprowadził DSA jako oficjalny algorytm podpisu cyfrowego w Stanach Zjednoczonych. Wraz ze wzrostem wymagań bezpieczeństwa i pojawieniem się słabych punktów w SHA‑1, NIST opracował nową wersję standardu, aby umożliwić użycie silniejszych funkcji skrótu oraz większych parametrów klucza.

Zakres i cele

  • Określenie wymagań formalnych dla implementacji DSA oraz powiązanych funkcji.
  • Definicja parametrów klucza (rozmiary p, q, g) oraz dopuszczalnych długości klucza: 1024, 2048 i 3072 bity.
  • Ustanowienie dopuszczalnych funkcji skrótu: SHA‑1 (dla 1024‑bitowych kluczy), SHA‑224, SHA‑256, SHA‑384 i SHA‑512 (dla kluczy 2048 i 3072 bitowych).
  • Wymagania co do generatora liczb losowych i testów kryptograficznych.
  • Procedury generowania, weryfikacji i odwoływania podpisów cyfrowych.

Struktura standardu

Standard składa się z kilku sekcji:

  1. Wprowadzenie – opisuje cel dokumentu oraz odniesienia do pokrewnych standardów, takich jak FIPS 180‑4 (specyfikacja rodziny SHA) i FIPS 197 (AES).
  2. Definicje i notacje – wyjaśnia używane pojęcia kryptograficzne, np. modular exponentiation, random prime generation.
  3. Parametry algorytmu DSA – określa dopuszczalne rozmiary i metody generowania liczb pierwszych p i q oraz generatora g.
  4. Procedury podpisu i weryfikacji – szczegółowo opisuje kroki tworzenia podpisu (generowanie losowego k, obliczanie r i s) oraz procesu weryfikacji.
  5. Funkcje skrótu – podaje szczegółowe wymagania wobec SHA‑1 i SHA‑2 w kontekście DSA.
  6. Bezpieczeństwo i zalecenia operacyjne – omawia ryzyka, takie jak użycie nieodpowiednio dużego k, oraz rekomendacje dotyczące wyboru parametrów.

Powiązane standardy

FIPS 186‑3 współdziała z licznymi innymi standardami federalnymi i międzynarodowymi:

  • FIPS 140‑2 – standard zabezpieczeń kryptograficznych modułów.
  • SP 800‑57 – wytyczne dotyczące zarządzania kluczami.
  • RFC 6979 – metoda deterministycznego generowania liczby k w DSA (nie jest częścią FIPS, ale jest zalecana w połączeniu z FIPS 186‑3).
  • PKCS 1 – standard opisujący RSA, często używany równolegle z DSA w środowiskach hybrydowych.

Zastosowania

FIPS 186‑3 jest wykorzystywany w wielu systemach, w tym:

  • Infrastruktura klucza publicznego (PKI) w agencjach rządowych USA.
  • Protokoły komunikacyjne, np. TLS (w wersjach ze wsparciem dla DSA).
  • Systemy podpisu elektronicznego w administracji publicznej.
  • Oprogramowanie kryptograficzne spełniające wymóg FIPS 140‑2 (np. OpenSSL, CryptoAPI).

Ograniczenia i krytyka

Chociaż FIPS 186‑3 wprowadza silniejsze funkcje skrótu, DSA wciąż jest uważany za mniej efektywny niż RSA w niektórych scenariuszach (np. weryfikacja podpisu). Dlatego w 2013 roku NIST opublikował FIPS 186‑4, który rozszerza standard o dodatkowe algorytmy (np. ECDSA) oraz rekomenduje użycie wyłącznie rodziny SHA‑2.

Patrz także

Źródła: dokument FIPS 186‑3 opublikowany przez NIST, materiały szkoleniowe rządu USA oraz publikacje techniczne dostępne w ramach programu Special Publication 800.