Przewodnik dla programistów dotyczący tokenów Private State

W przeszłości pliki cookie innych firm były wykorzystywane do przechowywania i przekazywania informacji o stanie użytkownika, np. o stanie logowania czy o urządzeniu z jakich firm korzystają, lub czy są znane i godne zaufania. Na przykład, czy czy użytkownik zalogował się za pomocą SSO, czy jest znany i zaufany. Na wycofujemy obsługę plików cookie innych firm, wiele z tych przypadków użycia musi być obsługiwanych w inny sposób.

Tokeny prywatności umożliwiają udostępnianie informacji w sieci, chroniące prywatność dzięki mechanizmom kontroli ilości danych, które mogą do udostępniania.

Tokeny prywatności (dawniej nazywane tokenami zaufania) pozwalają na zaufanie przekazywanie autentyczności z jednego kontekstu do drugiego, a jednocześnie pomaga witrynom zwalczaj oszustwa i odróżniaj boty od prawdziwych ludzi – bez pasywnego śledzenia.

Dokument ten przedstawia techniczne szczegóły implementacji funkcji Prywatny Tokeny (PST). Bardziej ogólny zarys znajdziesz Omówienie PST.

Przepływ nauki dotyczący pliku PST.
Proces nauki z PST: składa się z wielu etapów, począwszy od zrozumienia interfejsu API i zdefiniowania własnej strategii dotyczącej tokenów (co obejmuje więcej działań związanych z usługami lub firmami). Etap techniczny obejmuje wdrożenie wersji demonstracyjnej w środowisku lokalnym, a następnie zastosowanie jej w prawdziwym przypadku użycia.

Jak działają tokeny prywatności?

Kluczowa relacja, którą należy zrozumieć w przypadku pliku PST, występuje między wydawcami a wydawcami. Wystawcy i wykupujący mogą należeć do tej samej firmy.

  • Wystawcy – te podmioty mają określony sygnał o użytkowniku (na przykład niezależnie od tego, czy użytkownik jest botem, czy nie), i umieszcza ten sygnał w tagu tokenu przechowywanego na urządzeniu użytkownika (więcej informacji znajdziesz w następnych sekcjach).
  • Wykorzystujący – te podmioty mogą nie mieć sygnału o użytkowniku, ale muszą coś o nim wiedzieć (na przykład czy dany użytkownik jest botem) lub nie) i poproś o wykorzystanie tokena od jego wydawcy, aby dowiedzieć się, jego wiarygodności.

Każda interakcja w PST wymaga współpracy wydawców i podmiotów realizujących wyświetlenia w internecie. Te sygnały to wartości przybliżone, które nie są szczegółowo wystarczająca do zidentyfikowania osób.

Czy tokeny prywatności są dla mnie odpowiednie?

Przypadki użycia tokenów prywatności.

Firmy, które podejmują decyzje dotyczące zaufania i chcą udostępniać te informacje w poszczególnych kontekstach mogą skorzystać z plików PST. Więcej informacji o potencjalnych zastosowaniach PST, zapoznaj się z dokumentacją dotyczącą przypadków użycia plików PST.

Wydawanie i wykorzystywanie tokenów

Implementacja pliku PST składa się z 3 etapów:

  1. Wydawanie tokenów
  2. Wykorzystanie tokenów
  3. Przekazywanie rekordu wykorzystania

W pierwszej fazie tokeny są wydawane przeglądarce (zwykle po weryfikacji danych). W drugim etapie inny podmiot prześle prośbę o wykorzystanie oferty. wystawiony token umożliwiający odczytanie jego wartości. W finale faza, strona kupującego otrzymuje rekord wykorzystania (RR) o wartości który zawiera token. Odbiorca może wykorzystać nagranie jako atestacje danego użytkownika do różnych celów.

Podstawowy proces tokenów prywatności.
Schemat sekwencji: pokazuje podstawowe wykorzystanie pliku PST w rzeczywistym scenariuszu, w którym dwie strony chcą wymienić sygnał dotyczący konkretnej instancji Chrome. Obie witryny przeprowadzają operacje wystawiania i wykorzystania środków w różnych momentach, mogąc przekazać między nimi zaufany sygnał.

Określ strategię dotyczącą tokenów

Aby zdefiniować strategię dotyczącą tokenów, musisz zrozumieć pojęcia związane z kluczami PST (tokenami) i zapisy wykorzystania), zmienne, zachowania i ograniczenia, zastanów się nad ich potencjalnym zastosowaniem w Twoim przypadku.

Tokeny i zapisy wykorzystania: jaka jest relacja między nimi?

Na każdym urządzeniu można zapisać do 500 tokenów na witrynę i wydawcę najwyższego poziomu. Oprócz tego: każdy token zawiera metadane informujące wydawcę, który klucz wykorzystał do jego wydania. Ten Na podstawie tych informacji można zdecydować, czy token może zostać wykorzystany czy nie. proces tworzenia konta. Dane PST są przechowywane wewnętrznie przez przeglądarkę na urządzeniu użytkownika oraz dostęp jest możliwy tylko przez interfejs PST API.

Po wykorzystaniu tokenu na urządzeniu zostaje zapisany RR (rekord wykorzystania). To miejsce na dane służy jako pamięć podręczna na potrzeby przyszłych promocji. Obowiązuje limit dwóch wykorzystanie tokenów co 48 godzin, na urządzenie, stronę i wydawcę. Nowy sposób wykorzystania będą używać w miarę możliwości adresów RR zapisanych w pamięci podręcznej, zamiast powodować wysyłanie żądań do wystawcy.

Zależność między czasem PST i RRSO.
  1. Wydawane są nowe tokeny (maksymalnie 500 na wystawcę, witrynę lub urządzenie).
  2. Wszystkie tokeny są przechowywane na urządzeniu w magazynie tokenów (podobnie jak magazyn plików cookie).
  3. Jeśli nie znaleziono aktywnego żądania udzielenia odpowiedzi, po jego wystawieniu można wygenerować nowe żądania odpowiedzi. (maksymalnie 2 co 48 h).
  4. RRSO są uważane za aktywne do momentu wygaśnięcia i będą używane jako lokalne pamięci podręcznej.
  5. Nowe wywołania dotyczące wykorzystania będą trafiać do lokalnej pamięci podręcznej (nie są generowane nowe żądania RR).

Po zdefiniowaniu przypadku użycia musisz dokładnie określić czas trwania RR, czyli będzie to określać, ile razy będzie można ich używać tych kwestii.

Zapoznaj się z tymi krytycznymi zachowaniami i zmiennymi przed która określa strategię:

Zmienna / zachowanie Opis Potencjalne wykorzystanie
Metadane klucza tokena Każdy token można wystawić przy użyciu tylko jednego klucza kryptograficznego oraz w PST obowiązuje limit 6 kluczy na wydawcę. Jednym z możliwych sposobów wykorzystania tej zmiennej jest zdefiniowanie zakresu zaufania, do tokenów na podstawie Twoich kluczy kryptograficznych (np. klucz 1 = wysokie zaufanie, a klucz 6 = brak zaufania).
Data ważności tokena Data ważności tokena jest taka sama jak data ważności klucza. Klucze mogą być poddawane rotacji co najmniej co 60 dni, a wszystkie tokeny wystawione z nieprawidłowe klucze również są uważane za nieprawidłowe.
Limit częstotliwości wykorzystania tokenów Obowiązuje limit 2 wykorzystania tokenów przez urządzenie i wydawcę co 48 godzin. Zależy od szacowanej liczby wykorzystań wymaganej do wykorzystania co 48 godzin.
Maksymalna liczba wydawców dla punktu początkowego najwyższego poziomu Maksymalna liczba wydawców dla punktu początkowego najwyższego poziomu wynosi obecnie 2. Starannie określ wydawców każdej strony.
Tokeny na wydawcę na urządzeniu Obecnie maksymalna liczba tokenów na wydawcę na określonym urządzeniu wynosi obecnie 500) Pamiętaj, aby nie przekraczać 500 tokenów na wydawcę.

Upewnij się, że strona internetowa zawiera błędy tokeny.
Rotacja kluczowych zobowiązań Każdy wydawca pliku PST musi udostępnić punkt końcowy za pomocą klucza zobowiązania, które można zmieniać co 60 dni, oraz dowolną rotację szybciej zostanie zignorowany. Jeśli klucze wygasną za mniej niż 60 dni, musisz to zrobić aby zaktualizować najważniejsze zobowiązania przed tą datą, aby uniknąć zakłóceń (zobacz szczegóły).
Okres ważności rekordu wykorzystania Można określić długość okresu ważności zwrotu, datę. RRSO są zapisywane w pamięci podręcznej, aby uniknąć niepotrzebnych nowych wywołań dotyczących wykorzystania więc musisz upewnić się, że informacje o produktach są na tyle aktualne, sygnały wykorzystania. Obowiązuje limit wykorzystania 2 tokenów w ciągu 48 godzin. ważne jest, aby określić długość cyklu życia raportu RR, aby móc Liczba udanych połączeń telefonicznych w tym okresie (RRSO) należy odpowiednio ustawić długość życia). Zalecane jest ustawienie tego czas życia według tygodni.

Przykładowe scenariusze

Scenariusz nr 1. Okres ważności zwrotu środków jest krótszy niż 24 godziny (t=t), a wykorzystanie jest wiele razy w ciągu 48-godzinnego okna.

Przykładowy scenariusz 1 (czasu PST): mały okres użytkowania.
W tym przypadku jest to 28-godzinne okno, w którym użytkownik nie może wykorzystaj nowe tokeny, a wszystkie RRSO wygasną.

Scenariusz 2. Okres ważności zwrotu środków wynosi 24 godziny i realizowany jest rachunek wiele razy w ciągu 48 godzin.

Przykładowy scenariusz 2 dla czasu PST: 24-godzinny okres ważności.
W tym scenariuszu okres ważności RRSO wynosi 24 godziny, więc punkty można wykorzystać w ciągu całego 48 godzin bez żadnych ograniczeń.

Scenariusz 3. Okres ważności zwrotu środków wynosi 48 godzin i realizowany jest rachunek wiele razy w ciągu 48 godzin.

Przykładowy scenariusz 3 czasu PST: okres ważności: 48 godzin.
W tym scenariuszu okres ważności RRSO wynosi 48 godzin, więc punkty można wykorzystać w ciągu całego 48 godzin bez żadnych ograniczeń.

Uruchom wersję demonstracyjną

Przed wdrożeniem ustawień PST warto najpierw skonfigurować wersję demonstracyjną. Aby wypróbować wersję demonstracyjną pliku PST, musisz uruchomić Chrome z flagami, aby włączyć (postępuj zgodnie z instrukcjami dostępnymi w wersji demonstracyjnej ).

Ekran trybu demonstracyjnego PST.

Gdy uruchomisz tę wersję demonstracyjną, przeglądarka używa wydawcy wersji demonstracyjnej i elementu kodu promocyjnego które dostarczają i wykorzystują tokeny.

Kwestie techniczne

Wersja demonstracyjna będzie działać najlepiej, gdy wdrożysz te czynności:

  • Zanim uruchomisz Chrome z flagami, zakończ działanie wszystkich instancji Chrome.
  • Jeśli działasz na komputerze z systemem Windows, zapoznaj się z znajdziesz w tym przewodniku. jak przekazywać parametry do pliku binarnego wykonywalnego Chrome.
  • Otwórz Narzędzia deweloperskie w Chrome w sekcji Aplikacje > Miejsce na dane > Stan prywatny tokeny wyświetlane podczas korzystania z aplikacji w wersji demonstracyjnej do wyświetlania wydanych/wykorzystanych tokenów. przez wydawcę wersji demonstracyjnej.
Ekran Narzędzi deweloperskich w Chrome z wyświetlonym plikiem PST.

Konfigurowanie na potrzeby wdrożenia

Zostań wydawcą

W PST odgrywa kluczową rolę wystawców. Przypisują wartości do tokenów, aby określić czy użytkownik jest botem. Jeśli chcesz zacząć korzystać z pliku PST jako wydawcy, musisz zarejestrować się, wypełniając Proces rejestracji wydawcy.

Aby zgłosić się do programu wydawcy, operator jego witryny musi otworzyć nowy issue w GitHubie przy użyciu „nowego pliku PST” Wystawca szablon. Aby wypełnić problem, postępuj zgodnie ze wskazówkami w repozytorium. Po zweryfikowaniu punkt końcowy zostanie scalony z tym repozytorium Infrastruktura po stronie serwera Chrome zacznie je pobierać.

Serwery wystawcy

W odniesieniu do pliku PST odgrywają oni kluczową rolę w odzyskiwaniu zasobów reklamowych. serwery i tokeny to klucz w PST. Wprawdzie już udostępniliśmy szczegółowe informacje na temat tokenów i dokumentacji na GitHubie. oferują więcej informacji na temat serwerów PST. Aby skonfigurować konto jako wystawcę pliku PST, musisz mieć: żeby najpierw skonfigurować serwer wystawiający uprawnienia.

Wdrażanie środowiska: serwery wydawcy

Aby wdrożyć serwer wydawcy tokenów, musisz utworzyć po stronie serwera przez aplikację ujawniającą punkty końcowe HTTP.

Komponent wydawcy składa się z 2 modułów głównych: (1) serwer wydawcy. oraz (2) wydawca tokena.

Komponenty serwera wydawcy.

Tak jak w przypadku wszystkich aplikacji internetowych, zalecamy utworzenie dodatkowej warstwy zabezpieczeń, do serwera wydawcy.

  1. Serwer wystawcy: w naszym przykładzie jest to Serwer Node.js hostujący platformę Express za pomocą platformy Express. Punkty końcowe HTTP wydawcy. Przykładowy kod znajdziesz na GitHubie.

  2. Wydawca tokena: komponent kryptograficzny wydawcy nie wymaga żadnych w konkretnym języku, ale ze względu na wymagania dotyczące wydajności tego komponentu podajemy przykład wdrożenia w języku C, w którym użyto nudnego języka SSL do zarządzania tokenami. Znajdziesz przykładowy kod wydawcy i więcej informacji o instalacji w GitHubie

  3. Klucze: komponent wydawcy tokena używa niestandardowych kluczy EC do szyfrowania tokenów. Te klucze muszą być chronione i przechowywane w bezpiecznej pamięci.

Wymagania techniczne dotyczące serwerów wydawcy

Zgodnie z protokołem musisz zaimplementować co najmniej 2 punkty końcowe HTTP Twój serwer wydawcy:

  • Kluczowe zobowiązanie (np. /.well-known/private-state-token/key-commitment): W tym punkcie końcowym szczegóły klucza publicznego szyfrowania będą dostępne dla przeglądarek w celu potwierdzenia czy serwer jest wiarygodny.
  • Wystawianie tokenów (np. /.well-known/private-state-token/issuance): Punkt końcowy wystawiający token, w którym będą obsługiwane wszystkie żądania tokenów. Ten , który będzie punktem integracji dla komponentu wydawcy tokena.

Jak już wspominaliśmy, ze względu na spodziewany duży ruch na tym serwerze który można potencjalnie obsługiwać, zalecamy wdrożenie go za pomocą skalowalnej infrastruktury (np. w chmurze), aby móc dostosować na podstawie zmiennego popytu.

Wyślij wywołanie do serwera wydawcy

Zaimplementuj wywołanie pobierania z witryny do stosu wydawcy, aby wysłać nowe tokeny.

 // issuer request
    await fetch("/.well-known/private-state-token/issuance", {
      method: "POST",
      privateToken: {
        version: 1,
        operation: "token-request"
      }
    });

Zobacz przykładowy kod

Serwery realizujące kod promocyjny

Musisz wdrożyć usługę realizacji tokenów, tworząc własną aplikacji po stronie serwera. Pozwoli Ci to odczytywać tokeny, które wydawca wysyła. Poniżej znajdziesz instrukcje wykorzystywania tokenów oraz odczytywania rekordy wykorzystania powiązane z tymi tokenami.

Możesz zdecydować się na uruchomienie wydawcy i mechanizmu wykorzystania na tym samym serwerze (lub w grupie ).

Komponenty serwera wykorzystania kodu.
Komponenty demonstracyjne PST: to główne komponenty serwera wykorzystania. Serwer realizujący kod (aplikacja Node.js) i wykupujący token (komponent kryptograficzny odpowiedzialny za weryfikację podpisów i tokenów w ramach procesu wykorzystania).

Wymagania techniczne dotyczące serwerów wykorzystania

Zgodnie z protokołem musisz zaimplementować co najmniej 2 punkty końcowe HTTP dla Twój serwer wykorzystania:

  • /.well-known/private-state-token/redemption: punkt końcowy, w którym wszystkie wykorzystanie tokena. Ten punkt końcowy będzie miejscem, w którym token komponent realizujący ofertę zostanie zintegrowany

Wyślij wywołanie do serwera wykorzystania

Aby wykorzystać tokeny, musisz wdrożyć wywołanie pobierania z witryny w celu aby wykorzystać wystawione wcześniej tokeny.

    // redemption request
    await fetch("/.well-known/private-state-token/redemption", {
      method: "POST",
      privateToken: {
        version: 1,
        operation: "token-redemption",
        refreshPolicy: "none"
      }
    });

Zobacz przykładowy kod.

Po wykorzystaniu tokena możesz wysłać rekord wykorzystania (RR), wykonując inne wywołanie pobierania:

    // attach redemption records from the issuers to the request
    await fetch("<DESTINATION_RESOURCE>", {
      method: "POST",
      privateToken: {
        version: 1,
        operation: "send-redemption-record",
        issuers: [<ISSUER_DOMAIN>]
      }
    });

Zobacz przykładowy kod.

Wdrażanie implementacji

Aby przetestować implementację, najpierw wejdź na stronę, na której znajduje się tag i potwierdź, że tokeny zostały utworzone zgodnie z Twoją logiką. Sprawdź w backendzie, czy wywołania zostały wykonane zgodnie ze specyfikacją. Następnie przejdź na stronę internetową, na której nawiązywane jest połączenie, i sprawdź, czy zgodnie z Twoją logiką.

Wdrożenie w świecie

Zalecamy wybranie witryn, na które kierujesz reklamy, przypadek:

  • Mała liczba wizyt miesięcznie (ok. <1 mln wizyt/miesiąc): należy zacząć od wdrożenia interfejsu API na małej grupie odbiorców
  • Jesteś jego właścicielem i masz nad nim kontrolę: w razie potrzeby możesz szybko wyłączyć wdrażanie bez skomplikowanych zatwierdzeń
  • Tylko 1 wydawca: aby ograniczyć liczbę tokenów w celu które ułatwiają testowanie.
  • Maksymalnie 2 osoby korzystające z oferty: musisz uprościć rozwiązywanie problemów w tylko w przypadku problemów.

Zasady dotyczące uprawnień

Aby interfejs API pliku danych działał prawidłowo, musi on być dostępny dla strony najwyższego poziomu i wszystkich zasobów podrzędnych, które z niego korzystają.

Operacja żądania tokena jest kontrolowana przez dyrektywę private-state-token-issuance. Operacje token-redemption i send-redemption-record są kontrolowane za pomocą dyrektywy private-state-token-redemption. Domyślna lista dozwolonych tych dyrektyw to „self”. Oznacza to, że funkcja jest dostępna tylko na stronie najwyższego poziomu (i w elementach iframe z tej samej domeny) i nie jest dostępna w przypadku elementów iframe z innych domen bez wyraźnego przekazania dostępu przez stronę.

Możesz zrezygnować z wydawania lub wykorzystywania tokenów PST w przypadku określonych stron w witrynie, dodając private-state-token-issuance=() i private-state-token-redemption=() do nagłówka Permissions-Policy na każdej stronie.

Możesz też użyć nagłówka Permissions-Policy, aby kontrolować dostęp innych firm do pliku PST. Jako parametrów listy źródeł nagłówka użyj parametru self i wszystkich źródeł, którym chcesz zezwolić na dostęp do interfejsu API. Aby na przykład całkowicie wyłączyć używanie pliku PST we wszystkich kontekstach przeglądania z wyjątkiem własnego źródła i elementu https://example.com, ustaw te nagłówki odpowiedzi HTTP:

Permissions-Policy:private-state-token-issuance=(self "https://example.com"),private-state-token-redemption=(self "https://example.com")

Aby włączyć interfejs API dla wszystkich zasobów z innych domen, ustaw listę źródeł na *.

Dowiedz się, jak kontrolować funkcje Piaskownicy prywatności za pomocą zasad dotyczących uprawnień, lub zapoznaj się z Polityką uprawnień.

Rozwiązywanie problemów

Pliki PST możesz sprawdzić na kartach Sieć i Aplikacja w Narzędziach deweloperskich w Chrome.

Na karcie Sieć:

Sprawdzanie w Narzędziach deweloperskich na karcie Sieć.
Kontrola w Narzędziach deweloperskich dla pliku PST: kliknij Sieć > Tokeny prywatności, aby uzyskać wszystkie istotne informacje o tokenach i wydawcach konkretnej strony.

Na karcie Aplikacja:

Inspekcja Narzędzi deweloperskich na karcie Aplikacja.
Kontrola w Narzędziach deweloperskich dla pliku PST: otwórz Aplikacja > Tokeny prywatności umożliwiające uzyskanie wszystkich istotnych informacji o tokenach i wydawcach konkretnej strony.

Przeczytaj więcej na ten temat Integracja z Narzędziami deweloperskimi.

Sprawdzone metody klienta

Jeśli kluczowe funkcje witryny zależą od wydawców tokenów, potraktuj je priorytetowo. Wywołaj hasPrivateToken(issuer) w przypadku tych preferowanych wydawców przed wczytaniem innych skryptów. Jest to niezbędne, aby zapobiec potencjalnym problemom z wykorzystaniem oferty.

Liczba wydawców na najwyższym poziomie jest ograniczona do dwóch, a skrypty innych firm mogą również próbować wywołać metodę hasPrivateToken(issuer), aby nadać priorytet swoim preferowanym wydawcom. Dlatego najpierw zabezpiecz najważniejszych wydawców, aby mieć pewność, że Twoja witryna działa zgodnie z oczekiwaniami.

  // Prioritize your critical token issuer.
  document.hasPrivateToken('https://critical-issuer.example')
    .then(hasToken => {
      if (hasToken) {
        // Use the token or perform actions based on its availability.
      } else {
        // Handle the case where the token is not available.
      }
    });

  // Load third-party scripts or secure another token issuer (up to two in total).

Sprawdzone metody dotyczące serwera i rozwiązywanie problemów

Aby zapewnić efektywne działanie wydawcy i serwera elementów promocyjnych, zalecamy zapoznaj się z tymi sprawdzonymi metodami, by uniknąć problemów testy zabezpieczające dostęp do plików PST, związane z bezpieczeństwem, logowanie i ruchem w przypadku plików PST.

  • Punkty końcowe muszą stosować silne szyfrowanie TLS 1.3 lub 1.2.
  • Infrastruktura musi być gotowa do obsługi zmiennego natężenia ruchu. (w tym nagłych wzrostów).
  • Sprawdź, czy Twoje klucze są chronione i bezpieczne oraz czy zgodne z poziomem dostępu Zasady kontroli, strategię zarządzania kluczami i plany ciągłości działania.
  • Dodaj do stosu dane dotyczące dostrzegalności, aby zyskać pewność, co pozwoli Ci zrozumieć problemy z wykorzystaniem, wąskim gardłem i wydajnością do produkcji.

Więcej informacji

  1. Przejrzyj dokumentację dla deweloperów:
    1. Zacznij od przeczytania omówienie aby poznać wymagania PST i ich możliwości.
    2. Obejrzyj film wprowadzający do usługi PST.
    3. Zobacz prezentację PST.
    4. Przeczytaj też interfejs API Wyjaśnij, aby dowiedzieć się więcej. szczegóły.
    5. Przeczytaj więcej o obecnym specyfikacji interfejsu API.
  2. Uczestnictwo w rozmowie przez GitHub Problemy lub W3C
  3. Aby lepiej zrozumieć terminologię, zapoznaj się z Glosariusz Piaskownicy prywatności.
  4. Aby dowiedzieć się więcej o pojęciach związanych z Chrome, takich jak „testy origin” lub „Flagi Chrome” – zobacz krótkie filmy i artykuły dostępne na stronie goo.gle/cc