Korzystanie z obsługi protokołu SSL

Do korzystania z protokołu SSL skonfigurowany musi być zarówno klient (adapter zasobów IMS TM), jak i serwer (produkt IMS Connect).
W poniższej tabeli znajduje się opis kroków, jakie należy wykonać w ramach konfiguracji wysokiego poziomu wykonywanej dla adaptera zasobów IMS TM, produktu IMS Connector for Java i produktu IMS Connect na potrzeby korzystania z protokołu SSL.
Klient SSL (IMS Connector for Java) Serwer SSL (IMS Connect)
  1. Ustal, czy wymagane jest uwierzytelnianie klienta. Jeśli uwierzytelnianie klienta nie jest wymagane, przejdź do kroku 5.
Uwaga: Stanowczo zaleca się stosowanie uwierzytelniania klienta w celu uniemożliwienia dostępu do produktu IMS Connect bez uprawnień.
2. Jeśli uwierzytelnianie klienta jest wymagane, uzyskaj podpisane certyfikaty i klucz prywatny.  
3. Jeśli uwierzytelnianie klienta jest wymagane, utwórz magazyn kluczy i umieść w nim klucz prywatny i certyfikat klienta. Więcej informacji można znaleźć w poniższym opisie.  
  4. Jeśli wymagane jest uwierzytelnianie klienta, wstaw certyfikat klucza publicznego klienta do pliku kluczy. Więcej informacji można znaleźć w podręczniku IMS Connect User's Guide (SC27-0946-03).
5. Utwórz magazyn zaufanych certyfikatów (inny opcjonalny magazyn kluczy) i umieść w nim certyfikat klucza publicznego serwera. Ewentualnie certyfikat klucza publicznego serwera można umieścić w magazynie kluczy klienta, jeśli zaufane i niezaufane certyfikaty są przechowywane w tym samym magazynie kluczy.  
  6. Ustal, który port SSL produktu IMS Connect będzie używany. Skonfiguruj produkt IMS Connect i elementy konfiguracji protokołu SSL przy użyciu odpowiednich wartości. Więcej informacji na temat konfigurowania tych elementów konfiguracji można znaleźć w podręczniku IMS Connect User's Guide (SC27-0946).
7. Skonfiguruj fabrykę połączeń za pomocą odpowiednich parametrów SSL włącznie z numerem portu z kroku 6. Więcej szczegółów można znaleźć w poniższym opisie.  
8. Powiąż aplikację z fabryką połączeń SSL.  

Tworzenie magazynu kluczy lub magazynu zaufanych certyfikatów dla klienta

Aby umożliwić wzajemne uwierzytelnianie klienta i serwera, należy udostępnić magazyn kluczy JKS lub plik kluczy RACF z poprawnymi certyfikatami X.509 zarówno po stronie klienta, jak i serwera. Jeśli uwierzytelnianie klienta przez serwer nie jest wymagane, nie ma potrzeby tworzenia certyfikatu klienta i dodawania go do magazynu kluczy lub pliku kluczy serwera. Do zarządzania magazynami kluczy można wykorzystać różne narzędzia. W celu udostępnienia magazynu kluczy JKS zarówno po stronie klienta, jak i serwera, należy wykonać następujące kroki:
  • Aby skonfigurować klienta (IMS Connector for Java) należy utworzyć certyfikat i uzyskać dla niego podpis w ośrodku certyfikacji (na przykład VeriSign) lub utworzyć własny ośrodek certyfikacji (CA) za pomocą takiego oprogramowania, jak OpenSSL w celu podpisania własnego certyfikatu (samopodpisanego).
  • Aby utworzyć magazyn kluczy, należy użyć narzędzia do zarządzania kluczami, takiego jak Ikeyman lub Keytool. Po utworzeniu magazynu kluczy należy do niego zaimportować certyfikat klienta (jeśli jest dostępny).
  • Aby utworzyć magazyn zaufanych certyfikatów, należy utworzyć kolejny magazyn kluczy i zaimportować certyfikat serwera (IMS Connect). Uwaga: Jeśli należy utworzyć tylko jeden magazyn kluczy, zaimportuj certyfikat serwera do tego samego magazynu kluczy, w którym są przechowywane certyfikaty klienta. Wskazówki dotyczące tworzenia pliku kluczy RACF, który ma być używany jako magazyn kluczy lub magazyn zaufanych certyfikatów, można znaleźć w dokumentacji RACF.

Konfigurowanie protokołu SSL

Bezpieczne połączenie SSL między aplikacją kliencką Java i produktem IMS Connect jest tworzone poprzez zapewnienie, że fabryka połączeń używana przez aplikację kliencką Java ma odpowiednie wartości właściwości SSL. Opis wartości właściwości SSL można znaleźć w temacie Właściwości połączenia.

Na przykład przy korzystaniu z produktów WebSphere i Rational firmy IBM właściwości SSL można skonfigurować na wiele sposobów:

Uwaga: Komunikaty informacyjne i ostrzeżenia można znaleźć w pliku trace.log generowanym przez serwer WebSphere Application Server. Informacje na temat rejestrowania i śledzenia w produkcie IMS Connector for Java można znaleźć w sekcji Rejestrowanie i śledzenie z użyciem adaptera zasobów IMS TM.

W środowisku wykonawczym, gdy aplikacja kliencka Java wykonuje interakcję z systemem IMS, interakcja przepływa przez bezpieczne połączenie (SSL) między klientem SSL, produktem IMS Connector for Java, a serwerem SSL, produktem IMS Connect. Aby otworzyć połączenie SSL między klientem i serwerem, wykonywany jest proces uzgadniania protokołu SSL. Uzgadnianie protokołu SSL, które jest przezroczyste dla aplikacji klienckiej Java, odbywa się następująco:
  • Klient SSL, produkt IMS Connector for Java, inicjuje połączenie, wysyłając pozdrowienie klienta. Serwer, produkt IMS Connect, odpowiada pozdrowieniem serwera wraz ze swoim certyfikatem zawierającym jego klucz publiczny.
  • Jeśli ten certyfikat zostanie pomyślnie uwierzytelniony przez serwer, po obu stronach ustanawiany jest klucz sesji i negocjowana jest specyfikacja szyfru, która określa typ szyfrowania stosowanego w połączeniu. Szyfr może być silny (STRONG), słaby (WEAK) lub zerowy (ENULL). Uzgadnianie protokołu SSL zostaje wówczas zakończone.
  • Jeśli serwer wymaga uwierzytelniania klienta, klient uwierzytelnia certyfikat serwera za pomocą klucza publicznego z certyfikatu. Jeśli to uwierzytelnianie powiedzie się, certyfikat klienta zostanie wysłany z magazynu kluczy klienta. Jeśli ten certyfikat zostanie pomyślnie uwierzytelniony przez serwer, po obu stronach ustanawiany jest klucz sesji i negocjowana jest specyfikacja szyfru, która określa typ szyfrowania stosowanego w połączeniu. Uzgadnianie protokołu SSL zostaje wówczas zakończone.
  • Klient i serwer będą gotowe do wysyłania i odbierania zaszyfrowanych danych.
Istotne jest, że podczas uruchamiania aplikacji w środowisku zarządzanym (co jest stanowczo zalecane podczas korzystania z połączeń SSL ze względu na narzut związany z procesem uzgadniania protokołu SSL) adapter zasobów IMS TM do komunikacji z produktem IMS Connect używa tylko trwałych połączeń gniazd. W rzeczywistości adapter zasobów IMS TM zawsze używa trwałych połączeń gniazd, ale w środowisku niezarządzanym te trwałe połączenia są rozłączane przez aplikację po każdym użyciu, a nie udostępniane do ponownego użycia w innych aplikacjach. W przypadku korzystania z menedżera połączeń serwera WebSphere Application Server połączenia mogą być szeregowo ponownie wykorzystywane przez inne aplikacje klienckie. Menedżer połączeń w razie potrzeby tworzy połączenia i w razie potrzeby udostępnia je aplikacjom. Gdy aplikacja zakończy korzystanie z połączenia, menedżer połączeń zwraca połączenie do wolnej puli, umożliwiając jego ponowne wykorzystanie przez dowolną inną aplikację żądającą tego typu połączenia. Jednak uwierzytelnianie klienta i serwera następuje tylko raz dla każdego gniazda podczas uzgadniania wykonywanego, gdy gniazdo jest inicjowane po raz pierwszy jako gniazdo SSL. W przypadku ponownego wykorzystania gniazda klient SSL (adapter zasobów IMS TM) i serwer (IMS Connect) nie ulegają zmianie. W efekcie nie ma potrzeby ponownego uwierzytelnienia klienta i serwera (ponownego przejścia przez proces uzgadniania), gdy gniazdo zostanie ponownie wykorzystane. Jest to spójne z faktem, że identyfikator klienta, który identyfikuje gniazdo, pozostaje taki sam przy każdym ponownym użyciu gniazda.

Jeśli wartość SSLEncryption jest ustawiona na ENULL, wydajność powinna być lepsza niż w przypadku połączeń SSL stosujących szyfrowanie silne lub słabe. Stopień tej poprawy będzie zależał od kilku czynników, między innymi od tego, czy używane jest szyfrowanie sprzętowe czy programowe. Jeśli używane jest szyfrowanie sprzętowe, poprawa będzie mniejsza, ponieważ szyfrowanie sprzętowe jest szybsze niż programowe.


Opinie