Co to jest token dostępu?

W komputerowych systemach operacyjnych i innych strukturach oprogramowania token dostępu to dowolna struktura danych zawierająca informacje bezpieczeństwa potrzebne procesowi do uzyskania dostępu do zabezpieczonego obiektu lub innego procesu wymagającego autoryzacji. Bezpieczne obiekty to zazwyczaj dane w systemie plików ze zdefiniowanymi uprawnieniami do odczytu i zapisu, a proces to dowolny inny program lub usługa, która wymaga autoryzacji w celu uzyskania dostępu do jego funkcji. Podczas gdy token dostępu jest po prostu pojemnikiem, w którym można przechowywać dowolne informacje, zwykle służy do przechowywania uprawnień użytkownika.

Koncepcja tokena dostępu została pierwotnie wymyślona i używana przez systemy operacyjne i programy firmy Microsoft®, ale ich użyteczność przeniosła je gdzie indziej. Interfejs programowania aplikacji (API) dla Google opisuje metodę używania tokenów dostępu podczas programowania aplikacji, które potrzebują dostępu do danych powiązanych z kontem użytkownika Google. Niektóre z dużych platform społecznościowych również używają tokenów dostępu w swoim API.

Zasadniczo, gdy użytkownik loguje się do systemu operacyjnego lub struktury systemu oprogramowania, system weryfikuje użytkownika i hasło w bazie danych zabezpieczeń i tworzony jest token dostępu, który identyfikuje użytkownika do dowolnego obiektu lub procesu w systemie. Wszelkie procesy — takie jak aplikacje, programy lub usługi — uruchomione przez użytkownika będą nosić ze sobą token dostępu. Token dostępu musi zatem przechowywać kilka bitów danych, które sprawdza inny program lub obiekt, aby udzielić dostępu.

Tokeny dostępu zawierają identyfikatory zabezpieczeń (SID), zazwyczaj kody numeryczne, dla użytkownika, wszelkie grupy użytkowników, do których należy użytkownik, oraz bieżącą sesję logowania. Token zawiera również listę wszystkich uprawnień, które użytkownik lub grupy są dozwolone. Istnieje kilka różnych typów tokenów dostępu, więc token musi również identyfikować jego typ — podstawowy lub personifikacji. Podstawowym tokenem dostępu jest używany typ standardowy, ale można również utworzyć token personifikacji do działania w imieniu użytkownika.

Gdy token dostępu jest wywoływany w celu wykonania swojego zadania, napotyka monitor odniesienia zabezpieczeń (SRM), usługę, która monitoruje dostęp do obiektów i procesów w systemie. SRM pobiera deskryptor zabezpieczeń obiektu lub procesu w celu porównania z tokenem dostępu. Deskryptor zabezpieczeń zawiera listę kontroli dostępu (ACL), gdzie każdy wpis kontroli dostępu (ACE) definiuje pewne uprawnienia dla tego obiektu lub procesu. Na przykład w przypadku pliku w systemie deskryptor zabezpieczeń zawiera informacje o tym, którzy użytkownicy lub grupy mają uprawnienia do odczytu lub zapisu do pliku. Jeśli token dostępu żądający dostępu do otwierania lub edytowania pliku nie jest zgodny z uprawnieniami w deskryptorze zabezpieczeń, dostęp nie powiedzie się, a użytkownikowi odmówiono dostępu do pliku.