IBM i: Protok|fo|fl Secure Sockets Layer (SSL) / Transport Layer

Transkrypt

IBM i: Protok|fo|fl Secure Sockets Layer (SSL) / Transport Layer
IBM i
Wersja 7.3
Bezpieczeństwo
Protokół Secure Sockets Layer (SSL)
/ Transport Layer Security (TLS)
IBM
IBM i
Wersja 7.3
Bezpieczeństwo
Protokół Secure Sockets Layer (SSL)
/ Transport Layer Security (TLS)
IBM
Uwaga
Przed skorzystaniem z tych informacji oraz z produktu, którego dotyczą, należy przeczytać informacje zawarte w sekcji “Uwagi” na stronie
35.
Niniejsze wydanie dotyczy wersji 7.3 systemu IBM i (numer produktu 5770-SS1) oraz wszystkich kolejnych wersji i modyfikacji
tego produktu, chyba że w nowych wydaniach zostanie określone inaczej. Wersja ta nie działa na wszystkich modelach
komputerów z procesorem RISC ani na modelach z procesorem CISC.
Niniejszy dokument może zawierać odniesienia do Licencjonowanego Kodu Wewnętrznego. Licencjonowany Kod Wewnętrzny
jest kodem maszynowym i jest licencjonowany zgodnie z warunkami Umowy Licencyjnej IBM dotyczącej Kodu Maszynowego.
© Copyright IBM Corporation 2002, 2015.
Spis treści
Protokół Secure Sockets Layer (SSL) /
Transport Layer Security (TLS) . . . . . 1
|
|
|
|
|
|
Co nowego w systemie IBM i 7.3 . . . . . . .
Plik PDF z informacjami na temat protokołu SSL/TLS .
Implementacje protokołu SSL/TLS . . . . . . .
Biuletyny bezpieczeństwa . . . . . . . . . .
Systemowa implementacja protokołu SSL/TLS . . .
Jak tworzyć kod korzystający z systemowej
implementacji protokołu SSL/TLS . . . . . .
Ustawienia systemowej implementacji protokołu
SSL/TLS na poziomie systemu . . . . . . .
Konfiguracja protokołu. . . . . . . . .
Konfiguracja zestawów algorytmów szyfrowania .
Algorytmy podpisu . . . . . . . . .
Minimalna wielkość klucza RSA . . . . .
Nazwane krzywe ECDSA . . . . . . .
Renegocjacja . . . . . . . . . . .
Protokół OCSP (Online Certificate Status Protocol) .
Konfiguracja protokołu OCSP . . . . . .
Status wycofania OCSP . . . . . . . .
Wycofywanie certyfikatów . . . . . . . .
Wybór wielu certyfikatów . . . . . . . .
Definicje aplikacji w programie DCM . . . . .
Protokoły SSL . . . . . . . . . . .
Opcje specyfikacji szyfrów SSL. . . . . .
© Copyright IBM Corp. 2002, 2015
.
.
.
.
.
1
1
2
3
4
. 4
. 4
. 5
. 7
. 12
. 14
. 15
. 16
. 18
. 18
. 20
. 21
. 22
. 23
. 24
. 24
|
|
|
|
|
|
|
Tryb krytyczny rozszerzonej renegocjacji . . . .
Wskazanie nazwy serwera . . . . . . . .
Atrybuty protokołu OCSP (Online Certificate Status
Protocol) . . . . . . . . . . . . .
Adres URL protokołu OCSP. . . . . . .
Przetwarzanie informacji AIA za pomocą
protokołu OCSP . . . . . . . . . .
Algorytmy podpisu SSL . . . . . . . . .
Komenda SSLCONFIG . . . . . . . . . .
Sposoby określania protokołów i zestawów algorytmów
szyfrowania systemowej implementacji protokołu
SSL/TLS używanych w systemie . . . . . . .
Kronika kontroli . . . . . . . . . . .
Śledzenie kodu LIC . . . . . . . . . .
Liczniki wersji protokołów systemowej
implementacji protokołu SSL/TLS . . . . . .
Rozwiązywanie problemów z protokołem SSL/TLS . . .
Wymagania wstępne dotyczące protokołu SSL/TLS . . .
Zabezpieczanie aplikacji za pomocą protokołu SSL/TLS
Informacje pokrewne dotyczące protokołu SSL/TLS . .
25
25
26
26
27
27
27
28
28
29
30
31
32
33
33
Uwagi . . . . . . . . . . . . . . . 35
Znaki towarowe
Warunki . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 37
. 37
iii
iv
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
Protokół Secure Sockets Layer (SSL) / Transport Layer
Security (TLS)
Sekcja ta opisuje, w jaki sposób można użyć protokołu SSL/TLS w systemie.
SSL i TLS to ogólne terminy określające zestaw standardów branżowych używanych do obsługi bezpiecznych sesji
komunikacyjnych w niezabezpieczonej sieci, na przykład w Internecie. Protokół SSL podlegał zmianom i przekształcił
się w TLS, który zastąpił poprzednie wersje. TLS to bardziej precyzyjny termin, jednak w niniejszej dokumentacji
stosowane jest określenie SSL/TLS w celu zachowania odniesień do terminu SSL, zawartych w istniejących
interfejsach aplikacji, dokumentacji oraz konfiguracji
Wersja specyfikacji protokołu SSL lub TLS określa względny poziom bezpieczeństwa. Obecnie nie powinna być
używana żadna z wersji specyfikacji protokołu SSL. W przypadku niektórych branż dozwolone jest korzystanie tylko z
jednej wersji protokołu TLS.
Co nowego w systemie IBM i 7.3
Poniżej omówiono nowe lub znacznie zmienione informacje dotyczące protokołu Secure Sockets Layer (SSL) /
Transport Layer Security (TLS).
Udoskonalenia systemowej implementacji protokołu SSL/TLS
v Zaktualizowano temat “Konfiguracja protokołu” na stronie 5: opisano włączone i domyślne protokoły systemowej
implementacji protokołu SSL/TLS oraz opcje konfiguracji służące do zmiany tych wartości.
v Zaktualizowano temat “Konfiguracja zestawów algorytmów szyfrowania” na stronie 7: opisano włączone i
domyślne zestawy algorytmów szyfrowania systemowej implementacji protokołu SSL/TLS oraz opcje konfiguracji
służące do zmiany tych wartości.
v Zaktualizowano domyślne algorytmy podpisu używane przez systemową implementację protokołu SSL/TLS.
v Dodano obsługę określania minimalnej wielkości klucza RSA dozwolonej dla certyfikatu używanego przez
systemową implementację protokołu SSL/TLS do uzgadniania zabezpieczeń.
v Dodano temat “Nazwane krzywe ECDSA” na stronie 15 opisujący opcje konfiguracji służące do zmiany wielkości
klucza ECDSA dozwolonego w systemowej implementacji protokołu SSL/TLS.
v Dodano informacje na temat sposobów uzyskiwania aktualnych biuletynów bezpieczeństwa.
v Dodano szczegółowe informacje na temat sposobów określania protokołów i zestawów algorytmów szyfrowania
używanych w systemie.
Znajdowanie nowych lub zmienionych informacji
Aby ułatwić określenie obszarów, w których zostały wprowadzone zmiany techniczne, w Centrum informacyjnym
zastosowano:
v symbol
służący do zaznaczania początku nowego lub zmienionego fragmentu;
v symbol
służący do zaznaczania końca nowego lub zmienionego fragmentu.
Nowe i zmienione informacje w plikach PDF mogą być oznaczone symbolem | na lewym marginesie.
Więcej informacji na temat zmian i nowości w bieżącej wersji zawiera Wiadomość dla użytkowników.
Plik PDF z informacjami na temat protokołu SSL/TLS
Informacje zawarte w tym temacie są także dostępne w postaci pliku PDF, który można wyświetlić i wydrukować.
© Copyright IBM Corp. 2002, 2015
1
Aby wyświetlić lub pobrać wersję PDF tego dokumentu, wybierz temat Protokół Secure Sockets Layer (SSL) /
Transport Layer Security (TLS).
Zapisywanie plików PDF
Aby zapisać plik PDF na stacji roboczej w celu jego wyświetlenia lub wydrukowania, wykonaj następujące czynności:
1. Kliknij prawym przyciskiem myszy odsyłacz do pliku PDF w przeglądarce.
2. Kliknij opcję zapisania pliku PDF lokalnie.
3. Przejdź do katalogu, w którym ma zostać zapisany plik PDF.
4. Kliknij opcję Zapisz.
Pobieranie programu Adobe Reader
Do przeglądania i drukowania plików PDF potrzebny jest program Adobe Reader. Bezpłatną kopię tego programu
można pobrać z serwisu WWW firmy Adobe
|
.
Implementacje protokołu SSL/TLS
| System zawiera wiele implementacji protokołu SSL/TLS. Każda implementacja uwzględnia jedną lub więcej wersji
| protokołu SSL lub TLS zgodnie ze standardami branżowymi.
| Implementacje muszą współdziałać z innymi implementacjami, zgodnie ze specyfikacjami poszczególnych wersji
| protokołów, opracowanymi przez grupę wykonawczą IETF (Internet Engineering Task Force). Każda implementacja
| ma unikalną charakterystykę i udostępnia różne zestawy funkcji opcjonalnych.
| Używany zestaw funkcji API określa, która implementacja jest używana przez poszczególne chronione aplikacje w
| systemie. W języku Java™ skonfigurowany dostawca JSSE określa implementację, ponieważ interfejsy języka Java są
| standardowe. Aplikacja może również zawierać implementację, która jest znana tylko tej aplikacji.
| Podczas tworzenia aplikacji w systemie IBM® i można skorzystać z opisanych poniżej implementacji.
| v Systemowa implementacja protokołu SSL/TLS
Aplikacje ILE używają systemowej implementacji protokołu SSL/TLS. Zarządzanie certyfikatami jest wykonywane
za pomocą produktu Digital Certificate Manager (DCM), a typ bazy certyfikatów to CMS (Certificate Management
Services), z rozszerzeniem nazwy pliku *.KDB. Aplikacje Java mogą używać systemowej implementacji protokołu
SSL/TLS, ale nie jest to typowa sytuacja. Jeszcze rzadziej aplikacja Java używa systemowej implementacji
protokołu SSL/TLS, korzystając jednocześnie z mechanizmu Java Keystore.
|
|
|
|
|
| v Dostawca IBMJSSE2 (IBMJSSEProvider2)
|
|
|
|
|
|
Ten dostawca JSSE (Java Secure Socket Extension) zawiera implementację protokołów SSL/TLS w czystym języku
Java i jest dostępny na wielu platformach. Implementacja występuje pod nazwą com.ibm.jsse2.IBMJSSEProvider2
na liście dostawców java.security. Większość aplikacji Java w systemie używa tej implementacji JSSE, ponieważ
jest to domyślny dostawca dla wszystkich wersji pakietu JDK. Certyfikaty zwykle znajdują się w pliku kluczy Java
(JKS) i są zarządzane za pomocą komendy Java keytool lub IBM Key Management (programu narzędziowego
iKeyman).
|
|
Więcej ogólnych informacji na temat biblioteki JSSE w systemie zawiera sekcja Java Secure Socket Extension
(JSSE).
|
|
|
Szczegółowe informacje zawiera także niezależna od platformy dokumentacja biblioteki IBMJSSE2 przeznaczona
dla odpowiedniej wersji pakietu JDK. Informacje dotyczące pakietu JDK8 zawiera dokumentacja Security Reference
for IBM SDK, Java Technology Edition, Version 8.
| v OpenSSL
OpenSSL to zestaw narzędzi Open Source, który implementuje protokoły SSL/TLS i bibliotekę kryptograficzną
ogólnego przeznaczenia zawierającą silne mechanizmy szyfrowania. Środowisko PASE for i (IBM Portable
|
|
2
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
|
|
|
|
|
Application Solutions Environment for i) to jedyne środowisko, w którym ten pakiet jest dostępny. Certyfikaty
znajdują się zwykle w plikach PEM i można nimi zarządzać za pomocą komend OpenSSL.
Aplikacja CIMOM (Common Information Model Object Manager) korzysta z tej implementacji. Więcej informacji
na ten temat zawiera sekcja Common Information Model.
Implementacje osadzone w aplikacji:
v Domino for i
|
|
Korzysta z własnej implementacji protokołu SSL/TLS wbudowanej w produkcie. Zarządzanie konfiguracją i
certyfikatami odbywa się w aplikacji.
|
|
Serwer HTTP Domino można skonfigurować tak, aby używał systemowej implementacji protokołu SSL/TLS i
certyfikatów DCM, domyślnie jednak korzysta z własnej implementacji.
|
Pojęcia pokrewne:
|
|
|
|
“Biuletyny bezpieczeństwa”
Biuletyn bezpieczeństwa jest tworzony, gdy implementacja umożliwia ograniczenie ryzyka związanego z ujawnionym
słabym punktem zabezpieczeń. Słabe punkty zabezpieczeń mogą być specyficzne dla danej implementacji lub ogólne,
związane z protokołem.
|
Biuletyny bezpieczeństwa
|
|
|
Biuletyn bezpieczeństwa jest tworzony, gdy implementacja umożliwia ograniczenie ryzyka związanego z ujawnionym
słabym punktem zabezpieczeń. Słabe punkty zabezpieczeń mogą być specyficzne dla danej implementacji lub ogólne,
związane z protokołem.
|
|
|
|
Ważne jest, aby administratorzy na bieżąco śledzili wszystkie metody ograniczania ryzyka udostępniane przez
implementacje. Z powodu różnic w implementacjach nie wszystkie implementacje są narażone na ryzyko związane z
konkretnym słabym punktem zabezpieczeń. Jeśli dane zagrożenie występuje, sposób jego ograniczenia może być różny
dla poszczególnych implementacji.
|
|
Biuletyn bezpieczeństwa zawiera działania, które należy podjąć w celu wyeliminowania problemu. Jeśli protokół lub
algorytm nie może zostać naprawiony, rozwiązanie może polegać na wyłączeniu danej funkcji.
|
|
Uwaga: Taka wyłączona funkcja może spowodować problem ze współdziałaniem w przypadku środowisk, których
działanie zależy od danego protokołu.
|
|
|
Warto skorzystać z subskrypcji, aby otrzymywać powiadomienia, gdy zostaną utworzone lub zaktualizowane biuletyny
bezpieczeństwa dotyczące protokołu SSL/TLS. Więcej informacji na temat tego procesu można znaleźć w dokumencie
My Notifications Subscription Service w Portalu wsparcia IBM.
|
|
Zasubskrybuj „pilne powiadomienia dotyczące wsparcia” („Urgent support notifications”), aby otrzymywać
powiadomienia w przypadku zaktualizowania publikacji biuletynu bezpieczeństwa.
|
|
|
|
|
|
|
Publikacja biuletynu bezpieczeństwa stanowi agregację pojedynczych biuletynów bezpieczeństwa, które są tworzone
dla określonych słabych punktów zabezpieczeń. Aby dysponować aktualnymi informacjami, należy przeczytać je
wszystkie. Biuletyny bezpieczeństwa mogą być aktualizowane po ich początkowej publikacji, jeśli zostaną
udostępnione nowe informacje. Zaktualizowane biuletyny przenoszone są na początek zagregowanego biuletynu.
Zaktualizowany biuletyn nie jest oznaczony flagami zmiany, ale zawiera krótką notatkę wskazującą, co zostało dodane
do biuletynu lub w nim zmienione. Aby zapoznać się ze wszystkimi aktualizacjami, należy ponownie przeczytać pełną
treść biuletynu.
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
3
Systemowa implementacja protokołu SSL/TLS
Systemowa implementacja protokołu SSL/TLS to zestaw ogólnych usług udostępnionych w Licencjonowanym Kodzie
Wewnętrznym systemu IBM i, które służą do zabezpieczania połączeń TCP/IP przy użyciu protokołu SSL/TLS.
Systemowa implementacja protokołu SSL/TLS jest ściśle powiązana z systemem operacyjnym oraz kodem LIC do
obsługi gniazd, aby zwiększyć wydajność i poziom bezpieczeństwa.
|
|
Jak tworzyć kod korzystający z systemowej implementacji protokołu
SSL/TLS
| Systemowa implementacja protokołu SSL/TLS jest dostępna dla programistów aplikacji poprzez następujące interfejsy
| programistyczne i implementacje JSSE.
| v Funkcje API z zestawu Global Security Kit (GSKit)
|
– Te interfejsy API języka ILE C są dostępne przy użyciu innych języków środowiska ILE.
|
|
– Więcej informacji na temat funkcji API z zestawu Global Security Kit (GSKit) zawiera temat Programowanie z
użyciem gniazd.
| v Zintegrowane z systemem IBM i interfejsy API SSL_
|
– Te interfejsy API języka ILE C są dostępne przy użyciu innych języków środowiska ILE.
– Nie należy tworzyć kodu z wykorzystaniem tego nieaktualnego interfejsu. Ten zestaw funkcji API nie udostępnia
nowych funkcji zabezpieczeń dostępnych w pakiecie GSKit, który jest zalecanym interfejsem w języku C.
|
|
| v Zintegrowana z systemem IBM i implementacja JSSE
|
|
– Implementacja JSSE w systemie IBM i jest dostępna dla wersji JDK 7 i JDK 8. Implementacja występuje pod
nazwą com.ibm.i5os.jsse.JSSEProvider na liście dostawców java.security.
|
|
|
|
|
|
Aplikacje korzystające z protokołu SSL/TLS utworzone przez IBM, Partnerów Handlowych IBM, niezależnych
producentów oprogramowania lub klientów, które korzystają z jednego z powyższych interfejsów systemowej
implementacji protokołu SSL/TLS, będą korzystać z systemowej implementacji protokołu SSL/TLS. Na przykład FTP
oraz Telnet są aplikacjami firmy IBM, które wykorzystują systemową implementację protokołu SSL/TLS. Nie
wszystkie aplikacje obsługujące protokół SSL/TLS działające w systemie IBM i używają systemowej implementacji
protokołu SSL/TLS.
Ustawienia systemowej implementacji protokołu SSL/TLS na poziomie
systemu
Systemowa implementacja protokołu SSL/TLS zawiera wiele atrybutów, które określają sposób negocjowania sesji
chronionych.
Każda wartość atrybutu jest ustawiana na jeden z trzech sposobów:
1. Twórca aplikacji ustawia jawną wartość atrybutu za pomocą kodu.
2. Twórca aplikacji udostępnia interfejs użytkownika, który umożliwia administratorowi aplikacji ustawienie wartości
atrybutu w sposób pośredni.
3. Twórca aplikacji nie ustawia wartości atrybutu. Systemowa implementacja protokołu SSL/TLS używa wartości
domyślnej atrybutu.
Wymagania dotyczące zgodności zabezpieczeń zmieniają się w trakcie cyklu życia wersji. Aby zachować zgodność,
administratorzy systemu muszą przesłonić wartości niektórych atrybutów. Systemowa implementacja protokołu
SSL/TLS zawiera różne ustawienia na poziomie systemu, które pozwalają wdrożyć taki poziom kontroli.
Istnieją dwa rodzaje mechanizmów kontrolnych na poziomie systemu:
v Całkowite wyłączenie wartości atrybutu
– Wyłączona wartość jest ignorowana, jeśli jest używana w dowolnej z trzech metod ustawiania wartości atrybutów
– W aplikacji występuje błąd krytyczny, jeśli żadna poprawna wartość nie jest włączona dla atrybutu
4
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
– W aplikacji występuje błąd programowy, jeśli węzeł sieci wymaga podania wyłączonej wartości
v Wyłączenie wartości domyślnej atrybutu
– Zmiana dotyczy jedynie aplikacji, które używają wartości domyślnych systemowej implementacji protokołu
SSL/TLS do ustawiania danego atrybutu
– W aplikacji występuje błąd programowy, jeśli węzeł sieci wymaga podania wyłączonej wartości
Ustawienia na poziomie systemu są sterowane za pomocą kombinacji następujących interfejsów:
v Wartości systemowe SSL/TLS
v Komenda zaawansowanej analizy SSLCONFIG z zestawu Systemowych narzędzi serwisowych (System Service
Tools – SST) zgodnie z podanymi informacjami.
Wartości włączone i/lub wartości domyślne następujących atrybutów systemowej implementacji protokołu SSL/TLS
mogą być zmieniane na poziomie systemu.
Pojęcia pokrewne:
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
Informacje pokrewne:
Wartość systemowa SSL/TLS: QSSLPCL
Wartość systemowa SSL/TLS: QSSLCSLCTL
Wartość systemowa SSL/TLS: QSSLCSL
Konfiguracja protokołu
Systemowa implementacja protokołu SSL/TLS obejmuje infrastrukturę obsługującą wiele protokołów.
Systemowa implementacja protokołu SSL/TLS obsługuje następujące protokoły:
v Protokół Transport Layer Security, wersja 1.2 (TLSv1.2)
v Protokół Transport Layer Security, wersja 1.1 (TLSv1.1)
v Protokół Transport Layer Security, wersja 1.0 (TLSv1.0)
v Protokół Secure Sockets Layer, wersja 3.0 (SSLv3)
v Protokół Secure Sockets Layer, wersja 2.0 (SSLv2)
– Nie można używać protokołu SSLv2, jeśli protokół TLSv1.2 jest włączony w systemie w wartości systemowej
QSSLPCL.
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
5
UWAGA:
|
|
|
|
|
|
|
|
Firma IBM zdecydowanie zaleca, aby zawsze uruchamiać serwer IBM i z wyłączonymi protokołami sieciowymi
wymienionymi poniżej. Zastosowanie opcji konfiguracyjnych udostępnianych przez IBM do włączenia słabych
protokołów skutkuje skonfigurowaniem serwera IBM i w sposób umożliwiający użycie słabych protokołów. W
takiej konfiguracji serwer IBM i jest potencjalnie narażony na naruszenie bezpieczeństwa sieci. IBM NIE
PONOSI ŻADNEJ ODPOWIEDZIALNOŚCI, A KLIENT PONOSI WSZELKĄ ODPOWIEDZIALNOŚĆ ZA
JAKIEKOLWIEK SZKODY LUB STRATY, W TYM UTRATĘ DANYCH, POWSTAŁE W WYNIKU
KORZYSTANIA Z OKREŚLONYCH PROTOKOŁÓW SIECIOWYCH LUB Z TAKIM KORZYSTANIEM
POWIĄZANE.
| Słabe protokoły (stan na kwiecień 2016 r.):
| v Protokół Secure Sockets Layer, wersja 3.0 (SSLv3)
| v Protokół Secure Sockets Layer, wersja 2.0 (SSLv2)
| Włączone protokoły
|
|
|
|
|
Ustawienie wartości systemowej QSSLPCL określa konkretne protokoły, które są włączone w systemie. Aplikacje
mogą negocjować sesje chronione tylko z wykorzystaniem protokołów, które są wymienione w wartości QSSLPCL.
Na przykład, aby w systemowej implementacji protokołu SSL/TLS zezwolić wyłącznie na korzystanie z protokołu
TLSv1.2 i nie zezwolić na używanie żadnej ze starszych wersji protokołu, ustaw dla wartości systemowej QSSLPCL
jedynie wartość *TLSV1.2.
|
|
|
|
Wartość specjalna *OPSYS wartości systemowej QSSLPCL umożliwia systemowi operacyjnemu zmianę protokołów
włączonych w systemie w trakcie zmiany wersji. Wartość QSSLPCL pozostaje bez zmian w przypadku aktualizacji
systemu do nowej wersji. Jeśli wartością QSSLPCL nie jest *OPSYS, to administrator musi ręcznie dodać nowsze
wersje protokołów do wartości QSSLPCL, gdy system zostanie zaktualizowany do nowej wersji.
||
Wersja systemu IBM i
Definicja QSSLPCL *OPSYS
|
i 6.1
*TLSV1, *SSLV3
|
i 7.1
*TLSV1, *SSLV3
|
i 7.2
*TLSV1.2, *TLSV1.1, *TLSV1
|
|
i 7.3
*TLSV1.2, *TLSV1.1, *TLSV1
| Protokoły domyślne
|
|
|
|
Jeśli aplikacja nie określa włączanych protokołów, używane są protokoły domyślne systemowej implementacji
protokołu SSL/TLS. Aplikacje używają tej metody, aby można było uwzględnić obsługę nowych wersji protokołu TLS
bez konieczności zmiany kodu aplikacji. Domyślne ustawienie protokołów nie ma znaczenia dla aplikacji, które jawnie
określają włączane protokoły.
|
|
|
|
Zbiór domyślnych protokołów w systemie stanowi część wspólną zbioru włączonych protokołów określonych w
wartości systemowej QSSLPCL oraz zbioru dostępnych domyślnych protokołów. Listę dostępnych domyślnych
protokołów można zmienić za pomocą komendy zaawansowanej analizy SSLCONFIG z zestawu systemowych
narzędzi serwisowych (System Service Tools – SST).
| Aby określić bieżącą wartość listy dostępnych domyślnych protokołów i listy domyślnych protokołów w systemie,
| należy użyć opcji -display komendy SSLCONFIG.
|
|
|
|
Administrator powinien rozważyć zmianę ustawień domyślnych protokołów jedynie wówczas, gdy żadne inne
ustawienie konfiguracji nie pozwala aplikacji pomyślnie współdziałać z węzłami sieci. Zalecane jest włączanie
starszych protokołów tylko dla konkretnych aplikacji, które tego wymagają. Jeśli aplikacja ma „definicję aplikacji”, to
włączanie jest wykonywane za pomocą programu Digital Certificate Manager (DCM).
6
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
|
|
|
|
|
|
Ostrzeżenie: Dodanie starszego protokołu do domyślnej listy skutkuje powstaniem we wszystkich aplikacjach, które
korzystają z domyślnej listy, znanych słabych punktów zabezpieczeń. Załadowanie grupowej poprawki PTF
zabezpieczeń może spowodować usunięcie protokołu z listy domyślnych protokołów. Subskrybuj biuletyn
bezpieczeństwa, aby otrzymywać powiadomienia, gdy procedury ograniczania ryzyka obejmują tego typu zmiany. Jeśli
administrator dodaje z powrotem dostępny protokół, który został usunięty przez poprawkę PTF zabezpieczeń, system
zapamiętuje tę zmianę i nie usuwa takiego protokołu ponownie podczas stosowania następnej poprawki PTF
zabezpieczeń.
|
|
|
|
Jeśli lista domyślnych protokołów musi zostać zmieniona w systemie, to do zmiany jej wartości należy użyć opcji
eligibleDefaultProtocols komendy SSLCONFIG. Opcja -h komendy SSLCONFIG powoduje wyświetlenie panelu
pomocy, który opisuje sposób ustawiania listy protokołów. Tylko wersje protokołów wymienione w tekście pomocy
można dodać do listy.
|
|
Uwaga: Ustawienie eligibleDefaultProtocols komendy SSLCONFIG jest resetowane po zainstalowaniu
licencjonowanego kodu wewnętrznego (LIC).
|
|
Przykład ustawienia protokołu TLSv1.2 jako jedynego domyślnego protokołu w systemie:
SSLCONFIG -eligibleDefaultProtocols:10
||
|
Wersja systemu IBM i
Lista dostępnych domyślnych protokołów w najnowszej
grupowej poprawce PTF zabezpieczeń
|
i 6.1
TLSv1.0
|
i 7.1
TLSv1.0
|
i 7.2
TLSv1.2, TLSv1.1, TLSv1.0
|
|
|
i 7.3
TLSv1.2, TLSv1.1, TLSv1.0
Pojęcia pokrewne:
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
“Biuletyny bezpieczeństwa” na stronie 3
Biuletyn bezpieczeństwa jest tworzony, gdy implementacja umożliwia ograniczenie ryzyka związanego z ujawnionym
słabym punktem zabezpieczeń. Słabe punkty zabezpieczeń mogą być specyficzne dla danej implementacji lub ogólne,
związane z protokołem.
Informacje pokrewne:
Wartość systemowa SSL/TLS: QSSLPCL
Konfiguracja zestawów algorytmów szyfrowania
Systemowa implementacja protokołu SSL/TLS obejmuje infrastrukturę obsługującą wiele zestawów algorytmów
szyfrowania.
Zestawy algorytmów szyfrowania są określane w różny sposób w poszczególnych interfejsach programistycznych.
Poniższa tabela zawiera listę specyfikacji zestawów algorytmów szyfrowania (w postaci wartości systemowych), które
mogą być obsługiwane przez systemową implementację protokołu SSL/TLS dla poszczególnych wersji protokołu.
Obsługiwane specyfikacje algorytmów szyfrowania dla poszczególnych protokołów są wskazane za pomocą znaków
„X” w odpowiednich kolumnach.
Tabela 1. Specyfikacje algorytmów szyfrowania obsługiwane w protokołach TLS i SSL
Reprezentacja wartości systemowej QSSLCSL
TLSv1.2
*ECDHE_ECDSA_AES_128_GCM_SHA256
X
*ECDHE_ECDSA_AES_256_GCM_SHA384
X
TLSv1.1
TLSv1.0
SSLv3
SSLv2
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
7
Tabela 1. Specyfikacje algorytmów szyfrowania obsługiwane w protokołach TLS i SSL (kontynuacja)
Reprezentacja wartości systemowej QSSLCSL
TLSv1.2
TLSv1.1
TLSv1.0
SSLv3
X
X
X
X
X
X
X
SSLv2
*ECDHE_RSA_AES_128_GCM_SHA256
X
*ECDHE_RSA_AES_256_GCM_SHA384
X
*RSA_AES_128_GCM_SHA256
X
*RSA_AES_256_GCM_SHA384
X
*ECDHE_ECDSA_AES_128_CBC_SHA256
X
*ECDHE_ECDSA_AES_256_CBC_SHA384
X
*ECDHE_RSA_AES_128_CBC_SHA256
X
*ECDHE_RSA_AES_256_CBC_SHA384
X
*RSA_AES_128_CBC_SHA256
X
*RSA_AES_128_CBC_SHA
X
*RSA_AES_256_CBC_SHA256
X
*RSA_AES_256_CBC_SHA
X
*ECDHE_ECDSA_3DES_EDE_CBC_SHA
X
*ECDHE_RSA_3DES_EDE_CBC_SHA
X
*RSA_3DES_EDE_CBC_SHA
X
*ECDHE_ECDSA_RC4_128_SHA
X
*ECDHE_RSA_RC4_128_SHA
X
*RSA_RC4_128_SHA
X
X
X
X
*RSA_RC4_128_MD5
X
X
X
X
X
X
X
*RSA_EXPORT_RC4_40_MD5
X
X
X
*RSA_EXPORT_RC2_CBC_40_MD5
X
X
X
*RSA_DES_CBC_SHA
X
*RSA_RC2_CBC_128_MD5
X
*RSA_3DES_EDE_CBC_MD5
X
*RSA_DES_CBC_MD5
X
*ECDHE_ECDSA_NULL_SHA
X
*ECDHE_RSA_NULL_SHA
X
*RSA_NULL_SHA256
X
*RSA_NULL_SHA
X
X
X
X
*RSA_NULL_MD5
X
X
X
X
| Włączone zestawy algorytmów szyfrowania
|
|
|
|
|
Ustawienie wartości systemowej QSSLCSL określa konkretne zestawy algorytmów szyfrowania, które są włączone w
systemie. Aplikacje mogą negocjować sesje chronione tylko z wykorzystaniem tego zestawu algorytmów szyfrowania,
który jest wymieniony w wartości QSSLCSL. Bez względu na kod i konfigurację aplikacja nie może negocjować sesji
chronionych z wykorzystaniem zestawu algorytmów szyfrowania niewymienionych w wartości QSSLCSL.
Konfiguracja konkretnej aplikacji określa, które z włączonych pakietów szyfrowania są używane dla tej aplikacji.
| Na przykład, aby w systemowej implementacji protokołu SSL/TLS zezwolić jedynie na korzystanie z protokołu
| ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) i nie zezwolić na wymianę kluczy RSA, wykonaj następujące
| czynności:
8
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
|
|
|
1. Zmień wartość systemową QSSLCSLCTL, podając wartość specjalną *USRDFN, aby zezwolić na edytowanie
wartości systemowej QSSLCSL.
2. Usuń z wartości QSSLCSL wszystkie zestawy algorytmów szyfrowania, których nazwa nie zawiera słowa
kluczowego ECDHE.
|
|
|
|
|
|
Wartość specjalna *OPSYS wartości systemowej QSSLCSLCTL umożliwia systemowi operacyjnemu zmianę
zestawów algorytmów szyfrowania włączonych w systemie w trakcie zmiany wersji. Wartość QSSLCSLCTL
pozostaje bez zmian w przypadku aktualizacji systemu do nowej wersji. Jeśli wartością QSSLCSLCTL jest
*USRDFN, administrator musi ręcznie dodać nowe zestawy algorytmów szyfrowania do wartości QSSLCSL, gdy
system zostanie zaktualizowany do nowej wersji. Ustawienie wartości QSSLCSLCTL ponownie na *OPSYS
powoduje także dodanie nowych wartości do wartości QSSLCSL.
|
|
Zestawu algorytmów szyfrowania nie można dodać do wartości QSSLCSL, jeśli protokół SSL/TLS wymagany przez
zestaw algorytmów szyfrowania nie jest ustawiony w wartości QSSLPCL.
|
|
Zestawy algorytmów szyfrowania włączone za pomocą wartości QSSLCSLCTL *OPSYS w systemie IBM i 7.3 są
wyświetlane w wartości systemowej QSSLCSL. Są one następujące:
|
v *ECDHE_ECDSA_AES_128_GCM_SHA256
|
v *ECDHE_ECDSA_AES_256_GCM_SHA384
|
v *ECDHE_RSA_AES_128_GCM_SHA256
|
v *ECDHE_RSA_AES_256_GCM_SHA384
|
v *RSA_AES_128_GCM_SHA256
|
v *RSA_AES_256_GCM_SHA384
|
v *ECDHE_ECDSA_AES_128_CBC_SHA256
|
v *ECDHE_ECDSA_AES_256_CBC_SHA384
|
|
v *ECDHE_RSA_AES_128_CBC_SHA256
v *ECDHE_RSA_AES_256_CBC_SHA384
|
v *RSA_AES_128_CBC_SHA256
|
v *RSA_AES_128_CBC_SHA
|
v *RSA_AES_256_CBC_SHA256
|
v *RSA_AES_256_CBC_SHA
|
v *ECDHE_ECDSA_3DES_EDE_CBC_SHA
|
v *ECDHE_RSA_3DES_EDE_CBC_SHA
|
v *RSA_3DES_EDE_CBC_SHA
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
9
| UWAGA:
|
|
|
|
|
|
|
|
|
Firma IBM zdecydowanie zaleca, aby zawsze uruchamiać serwer IBM i z wyłączonymi zestawami algorytmów
szyfrowania wymienionymi poniżej. Zastosowanie opcji konfiguracyjnych udostępnianych przez IBM do
włączenia zestawów słabych algorytmów szyfrowania skutkuje skonfigurowaniem serwera IBM i w sposób
umożliwiający użycie listy zestawów słabych algorytmów szyfrowania. W takiej konfiguracji serwer IBM i jest
potencjalnie narażony na naruszenie bezpieczeństwa sieci. IBM NIE PONOSI ŻĄDNEJ
ODPOWIEDZIALNOŚCI, A KLIENT PONOSI WSZELKĄ ODPOWIEDZIALNOŚĆ ZA JAKIEKOLWIEK
SZKODY LUB STRATY, W TYM UTRATĘ DANYCH, POWSTAŁE W WYNIKU KORZYSTANIA Z
OKREŚLONYCH ZESTAWÓW ALGORYTMÓW SZYFROWANIA LUB Z TAKIM KORZYSTANIEM
POWIĄZANE.
| Zestawy słabych algorytmów szyfrowania (stan na kwiecień 2016 r.):
| v SSL_RSA_WITH_RC4_128_SHA
| v SSL_RSA_WITH_RC4_128_MD5
| v SSL_RSA_WITH_NULL_MD5
| v SSL_RSA_WITH_NULL_SHA
| v SSL_RSA_WITH_DES_CBC_SHA
| v SSL_RSA_EXPORT_WITH_RC4_40_MD5
| v SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
| v SSL_RSA_WITH_RC2_CBC_128_MD5
| v SSL_RSA_WITH_DES_CBC_MD5
| v SSL_RSA_WITH_3DES_EDE_CBC_MD5
| v TLS_ECDHE_ECDSA_WITH_NULL_SHA
| v TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
| v TLS_ECDHE_RSA_WITH_NULL_SHA
| v TLS_ECDHE_RSA_WITH_RC4_128_SHA
| Domyślne zestawy algorytmów szyfrowania
|
|
|
|
|
Jeśli aplikacja nie określa włączanych algorytmów szyfrowania, używana jest uporządkowana lista domyślnych
zestawów algorytmów szyfrowania systemowej implementacji protokołu SSL/TLS. Aplikacje używają tej metody, aby
można było uwzględnić obsługę nowych wersji protokołu TLS bez konieczności zmiany kodu aplikacji. Domyślne
ustawienie zestawów algorytmów szyfrowania nie ma znaczenia dla aplikacji, które jawnie określają włączane zestawy
algorytmów szyfrowania.
|
|
|
|
|
|
|
Zbiór domyślnych zestawów algorytmów szyfrowania w systemie stanowi część wspólną zbioru włączonych zestawów
algorytmów szyfrowania określonych w wartości systemowej QSSLCSL oraz zbioru dostępnych domyślnych
zestawów algorytmów szyfrowania. Listę dostępnych domyślnych zestawów algorytmów szyfrowania można zmienić
za pomocą komendy zaawansowanej analizy SSLCONFIG z zestawu systemowych narzędzi serwisowych (System
Service Tools – SST). Kolejność na liście domyślnych zestawów algorytmów szyfrowania odpowiada kolejności
zestawów algorytmów szyfrowania w wartości systemowej QSSLCSL. Aby zmienić kolejność, należy zmienić
wartość QSSLCSL.
| Aby określić bieżącą wartość listy dostępnych domyślnych zestawów algorytmów szyfrowania i listy domyślnych
| zestawów algorytmów szyfrowania w systemie, należy użyć opcji -display komendy SSLCONFIG.
|
|
|
|
|
Administrator powinien rozważyć zmianę ustawień listy domyślnych zestawów algorytmów szyfrowania jedynie
wówczas, gdy żadne inne ustawienie konfiguracji nie pozwala aplikacji pomyślnie współdziałać z węzłami sieci.
Zalecane jest włączanie starszych zestawów algorytmów szyfrowania tylko dla konkretnych aplikacji, które tego
wymagają. Jeśli aplikacja ma „definicję aplikacji”, to włączanie jest wykonywane za pomocą programu Digital
Certificate Manager (DCM).
10
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
|
|
|
|
|
|
|
Ostrzeżenie: Dodanie starszego zestawu algorytmów szyfrowania do domyślnej listy skutkuje powstaniem we
wszystkich aplikacjach, które korzystają z domyślnej listy, znanych słabych punktów zabezpieczeń. Załadowanie
grupowej poprawki PTF zabezpieczeń może spowodować usunięcie zestawu algorytmów szyfrowania z listy
domyślnych zestawów algorytmów szyfrowania. Subskrybuj biuletyn bezpieczeństwa, aby otrzymywać
powiadomienia, gdy procedury ograniczania ryzyka obejmują tego typu zmiany. Jeśli administrator dodaje z powrotem
dostępny zestaw algorytmów szyfrowania, który został usunięty przez poprawkę PTF zabezpieczeń, system
zapamiętuje tę zmianę i nie usuwa takiego zestawu ponownie podczas stosowania następnej poprawki PTF
zabezpieczeń.
|
|
|
|
|
Jeśli lista domyślnych zestawów algorytmów szyfrowania musi być zmieniona w systemie, to do zmiany jej wartości
należy użyć opcji eligibleDefaultCipherSuites komendy SSLCONFIG. Opcja -h komendy SSLCONFIG powoduje
wyświetlenie panelu pomocy, który opisuje sposób określania zmienionej listy zestawów algorytmów szyfrowania.
Tekst pomocy zawiera skrócone informacje na temat wartości wymaganych przez opcję. Tylko zestawy algorytmów
szyfrowania wymienione w tekście pomocy można dodać do listy.
|
|
Uwaga: Ustawienie eligibleDefaultCipherSuites komendy SSLCONFIG jest resetowane po zainstalowaniu
licencjonowanego kodu wewnętrznego (LIC).
|
|
Przykład ustawienia tylko zestawów algorytmów szyfrowania ECDHE jako domyślnych w systemie:
|
|
Zestawy algorytmów szyfrowania uwzględnione na liście dostępnych domyślnych zestawów algorytmów szyfrowania
instalowanej w ramach najnowszej grupowej poprawki PTF zabezpieczeń są następujące:
|
v *ECDHE_ECDSA_AES_128_GCM_SHA256
|
|
v *ECDHE_ECDSA_AES_256_GCM_SHA384
v *ECDHE_RSA_AES_128_GCM_SHA256
|
v *ECDHE_RSA_AES_256_GCM_SHA384
|
v *RSA_AES_128_GCM_SHA256
|
v *RSA_AES_256_GCM_SHA384
|
v *ECDHE_ECDSA_AES_128_CBC_SHA256
|
v *ECDHE_ECDSA_AES_256_CBC_SHA384
|
v *ECDHE_RSA_AES_128_CBC_SHA256
|
v *ECDHE_RSA_AES_256_CBC_SHA384
|
v *RSA_AES_128_CBC_SHA256
|
v *RSA_AES_128_CBC_SHA
|
v *RSA_AES_256_CBC_SHA256
|
v *RSA_AES_256_CBC_SHA
|
v *ECDHE_ECDSA_3DES_EDE_CBC_SHA
|
|
v *ECDHE_RSA_3DES_EDE_CBC_SHA
v *RSA_3DES_EDE_CBC_SHA
SSLCONFIG -eligibleDefaultCipherSuites:YE,YD,YC,YB,YA,Y9,Y8,Y7,Y6,Y3
Pojęcia pokrewne:
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
Informacje pokrewne:
Wartość systemowa SSL/TLS: QSSLCSLCTL
Wartość systemowa SSL/TLS: QSSLCSL
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
11
Algorytmy podpisu
W protokole TLSv1.2 algorytm podpisu i algorytm mieszania używane w podpisach cyfrowych są niezależnymi
atrybutami. Wcześniej te algorytmy zależały od wynegocjowanego zestawu algorytmów szyfrowania. Systemowa
implementacja protokołu SSL/TLS obejmuje infrastrukturę obsługującą wiele algorytmów podpisu.
Uporządkowana lista dozwolonych par algorytmów podpisu i mieszania jest w protokole TLSv1.2 wykorzystywana na
dwa sposoby i nie ma znaczenia dla wcześniejszych wersji protokołu:
Wybór certyfikatu
Uporządkowana lista algorytmów podpisu jest wysyłana do systemu węzła sieci, gdy systemowa
implementacja protokołu SSL/TLS żąda certyfikatu podczas uzgadniania. Węzeł sieci używa odebranej listy
jako wytycznych w procesie wyboru certyfikatu. Węzeł sieci powinien wybrać certyfikat zgodny z listą, ale
nie we wszystkich implementacjach i konfiguracjach tak się dzieje. Systemowa implementacja protokołu
SSL/TLS traktuje odebrany certyfikat o niepożądanym algorytmie podpisu jako błąd sesji, chyba że jest
skonfigurowane opcjonalne uwierzytelnianie klienta.
Jeśli systemowa implementacja protokołu SSL/TLS otrzymuje żądanie certyfikatu i nie jest w stanie wybrać
zgodnego certyfikatu, wysyła dostępny niezgodny certyfikat RSA lub ECDSA. Węzeł sieci decyduje, czy taki
certyfikat jest traktowany jako błąd sesji. Więcej informacji na temat algorytmu wyboru certyfikatu w
systemowej implementacji protokołu SSL/TLS zawiera sekcja “Wybór wielu certyfikatów” na stronie 22.
Podpisywanie komunikatów
Lista par algorytmów ogranicza algorytmy podpisu i mieszania używane w cyfrowych podpisach
komunikatów uzgadniania. Podpis komunikatu uzgadniania protokołu TLSv1.2 może się różnić od algorytmu
podpisu certyfikatu używanego w tej sesji. Na przykład komunikat uzgadniania może być chroniony
algorytmem SHA512, mimo że dla sesji został wybrany certyfikat MD5.
Systemowa implementacja protokołu SSL/TLS obejmuje infrastrukturę obsługującą następujące algorytmy podpisu:
v ECDSA_SHA512
v ECDSA_SHA384
v ECDSA_SHA256
v ECDSA_SHA224
v ECDSA_SHA1
v RSA_SHA512
v RSA_SHA384
v RSA_SHA256
v RSA_SHA224
v RSA_SHA1
v RSA_MD5
| Włączone algorytmy podpisu
|
|
|
|
Komenda zaawansowanej analizy systemowych narzędzi serwisowych (SST) o nazwie SSLCONFIG pozwala określić
algorytmy podpisu włączone w systemie. Aplikacje mogą negocjować sesje chronione tylko z wykorzystaniem tych
algorytmów podpisu, które są wyszczególnione za pomocą opcji supportedSignatureAlgorithmList komendy
SSLCONFIG.
|
|
|
|
|
Aby określić bieżącą wartość listy algorytmów podpisu włączonych w systemie, należy użyć opcji -display komendy
SSLCONFIG. Jeśli lista włączonych algorytmów podpisu musi zostać zmieniona w systemie, to do zmiany jej
wartości należy użyć opcji supportedSignatureAlgorithmList komendy SSLCONFIG. Opcja -h komendy
SSLCONFIG powoduje wyświetlenie panelu pomocy, który opisuje sposób ustawiania listy algorytmów podpisu.
Tylko wersje algorytmów podpisu wymienione w tekście pomocy można dodać do listy.
12
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
|
Uwaga: Ustawienie supportedSignatureAlgorithmList komendy SSLCONFIG jest resetowane po zainstalowaniu
licencjonowanego kodu wewnętrznego (LIC).
|
|
|
Przykład ustawiania algorytmów podpisu ECDSA i RSA jako obsługiwanych algorytmów podpisu w systemie:
|
|
W konfiguracji fabrycznej systemowa implementacja protokołu SSL/TLS obsługuje następującą listę algorytmów
podpisu:
|
v ECDSA_SHA512
|
v ECDSA_SHA384
|
v ECDSA_SHA256
|
v ECDSA_SHA224
|
v ECDSA_SHA1
|
v RSA_SHA512
|
v RSA_SHA384
|
v RSA_SHA256
|
v RSA_SHA224
|
v RSA_SHA1
|
v RSA_MD5
|
Domyślne algorytmy podpisu
|
|
|
|
Jeśli aplikacja nie określa listy algorytmów podpisu, używana jest lista domyślnych algorytmów podpisu systemowej
implementacji protokołu SSL/TLS. Aplikacje używają tej metody, aby można było uwzględnić obsługę nowych wersji
protokołu TLS bez konieczności zmiany kodu aplikacji. Lista domyślnych algorytmów podpisu nie ma znaczenia dla
tych aplikacji, które jawnie określają używaną listę algorytmów podpisu.
|
|
|
Lista domyślnych algorytmów podpisu w systemie stanowi część wspólną listy włączonych algorytmów podpisu i listy
dostępnych domyślnych algorytmów podpisu. Lista dostępnych domyślnych algorytmów podpisu jest konfigurowana
za pomocą opcji signatureAlgorithmList komendy SSLCONFIG.
|
|
Aby określić bieżącą wartość listy dostępnych domyślnych algorytmów podpisu w systemie, należy użyć opcji
-display komendy SSLCONFIG.
|
|
|
|
Administrator powinien rozważyć zmianę ustawień domyślnych algorytmów podpisu jedynie wówczas, gdy żadne inne
ustawienie konfiguracji nie pozwala aplikacji pomyślnie współdziałać z węzłami sieci. Zalecane jest włączanie
starszych algorytmów podpisu tylko dla konkretnych aplikacji, które tego wymagają. Jeśli aplikacja ma „definicję
aplikacji”, to włączanie jest wykonywane za pomocą programu Digital Certificate Manager (DCM).
|
|
|
|
Jeśli lista domyślnych algorytmów podpisu musi zostać zmieniona w systemie, to do zmiany jej wartości należy użyć
opcji signatureAlgorithmList komendy SSLCONFIG. Opcja -h komendy SSLCONFIG powoduje wyświetlenie
panelu pomocy, który opisuje sposób ustawiania listy algorytmów podpisu. Tylko wersje algorytmów podpisu
wymienione w tekście pomocy można dodać do listy.
|
|
Uwaga: Ustawienie signatureAlgorithmList komendy SSLCONFIG jest resetowane po zainstalowaniu
licencjonowanego kodu wewnętrznego (LIC).
|
|
Przykład ustawiania algorytmu podpisu ECDSA jako domyślnego algorytmu podpisu w systemie:
|
Kolejność listy domyślnych algorytmów podpisu w konfiguracji fabrycznej jest następująca:
|
v ECDSA_SHA512
SSLCONFIG
-supportedSignatureAlgorithmList:36,35,34,33,32,16,15,14,13,12
SSLCONFIG -signatureAlgorithmList:36,35,34,33,32
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
13
| v ECDSA_SHA384
| v ECDSA_SHA256
| v ECDSA_SHA224
| v ECDSA_SHA1
| v RSA_SHA512
| v RSA_SHA384
| v RSA_SHA256
| v RSA_SHA224
| v RSA_SHA1
Pojęcia pokrewne:
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
| Minimalna wielkość klucza RSA
| Minimalna wielkość klucza RSA dozwolona dla certyfikatu, który jest używany przez dowolną stronę podczas
| uzgadniania, może być ograniczona w systemowej implementacji protokołu SSL/TLS.
| Certyfikat cyfrowy RSA zawiera parę kluczy: publiczny i prywatny. Wielkość klucza dla pary jest mierzona w bitach.
| Niektóre strategie zgodności zabezpieczeń wymagają, aby wielkość klucza RSA osiągała wielkość minimalną.
| Wielkość klucza RSA jest ustawiana podczas tworzenia certyfikatu. Administrator systemu musi utworzyć nowe
| certyfikaty z dłuższymi kluczami RSA i zastąpić nimi certyfikaty o wielkości klucza mniejszej niż ustawiona wielkość
| minimalna.
|
|
|
|
|
Systemowa implementacja protokołu SSL/TLS zawiera ustawienie na poziomie systemu, które pozwala wprowadzić
wielkość minimalną klucza RSA dozwoloną dla certyfikatu. Ograniczenie to odnosi się do certyfikatów lokalnych oraz
certyfikatów węzłów sieci i obejmuje zarówno certyfikaty klienta, jak i serwera. Ustawianie minimalnej wielkości
klucza spowoduje niepowodzenie uzgadniania, jeśli certyfikat jednej ze stron zawiera klucz RSA o wielkości mniejszej
niż minimalna.
|
|
|
|
Zanim administrator zmieni ustawienie minimalnej wielkości klucza na poziomie systemu, powinien ręcznie sprawdzić
i wymienić istniejące certyfikaty lokalne, które mają klucze o wielkości mniejszej niż wymagane minimum, aby
uniknąć awarii aplikacji. Ustawienie minimalnej wielkości klucza RSA uniemożliwia współdziałanie z węzłami sieci,
które wykorzystują certyfikaty RSA z kluczem o wielkości mniejszej niż wartość minimalna.
| Początkowe ustawienie minimalnej wielkości klucza RSA na poziomie systemu ma wartość 0. Wartość 0 oznacza brak
| ograniczenia wielkości klucza.
|
|
|
|
|
Ustawienie systemowej implementacji protokołu SSL/TLS na poziomie systemu można zmienić za pomocą komendy
zaawansowanej analizy SSLCONFIG z zestawu systemowych narzędzi serwisowych (System Service Tools – SST).
Aby określić bieżące ustawienie, należy użyć opcji -display komendy SSLCONFIG. Opcja minimumRsaKeySize
komendy SSLCONFIG umożliwia zmianę minimalnej długości klucza. Opcja -h komendy SSLCONFIG powoduje
wyświetlenie panelu pomocy, który opisuje sposób ustawiania wielkości klucza.
| Na przykład następująca komenda pozwala ustawić minimalną wielkość klucza RSA dozwoloną w systemie na 2
| kilobajty (2048 bitów):
| SSLCONFIG -minimumRsaKeySize:2048
| Aplikacja może ustawić wartość atrybutu GSKit o nazwie GSK_MIN_RSA_KEY_SIZE i określić wyższą wartość
| minimalnej wielkości klucza, dzięki czemu poszczególne aplikacje mogą wprowadzać bardziej rygorystyczne
| ograniczenia niż pozostała część systemu. Jeśli aplikacja ustawi wartość atrybutu GSK_MIN_RSA_KEY_SIZE niższą
14
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
|
|
niż opcja minimumRsaKeySize komendy SSLCONFIG, to używana jest wartość opcji minimumRsaKeySize
komendy SSLCONFIG, a podejmowana przez aplikację próba zmniejszenia minimalnej wielkości klucza jest
ignorowana.
|
|
|
|
|
|
To ustawienie nie ma wpływu na certyfikaty ECDSA, ponieważ nie używają one kluczy RSA.
Pojęcia pokrewne:
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
|
|
|
|
Nazwane krzywe ECDSA
|
|
Systemowa implementacja protokołu SSL/TLS i program Digital Certificate Manager (DCM) zawierają infrastrukturę
obsługi następujących nazwanych krzywych:
|
v Secp521r1
|
v Secp384r1
|
v Secp256r1
|
v Secp224r1
|
v Secp192r1
|
|
|
Liczba w nazwie krzywej oznacza wielkość klucza w bitach używanego w programie DCM do utworzenia certyfikatu.
Podczas wyświetlania certyfikatu w programie DCM wielkość klucza powiązanego z nazwaną krzywą jest podawana w
bitach.
|
Włączone nazwane krzywe
|
|
|
|
|
|
Komenda zaawansowanej analizy SSLCONFIG z zestawu systemowych narzędzi serwisowych (SST) pozwala
określić minimalną wielkość klucza ECDSA dozwoloną dla certyfikatów używanych przez systemową implementację
protokołu SSL/TLS. Ograniczenie to odnosi się do certyfikatów lokalnych oraz certyfikatów węzłów sieci i obejmuje
zarówno certyfikaty klienta, jak i serwera. Ograniczenie listy nazwanych krzywych skutkuje niepowodzeniem
uzgadniania, jeśli certyfikat serwera lub klienta zawiera klucz ECDSA o wielkości nieznajdującej się na obsługiwanej
liście.
|
|
|
|
|
Aby określić bieżącą wartość listy włączonych w systemie nazwanych krzywych eliptycznych, należy użyć opcji
-display komendy SSLCONFIG. Jeśli lista włączonych nazwanych krzywych ma być zmieniona w systemie, należy
użyć opcji supportedNamedCurve komendy SSLCONFIG, aby zmienić jej wartość. Opcja -h komendy
SSLCONFIG powoduje wyświetlenie panelu pomocy, który opisuje sposób ustawiania wartości listy nazwanych
krzywych. Tylko nazwane krzywe wymienione w tekście pomocy można dodać do listy.
|
|
Uwaga: Ustawienie supportedNamedCurve komendy SSLCONFIG jest resetowane po zainstalowaniu
licencjonowanego kodu wewnętrznego (LIC).
|
|
|
Przykład: ustawienie kluczy o wielkości 256, 384 i 521 bitów na liście obsługiwanych nazwanych krzywych w
systemie:
|
|
W konfiguracji fabrycznej systemowa implementacja protokołu SSL/TLS obsługuje następującą listę nazwanych
krzywych:
|
v Secp521r1
|
v Secp384r1
Systemowa implementacja protokołu SSL/TLS obsługuje certyfikaty oparte na algorytmie ECDSA (Elliptic Curve
Digital Signature Algorithm). Wielkość klucza dla certyfikatu ECDSA jest określana przez nazwaną krzywą ustawianą
w momencie utworzenia certyfikatu.
SSLCONFIG -supportedNamedCurve:23,24,25
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
15
| v Secp256r1
| v Secp224r1
| v Secp192r1
| Domyślne nazwane krzywe
|
|
|
|
Jeśli aplikacja nie określa listy nazwanych krzywych, używana jest lista domyślnych nazwanych krzywych systemowej
implementacji protokołu SSL/TLS. Aplikacje używają tej metody, aby można było uwzględnić obsługę nowych wersji
protokołu TLS bez konieczności zmiany kodu aplikacji. Lista domyślnych nazwanych krzywych nie ma znaczenia dla
tych aplikacji, które jawnie określają używaną listę nazwanych krzywych.
| Lista domyślnych nazwanych krzywych w systemie stanowi część wspólną listy włączonych nazwanych krzywych i
| listy dostępnych domyślnych nazwanych krzywych. Lista dostępnych domyślnych nazwanych krzywych jest
| konfigurowana za pomocą opcji namedCurve komendy SSLCONFIG.
| Aby określić bieżącą wartość listy domyślnych nazwanych krzywych eliptycznych w systemie, należy użyć opcji
| -display komendy SSLCONFIG.
|
|
|
|
Administrator powinien rozważyć zmianę ustawień domyślnych nazwanych krzywych jedynie wówczas, gdy żadne
inne ustawienie konfiguracji nie pozwala aplikacji pomyślnie współdziałać z węzłami sieci. Zalecane jest włączanie
nazwanych krzywych o krótszym kluczu tylko dla konkretnych aplikacji, które tego wymagają. Jeśli aplikacja ma
„definicję aplikacji”, to włączanie jest wykonywane za pomocą programu Digital Certificate Manager (DCM).
|
|
|
|
Jeśli lista domyślnych nazwanych krzywych musi zostać zmieniona w systemie, to do zmiany jej wartości należy użyć
opcji namedCurve komendy SSLCONFIG. Opcja -h komendy SSLCONFIG powoduje wyświetlenie panelu
pomocy, który opisuje sposób ustawiania listy nazwanych krzywych. Tylko nazwane krzywe wymienione w tekście
pomocy można dodać do listy.
| Uwaga: Ustawienie namedCurve komendy SSLCONFIG jest resetowane po zainstalowaniu licencjonowanego kodu
| wewnętrznego (LIC).
| Przykład: ustawienie kluczy o wielkości 384 i 521 bitów na liście domyślnych nazwanych krzywych w systemie:
| SSLCONFIG -namedCurve:24,25
| Kolejność listy domyślnych nazwanych krzywych w konfiguracji fabrycznej jest następująca:
| v Secp521r1
| v Secp384r1
| v Secp256r1
| Pojęcia pokrewne:
|
|
|
|
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
Renegocjacja
Rozpoczęcie nowej operacji uzgadniania w istniejącej bezpiecznej sesji określa się jako renegocjację. Renegocjacja w
systemowej implementacji protokołu SSL/TLS jest charakteryzowana przez dwie właściwości.
Aplikacja może podjąć renegocjację z wielu powodów. Renegocjacja może zostać rozpoczęta przez klienta lub przez
serwer. Warstwa aplikacji może nie mieć informacji o renegocjacji bezpiecznej sesji na żądanie węzła sieci.
Uwaga: Do zainicjowania renegocjacji w aplikacjach GSKit korzystających z systemowej implementacji protokołu
SSL/TLS używana jest funkcja gsk_secure_soc_misc().
16
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
Architektury protokołów SSL i TLS zdefiniowane w odpowiednich dokumentach RFC zawierają błąd związany z
renegocjacją. Protokoły nie udostępniają potwierdzenia kryptograficznego, że renegocjacja sesji jest powiązana z
istniejącą bezpieczną sesją. Dodatkowy dokument RFC 5746 definiuje opcjonalne rozszerzenie podstawowych
protokołów, które rozwiązuje ten problem.
Dokument RFC 5746 został dodany do wcześniej zdefiniowanego protokołu dopiero niedawno, więc nie jest obecnie
obsługiwany przez wszystkie implementacje protokołu SSL/TLS. Niektóre implementacje protokołu SSL/TLS nie
zostały zaktualizowane o obsługę dokumentu RFC 5746 lub taka aktualizacja nie jest w ich przypadku możliwa. W
celu zapewnienia ciągłości biznesowej i współdziałania na różnych etapach przejścia między wersjami protokołu
wprowadzono dwie właściwości służące do określania trybu renegocjacji.
Tryb renegocjacji SSL/TLS
|
|
|
|
Domyślnie systemowa implementacja protokołu SSL/TLS wymaga użycia semantyki opisanej w dokumencie RFC
5746 we wszystkich operacjach renegocjacji. Tryb domyślny można zmienić za pomocą opcji sslRenegotiation
komendy zaawansowanej analizy SSLCONFIG z zestawu Systemowych narzędzi serwisowych (System Service Tools
– SST).
|
|
|
Można ustawić tryb zezwalania na wszystkie niezabezpieczone operacje renegocjacji lub zezwalania tylko na skrócone
niezabezpieczone operacje renegocjacji. Użycie tych trybów wymaga dokładnego rozważenia. Opcja -h komendy
SSLCONFIG powoduje wyświetlenie panelu pomocy, który opisuje sposób ustawiania trybu renegocjacji SSL/TLS.
Istnieje tryb wyłączający całkowicie możliwość renegocjacji zainicjowanej przez węzeł sieci. Ten tryb uniemożliwia
renegocjację bezpieczną (w semantyce dokumentu RFC 5746) i niezabezpieczoną. Ten tryb może spowodować
problemu ze współdziałaniem w przypadku aplikacji, które wymagają korzystania z renegocjacji. Bezpieczne operacje
renegocjacji zainicjowane lokalnie, takie jak gsk_secure_soc_misc(), są w tym trybie dozwolone.
Tryb krytyczny rozszerzonej renegocjacji SSL/TLS
Tryb krytyczny rozszerzonej renegocjacji określa, czy systemowa implementacja protokołu SSL/TLS wymaga, aby
wszystkie węzły sieci wskazywały renegocjację zgodną z dokumentem RFC 5746 podczas początkowej negocjacji
sesji.
Aby całkowicie ochronić obie strony bezpiecznej sesji przed wektorem ataku przez renegocjację, wszystkie operacje
negocjacji początkowych muszą wskazać obsługę dokumentu RFC 5746. Takie wskazanie może mieć postać
rozszerzenia TLS “renegotiation_info” lub sygnalizowanej wartości zestawu algorytmów szyfrowania (Signaling
Cipher Suite Value – SCSV) zgodnie z definicją w dokumencie RFC 5746.
Tryb krytyczny jest domyślnie wyłączony w celu zapewnienia współdziałania z implementacjami protokołu SSL/TLS,
w których nie zaimplementowano obsługi dokumentu RFC 5746. Jeśli tryb krytyczny jest włączony, systemowa
implementacja protokołu SSL/TLS może negocjować tylko z systemami, w których została zaimplementowana obsługa
dokumentu RFC 5746. To ograniczenie obowiązuje nawet wtedy, gdy żadna ze stron nie obsługuje renegocjacji ani z
niej nie korzysta. Jeśli okaże się, że wszystkie węzły sieci w systemowej implementacji protokołu SSL/TLS obsługują
dokument RFC 5746, ustawienie trybu powinno zostać zmienione na włączony.
|
|
|
|
|
Domyślny tryb krytyczny rozszerzonej renegocjacji można zmienić za pomocą komendy zaawansowanej analizy
SSLCONFIG z zestawu Systemowych narzędzi serwisowych (System Service Tools – SST). Istnieje właściwość
dotycząca aplikacji klienckich, opcja sslRfc5746NegotiationRequiredClient komendy SSLCONFIG, oraz odrębna
właściwość dotycząca aplikacji serwerowych, opcja sslRfc5746NegotiationRequiredServer komendy
SSLCONFIG.
Systemowa implementacja protokołu SSL/TLS zawsze wysyła rozszerzenie TLS "renegotiation_info" lub wartość
SCSV w komunikacie ClientHello. Wartość SCSV jest wysyłana tylko wtedy, gdy komunikat ClientHello nie zawiera
żadnych innych rozszerzeń.
Pojęcia pokrewne:
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
17
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
Informacje pokrewne:
RFC 5746: "Transport Layer Security (TLS) Renegotiation Indication Extension"
Protokół OCSP (Online Certificate Status Protocol)
Protokół OCSP (Online Certificate Status Protocol) umożliwia aplikacjom ustalenie statusu wycofania certyfikatu
cyfrowego. Status wycofania certyfikatu sprawdzony za pomocą protokołu OCSP zawiera informacje bliższe stanowi
faktycznemu niż te dostępne na listach wycofania certyfikatów.
Implementacja sprawdzania statusu za pomocą protokołu OCSP jest zgodna z dokumentem RFC 2560. Sprawdzanie
statusu wycofania certyfikatu za pomocą protokołu OCSP dotyczy certyfikatów jednostek końcowych. Obsługiwane są
komunikacja HTTP przy użyciu wersji 1 protokołu oraz podstawowy typ odpowiedzi.
Aplikacje sprawdzają status wycofania certyfikatu za pośrednictwem protokołu OCSP, gdy jest spełniony co najmniej
jeden z następujących warunków:
v Jest skonfigurowany adres URL respondera OCSP.
v Jest włączone sprawdzanie informacji AIA (Authority Information Access), a sprawdzany certyfikat zawiera
rozszerzenie AIA. Rozszerzenie AIA musi zawierać metodę dostępu PKIK_AD_OCSP z identyfikatorem URI
wskazującym położenie HTTP respondera OCSP.
Uwaga: Status wycofania jest sprawdzany tylko z pierwszym responderem OCSP znalezionym w rozszerzeniu
AIA.
|
|
|
|
|
Jeśli włączone jest zarówno sprawdzanie adresu URL, jak i sprawdzanie informacji AIA, adres URL respondera jest
sprawdzany w pierwszej kolejności. Tę kolejność można zmienić dla poszczególnych aplikacji przez ustawienie
atrybutu interfejsu API Global Security Kit (GSKit) o nazwie GSK_OCSP_CHECK_AIA_FIRST. Zapytanie do
drugiego respondera jest wysyłane tylko wtedy, gdy zapytanie wysłane do pierwszego respondera zwraca nieokreślony
status wycofania.
Pojęcia pokrewne:
“Wycofywanie certyfikatów” na stronie 21
Sprawdzanie wycofania certyfikatu jest jedną z faz sprawdzania poprawności certyfikatu wykonywanego w ramach
negocjacji sesji. Poprawność łańcucha certyfikatów jest sprawdzana, aby zapewnić, że certyfikat nie został wycofany.
Informacje pokrewne:
RFC 2560: X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP
Konfiguracja protokołu OCSP
Poza włączeniem protokołu OCSP (Online Certificate Status Protocol) istnieje szereg właściwości, które aplikacje
mogą konfigurować w celu dostosowania zachowania klienta OCSP.
Jeśli sprawdzanie wycofania certyfikatu za pomocą protokołu OCSP jest włączone, do respondera OCSP jest wysyłane
żądanie HTTP. Żądanie zawiera informacje identyfikujące certyfikat, którego status wycofania jest sprawdzany, oraz
opcjonalny podpis. Opcjonalny podpis w żądaniu umożliwia responderowi zweryfikowanie poprawnych żądań
otrzymywanych z klientów. Domyślnie podpisy żądań są wyłączone. Żądanie jest przesyłane do respondera przy
użyciu metody GET lub POST protokołu HTTP. Żądania wysyłane metodą GET włączają buforowanie protokołu
HTTP. Jeśli zgodnie z konfiguracją metoda GET jest preferowaną metodą, a żądanie jest mniejsze niż 255 bajtów,
żądanie jest wysyłane przy użyciu metody GET. W przeciwnym razie żądanie jest wysyłane przy użyciu metody POST.
Domyślnie preferowaną metodą jest metoda GET.
Po wysłaniu żądania operacja sprawdzenia wycofania certyfikatu za pomocą protokołu OCSP ulega zablokowaniu do
chwili otrzymania odpowiedzi z respondera lub upływu limitu czasu oczekiwania. Sprawdzanie wycofania certyfikatu
18
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
odbywa się w ramach negocjacji sesji, więc negocjacja sesji zostaje zablokowana do czasu zakończenia tego
sprawdzenia. Jeśli limit czasu ustawiony dla negocjacji sesji jest krótszy niż skonfigurowany limit czasu protokołu
OCSP, jako limit czasu protokołu OCSP jest używana niższa wartość. Domyślna wartość limitu czasu protokołu OCSP
to 10 sekund, ale można ją skonfigurować w aplikacji.
Poprawna odpowiedź jest podpisana i zawiera dane określające status wycofania certyfikatu, którego dotyczy
zapytanie. Status wycofania certyfikatu może mieć wartości: ważny (good), nieznany (unknown) lub wycofany
(revoked). Odpowiedź musi być podpisana przy użyciu certyfikatu spełniającego co najmniej jedno z następujących
wymagań:
v Certyfikat użyty do podpisania jest certyfikatem zaufanym w lokalnej bazie certyfikatów.
v Certyfikat użyty do podpisania jest certyfikatem ośrodka certyfikacji (CA), który wystawił certyfikat podlegający
sprawdzeniu.
v Certyfikat użyty do podpisania zawiera wartość id-ad-ocspSigning w rozszerzeniu ExtendedKeyUsage i został
wystawiony przez ośrodek CA, który wystawił certyfikat podlegający sprawdzeniu.
Odpowiedzi mogą być różnej wielkości. Ustalenie maksymalnej dozwolonej wielkości odpowiedzi jest zadaniem
aplikacji. Domyślnie maksymalna dozwolona wielkość odpowiedzi wynosi 20480 bajtów. Jeśli wielkość odpowiedzi
przekracza maksymalną dozwoloną wartość, wówczas odpowiedź jest ignorowana, a certyfikat traktowany, jakby miał
nieznany status.
Wartość jednorazowa w szyfrowaniu to mechanizm zabezpieczeń, który może służyć do sprawdzenia, czy otrzymana
odpowiedź dotyczy określonego żądania. Wartość jednorazowa w postaci generowanego losowo łańcucha bitowego
jest obliczana i umieszczana zarówno w żądaniu, jak i w odpowiedzi. Jeśli sprawdzanie wartości jednorazowej jest
włączone, jest sprawdzana zgodność wartości umieszczonej w odpowiedzi z wartością wysłaną w żądaniu. Jeśli
wartości jednorazowe nie są zgodne, taka odpowiedź jest ignorowana. Domyślnie sprawdzanie wartości jednorazowej
jest wyłączone.
Sprawdzanie wycofania certyfikatu może spowolnić negocjację sesji. Buforowanie odpowiedzi protokołu OCSP
umożliwia jednak klientowi uzyskanie statusów wycofania odpytywanych wcześniejszymi żądaniami bez ponownego
wysyłania tego samego żądania. Buforowanie odpowiedzi protokołu OCSP jest domyślnie włączone, ale można je
wyłączyć dla danej aplikacji.
Można użyć serwera proxy HTTP jako serwera pośredniego do obsługi żądań protokołu OCSP z zapisanymi w pamięci
podręcznej odpowiedziami albo do przekazywania żądań do respondera. Jeśli dla aplikacji jest skonfigurowany serwer
proxy, wszystkie żądania protokołu OCSP z tej aplikacji są wysyłane do tego serwera. Domyślny port serwera proxy to
port 80. Serwer proxy nie jest domyślnie skonfigurowany.
Funkcje API Global Security Kit (GSKit): gsk_attribute_set_buffer(), gsk_attribute_set_numeric_value() i
gsk_attribute_set_enum() służą do konfigurowania w protokole OCSP następujących atrybutów interfejsu API:
v GSK_OCSP_URL – adres URL respondera protokołu OCSP, do którego są wysyłane żądania OCSP,
v GSK_OCSP_ENABLE – włączenie sprawdzania AIA,
|
|
v GSK_OCSP_CHECK_AIA_FIRST – określenie, czy w protokole OCSP najpierw należy wykonywać sprawdzanie
adresu URL, czy informacji rozszerzenia AIA,
v GSK_OCSP_REQUEST_SIGKEYLABEL – etykieta certyfikatu użytego do podpisania żądania OCSP,
v GSK_OCSP_REQUEST_SIGALG – algorytm podpisu użyty do wygenerowania podpisu żądania OCSP,
v GSK_OCSP_RETRIEVE_VIA_GET – metoda wysyłania żądania OCSP,
v GSK_OCSP_TIMEOUT – liczba sekund oczekiwania na odpowiedź z respondera OCSP,
v GSK_OCSP_MAX_RESPONSE_SIZE – maksymalna akceptowana wielkość odpowiedzi z respondera OCSP w
bajtach,
v GSK_OCSP_CLIENT_CACHE_SIZE – włączenie lub wyłączenie pamięci podręcznej odpowiedzi w kliencie
OCSP,
v GSK_OCSP_NONCE_GENERATION_ENABLE – wysłanie rozszerzenia z wartością jednorazową w żądaniu
OCSP,
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
19
v GSK_OCSP_NONCE_CHECK_ENABLE – sprawdzenie zgodności rozszerzenia z wartością jednorazową w
odpowiedzi OCSP z wartością wysłaną w żądaniu OCSP,
v GSK_OCSP_NONCE_SIZE – liczba bajtów, jaka ma zostać użyta przy generowaniu wartości jednorazowej,
v GSK_OCSP_PROXY_SERVER_NAME – nazwa serwera proxy, do którego są wysyłane żądania OCSP,
v GSK_OCSP_PROXY_SERVER_PORT – numer portu serwera proxy, do którego są wysyłane żądania OCSP,
Aplikacje, w których wykorzystano zintegrowane funkcje API IBM i SSL_ lub implementację IBM i JSSE, nie są
wyposażone w interfejs konfiguracji protokołu OCSP. Dowolny program korzystający z "ID aplikacji" może jednak
włączać i wyłączać sprawdzanie wycofania certyfikatu za pomocą protokołu OCSP przy użyciu narzędzia DCM. Dla
wszystkich pozostałych opcji konfiguracji protokołu OCSP są używane wartości domyślne.
Pojęcia pokrewne:
“Atrybuty protokołu OCSP (Online Certificate Status Protocol)” na stronie 26
Pola atrybutów protokołu OCSP (Online Certificate Status Protocol) służą do sterowania włączaniem obsługi protokołu
OCSP.
Informacje pokrewne:
Funkcje API z zestawu Global Security Kit (GSKit)
Status wycofania OCSP
Status wycofania OCSP jest określany na podstawie odpowiedzi OCSP wysyłanej w reakcji na żądanie OCSP. Istnieją
dwa rodzaje odpowiedzi. Jeden rodzaj wskazuje, że responder OCSP wysłał poprawną odpowiedź; drugi rodzaj jest
sygnałem, że responder napotkał problem przy przetwarzaniu wcześniejszego żądania.
Problemy, jakie może napotkać responder podczas przetwarzania żądania, to m.in.:
v malformedRequest – zniekształcone żądanie.
v internalError – błąd wewnętrzny respondera OCSP.
v tryLater – tymczasowa niemożność wysłania odpowiedzi przez responder OCSP; należy ponowić żądanie później.
v sigRequired – responder OCSP wymaga, aby żądanie było podpisane.
v unauthorized – klient OCSP nie jest uprawniony do odpytywania respondera OCSP.
Poprawna odpowiedź zawiera status wycofania certyfikatu, którego dotyczy zapytanie. Możliwe wartości statusu
certyfikatu to ważny (good), wycofany (revoked) oraz nieznany. Sprawdzenie statusu wycofania certyfikatu za pomocą
protokołu OCSP uważa się za ukończone, jeśli został zwrócony status wycofania certyfikatu „ważny” lub „wycofany”.
Status „ważny” umożliwia kontynuowanie uzgadniania, a status „wycofany” powoduje niepowodzenie uzgadniania.
Jeśli status wycofania pozostaje nieokreślony zarówno w przypadku sprawdzenia adresu URL, jak i sprawdzenia AIA,
certyfikat może być używany. Informacje o certyfikacie o nieokreślonym statusie wycofania można uzyskać za pomocą
funkcji gsk_attribute_get_buffer() i atrybutu GSK_UNKNOWNREVOCATIONSTATUS_SUBJECT. Aplikacja
powinna zamknąć połączenie, jeśli nieokreślony status wycofania nie jest dozwolony.
Nieokreślony status wycofania
Status wycofania pozostaje nieokreślony w przypadku następujących odpowiedzi:
v Brak odpowiedzi w ciągu określonego limitu czasu
v Status odpowiedzi OCSP wskazujący, że responder napotkał problem
v Poprawna odpowiedź spełniająca jeden z następujących warunków:
– Nieznany typ odpowiedzi (obsługiwany jest tylko typ odpowiedzi PKIX_AD_OCSP_basic)
– Nieznana wersja odpowiedzi (obsługiwana jest tylko wersja 1)
– Niepoprawny podpis lub niepoprawny certyfikat użyty do podpisania odpowiedzi
- Certyfikat użyty do podpisania odpowiedzi musi spełniać jedno z następujących kryteriów:
v Być certyfikatem zaufanym w lokalnym magazynie kluczy
v Być certyfikatem ośrodka certyfikacji (CA), który wystawić certyfikat podlegający sprawdzeniu
20
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
v Zawierać wartość id-ad-ocspSigning w rozszerzeniu ExtendedKeyUsage i być wystawiony przez ośrodek
CA, który wystawił certyfikat podlegający sprawdzeniu
– Brak wartości jednorazowej w odpowiedzi w przypadku, gdy sprawdzanie wartości jednorazowych jest
wymagane
– Niepoprawna wartość jednorazowa w odpowiedzi w przypadku, gdy sprawdzanie wartości jednorazowych jest
wymagane
– Niepoprawna lub nieważna wartość nextUpdate określona w odpowiedzi
– Wartość statusu certyfikatu "unknown", która wskazuje, że responder nie zna statusu certyfikatu
Wycofywanie certyfikatów
Sprawdzanie wycofania certyfikatu jest jedną z faz sprawdzania poprawności certyfikatu wykonywanego w ramach
negocjacji sesji. Poprawność łańcucha certyfikatów jest sprawdzana, aby zapewnić, że certyfikat nie został wycofany.
Przy sprawdzaniu wycofania certyfikatu są wykonywane następujące kroki:
1. Sprawdzenie statusu wycofania w położeniu listy wycofań certyfikatów (CRL).
a. Jeśli położenie listy wycofań certyfikatów jest skonfigurowane przy użyciu programu Digital Certificate
Manager (DCM), serwer LDAP bazy danych list wycofań certyfikatów jest odpytywany w poszukiwaniu list
wycofań certyfikatów zawierających status wycofania danego certyfikatu.
v Jeśli certyfikat jest wycofany, faza wycofywania certyfikatu w ramach sprawdzania poprawności certyfikatu
zostaje zakończona, a negocjacja sesji kończy się niepowodzeniem.
v W przeciwnym razie przetwarzanie wycofania certyfikatu jest kontynuowane.
Uwaga: Położenia list wycofań certyfikatów są konfigurowane w lokalnej bazie certyfikatów osobno dla
każdego ośrodka certyfikacji (CA).
2. Status wycofania jest sprawdzany za pomocą protokołu OCSP (Online Certificate Status Protocol).
|
|
|
Jeśli włączone jest zarówno sprawdzanie adresu URL, jak i sprawdzanie informacji AIA, to kolejność odpytywania
responderów jest ustalana na podstawie wartości atrybutu interfejsu API Global Security Kit (GSKit) o nazwie
GSK_OCSP_CHECK_AIA_FIRST. Domyślnie najpierw jest sprawdzany adres URL respondera.
a. Jeśli jest skonfigurowany adres URL respondera OCSP, responder jest odpytywany.
v Jeśli certyfikat jest wycofany, faza wycofywania certyfikatu w ramach sprawdzania poprawności certyfikatu
zostaje zakończona, a negocjacja sesji kończy się niepowodzeniem.
v Jeśli certyfikat jest poprawny, faza wycofywania certyfikatu w ramach sprawdzania poprawności certyfikatu
zostaje zakończona i negocjacja sesji jest kontynuowana.
v Jeśli nie udało się ustalić stanu wycofania certyfikatu, przetwarzanie wycofania certyfikatu jest
kontynuowane.
b. Jeśli jest włączone sprawdzanie AIA, a dla certyfikatu jest zdefiniowana metoda dostępu PKIK_AD_OCSP z
identyfikatorem URI wskazującym adres protokołu HTTP, taki responder jest odpytywany.
v Jeśli certyfikat jest wycofany, faza wycofywania certyfikatu w ramach sprawdzania poprawności certyfikatu
zostaje zakończona, a negocjacja sesji kończy się niepowodzeniem.
v Jeśli certyfikat jest poprawny, faza wycofywania certyfikatu w ramach sprawdzania poprawności certyfikatu
zostaje zakończona i negocjacja sesji jest kontynuowana.
v Jeśli nie udało się ustalić stanu wycofania certyfikatu, faza wycofywania certyfikatu w ramach sprawdzania
poprawności certyfikatu zostaje zakończona i sprawdzanie poprawności certyfikatu jest kontynuowane.
Uwaga: Jeśli status wycofania pozostaje nieustalony, GSKit zapisuje informacje o certyfikacie z nieustalonym
statusem wycofania i kontynuuje działanie tak, jakby zwrócono status inny niż "wycofany". Aplikacja może pobrać
informacje o nieustalonym statusie certyfikatu za pomocą funkcji gsk_attribute_get_buffer() oraz atrybutu
GSK_UNKNOWNREVOCATIONSTATUS_SUBJECT i zdecydować w oparciu o zdefiniowaną strategię, czy
połączenie ma być kontynuowane, czy przerwane.
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
21
Uwaga: Definicja aplikacji skonfigurowana w narzędziu DCM może nadpisywać sprawdzanie wycofań za pomocą list
CRL i protokołu OCSP skonfigurowane w aplikacji korzystającej z tej definicji.
Pojęcia pokrewne:
“Protokół OCSP (Online Certificate Status Protocol)” na stronie 18
Protokół OCSP (Online Certificate Status Protocol) umożliwia aplikacjom ustalenie statusu wycofania certyfikatu
cyfrowego. Status wycofania certyfikatu sprawdzony za pomocą protokołu OCSP zawiera informacje bliższe stanowi
faktycznemu niż te dostępne na listach wycofania certyfikatów.
Informacje pokrewne:
Zarządzanie położeniami listy CRL
Wybór wielu certyfikatów
Systemowa implementacja protokołu SSL/TLS umożliwia przypisanie nie więcej niż czterech certyfikatów do
bezpiecznego środowiska. Obsługę wielu certyfikatów stosuje się w sytuacjach, gdy ma zostać włączona obsługa
certyfikatów ECDSA (Elliptic Curve Digital Signature Algorithm), a jednocześnie mają być obsługiwane certyfikaty
RSA dla klientów, które wymagają szyfrowania RSA.
W celu zapewnienia najlepszego współdziałania serwer musi być w stanie negocjować z wieloma rodzajami klientów o
zróżnicowanych możliwościach obsługi protokołu SSL/TLS. Jeśli dany klient nie obsługuje certyfikatów TLSv1.2 ani
ECDSA, serwer musi nadal obsługiwać używany certyfikat RSA w celu negocjowania bezpiecznego połączenia z
klientem.
Istnieją dwie metody konfigurowania obsługi wielu certyfikatów przez dane środowisko:
v Przypisanie wielu certyfikatów do definicji aplikacji skonfigurowanej dla bezpiecznego środowiska w programie
Digital Certificate Manager (DCM).
v Skonfigurowanie listy etykiet certyfikatów, które mają być używane, za pomocą funkcji interfejsu API GSKit
gsk_attribute_set_buffer(GSK_KEYRING_LABEL_EX).
Podczas uzgadniania każdej sesji SSL/TLS odpowiedni certyfikat dla tej sesji jest wybierany na podstawie atrybutów
sesji. Przy podejmowaniu decyzji są uwzględniane atrybuty SSL/TLS zarówno po stronie klienta, jak i serwera. Może
dojść do sytuacji, że dla danej kombinacji atrybutów nie zostanie znaleziony certyfikat możliwy do użycia.
Uwagi dotyczące wyboru
W przypadku negocjacji protokołów TLSv1.1, TLSv1.0, SSLv3 oraz SSLv2 jest używany pierwszy znaleziony
certyfikat RSA, dla którego istnieje również podpis RSA.
Jeśli negocjowanym protokołem jest protokół TLSv1.2, wówczas proces wyboru składa się z kilku kroków.
1. Proces wyboru zaczyna się od typu klucza zestawu algorytmów szyfrowania preferowanego na serwerze i
obsługiwanego przez klienta. Certyfikat może być zaopatrzony w klucz ECDSA albo w klucz RSA. Jeśli nazwa
zestawu algorytmów szyfrowania zawiera ciąg “ECDSA”, wówczas należy użyć klucza/certyfikatu ECDSA. Jeśli
nazwa zestawu algorytmów szyfrowania zawiera ciąg “RSA”, wówczas należy użyć klucza/certyfikatu RSA. Jeśli
nie istnieje zgodny certyfikat, proces wyboru przechodzi do następnego zestawu algorytmów szyfrowania do chwili
znalezienia zestawu, który działa z jednym z certyfikatów.
W przypadku znalezienia co najmniej jednego dopasowania typu klucza certyfikatu są sprawdzane dodatkowe
kryteria w celu ustalenia, czy któryś z tych certyfikatów może zostać użyty, na podstawie atrybutów uzgadniania.
2. Jeśli rozważanym typem klucza jest ECDSA, nazwana krzywa (odpowiadająca wielkości klucza) musi być
obsługiwana przez węzeł sieci. Jeśli rozważane certyfikaty ECDSA mają różne nazwane krzywe, wówczas
preferowany certyfikat jest ustalany zgodnie z preferowaną przez węzeł sieci kolejnością nazwanych krzywych. Po
wykonaniu tego kroku może zostać wybrany więcej niż jeden certyfikat. Jeśli po tym kroku nie pozostały żadne
zakwalifikowane certyfikaty, należy wrócić do poprzedniego kroku.
3. Zarówno certyfikaty RSA, jak i ECDSA są opatrzone podpisem wystawiającego ośrodka certyfikacji. Typ klucza
podpisu może być inny niż typ klucza certyfikatu serwera. Jeśli w tej fazie pozostał więcej niż jeden
zakwalifikowany certyfikat, jest wybierany taki, którego podpis jest pierwszy w kolejności preferencji węzła sieci.
22
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
Certyfikat ECDSA musi korzystać z algorytmu podpisu dozwolonego na uporządkowanej liście algorytmów
podpisu po stronie węzła sieci. Jeśli żaden certyfikat ECDSA w tym kroku nie korzysta z obsługiwanego algorytmu
podpisu, należy wrócić do poprzedniego kroku i uwzględnić przy przetwarzaniu wyboru nazwaną krzywą o niższej
pozycji w kolejności preferencji.
Jeśli żaden certyfikat RSA w tym kroku nie korzysta z obsługiwanego algorytmu podpisu, należy wrócić do
pierwszego kroku i uwzględnić przy przetwarzaniu wyboru inny typ klucza.
Jeśli po wykonaniu tego kroku nadal pozostaje więcej niż jeden równoważny certyfikat, zostaje wybrany pierwszy
przetwarzany certyfikat. Pozostałe równoważne certyfikaty nie zostają nigdy wybrane, ponieważ są
kryptograficznie identyczne z pierwszym certyfikatem. Należy usunąć dodatkowe certyfikaty z konfiguracji, aby
wyeliminować zbędne przetwarzanie w procesie wyboru.
|
|
|
|
4. Jeśli przetwarzanie zakończy się bez znalezienia certyfikatu, który spełniałby wymienione kryteria wyboru,
wówczas zostaje wybrany pierwszy przetwarzany certyfikat RSA, jeśli na liście znajduje się zestaw algorytmów
szyfrowania RSA. Jeśli nie zostanie wybrany żaden certyfikat RSA, to wybierany jest pierwszy przetwarzany
certyfikat ECDSA, pod warunkiem że zestaw algorytmów szyfrowania ECDSA znajduje się na liście.
|
|
Węzeł sieci podejmuje ostateczną decyzję o zezwoleniu na użycie certyfikatu, a zatem o tym, czy połączenie
będzie działać.
Definicje aplikacji w programie DCM
Program Digital Certificate Manager (DCM) służy do zarządzania bazą danych aplikacji, zawierającą definicje
aplikacji. Każda definicja aplikacji obejmuje informacje o sposobie przetwarzania certyfikatów w danej aplikacji. W
wersji IBM i 7.1 definicja aplikacji zawiera również niektóre atrybuty systemowej implementacji protokołu SSL/TLS
dotyczące tej aplikacji. Taka definicja aplikacji jest znana użytkownikom systemowej implementacji protokołu
SSL/TLS jako „ID aplikacji”.
Definicje aplikacji są używane do konfigurowania informacji o certyfikatach w wielu aplikacjach udostępnianych z
systemem IBM i. Programiści aplikacji mogą zaprojektować dowolne aplikacje tak, aby korzystały one z definicji
aplikacji.
Definicjami aplikacji można zarządzać za pomocą menu Zarządzaj aplikacjami w programie DCM.
v Zarządzanie definicjami aplikacji w bazie certyfikatów *SYSTEM
1. Kliknij opcję Wybierz bazę certyfikatów w lewym panelu nawigacyjnym.
2. Wybierz *SYSTEM i kliknij przycisk Kontynuuj.
3. Wpisz hasło powiązane z bazą certyfikatów *SYSTEM i kliknij przycisk Kontynuuj.
4. Rozwiń menu Zarządzaj aplikacjami w lewym panelu nawigacyjnym.
v Wyświetlanie definicji aplikacji w bazie certyfikatów *SYSTEM
1. Kliknij opcję Wyświetl definicję aplikacji w menu Zarządzaj aplikacjami.
2. Wybierz opcję Serwer lub Klient dla typu definicji aplikacji, która ma zostać wyświetlona. Kliknij przycisk
Kontynuuj (Continue).
3. Wybierz definicję aplikacji, która ma zostać wyświetlona. Kliknij opcję Wyświetl.
v Aktualizowanie definicji aplikacji w bazie certyfikatów *SYSTEM.
1. Kliknij opcję Aktualizuj definicję aplikacji w menu Zarządzaj aplikacjami.
2. Wybierz opcję Serwer lub Klient dla typu definicji aplikacji, która ma zostać zaktualizowana. Kliknij przycisk
Kontynuuj (Continue).
3. Wybierz definicję aplikacji, która ma zostać zaktualizowana. Kliknij opcję Aktualizuj definicję aplikacji.
4. Zaktualizuj atrybuty protokołu TLS/SSL, które mają zostać zmienione, a następnie kliknij przycisk Zastosuj,
aby zapisać zmiany.
Definicja aplikacji w programie DCM zawiera dwa pola, na podstawie których jest identyfikowana. Pole Opis
aplikacji służy do odnajdywania definicji aplikacji w programie DCM i do wykonywania działań z nią związanych.
Pole ID aplikacji jest używane przez systemową implementację protokołu SSL/TLS do identyfikowania definicji
aplikacji zawierającej informacje konfiguracyjne.
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
23
Każdy z następujących interfejsów programowania systemowej implementacji protokołu SSL/TLS zawiera metodę
określania ID aplikacji, jakie powinno zostać użyte.
v Funkcje API z zestawu Global Security Kit (GSKit)
– gsk_attribute_set_buffer(z atrybutem GSK_IBMI_APPLICATION_ID)
v Zintegrowane z systemem IBM i interfejsy API SSL_
– SSL_Init_Application(wartość ustawiana w strukturze SSLInitAppStr)
v Zintegrowana z systemem IBM i implementacja JSSE
– Właściwość systemowa języka Java os400.secureApplication
Do sterowania odpowiednimi atrybutami systemowej implementacji protokołu SSL/TLS w aplikacji można użyć
następujących pól definicji aplikacji w programie DCM:
Protokoły SSL
Pole definicji aplikacji Protokoły SSL określa, które wersje protokołu SSL/TLS są obsługiwane w aplikacji.
Wartość domyślna *PGM oznacza, że program korzystający z danego „ID aplikacji” ustawia atrybut protokołu
SSL/TLS na odpowiednią wartość. Wszystkie programy systemowej implementacji protokołu SSL/TLS zawierają
wartość atrybutu ustawianą jawnie za pomocą wywołania funkcji API lub niejawnie przez zezwolenie na użycie
systemowej wartości domyślnej. Należy używać wartości *PGM, chyba że wymagana wartość atrybutu nie jest
ustawiana w programie.
Jeśli ustawienie *PGM nie powoduje użycia właściwych protokołów, to wartość tego pola definicji aplikacji może
nadpisywać protokoły obsługiwane w aplikacji. Jeśli co najmniej jeden ze wskazanych tu protokołów jest włączony w
systemie za pomocą wartości systemowej QSSLPCL, to protokoły, które nie są włączone w systemie, są ignorowane
w trybie cichym. Należy w miarę możliwości trzymać się kroków konfiguracji opisanych w dokumentacji aplikacji w
celu ustawienia protokołów zamiast korzystać z pola definicji aplikacji. Administrator może skonfigurować słabsze
właściwości zabezpieczeń dla aplikacji IBM, niż wcześniej było to możliwe przy użyciu tego pola.
Informacje pokrewne:
Wartość systemowa SSL/TLS: QSSLPCL
Opcje specyfikacji szyfrów SSL
Pole definicji aplikacji Opcje specyfikacji algorytmów szyfrowania warstwy SSL określa, jakie zestawy algorytmów
szyfrowania SSL/TLS są obsługiwane w aplikacji.
Wartość domyślna *PGM oznacza, że program korzystający z danego „ID aplikacji” ustawia odpowiednią wartość
atrybutu obsługiwanych zestawów algorytmów szyfrowania. Wartość może być w programie ustawiana jawnie za
pomocą wywołania funkcji API lub niejawnie przez zezwolenie na użycie systemowej wartości domyślnej.
Jeśli wartość *PGM powoduje ustawienie niepoprawnej wartości, w tym polu można zdefiniować zestawy algorytmów
szyfrowania warstwy SSL/TLS obsługiwane przez tę aplikację. Zestawy algorytmów szyfrowania wyłączone za
pomocą wartości systemowej QSSLCSL są ignorowane, jeśli jest włączony co najmniej jeden zestaw algorytmów
szyfrowania.
Serwer steruje obsługiwanymi zestawami algorytmów szyfrowania za pomocą listy uporządkowanej według priorytetu.
W celu określenia odpowiedniej konfiguracji administrator korzysta z uwag dotyczących strategii bezpieczeństwa,
wydajności i współdziałania. Ewentualne zmiany na liście należy dokładnie rozważyć. Elastyczność listy
zdefiniowanej przez użytkownika umożliwia konfigurację zabezpieczeń słabszych w porównaniu z konfiguracją
dyktowaną przez wartość *PGM. Osłabienie zabezpieczeń może polegać na:
v wyborze wyższego priorytetu dla stosunkowo słabego algorytmu szyfrowania,
v wyłączeniu stosunkowo silnego algorytmu szyfrowania,
v włączeniu stosunkowo słabego algorytmu szyfrowania.
Serwer jest chroniony jedynie w takim stopniu, na jaki pozwala najsłabszy dozwolony zestaw algorytmów szyfrowania
(niezależnie od miejsca zestawu na liście).
24
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
Informacje pokrewne:
Wartość systemowa SSL/TLS: QSSLCSL
Tryb krytyczny rozszerzonej renegocjacji
To pole definicji aplikacji określa, czy aplikacja wymaga, aby węzeł sieci udostępnił wskazanie renegocjacji zgodne z
dokumentem RFC 5746 podczas wstępnego uzgadniania sesji.
Więcej informacji na ten temat zawiera sekcja Tryb krytyczny rozszerzonej renegocjacji SSL/TLS w temacie
“Renegocjacja” na stronie 16, w ramach tematu nadrzędnego “Ustawienia systemowej implementacji protokołu
SSL/TLS na poziomie systemu” na stronie 4.
Wartość domyślna *PGM oznacza, że program korzystający z danego „ID aplikacji” już ustawił odpowiednią wartość
trybu. Program albo korzysta z domyślnej wartości systemowej implementacji protokołu SSL/TLS, albo z wartości
ustawionej jawnie za pomocą wywołania funkcji API gsk_attribute_set_enum() dla tego atrybutu.
Ustawienie "włączony" ("Enable") powoduje, że wskazanie renegocjacji zgodne z dokumentem RFC 5746 podczas
wstępnego uzgadniania sesji jest wymagane, aby uzgadnianie się powiodło. Z założenia taka aplikacja nie może wtedy
uzgodnić sesji z węzłami sieci, które nie zostały lub nie mogą zostać zaktualizowane o obsługę dokumentu RFC 5746.
Należy ustawić to pole definicji aplikacji na wartość "wyłączony" ("Disable"), jeśli aplikacja nie wymaga wskazania
renegocjacji zgodnego z dokumentem RFC 5746 od węzła sieci podczas wstępnego uzgadniania. Wskazanie ponownej
negocjacji zgodnie z dokumentem RFC 5746 będzie nadal wymagane w przypadku każdego uzgadniania z ponowną
negocjacją.
Uwaga: Aplikacja zawsze będzie udostępniać węzłowi sieci informacje dotyczące wskazania ponownej negocjacji
zgodnie z dokumentem RFC 5746 niezależnie od wartości tego ustawienia.
Informacje pokrewne:
RFC 5746: "Transport Layer Security (TLS) Renegotiation Indication Extension"
Wskazanie nazwy serwera
Pole definicji aplikacji Wskazanie nazwy serwera (SNI) służy do instruowania systemowej implementacji protokołu
SSL/TLS, aby zapewniała ograniczoną obsługę SNI dla tej aplikacji.
Zgodnie z definicją w dokumencie RFC 6066, mechanizm SNI umożliwia klientom TLS podanie serwerowi TLS
nazwy serwera, z którym nawiązują kontakt. Ta funkcja jest używana do obsługi bezpiecznych połączeń z serwerami
udostępniającymi wiele serwerów wirtualnych pod jednym bazowym adresem sieciowym. Aby korzystać z
mechanizmu SNI w ten sposób na kliencie lub serwerze, należy użyć funkcji gsk_attribute_set_buffer() do
skonfigurowania SNI w aplikacji.
Jeśli jest potrzebna ograniczona obsługa SNI, wprowadź pełną nazwę domeny (FQDN) aplikacji serwerowej. Jeśli
obsługa nie jest wymagana, zaakceptuj domyślną wartość *NONE w celu włączenia ograniczonej obsługi SNI bez
nadpisywania istniejącej konfiguracji aplikacji związanej z mechanizmem SNI.
Jeśli w aplikacji informacje SNI są konfigurowane przy użyciu funkcji gsk_attribute_set_buffer(), wówczas wartość
ustawiona w tym polu definicji aplikacji jest dopisywana na końcu istniejących informacji w tym polu. Jeśli istniejące
informacje są skonfigurowane jako newralgiczne, wówczas ta wartość również zostanie uznana za newralgiczną.
Wartość newralgiczna oznacza, że jeśli nazwa FQDN podana przez klienta nie jest zgodna z żadną nazwą na liście
serwera, serwer powoduje niepowodzenie negocjacji sesji. Jeśli nie ma zdefiniowanych wcześniej informacji,
ograniczona obsługa SNI nie jest traktowana jako newralgiczna.
Przypadek użycia ustawienia pola ograniczonej obsługi SNI: z przedsiębiorstwem kontaktuje się użytkownik jego
usług. Użytkownik ma nowe wymaganie w zakresie bezpieczeństwa – wszystkie serwery TLS, z którymi się
komunikuje, mają udostępniać potwierdzenie SNI serwera. Serwer przedsiębiorstwa jest prostym serwerem, używanym
tylko do udostępniania jednej usługi, i nie ma potrzeby konfigurowania na nim serwerów wirtualnych.
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
25
Ustawienie nazwy FQDN serwera umożliwia systemowej implementacji protokołu SSL/TLS wysłanie potwierdzenia
SNI serwera, jeśli nadejdzie odpowiednie żądanie. Wysyłany jest certyfikat serwera przypisany do definicji aplikacji. Z
punktu widzenia serwera nic się nie zmienia, ale wymaganie klienta węzła sieci jest spełnione.
Jeśli zażądana przez klienta nazwa FQDN nie jest zgodna (ponieważ to pole nie zostało ustawione lub zawierało inną
wartość), nie zostanie wysłane żadne potwierdzenie SNI serwera. Serwer kontynuuje proces negocjowania uzgadniania
tak, jakby nie zostało utworzone żadne żądanie SNI. Klient określa, czy taka sytuacja stanowi błąd krytyczny
dotyczący negocjacji sesji.
Informacje pokrewne:
RFC 6066: "Transport Layer Security (TLS) Extensions: Extension Definitions"
Atrybuty protokołu OCSP (Online Certificate Status Protocol)
Pola atrybutów protokołu OCSP (Online Certificate Status Protocol) służą do sterowania włączaniem obsługi protokołu
OCSP.
Protokół OSCP jest mechanizmem ustalania statusu wycofania certyfikatu. Więcej informacji dotyczących
przetwarzania tego statusu można znaleźć w szczegółowym opisie protokołu OCSP. Funkcje API z pakietu GSKit
umożliwiają konfigurowanie licznych atrybutów opisujących przetwarzanie za pomocą protokołu OCSP.
Definicja aplikacji zawiera dwa pola atrybutów OCSP używane do sterowania włączaniem obsługi protokołu OCSP.
Innych atrybutów protokołu OCSP nie można zmieniać w definicji aplikacji. Wartości takich innych atrybutów są
ustalane za pomocą ustawień interfejsu API GSKit lub jako wewnętrzne wartości domyślne.
Pojęcia pokrewne:
“Protokół OCSP (Online Certificate Status Protocol)” na stronie 18
Protokół OCSP (Online Certificate Status Protocol) umożliwia aplikacjom ustalenie statusu wycofania certyfikatu
cyfrowego. Status wycofania certyfikatu sprawdzony za pomocą protokołu OCSP zawiera informacje bliższe stanowi
faktycznemu niż te dostępne na listach wycofania certyfikatów.
Informacje pokrewne:
RFC 2560: X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP
Adres URL protokołu OCSP:
Pole definicji aplikacji Adres URL protokołu OCSP określa, czy ta aplikacja korzysta z ogólnego respondera
protokołu OCSP (Online Certificate Status Protocol) do wysyłania żądań podczas sprawdzania poprawności
certyfikatów jednostek końcowych.
Jeśli adres URL jest ustawiony, z określonym responderem OCSP jest nawiązywane połączenie przy ustalaniu statusu
wycofania wszystkich certyfikatów jednostek końcowych.
Wartość domyślna *PGM oznacza, że program korzystający z danego „ID aplikacji” ustawia atrybut na odpowiednią
wartość. Wszystkie atrybuty systemowej implementacji protokołu SSL/TLS mają początkową wartość domyślną, a w
przypadku tego atrybutu jest to brak adresu URL. Programy mogą wywoływać funkcję gsk_attribute_set_buffer() w
celu jawnego ustawienia wartości adresu URL.
Jeśli ustawienie *PGM nie powoduje nawiązania połączenia z żądanym responderem OCSP, należy wprowadzić w tym
polu odpowiedni adres URL respondera OCSP. HTTP to jedyny obsługiwany protokół adresów URL. Oznacza to, że ta
wartość musi rozpoczynać się łańcuchem http://. Ustawienie tej wartości nadpisuje wewnętrzną konfigurację programu
w zakresie miejsca docelowego adresu URL. Inne skonfigurowane atrybuty OCSP są jednak nadal używane.
Jeśli ustawienie *PGM powoduje użycie respondera OCSP przez aplikację, ale ogólne przetwarzanie respondera OCSP
jest niepożądane, należy ustawić w tym polu wartość „Disable” (Wyłącz). To ustawienie nadpisuje adres URL
skonfigurowany wewnętrznie za pomocą funkcji gsk_attribute_set_buffer(). Wyłączenie obsługi protokołu OCSP
osłabia model zabezpieczeń aplikacji, więc taką decyzję należy podejmować po jej dokładnym rozważeniu.
Pojęcia pokrewne:
26
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
“Wycofywanie certyfikatów” na stronie 21
Sprawdzanie wycofania certyfikatu jest jedną z faz sprawdzania poprawności certyfikatu wykonywanego w ramach
negocjacji sesji. Poprawność łańcucha certyfikatów jest sprawdzana, aby zapewnić, że certyfikat nie został wycofany.
Przetwarzanie informacji AIA za pomocą protokołu OCSP:
Pole definicji aplikacji Przetwarzanie informacji AIA (Authority Information Access) za pomocą protokołu
OCSP (Online Certificate Status Protocol) określa, czy wykonywane przy użyciu protokołu OCSP sprawdzanie
wycofania certyfikatu korzysta z informacji rozszerzenia AIA tego certyfikatu.
Informacje rozszerzenia AIA certyfikatu są używane do sprawdzania wycofania, jeśli status wycofania OCSP jest
nieokreślony i są spełnione oba poniższe warunki:
v Sprawdzanie informacji AIA za pomocą protokołu OCSP jest włączone.
v Sprawdzany certyfikat ma rozszerzenie AIA o metodzie dostępu PKIK_AD_OCSP, zawierające identyfikator URI
położenia HTTP respondera OCSP.
Uwaga: Status wycofania jest sprawdzany z pierwszym responderem OCSP znalezionym w rozszerzeniu AIA.
Wartość domyślna *PGM oznacza, że program korzystający z danego „ID aplikacji” ustawia atrybut na odpowiednią
wartość. Wszystkie atrybuty systemowej implementacji protokołu SSL/TLS mają początkową wartość domyślną. Dla
tego atrybutu wartość domyślna jest wyłączona. W programach można jawnie włączać i wyłączać sprawdzanie
informacji AIA za pomocą protokołu OCSP przy użyciu metody gsk_attribute_set_enum().
Jeśli wartość *PGM nie powoduje sprawdzania informacji AIA za pomocą protokołu OCSP, a sprawdzanie wycofania
jest pożądane, należy ustawić w tym polu wartość „włączone” (Enable). Ustawienie wewnętrzne jest nadpisywane i
sprawdzanie za pomocą protokołu OCSP zostaje wykonane, jeśli informacje AIA są dostępne.
Jeśli wartość *PGM powoduje sprawdzanie informacji AIA za pomocą protokołu OCSP, a sprawdzanie wycofania nie
jest pożądane, należy ustawić w tym polu wartość „wyłączone” (Disable). Wyłączenie obsługi protokołu OCSP osłabia
model zabezpieczeń aplikacji, więc taką decyzję należy podejmować po jej dokładnym rozważeniu.
Pojęcia pokrewne:
“Wycofywanie certyfikatów” na stronie 21
Sprawdzanie wycofania certyfikatu jest jedną z faz sprawdzania poprawności certyfikatu wykonywanego w ramach
negocjacji sesji. Poprawność łańcucha certyfikatów jest sprawdzana, aby zapewnić, że certyfikat nie został wycofany.
Algorytmy podpisu SSL
Pole definicji aplikacji Algorytmy podpisu SSL określa, jakie algorytmy są obsługiwane w aplikacji.
Więcej informacji na temat algorytmów podpisu i ich zastosowań zawiera temat “Algorytmy podpisu” na stronie 12 w
sekcji “Ustawienia systemowej implementacji protokołu SSL/TLS na poziomie systemu” na stronie 4.
Wartość domyślna *PGM oznacza, że program korzystający z danego „ID aplikacji” ustawia pole algorytmów podpisu
SSL na odpowiednią wartość. Wszystkie atrybuty systemowej implementacji protokołu SSL/TLS mają początkową
wartość domyślną. Programy mogą jawnie definiować listę przy użyciu funkcji gsk_attribute_set_buffer().
Jeśli ustawienie *PGM powoduje niepoprawność konfiguracji, należy ustawić w tym polu wartość zawierającą
wymaganą uporządkowaną listę obsługiwanych algorytmów podpisu.
Komenda SSLCONFIG
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
Aby skorzystać z obsługi konfiguracji protokołu SSL/TLS za pomocą komend dostarczonych przez IBM, wykonaj
następujące czynności:
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
27
1. Uruchom Systemowe narzędzia serwisowe (SST) za pomocą komendy CL Uruchomienie SST (STRSST).
2. Wybierz opcję Uruchomienie narzędzia serwisowego.
3. Wybierz Wyświetl/Zmień/Zrzuć.
4. Wybierz Wyświetl/Zmień pamięć.
5. Wybierz Dane Licencjonowanego kodu wewnętrznego (LIC).
6. Wybierz Zaawansowana analiza. (Aby zobaczyć tę opcję, należy przewinąć stronę do góry.)
7. Przewiń do dołu aż do znalezienia opcji SSLCONFIG. Następnie umieść 1 (Wybierz) obok opcji i naciśnij klawisz
Enter. Bieżącym oknem jest okno Określanie opcji zaawansowanej analizy. Jest wyświetlona komenda
SSLCONFIG.
8. Wpisz "-h" bez cudzysłowów i naciśnij klawisz Enter, aby wyświetlić dostępne opcje.
|
|
Sposoby określania protokołów i zestawów algorytmów szyfrowania
systemowej implementacji protokołu SSL/TLS używanych w systemie
| Protokoły i zestawy algorytmów szyfrowania systemowej implementacji protokołu SSL/TLS używane w systemie
| można określić za pomocą funkcji kontroli lub śledzenia dostępnych w systemie.
| Kronika kontroli
| Protokół i zestaw algorytmów szyfrowania dla połączenia systemowej implementacji protokołu SSL/TLS są
| przechwytywane podczas kontroli chronionych połączeń przez gniazdo.
|
|
|
|
|
Kontrola chronionych połączeń przez gniazdo jest włączona, jeśli dla wartości systemowej QAUDLVL/QAUDLVL2
zostanie ustawiona wartość *NETSECURE. Każde pomyślne połączenie generuje pozycję kroniki SK (połączenia
przez gniazdo) z typem pozycji S (pomyślne połączenie chronione). Pozycja kroniki zawiera informacje o protokole w
polu "Secure version" ("Wersja zabezpieczeń") oraz o zestawie algorytmów szyfrowania w polu "Secure properties"
("Właściwości zabezpieczeń").
|
|
|
|
W poniższym przykładzie pozycji kroniki SK typu S zawartość pola "Secure version" wskazuje, że wynegocjowany
został protokół TLSv1.2 wraz z zestawem algorytmów szyfrowania TLS_RSA_WITH_AES_128_CBC_SHA256
wskazanym w polu "Secure properties". Został użyty algorytm podpisu ECDSA_SHA512, również wymieniony w polu
"Secure properties".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kolumna
00901
00951
01001
Dane specyficzne dla pozycji
*...+....1....+....2....+....3....+....4....+....5
’
’
’
TLSV1.2
TLS_RSA_WITH_AES_128_CBC_SHA25’
’6 ECDSA_SHA512
’
Więcej...
W poniższym przykładzie pozycji kroniki SK typu S zawartość pól "Secure version" i "Secure properties" wskazuje, że
wynegocjowany został protokół TLSv1.2 wraz z zestawem algorytmów szyfrowania
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384. Algorytm podpisu to ECDSA_SHA512, a nazwana krzywa
eliptyczna, która określa wielkość klucza, to Secp521r1.
Kolumna
00901
00951
01001
Dane specyficzne dla pozycji
*...+....1....+....2....+....3....+....4....+....5
’
’
’
TLSV1.2
TLS_ECDHE_ECDSA_WITH_AES_256_G’
’CM_SHA384 ECDSA_SHA512 SECP521R1
’
Więcej...
| Więcej informacji na temat interpretowania wszystkich pól pozycji SK zawiera sekcja Pozycje kroniki SK (połączenia
| przez gniazda). Więcej informacji dotyczących analizowania zarejestrowanych zdarzeń zawiera sekcja Analizowanie
| pozycji kroniki kontroli w temacie nadrzędnym Bezpieczeństwo.
28
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
|
Informacje pokrewne:
Kopiowanie pozycji kroniki kontroli (CPYAUDJRNE)
|
|
|
|
|
Śledzenie kodu LIC
|
|
Aby śledzić wszystkie wersje protokołu, w celu uruchomienia śledzenia wpisz następującą komendę:
|
|
Poczekaj na nawiązanie wszystkich połączeń chronionych i zakończ śledzenie za pomocą komendy:
|
|
Aby usunąć dane śledzenia, wprowadź następującą komendę:
|
|
W celu śledzenia połączeń korzystających z określonej wersji protokołu, użyj co najmniej jednego z następujących
punktów śledzenia.
||
Wersja protokołu
Identyfikator śledzenia
|
TLSv1.2
17004
|
TLSv1.1
17003
|
TLSv1.0
17002
|
SSLv3
17001
|
|
SSLv2
17000
|
|
|
Na przykład, aby znaleźć połączenia korzystające wyłącznie z protokołu TLSv1.0, należy użyć punktu śledzenia
17002:
|
|
|
Aby śledzić pewien zakres wersji protokołu, określ początkowy i końcowy identyfikator śledzenia. Poniższy przykład
ilustruje śledzenie protokołów od SSLv2 do TLSv1.0.
|
|
|
|
Dla użytkownika, który uruchomił komendę TRCINT SET(*OFF), tworzony jest zbiór buforowy o nazwie
QPCSMPRT. Wprowadź komendę TRCINT SET(*OFF), aby uruchomić zadanie w tle, jeśli pracujesz z dużą liczbą
danych śledzenia. Poniższe dane wyjściowe punktu śledzenia zawierają właściwości połączenia określone w tym
punkcie.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Narzędzie Śledzenie kodu LIC (Trace Licensed Internal Code) może rejestrować punkty śledzenia systemowej
implementacji protokołu SSL/TLS zawierające informacje o protokołach i zestawach algorytmów szyfrowania
systemowej implementacji protokołu SSL/TLS. Komenda Śledzenie wewnętrzne (Trace Internal – TRCINT) stanowi
interfejs do obsługi narzędzia serwisowego Śledzenie kodu LIC.
TRCINT SET(*ON) TRCTBL(’SCKSSL-1700x’) TRCTYPE(*SCKSSL) SLTTRCPNT((17000 17009))
TRCINT SET(*OFF) TRCTBL(’SCKSSL-1700x’) OUTPUT(*PRINT)
TRCINT SET(*END) TRCTBL(’SCKSSL-1700x’)
TRCINT SET(*ON) TRCTBL(’SCKSSL-17002’) TRCTYPE(*SCKSSL) SLTTRCPNT((17002))
TRCINT SET(*ON) TRCTBL(’SCKSSL-1700x’) TRCTYPE(*SCKSSL) SLTTRCPNT((17000 17002))
SOCKETS
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
#11
#12
#13
(
(
(
(
(
(
(
(
(
(
(
(
(
21)
7)
28)
10)
3)
16)
20)
11)
5)
17)
20)
16)
22)
IDENTIFIER : SC#17003
+0000 C3D6D5D5C5C3E3C9
+0000 E3D3E2E5F14BF1
+0000 E3D3E26DD9E2C16D
+0000 D3D6C3C1D340D7D6
+0000 F9F9F2
+0000 D3D6C3C1D340C9D7
+0000 7A7A868686867AF1
+0000 D9C5D4D6E3C540D7
+0000 F6F1F8F5F2
+0000 D9C5D4D6E3C540C9
+0000 7A7A868686867AF1
+0000 E3D5C1C3C3C5D7E3
+0000 D8C9C2D46DD8E3E5
D6D540D7D9D6D7C5
E6C9E3C86DC1C5E2
D9E3
40C1C4C4D9C5E2E2
F9F84BF5F14BF1F0
D6D9E3
D740C1C4C4D9C5E2
F9F84BF5F14BF1F0
E3C1E2D240404040
6DE3C5D3D5C5E36D
TIME 02/17/15 11:03:33.151908 TDE# 000000003C94
D9E3C9C5E2
*CONNECTION PROPERTIES
*TLSV1.1
6DF1F2F86DC3C2C3 6DE2C8C1 *TLS_RSA_WITH_AES_128_CBC_SHA
*LOCAL PORT
*992
*LOCAL IP ADDRESS
F04BF1F5
*::ffff:198.51.100.15
*REMOTE PORT
*61852
E2
*REMOTE IP ADDRESS
F04BF1F6
*::ffff:198.51.100.16
*TNACCEPTTASK
E2C5D9E5C5D9
*QIBM_QTV_TELNET_SERVER
W danych pozycji punktu śledzenia znajdują się następujące informacje:
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
29
| v Wynegocjowany protokół
| v Wynegocjowany zestaw algorytmów szyfrowania
| v Lokalny port i adres IP
| v Zdalny port i adres IP
| v Nazwa zadania/urządzenia
| v Identyfikator aplikacji (jeśli jest używany)
|
|
|
|
Liczniki wersji protokołów systemowej implementacji protokołu SSL/TLS
|
|
|
|
|
Aby określić protokoły systemowej implementacji protokołu SSL/TLS używane w systemie, można użyć opcji
sslConnectionCounts komendy SSLCONFIG. Jeśli opcja sslConnectionCounts komendy SSLCONFIG jest
włączona, zachowywane są informacje o bieżącej liczbie połączeń systemowej implementacji protokołu SSL/TLS,
pogrupowane według wynegocjowanego protokołu SSL/TLS. Z liczeniem połączeń wiąże się niewielki spadek
wydajności.
Do włączenia liczników wersji protokołów systemowej implementacji protokołu SSL/TLS można użyć komendy
zaawansowanej analizy SSLCONFIG z zestawu systemowych narzędzi serwisowych (SST). Liczniki pokazują
protokoły, które są aktywnie negocjowane przez systemową implementację protokołu SSL/TLS.
| Opcja -h komendy SSLCONFIG powoduje wyświetlenie panelu pomocy, który opisuje sposób użycia opcji
| sslConnectionCounts komendy SSLCONFIG.
| Aby przed wyłączeniem obsługi danego protokołu określić, czy jest on używany w systemie, można wykonać
| następujące czynności:
|
|
|
|
|
|
|
|
|
|
1. Zresetuj wartość sslConnectionCounts, aby wyzerować liczniki bieżącej wersji protokołu.
SSLCONFIG -sslConnectionCounts:reset
2. Śledź połączenia systemowej implementacji protokołu SSL/TLS, aby określić, które protokoły są używane w
aktywnych połączeniach.
SSLCONFIG -sslConnectionCounts:enable
3. Po upływie czasu odpowiadającego normalnej komunikacji systemowej implementacji protokołu SSL/TLS w
systemie wyświetl liczbę połączeń SSL/TLS dla poszczególnych protokołów od ostatniego resetowania.
SSLCONFIG -sslConnectionCounts:display
4. Określ, jakie aplikacje korzystają z protokołów, które mają zostać wyłączone. Zaktualizuj konfigurację aplikacji,
tak aby nie używały tych protokołów.
Uwaga: Licznik nie udostępnia informacji wskazujących, która aplikacja używa danego protokołu. Więcej
informacji o sposobach określania aplikacji korzystających z konkretnego protokołu zawiera sekcja “Sposoby
określania protokołów i zestawów algorytmów szyfrowania systemowej implementacji protokołu SSL/TLS
używanych w systemie” na stronie 28.
|
|
|
|
| 5. Zresetuj wartość sslConnectionCounts, aby wyzerować liczniki bieżącej wersji protokołu.
|
SSLCONFIG -sslConnectionCounts:reset
| 6. Po upływie kolejnego odstępu czasu odpowiadającego normalnej komunikacji systemowej implementacji
|
protokołu SSL/TLS w systemie wyświetl liczbę połączeń SSL/TLS dla poszczególnych protokołów od ostatniego
|
resetowania.
|
SSLCONFIG -sslConnectionCounts:display
|
Jeśli dla protokołu, który ma zostać wyłączony, liczba połączeń wynosi 0, to znaczy, że dana wersja protokołu nie
|
była używana w monitorowanym okresie.
| 7. Wyłącz funkcję liczenia połączeń SSL.
|
SSLCONFIG -sslConnectionCounts:disable
30
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
|
Rozwiązywanie problemów z protokołem SSL/TLS
Ten temat zawiera podstawowe informacje, które mogą pomóc zmniejszyć liczbę potencjalnych problemów
dotyczących systemowej implementacji protokołu SSL/TLS.
Należy pamiętać, że ta sekcja nie stanowi obszernego źródła informacji, gdyż jej zadaniem jest tylko pomoc w
rozwiązywaniu typowych problemów.
Sprawdź, czy zostały spełnione następujące warunki:
v System IBM i spełnia wszystkie wymagania wstępne dotyczące protokołu SSL/TLS.
v Ośrodek certyfikacji i certyfikaty są poprawne i nie wygasły. Więcej informacji na temat sprawdzania poprawności
certyfikatów zawiera sekcja Sprawdzanie poprawności certyfikatów i aplikacji w dokumentacji programu Digital
Certificate Manager.
v System IBM i i zdalny serwer obsługują co najmniej jeden wspólny protokół SSL/TLS i zestaw algorytmów
szyfrowania.
– Sprawdź wartości systemowe systemowej implementacji protokołu SSL/TLS: QSSLPCL, QSSLCSLCTL i
QSSLCSL.
– Sprawdź, czy definicje aplikacji w programie DCM określają protokoły SSL/TLS i zestawy algorytmów
szyfrowania włączone dla aplikacji.
– Przejrzyj ustawienia komendy zaawansowanej analizy SSLCONFIG z zestawu Systemowych narzędzi
serwisowych (System Service Tools – SST).
- Użyj opcji -display komendy SSLCONFIG, aby wyświetlić domyślne atrybuty SSL/TLS.
– Przejrzyj atrybuty SSL/TLS specyficzne dla aplikacji.
Inne opcje określania przyczyn problemów:
v Kod błędu SSL/TLS w protokole zadań serwera może posłużyć jako odniesienie do tabeli błędów, umożliwiające
odnalezienie dalszych informacji na temat błędu. Na przykład ta tabela przypisuje kod -93, który może znajdować
się w protokole zadania serwera, do stałej SSL_ERROR_SSL_NOT_AVAILABLE.
– Ujemny kod powrotu (myślnik przed numerem kodu) wskazuje, że aplikacja używa funkcji API SSL_.
– Dodatni kod powrotu wskazuje, że aplikacja używa funkcji API GSKit.
Jeśli potrzebny jest bardziej dokładny opis, to serwer IBM i może wyświetlić komunikat o identyfikatorze podanym
w tabeli, pokazując prawdopodobną przyczynę i sposób usunięcia tego błędu. Więcej informacji z opisem kodów
błędów może znajdować się w dokumentacji funkcji API gniazd chronionych, która zwróciła błąd.
v Następujące pliki nagłówkowe zawierają takie same nazwy stałych dla kodów powrotu systemowej implementacji
protokołu SSL/TLS jak tabela, ale bez odniesienia do identyfikatora komunikatu:
– QSYSINC/H.GSKSSL
– QSYSINC/H.QSOSSL
Należy pamiętać, że wprawdzie nazwy kodów powrotu systemowej implementacji protokołu SSL/TLS pozostają
stałe w obu plikach nagłówkowych, jednak z każdym z tych kodów może być powiązany więcej niż jeden unikalny
błąd.
|
|
|
Jeśli zachodzi podejrzenie, że działanie aplikacji zakończyło się niepowodzeniem podczas negocjacji SSL/TLS, ale
szczegółowe informacje o błędzie nie są rejestrowanie lub przekazywane w inny sposób, to można spróbować uzyskać
więcej informacji przy użyciu mechanizmów kontroli.
|
|
|
|
|
|
Nieudane połączenia systemowej implementacji protokołu SSL/TLS będą rejestrowane, gdy włączona zostanie
kontrola chronionych połączeń przez gniazdo. Funkcja kontroli bezpiecznych połączeń przez gniazdo będzie włączona,
jeśli w wartości systemowej QAUDLVL/QAUDLVL2 zostanie ustawiona opcja *NETSECURE. Każde połączenie
zakończone niepowodzeniem generuje pozycję kroniki SK (połączenia przez gniazdo) z typem pozycji X
(niepowodzenie połączenia systemowej implementacji protokołu SSL/TLS). Pole "Secure information" ("Informacje
dotyczące zabezpieczeń") zawiera łańcuch z opisem niepowodzenia.
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
31
W poniższym przykładzie pozycji kroniki dotyczącej połączenia przez gniazdo, o typie pozycji X, pole "Secure
version" ("Wersja zabezpieczeń") wskazuje, że do próby negocjowania uzgodnienia zabezpieczeń został użyty protokół
TLSv1.2. Jednak uzgadnianie nie powiodło się i został zwrócony kod błędu GSK_ERROR_NO_CIPHERS,
wyświetlony w polu "Secure properties" ("Właściwości zabezpieczeń"). Pole "Secure information" ("Informacje
dotyczące zabezpieczeń") zawiera łańcuch z opisem niepowodzenia.
Kolumna
00901
00951
01001
01051
01101
01151
Dane specyficzne dla pozycji
*...+....1....+....2....+....3....+....4....+....5
’
’
’
TLSV1.2
GSK_ERROR_NO_CIPHERS
’
’
’
’
No compatible cipher suite ava’
’ilable between SSL end points.
’
’
’
Więcej informacji na temat wszystkich pól pozycji SK zawiera sekcja Pozycje kroniki SK (połączenia przez gniazda).
Opcje określania przyczyn problemów w aplikacji:
v Programiści mogą wykorzystywać w swoich programach funkcje API gsk_strerror() lub SSL_Strerror(), aby
otrzymać krótki opis kodu powrotu dla błędu. Niektóre aplikacje używają tej funkcji API i zapisują w protokole
zadania komunikat zawierający krótki opis błędu.
v Dodatkowe informacje dotyczące ostatniego błędu sprawdzania poprawności certyfikatu w bieżącej bezpiecznej
sesji można pobrać za pomocą atrybutu GSK_LAST_VALIDATION_ERROR i funkcji
gsk_attribute_get_numeric_value(). Jeśli jedna z funkcji gsk_secure_soc_init() lub gsk_secure_soc_startInit()
zwróciła błąd, w tym atrybucie mogą się znajdować dodatkowe informacje dotyczące tego błędu.
Pojęcia pokrewne:
“Wymagania wstępne dotyczące protokołu SSL/TLS”
Ten temat zawiera opis wymagań wstępnych dotyczących systemowej implementacji protokołu SSL/TLS na platformie
IBM i, a także kilka przydatnych wskazówek.
“Komenda SSLCONFIG” na stronie 27
Komenda SSLCONFIG jest komendą zaawansowanej analizy systemowych narzędzi serwisowych (SST), która
umożliwia wyświetlanie lub zmienianie domyślnych właściwości systemowej implementacji protokołu SSL/TLS na
poziomie systemu.
Informacje pokrewne:
Komunikaty z kodami błędów funkcji API gniazd chronionych
Wymagania wstępne dotyczące protokołu SSL/TLS
Ten temat zawiera opis wymagań wstępnych dotyczących systemowej implementacji protokołu SSL/TLS na platformie
IBM i, a także kilka przydatnych wskazówek.
Przed rozpoczęciem używania protokołu SSL/TLS należy sprawdzić, czy w systemie zainstalowane są następujące
opcje:
v IBM Digital Certificate Manager (DCM) (5770-SS1 opcja 34)
Uwaga: Program DCM nie jest wymagany przez oprogramowanie IBM Java Secure Socket Extension (JSSE) i
OpenSSL.
v IBM TCP/IP Connectivity Utilities for i (5770-TC1)
v IBM HTTP Server for i (5770-DG1)
v Jeśli podejmowane są próby uzyskania dostępu do aplikacji IBM Navigator for i lub DCM poprzez port 2001/2005,
to należy upewnić się, że zainstalowane są wymagane opcje produktu IBM Developer Kit for Java (5770-JV1). W
przeciwnym razie serwer administracyjny HTTP systemu IBM i nie zostanie uruchomiony. Wymagane opcje
produktu są zdefiniowane w liście przewodnim grupowej PTF serwera IBM HTTP Server.
32
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
v Aby przyspieszyć przetwarzanie uzgadniania SSL/TLS, można zainstalować sprzęt szyfrujący do obsługi protokołu
SSL/TLS. Jeśli ma zostać zainstalowany sprzęt szyfrujący, należy również zainstalować moduły IBM CCA Service
Provider (5770-SS1 opcja 35) i IBM Cryptographic Device Manager (5733-CY3).
Pojęcia pokrewne:
“Rozwiązywanie problemów z protokołem SSL/TLS” na stronie 31
Ten temat zawiera podstawowe informacje, które mogą pomóc zmniejszyć liczbę potencjalnych problemów
dotyczących systemowej implementacji protokołu SSL/TLS.
Informacje pokrewne:
Sprzęt szyfrujący
Certyfikaty publiczne a certyfikaty prywatne
Konfigurowanie programu DCM
Zabezpieczanie aplikacji za pomocą protokołu SSL/TLS
Za pomocą protokołu SSL/TLS można zabezpieczyć szereg aplikacji systemu IBM i. Szczegółowe informacje na ten
temat zawiera dokumentacja poszczególnych aplikacji.
Informacje pokrewne:
Odwzorowywanie tożsamości w przedsiębiorstwie (EIM)
Zabezpieczanie protokołu FTP
Konfigurowanie protokołu SSL/TLS dla serwera administracyjnego (ADMIN) serwera HTTP
Dodawanie zabezpieczeń SSL/TLS na serwerze HTTP
Scenariusz Telnet: zabezpieczanie aplikacji Telnet za pomocą protokołu SSL/TLS
Protokoły SSL (Secure Sockets Layer) i TLS (Transport Layer Security) na serwerze Directory Server
Interfejsy API do bezpiecznych połączeń przez gniazda
Scenariusz: wykorzystanie sprzętu szyfrującego do zabezpieczania prywatnych kluczy
Informacje pokrewne dotyczące protokołu SSL/TLS
Poniżej znajdują się odsyłacze do innych zasobów i informacji dotyczących protokołu Secure Sockets Layer (SSL) /
Transport Layer Security (TLS).
Serwisy WWW
v RFC 5246: "The Transport Layer Security (TLS) Protocol Version 1.2"
(http://www.ietf.org/rfc/rfc5246.txt)
Zawiera szczegółowe informacje na temat protokołu TLS w wersji 1.2.
v RFC 4346: "The Transport Layer Security (TLS) Protocol Version 1.1"
(http://www.ietf.org/rfc/rfc4346.txt)
Zawiera szczegółowe informacje na temat protokołu TLS w wersji 1.1.
v RFC 2246: "The TLS Protocol Version 1.0 "
(http://www.ietf.org/rfc/rfc2246.txt)
Zawiera szczegółowe informacje na temat protokołu TLS w wersji 1.0.
v RFC2818: "HTTP Over TLS"
(http://www.ietf.org/rfc/rfc2818.txt)
Opisuje, jak korzystać z protokołu TLS do zabezpieczania połączeń HTTP w Internecie.
v RFC 5746: "Transport Layer Security (TLS) Renegotiation Indication Extension"
rfc5746.txt)
(http://www.ietf.org/rfc/
Definiuje rozszerzenie protokołu TLS o wskazanie renegocjacji.
v RFC 6066: "Transport Layer Security (TLS) Extensions: Extension Definitions"
rfc6066.txt)
(http://www.ietf.org/rfc/
Definiuje rozszerzenia protokołu TLS.
Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
33
v RFC 2560: "X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP"
(http://www.ietf.org/rfc/rfc2560.txt)
Definiuje protokół OCSP, używany do ustalania statusu wycofania certyfikatów cyfrowych.
v RFC 4492: "Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS)"
(http://www.ietf.org/rfc/rfc4492.txt)
Definiuje nowe algorytmy wymiany kluczy w protokole TLS.
Inne informacje
v SSL i Java Secure Socket Extension
v IBM Toolbox for Java
34
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
Uwagi
Niniejsza publikacja została przygotowana z myślą o produktach i usługach oferowanych w Stanach Zjednoczonych.
IBM może nie oferować w innych krajach produktów, usług lub opcji omawianych w tej publikacji. Informacje o
produktach i usługach dostępnych w danym kraju można uzyskać od lokalnego przedstawiciela IBM. Odwołanie do
produktu, programu lub usługi IBM nie oznacza, że można użyć wyłącznie tego produktu, programu lub usługi.
Zamiast nich można zastosować ich odpowiednik funkcjonalny pod warunkiem, że nie narusza to praw własności
intelektualnej IBM. Jednakże cała odpowiedzialność za ocenę przydatności i sprawdzenie działania produktu,
programu lub usługi pochodzących od producenta innego niż IBM spoczywa na użytkowniku.
IBM może posiadać patenty lub złożone wnioski patentowe na towary i usługi, o których mowa w niniejszej publikacji.
Przedstawienie niniejszej publikacji nie daje żadnych uprawnień licencyjnych do tychże patentów. Pisemne zapytania
w sprawie licencji można przesyłać na adres:
IBM Director of
Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
USA
Zapytania w sprawie licencji na informacje dotyczące zestawów znaków dwubajtowych (DBCS) należy kierować do
lokalnych działów własności intelektualnej IBM (IBM Intellectual Property Department) lub zgłaszać na piśmie pod
adresem:
Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan, Ltd.
1623-14, Shimotsuruma, Yamato-shi
Kanagawa 242-8502 Japonia
Poniższy akapit nie obowiązuje w Wielkiej Brytanii, a także w innych krajach, w których jego treść pozostaje w
sprzeczności z przepisami prawa miejscowego: INTERNATIONAL BUSINESS MACHINES CORPORATION
DOSTARCZA TĘ PUBLIKACJĘ W STANIE, W JAKIM SIĘ ZNAJDUJE ("AS IS") BEZ UDZIELANIA
JAKICHKOLWIEK GWARANCJI (W TYM TAKŻE RĘKOJMI), WYRAŹNYCH LUB DOMNIEMANYCH, A W
SZCZEGÓLNOŚCI DOMNIEMANYCH GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO
OKREŚLONEGO CELU ORAZ GWARANCJI, ŻE PUBLIKACJA NIE NARUSZA PRAW STRON TRZECICH.
Ustawodawstwa niektórych krajów nie dopuszczają zastrzeżeń dotyczących gwarancji wyraźnych lub domniemanych
w odniesieniu do pewnych transakcji; w takiej sytuacji powyższe zdanie nie ma zastosowania.
Informacje zawarte w niniejszej publikacji mogą zawierać nieścisłości techniczne lub błędy drukarskie. Informacje te
są okresowo aktualizowane, a zmiany te zostaną uwzględnione w kolejnych wydaniach tej publikacji. IBM zastrzega
sobie prawo do wprowadzania ulepszeń i/lub zmian w produktach i/lub programach opisanych w tej publikacji w
dowolnym czasie, bez wcześniejszego powiadomienia.
Wszelkie wzmianki w tej publikacji na temat stron internetowych innych firm zostały wprowadzone wyłącznie dla
wygody użytkowników i w żadnym wypadku nie stanowią zachęty do ich odwiedzania. Materiały dostępne na tych
stronach nie są częścią materiałów opracowanych dla tego produktu IBM, a użytkownik korzysta z nich na własną
odpowiedzialność.
IBM ma prawo do używania i rozpowszechniania informacji przysłanych przez użytkownika w dowolny sposób, jaki
uzna za właściwy, bez żadnych zobowiązań wobec ich autora.
© Copyright IBM Corp. 2002, 2015
35
Licencjobiorcy tego programu, którzy chcieliby uzyskać informacje na temat programu w celu: (i) wdrożenia wymiany
informacji między niezależnie utworzonymi programami i innymi programami (łącznie z tym opisywanym) oraz (ii)
wspólnego wykorzystywania wymienianych informacji, powinni skontaktować się z:
IBM Corporation
Software Interoperability Coordinator, Department YBWA
3605 Highway 52 N
Rochester, MN 55901
USA
Informacje takie mogą być udostępnione, o ile spełnione zostaną odpowiednie warunki, w tym, w niektórych
przypadkach, uiszczenie odpowiedniej opłaty.
Licencjonowany program opisany w niniejszym dokumencie oraz wszystkie inne licencjonowane materiały dostępne
dla tego programu są dostarczane przez IBM na warunkach określonych w Umowie IBM z Klientem,
Międzynarodowej Umowie Licencyjnej IBM na Program lub w innych podobnych umowach zawartych między IBM a
użytkownikami.
Wszelkie dane dotyczące wydajności zostały zebrane w kontrolowanym środowisku. W związku z tym rezultaty
uzyskane w innych środowiskach operacyjnych mogą się znacząco różnić. Niektóre pomiary mogły być dokonywane
na systemach będących w fazie rozwoju i nie ma gwarancji, że pomiary te wykonane na ogólnie dostępnych systemach
dadzą takie same wyniki. Niektóre z pomiarów mogły być estymowane przez ekstrapolację. Rzeczywiste wyniki mogą
być inne. Użytkownicy powinni we własnym zakresie sprawdzić odpowiednie dane dla ich środowiska.
Informacje dotyczące produktów firm innych niż IBM pochodzą od dostawców tych produktów, z opublikowanych
przez nich zapowiedzi lub innych powszechnie dostępnych źródeł. Firma IBM nie testowała tych produktów i nie może
potwierdzić dokładności pomiarów wydajności, kompatybilności ani żadnych innych danych związanych z tymi
produktami. Pytania dotyczące możliwości produktów firm innych niż IBM należy kierować do dostawców tych
produktów.
Wszelkie stwierdzenia dotyczące przyszłych kierunków rozwoju i zamierzeń IBM mogą zostać zmienione lub
wycofane bez powiadomienia.
Niniejsza informacja służy jedynie do celów planowania. Informacja ta podlega zmianom do chwili, gdy produkty,
których ona dotyczy, staną się dostępne.
Publikacja ta zawiera przykładowe dane i raporty używane w codziennych operacjach działalności gospodarczej. W
celu kompleksowego ich zilustrowania, podane przykłady zawierają nazwiska osób prywatnych, nazwy
przedsiębiorstw oraz nazwy produktów. Wszystkie te nazwy/nazwiska są fikcyjne i jakiekolwiek podobieństwo do
istniejących nazw/nazwisk i adresów jest całkowicie przypadkowe.
LICENCJA W ZAKRESIE PRAW AUTORSKICH:
Niniejsza publikacja zawiera przykładowe aplikacje w kodzie źródłowym, ilustrujące techniki programowania w
różnych systemach operacyjnych. Użytkownik może kopiować, modyfikować i dystrybuować te programy
przykładowe w dowolnej formie bez uiszczania opłat na rzecz IBM, w celu projektowania, używania, sprzedaży lub
dystrybucji aplikacji zgodnych z aplikacyjnym interfejsem programowym dla tego systemu operacyjnego, dla którego
napisane zostały programy przykładowe. Programy przykładowe nie zostały gruntownie przetestowane. IBM nie może
zatem gwarantować ani sugerować niezawodności, użyteczności i funkcjonalności tych programów. Programy
przykładowe są dostarczane w stanie, w jakim się znajdują ("AS IS"), bez udzielania jakichkolwiek gwarancji, w tym
także rękojmi. IBM nie ponosi odpowiedzialności za jakiekolwiek szkody wynikające z używania programów
przykładowych.
Każda kopia programu przykładowego lub jakikolwiek jego fragment, jak też jakiekolwiek prace pochodne muszą
zawierać następujące uwagi dotyczące praw autorskich:
36
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
© (nazwa przedsiębiorstwa użytkownika, rok). Fragmenty tego kodu pochodzą z programów przykładowych IBM
Corp.
© Copyright IBM Corp. (wpisać rok lub lata).
Znaki towarowe
IBM, logo IBM oraz ibm.com są znakami towarowymi lub zastrzeżonymi znakami towarowymi International Business
Machines Corp., zarejestrowanymi w wielu systemach prawnych na całym świecie. Nazwy innych produktów lub usług
mogą być znakami towarowymi IBM lub innych podmiotów. Aktualna lista znaków towarowych IBM dostępna jest w
serwisie WWW, w sekcji “Copyright and trademark information” (Informacje o prawach autorskich i znakach
towarowych), pod adresem www.ibm.com/legal/copytrade.shtml.
Adobe, logo Adobe, PostScript i logo PostScript są znakami towarowymi lub zastrzeżonymi znakami towarowymi
firmy Adobe Systems Incorporated w Stanach Zjednoczonych i/lub w innych krajach.
Java oraz wszystkie znaki towarowe i logo dotyczące języka Java są znakami towarowymi Oracle, Inc. w Stanach
Zjednoczonych i/lub w innych krajach.
Nazwy innych produktów lub usług mogą być znakami towarowymi IBM lub innych podmiotów.
Warunki
Zezwolenie na korzystanie z tych publikacji jest przyznawane na poniższych warunkach.
Użytek osobisty: Użytkownik ma prawo kopiować te publikacje do własnego, niekomercyjnego użytku pod
warunkiem zachowania wszelkich uwag dotyczących praw własności. Użytkownik nie ma prawa dystrybuować ani
wyświetlać tych publikacji czy ich części, ani też wykonywać na ich podstawie prac pochodnych bez wyraźnej zgody
IBM.
Użytek służbowy: Użytkownik ma prawo kopiować te publikacje, dystrybuować je i wyświetlać wyłącznie w ramach
przedsiębiorstwa Użytkownika pod warunkiem zachowania wszelkich uwag dotyczących praw własności. Użytkownik
nie ma prawa wykonywać na podstawie tych publikacji ani ich fragmentów prac pochodnych, kopiować ich,
dystrybuować ani wyświetlać poza przedsiębiorstwem Użytkownika bez wyraźnej zgody IBM.
Z wyjątkiem zezwoleń wyraźnie udzielonych w niniejszym dokumencie, nie udziela się jakichkolwiek innych
zezwoleń, licencji ani praw, wyraźnych czy domniemanych, odnoszących się do tych publikacji czy jakichkolwiek
informacji, danych, oprogramowania lub innej własności intelektualnej, o których mowa w niniejszym dokumencie.
IBM zastrzega sobie prawo do anulowania zezwolenia przyznanego w niniejszym dokumencie w każdej sytuacji, gdy,
według uznania IBM, korzystanie z tych publikacji jest szkodliwe dla IBM lub jeśli IBM uzna, że warunki niniejszego
dokumentu nie są przestrzegane.
Użytkownik ma prawo pobierać, eksportować lub reeksportować niniejsze informacje pod warunkiem zachowania
bezwzględnej i pełnej zgodności z obowiązującym prawem i przepisami, w tym ze wszelkimi prawami i przepisami
eksportowymi Stanów Zjednoczonych.
IBM NIE UDZIELA JAKICHKOLWIEK GWARANCJI, W TYM TAKŻE RĘKOJMI, DOTYCZĄCYCH TREŚCI
TYCH PUBLIKACJI. PUBLIKACJE TE SĄ DOSTARCZANE W STANIE, W JAKIM SIĘ ZNAJDUJĄ ("AS IS")
BEZ UDZIELANIA JAKICHKOLWIEK GWARANCJI, W TYM TAKŻE RĘKOJMI, WYRAŹNYCH CZY
DOMNIEMANYCH, A W SZCZEGÓLNOŚCI DOMNIEMANYCH GWARANCJI PRZYDATNOŚCI
HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU ORAZ NIENARUSZANIA PRAW STRON
TRZECICH.
Uwagi
37
38
IBM i: Protokół Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
IBM®
Numer Programu: 5770-SS1

Podobne dokumenty