Udostępnij za pośrednictwem


Używanie SQL Server 2016 i nowszych wersji w trybie zgodnym ze standardem FIPS 140-2

W tym artykule przedstawiono instrukcje fips 140-2 i sposób korzystania z programu SQL Server2016 w trybie zgodnym ze standardem FIPS 140-2.

Oryginalna wersja produktu: SQL Server 2016 r. lub nowszy oryginalny numer KB: 4014354

Uwaga

  • Terminy "Zgodność ze standardem FIPS 140-2", "Zgodność FIPS 140-2" i "Tryb zgodny ze standardem FIPS 140-2" są zdefiniowane tutaj w celu zapewnienia przejrzystości i użycia. Terminy te nie są rozpoznawane ani zdefiniowane przez instytucje rządowe. Rządy Stany Zjednoczone i Kanady uznają walidację modułów kryptograficznych względem standardów takich jak FIPS 140-2 zamiast używać modułów kryptograficznych w określony lub zgodny sposób.

    W tym artykule używamy zgodnych ze standardem FIPS 140-2, Zgodność ze standardem FIPS 140-2 i tryb zgodny ze standardem FIPS 140-2 oznaczają, że SQL Server 2016 r. i nowsze wersje używają tylko wystąpień algorytmów i funkcji wyznaczania wartości skrótu fips 140-2 we wszystkich wystąpieniach, w których zaszyfrowane lub skrótowe dane są importowane lub eksportowane z SQL Server 2016 r. i nowszych wersji. Ponadto oznacza to, że SQL Server 2016 r. i nowsze versony będą zarządzać kluczami w bezpieczny sposób, zgodnie z wymaganiami modułów kryptograficznych fips 140-2. Proces zarządzania kluczami obejmuje również generowanie kluczy i magazyn kluczy.

  • Używamy tutaj wartości "certified", aby oznaczać, że wystąpienie algorytmu jest weryfikowane przez fips 140-2 lub że system operacyjny zawiera FIPS140-2-zweryfikowane wystąpienia algorytmów.

Co to jest FIPS?

Federal Information Processing Standard (FIPS) to standard opracowany przez następujące dwa organy rządowe:

  • Narodowy Instytut Standardów i Technologii (NIST) w Stany Zjednoczone
  • Communications Security Establishment (CSE) w Kanadzie

Standardy FIPS są zalecane lub wymagane do użytku w federalnych systemach informatycznych obsługiwanych przez rząd federalny w Stany Zjednoczone i Kanadzie.

Co to jest FIPS 140-2?

FIPS 140-2 to instrukcja zatytułowana "Wymagania dotyczące zabezpieczeń modułów kryptograficznych". Określa ona, które algorytmy szyfrowania i które algorytmy wyznaczania wartości skrótów mogą być używane, oraz sposób generowania i zarządzania kluczami szyfrowania. Niektóre sprzęt, oprogramowanie i procesy zawierające algorytmy można uznać za certyfikowane przez FIPS 140-2, a inny sprzęt, oprogramowanie i procesy, które wywołują poprawne algorytmy, można uznać za zgodne ze standardem FIPS 140-2.

Jaka jest różnica między zgodnością z standardem FIPS 140-2 a certyfikatem FIPS 140-2?

SQL Server wersji 2016 i nowszych można skonfigurować i uruchomić w sposób zgodny z programem FIPS 140-2. Aby w ten sposób skonfigurować SQL Server wersji 2016 i nowszej, musi działać w systemie operacyjnym z certyfikatem FIPS 140-2 lub który udostępnia certyfikowane moduły kryptograficzne. Różnica między zgodnością a certyfikacją nie jest subtelna. Algorytmy mogą być certyfikowane. Używanie algorytmu jest niewystarczające tylko dlatego, że znajduje się na listach zatwierdzonych w programie FIPS 140-2. Zamiast tego należy użyć wystąpienia takiego algorytmu, który jest certyfikowany. Oznacza to, że wystąpienie jest weryfikowane przez instytucję rządową. Certyfikacja wymaga testowania i weryfikacji przez laboratorium ewaluacyjne zatwierdzone przez rząd STANÓW Zjednoczonych lub Kanady. Windows Server 2012 i nowszych wersjach oraz wersje Windows 8 i nowsze zawierają certyfikowane wystąpienie każdego dozwolonego algorytmu. Co najważniejsze, wywołanie każdego z tych algorytmów zapewnia tylko certyfikowane wystąpienie.

Które aplikacje mogą być zgodne ze standardem FIPS 140-2?

Wszystkie aplikacje, które wykonują szyfrowanie lub tworzenie skrótów i działają w certyfikowanej wersji systemu Windows, mogą być zgodne tylko przy użyciu certyfikowanych wystąpień zatwierdzonych algorytmów oraz przez spełnienie wymagań dotyczących generowania kluczy i zarządzania kluczami. Wymaga to użycia funkcji systemu Windows do generowania kluczy i zarządzania kluczami lub spełnienia wymagań dotyczących generowania kluczy i zarządzania kluczami w aplikacji. Obszary w aplikacji zgodnej ze standardem FIPS mogą istnieć w przypadku włączenia niezgodnych algorytmów lub procesów. Na przykład niektóre procesy wewnętrzne, które pozostają w systemie, oraz niektóre dane zewnętrzne, które mają być dodatkowo szyfrowane przez certyfikowane wystąpienie algorytmu, są dozwolone.

Czy SQL Server 2016 r. i nowsze wersje są zawsze zgodne ze standardem FIPS 140-2?

L.p. SQL Server 2016 r. i nowsze wersje mogą być zgodne ze standardem FIPS 140-2, ponieważ można je skonfigurować i uruchomić w taki sposób, aby używać tylko wystąpień algorytmów certyfikowanych przez fips 140-2. Ponadto te wystąpienia są wywoływane przy użyciu interfejsu CryptoAPI lub CGN na potrzeby szyfrowania lub przez skróty w każdym wystąpieniu, w którym wymagane jest fips 140-2compliance.

Jak można skonfigurować SQL Server wersji 2016 i nowszych tak, aby były zgodne ze standardem FIPS 140-2?

Wymagania dotyczące systemu operacyjnego

Należy zainstalować SQL Server wersji 2016 i nowszych na hoście z uruchomionym jednym z następujących klientów i serwerów systemu Windows.

Wymagania dotyczące administracji systemu Windows

Tryb FIPS należy ustawić przed rozpoczęciem SQL Server 2016 r. lub nowszej wersji. SQL Server odczytuje ustawienie podczas uruchamiania. Aby ustawić tryb FIPS, wykonaj następujące kroki:

  1. Zaloguj się do systemu Windows jako administrator systemu Windows.
  2. Kliknij przycisk Start.
  3. Wybierz pozycję Panel sterowania.
  4. Wybierz pozycję Narzędzia administracyjne. (W następnym kroku może być konieczne przełączenie się na duże ikony).
  5. Wybierz pozycję Lokalne zasady zabezpieczeń. Zostanie wyświetlone okno Ustawienia zabezpieczeń lokalnych .
  6. W okienku nawigacji wybierz pozycjęOpcje zabezpieczeń zasad >lokalnych.
  7. W okienku po prawej stronie kliknij dwukrotnie pozycję Kryptografia systemowa: użyj zgodnych algorytmów FIPS na potrzeby szyfrowania, wyznaczania skrótów i podpisywania.
  8. W wyświetlonym oknie dialogowym wybierz pozycję Włączone>zastosuj.
  9. Wybierz przycisk OK.
  10. Zamknij okno Ustawienia zabezpieczeń lokalnych .

Wymaganie administratora SQL Server

Gdy usługa SQL Server (gdy punkt końcowy jest skonfigurowany dla usługi Service Broker lub dublowanie bazy danych) wykryje, że tryb FIPS jest włączony podczas uruchamiania, SQL Server rejestruje następujący komunikat w dzienniku błędów SQL Server:

Transport usługi Service Broker jest uruchomiony w trybie zgodności FIPS.

Ponadto w dzienniku zdarzeń systemu Windows może zostać wyświetlony następujący komunikat:

Transport dublowania bazy danych jest uruchomiony w trybie zgodności FIPS.

Możesz sprawdzić, czy serwer działa w trybie FIPS, szukając tych komunikatów.

Uwaga

  • W przypadku zabezpieczeń okna dialogowego (między usługami) proces szyfrowania używa certyfikowanego przez FIPS wystąpienia usługi AES, jeśli tryb FIPS jest włączony. Jeśli tryb FIPS jest wyłączony, proces szyfrowania nadal używa AES.
  • Podczas konfigurowania punktu końcowego brokera usług w trybie FIPS administrator musi określić "AES" dla brokera usług. Jeśli punkt końcowy jest skonfigurowany do RC4, SQL Server generuje błąd. W związku z tym warstwa transportu nie zostanie uruchomiona.

Jak działają SQL Server wersje 2016 i nowsze w trybie zgodnym ze standardem FIPS 140-2?

  • Po włączeniu trybu FIPS w systemie Windows we wszystkich obszarach, w których użytkownik nie ma wyboru, czy szyfrować, czy skrót i jak to zrobić, SQL Server 2016 i nowsze wersje będą działać zgodnie z standardem FIPS 140-2. (SQL Server 2016 r. i nowsze wersje będą używać interfejsu CryptoAPI w systemie Windows i będą używać tylko certyfikowanych wystąpień algorytmów).

  • Po włączeniu trybu FIPS w systemie Windows we wszystkich obszarach, w których użytkownik ma wybór, czy używać szyfrowania, SQL Server 2016 i nowsze wersje włączą tylko szyfrowanie zgodne ze standardem FIPS 140-2 lub nie włączą żadnego szyfrowania.

  • Ważne informacje dla deweloperów oprogramowania: We wszystkich obszarach, w których deweloper lub użytkownik zapisuje własny kod na potrzeby szyfrowania lub tworzenia skrótów, należy poinstruować go, aby używał tylko interfejsu CryptoAPI (a zatem tylko certyfikowanych wystąpień) i określał tylko algorytmy dozwolone przez fips 140-2. Aby uzyskać oficjalną listę NIST zatwierdzonych algorytmów kryptograficznych FIPS 140-2, zobacz Załączniki A, C i D w programie walidacji modułów kryptograficznych.

Jaki jest efekt uruchamiania SQL Server wersji 2016 lub nowszej w trybie zgodnym ze standardem FIPS 140-2?

  • Użycie silniejszego szyfrowania może mieć niewielki wpływ na wydajność tych procesów, dla których mniej niezawodne szyfrowanie jest dozwolone, gdy proces nie działa jako zgodny ze standardem FIPS 140-2.

  • Wybór szyfrowania dla usługi SSIS (UseEncryption=True) spowoduje wygenerowanie błędu, który stwierdza, że dostępne szyfrowanie jest niezgodne ze zgodnością FIPS i jest niedozwolone. Innymi słowy, nie jest wykonywane szyfrowanie procesu komunikatu.

  • Jeśli używasz szyfrowania razem ze starszymi usługami DTS, szyfrowanie nie jest zgodne z standardem FIPS 140-2. W przypadku usługi DTS tryb FIPS w systemie Windows nie jest zaznaczony. W związku z tym użytkownik jest odpowiedzialny za wybranie szyfrowania, aby zachować zgodność.

  • Ponieważ większość procesów szyfrowania i skrótów w wersji 2016 i nowszej SQL Server jest już zgodna ze standardem FIPS 140-2, wykonywanie przy pełnej zgodności (tj. z włączonym trybem FIPS w systemie Windows) będzie miało niewielki lub żaden wpływ na użycie lub wydajność aplikacji.

Gdzie mogę dowiedzieć się więcej o programie FIPS 140-2?

Aby uzyskać więcej informacji na temat standardu FIPS 140-2, zobacz CMVP FIPS 140-2 Standards and Documents (Standardy i dokumenty CMVP FIPS 140-2).

Firma Microsoft udostępnia informacje dotyczące sposobów kontaktowania się z innymi firmami, aby ułatwić uzyskanie niezbędnej pomocy technicznej. Informacje te mogą zostać zmienione bez powiadomienia. Firma Microsoft nie gwarantuje dokładności tych informacji kontaktowych innych firm.