Certyfikaty dla okna dialogowego zabezpieczeń.

Gdy rozpocznie się konwersacji, usługa Broker używa zdalnego powiązania zlokalizować certyfikat do konwersacji.W tym temacie opisano sposób Service Broker Określa certyfikat używany do konwersacji.

Lokalizowanie certyfikat dla okna dialogowego

usługa Brokernajpierw lokalizuje powiązanie usługa zdalnej dla konwersacji, a następnie wybiera świadectwo posiadane przez użytkownika określonego w wiązaniu.

Aby znaleźć powiązania, usługa Broker sprawdza zgodność bazy danych dla powiązania, które określa nazwę usługa miejsce docelowe konwersacji.

Aby wybrać certyfikat, usługa Broker znajdzie certyfikat z najnowszą wygaśnięcia data jest własnością określonego w wiązaniu zdalnego serwisu użytkownika.Service Broker nie uzna certyfikaty, które jeszcze nie są prawidłowe, które wygasły lub nie są oznaczane jako dostępne dla okna dialogowego begin.Aby uzyskać więcej informacji o certyfikatach, zobacz Tworzenie certyfikatu (Transact-SQL).

Jeśli powiązanie usługa zdalny nie istnieje lub użytkownik powiązanie usługa zdalny nie jest właścicielem poprawnego certyfikat, który jest dostępny dla okna dialogowego początkowy, usługa Broker nie można szyfrować wiadomości w konwersacji.Jeśli nie ma żadnych powiązanie i baza danych zawiera usługa konfiguracji Broker, usługa Broker żądania wiązania za pośrednictwem tej usługa.Jeśli w bazie danych nie istnieje żadna usługa konfiguracji Broker lub usługa konfiguracji Broker nie zapewnia powiązanie usługi zdalnej, konwersacji jest opóźnione, jeżeli szyfrowanie jest włączone lub kontynuuje bez szyfrowania, jeśli szyfrowanie jest wyłączona.Aby uzyskać więcej informacji, zobacz Określanie typu okna dialogowego zabezpieczeń.

Zdalny autoryzacji i okno dialogowe zabezpieczeń

Service Broker okna dialogowego zabezpieczeń używa certyfikatów do zdalnego autoryzacja.Gdy okno dialogowe używa okna dialogowego zabezpieczeń, pierwszą wiadomością wysłaną przez każdego uczestnik w konwersacji zawiera zaszyfrowane przy użyciu klucz prywatnego użytkownika wysyłającego informacje nagłówka i zaszyfrowane kluczem publicznym użytkownika otrzymującego informacje nagłówka.Zawartość wiadomości są szyfrowane przy użyciu klucz sesja.klucz sesja jest szyfrowany i tylko można odzyskać przy użyciu klucz prywatnego dla użytkownika otrzymującego.

Jeśli adresat wiadomości może pomyślnie odszyfrować wiadomość, oznacza to, że adresat posiada odpowiednie klucze i to potwierdza tożsamość każdego uczestnik w konwersacji.Instalowanie certyfikat w bazie danych tworzy relację zaufania z bazą danych, który przechowuje klucz prywatny.

W efekcie szyfrowania nagłówka przy użyciu klucz prywatnego dla użytkownika lokalnego zadaje pytanie "Jest zdalnej bazy danych zaufania lokalnej bazy danych?" Zdalnej bazy danych może odszyfrować tylko nagłówek, jeśli baza danych zawiera odpowiedniego klucz publicznego.Szyfrowanie nagłówka z publicznego klucz dla użytkownika w zdalnej bazie danych zadaje pytanie, "jest lokalnej bazy danych zaufania zdalnej bazy danych?" Zdalnej bazy danych może odszyfrować tylko nagłówek, jeśli baza danych zawiera odpowiedni klucz prywatny.Bezpieczeństwa i efektywności Service Broker zadaje pytania, zarówno w tym samym czas.Jednak wiadomości ma strukturę, aby adresat musi mieć możliwość potwierdzają zarówno pytania, aby odpowiedzieć na wiadomość poprawnie.

Rozumowanie za tej strategii jest proste.Jeśli zdalnej bazy danych można odszyfrować nagłówka zaszyfrowane kluczem prywatnym w lokalnej bazie danych, zdalnej bazy danych zawiera odpowiedni klucz publiczny i zdalnej bazy danych i relacje zaufania usługi lokalnej bazy danych.Jeśli zdalnej bazy danych można odszyfrować zaszyfrowane kluczem publicznym w lokalnej bazie danych nagłówka, zdalnej bazy danych zawiera odpowiedni klucz prywatny i lokalnej bazy danych i relacje zaufania zdalnej bazy danych.Jak klucze prywatne pozostać tajne, tylko dwóch baz danych uczestniczących w konwersacji można pomyślnie wymiany wiadomości w konwersacji.

Ostrzeżenie

Certyfikaty należy instalować tylko z zaufanych źródeł.Nie rozpowszechniaj kluczy prywatnych.

Pełne okno dialogowe zabezpieczeń sprawdza tożsamość w obu kierunkach, podczas pierwszej wymiany wiadomości.Dla konwersacji używające anonimowe okno dialogowe zabezpieczeń inicjator sprawdza, czy miejsce docelowe baza danych zawiera oczekiwanego klucz prywatny.Jednak anonimowe okna dialogowego zabezpieczeń miejsce docelowe bazy danych nie weryfikuje tożsamości inicjatora; Zamiast tego należy zezwolić na obsługującym usługa miejsce docelowe bazy danych publicznych stała rola bazy danych do wysyłania wiadomości do usługa.

Wiadomości musi być wymieniane obu sposobów zanim uzna tożsamości zdalnej bazy danych zostanie potwierdzona, lokalną bazę danych.Weryfikacja tylko może się zdarzyć, jeśli lokalna baza danych zawiera poprawny klucz publiczny certyfikat w zdalnej bazie danych.

Do pierwszej wiadomości wysłane przez każdą ze stron konwersacji Service Broker obejmuje następujące nagłówki:

  • A para usługa nagłówka zabezpieczeń zawierający informacje dotyczące certyfikatów, używany dla wiadomości.usługa Para nagłówka zabezpieczeń jest podpisany przy użyciu klucz prywatnego dla użytkownika, który jest właścicielem usługa.

  • A klucz wymiany kluczy który szyfruje klucz sesja 128-bitowego, użyte do zaszyfrowania treści wiadomości.Klucz wymiany kluczy jest szyfrowany kluczem publicznym użytkownika zdalnego.

Dla okien dialogowych, korzystających z zabezpieczeń anonimowych usługa para nagłówka zabezpieczeń pozostanie niezaszyfrowany.Wiadomości nadal są szyfrowane i wymiany kluczy jest szyfrowany przy użyciu klucz publicznego dla podmiotu zabezpieczeń w miejsce docelowe bazie danych.W tym przypadek pierwszy komunikat zwrotny nie zawiera klucz wymiany kluczy, nagłówka zabezpieczeń usługa pary lub klucz sesja zaszyfrowanej.

Gdy Service Broker sam generuje komunikat w odpowiedzi na wiadomość przychodząca (na przykład błąd lub potwierdzenia), wiadomości używa klucz sesja przychodzących wiadomości, niezależnie od tego, czy korzysta z okna dialogowego Zabezpieczenia pełne lub zabezpieczenia anonimowe.