Świadectwo autoryzacji
W bezpieczeństwie komputerowym certyfikat atrybutu lub certyfikat autoryzacji ( AC ) to cyfrowy dokument zawierający atrybuty powiązane z posiadaczem przez wystawcę. Gdy powiązane atrybuty są używane głównie do celów autoryzacji, AC nazywa się certyfikatem autoryzacji . AC jest standaryzowany w X.509 . RFC 5755 dodatkowo określa użycie do celów autoryzacji w Internecie.
Certyfikat autoryzacji działa w połączeniu z certyfikatem klucza publicznego (PKC). Podczas gdy PKC jest wydawany przez urząd certyfikacji (CA) i jest używany jako dowód tożsamości jego posiadacza jak paszport , certyfikat autoryzacji jest wydawany przez urząd ds. wiza . Ponieważ informacje o tożsamości rzadko się zmieniają i mają długi okres ważności, podczas gdy informacje o atrybutach często się zmieniają lub mają krótki okres ważności, konieczne są oddzielne certyfikaty o różnych rygorach bezpieczeństwa, czasie ważności i wystawcach.
Porównanie certyfikatów atrybutów i kluczy publicznych
AC przypomina PKC, ale nie zawiera klucza publicznego , ponieważ weryfikator AC jest pod kontrolą wystawcy AC, a zatem ufa bezpośrednio wystawcy, preinstalując klucz publiczny wystawcy. Oznacza to, że po naruszeniu klucza prywatnego wystawcy AC , wystawca musi wygenerować nową parę kluczy i zastąpić stary klucz publiczny we wszystkich kontrolowanych przez siebie weryfikatorach nowym kluczem.
Weryfikacja AC wymaga obecności PKC, który jest określany jako posiadacz AC w AC.
Podobnie jak w przypadku PKC, AC można połączyć w celu delegowania atrybucji. Na przykład zaświadczenie autoryzacyjne wystawione dla Alicji upoważnia ją do korzystania z określonej usługi. Alicja może przekazać ten przywilej swojemu asystentowi Bobowi, wydając AC dla PKC Boba. Kiedy Bob chce skorzystać z usługi, przedstawia swój PKC i łańcuch AC, zaczynając od własnego AC wystawionego przez Alicję, a następnie AC Alicji wystawionego przez wydawcę, któremu usługa ufa. W ten sposób usługa może zweryfikować, czy Alicja przekazała swoje uprawnienia Bobowi i czy Alicja została upoważniona do korzystania z usługi przez wystawcę, który kontroluje usługę. RFC 3281 nie zaleca jednak używania łańcuchów AC ze względu na złożoność administrowania i przetwarzania łańcucha, a wykorzystanie AC w Internecie jest niewielkie.
Stosowanie
Aby skorzystać z usługi lub zasobu kontrolowanego przez wystawcę AC, użytkownik przedstawia zarówno PKC, jak i AC części usługi lub zasobu, która działa jako weryfikator AC. Weryfikator najpierw sprawdzi tożsamość użytkownika za pomocą PKC, na przykład prosząc użytkownika o odszyfrowanie wiadomości zaszyfrowanej kluczem publicznym użytkownika w PKC. Jeśli uwierzytelnienie przebiegnie pomyślnie, weryfikator użyje preinstalowanego klucza publicznego wystawcy AC do sprawdzenia ważności przedstawionego AC. Jeśli AC jest ważny, weryfikator sprawdzi, czy PKC określony w AC jest zgodny z przedstawionym PKC. Jeśli się zgadza, weryfikator sprawdzi okres ważności AC. Jeśli AC jest nadal ważny, weryfikator może przeprowadzić dodatkowe kontrole przed zaoferowaniem użytkownikowi określonego poziomu usług lub wykorzystania zasobów zgodnie z atrybutami zawartymi w AC.
Na przykład twórca oprogramowania, który ma już PKC, chce wdrożyć swoje oprogramowanie na urządzeniu komputerowym wykorzystującym DRM, takim jak iPad , gdzie oprogramowanie może być uruchamiane na urządzeniu tylko po zatwierdzeniu oprogramowania przez producenta urządzenia. Twórca oprogramowania podpisuje oprogramowanie kluczem prywatnym PKC i przesyła podpisane oprogramowanie do zatwierdzenia przez producenta urządzenia. Po uwierzytelnieniu dewelopera za pomocą klucza PKC i sprawdzeniu oprogramowania, producent może podjąć decyzję o wydaniu AC przyznającego oprogramowaniu podstawową zdolność do samodzielnej instalacji i uruchamiania oraz dodatkową możliwość korzystania z urządzenia Wi-Fi zgodnie z zasadą najmniejszej przywilej . W tym przykładzie AC nie odnosi się do PKC programisty jako posiadacza, ale do oprogramowania, na przykład poprzez przechowywanie podpisu programisty oprogramowania w polu posiadacza AC. Po umieszczeniu oprogramowania w urządzeniu komputerowym urządzenie zweryfikuje integralność oprogramowania przy użyciu klucza PKC programisty przed sprawdzeniem ważności licencji AC i przyznaniem oprogramowaniu dostępu do funkcji urządzenia.
Użytkownik może również potrzebować uzyskać kilka AC od różnych wydawców, aby skorzystać z określonej usługi. Na przykład firma daje jednemu ze swoich pracowników AC w całej firmie, który określa dział inżynierii jako obszar roboczy. Aby uzyskać dostęp do danych inżynierskich, pracownik potrzebuje jednak również poświadczenia bezpieczeństwa AC od kierownika działu inżynieryjnego. W tym przykładzie zasób danych inżynieryjnych musi być preinstalowany z kluczami publicznymi wystawców AC w całej firmie i dziale inżynieryjnym.
Zawartość typowego certyfikatu atrybutu
Wersja : wersja certyfikatu.
Posiadacz : posiadacz certyfikatu.
Emitent : wystawca certyfikatu.
Algorytm podpisu : algorytm podpisywania certyfikatu.
Numer seryjny : niepowtarzalny numer emisyjny nadany przez wystawcę.
Okres ważności : okres ważności certyfikatu.
Atrybuty : atrybuty powiązane z posiadaczem certyfikatu.
Wartość podpisu : podpis emitenta nad całością powyższych danych.
Korzyści
host usługi lub zasobu nie musi utrzymywać listy kontroli dostępu , która może być potencjalnie duża lub być zawsze podłączony do sieci w celu uzyskania dostępu do serwera centralnego, jak w przypadku korzystania z protokołu Kerberos . Jest to podobne do idei możliwości , w których pozwolenie (lub uprawnienia) do korzystania z usługi lub zasobu nie jest przechowywane w samej usłudze lub zasobie, ale w użytkownikach korzystających z mechanizmu odporności na manipulacje .