Gizlilik Jetonları geliştirici kılavuzu

Geçmişte, üçüncü taraf çerezleri bilgileri saklamak ve aktarmak için kullanılıyordu. kullanıcının durumu hakkında (ör. oturum açma durumu, cihazla ilgili bilgiler) ya da bilinen ve güvenilir olup olmadıkları konusunda farklılık gösterebilir. Örneğin, TOA ile giriş yapmış olması, kullanıcının belirli bir türde uyumlu veya kullanıcının bilinen ve güvenilir olup olmadığı gibi bilgileri içerebilir. Entegre üçüncü taraf çerez desteğinin kullanımdan kaldırılması, Bu kullanım alanlarının çoğunun başka yollarla desteklenmesi gerekir.

Gizlilik Jetonları, web genelinde bilgi paylaşımı için bir yol sunar. Ancak denetlenmesi gereken veri miktarını denetleyerek gizliliği korumaya yönelik paylaşılabilir.

Gizlilik Jetonları (eski adıyla Güven Jetonları), kullanıcının bir bağlamdan diğerine aktarılmak istenen özgünlük pasif takip olmadan sahtekârlıkla mücadele edebilir ve botları gerçek insanlardan ayırt edebilirsiniz.

Bu belgede, Gizlilik Politikası'nın uygulanmasına ilişkin teknik ayrıntılar özetlenmektedir Jetonlar (PST). Daha üst düzey bir taslak için bkz. PST'ye genel bakış.

PST için öğrenme akışı.
PST öğrenme süreci: Bu süreç, API'yi anlama ve kendi jeton stratejinizi tanımlama (daha fazla ürün veya işle ilgili etkinlikler) olmak üzere birçok adımdan oluşur. Ardından teknik aşamada, demoyu yerel ortamınızda uygulayıp gerçek bir kullanım alanına uygulamaya koyarsınız.

Gizlilik Jetonları nasıl çalışır?

PST'de anlaşılması gereken temel ilişki, kartı veren kuruluşlar ve kullananlar arasındadır. Kartı veren kuruluş ve kullanan kuruluş aynı şirket içinde olabilir.

  • Düzenleyenler: Bu öğeler, kullanıcılarla ilgili belirli sinyallere sahiptir ( örneğin, kullanıcının bot olup olmadığı) kontrol eder ve bu sinyali (sonraki bölümlerde daha ayrıntılı bilgi bulabilirsiniz).
  • Kullananlar: Bu öğeler, kullanıcı hakkında sinyal sağlamayabilir ancak öğrenmesi gerekir (örneğin, kullanıcının bot olup olmadığı olup olmadığını anlamak için) ve kartınızı veren kuruluştan bir jetonun güvenilir olduğundan emin olun.

Her PST etkileşiminde, kartı veren ve kullananların birlikte paylaşım yapmak üzere birlikte çalışması gerekir sinyallerine geçiş yapacaktır. Bu sinyaller ayrıntılı olmayan genel değerlerdir kişileri tanımlamak için yeterli olur.

Gizlilik Jetonları benim için uygun mu?

Gizlilik Jetonlarının kullanım alanları

Güvenle ilgili kararlar alan ve bu bilgilerin bağlamlarda kullanılabilir ve PST'lerden yararlanabilir. Olası kullanım alanları hakkında daha fazla bilgi tüm PST'ler, PST kullanım alanlarıyla ilgili dokümanlarımızı inceleyin.

Jetonları yayınlayıp kullanın

PST uygulaması üç aşamada gerçekleşir:

  1. Jetonları verme
  2. Jeton kullanma
  3. Tekliften yararlanma kaydı yönlendirme

İlk aşamada, jetonlar tarayıcıya verilir (genellikle bir tür doğrulayın). İkinci aşamada başka bir tüzel kişi, söz konusu jetondaki değeri okumak için verilen jeton. Finalde aşamasında, tekliften yararlanan taraf, olup olmadığını kontrol edin. Tekliften yararlanan taraf söz konusu kaydı, kullanıcının onayını alabilirsiniz.

Temel gizlilik jetonları akışı.
Sıra şeması: Şemada, iki web sitesinin belirli bir Chrome örneği hakkında sinyal alışverişi yapmak istediği gerçek bir senaryoda temel PST kullanımı gösterilmektedir. İki web sitesi, verme ve tekliften yararlanma işlemlerini farklı anlarda gerçekleştirir ve bunlar arasında güvenilir bir sinyal alışverişi yapabilir.

Jeton stratejinizi belirleyin

Jeton stratejinizi tanımlamak için temel PST kavramlarını (jetonlar) anlamanız gerekir kullanım kayıtları), değişkenleri, davranışları ve sınırlamaları nasıl etkileyebileceğini düşünün.

Jetonlar ve teklif kullanma kayıtları: Bunlar arasındaki ilişki nedir?

Her cihaz, üst düzey web sitesi ve kartı veren kuruluş başına 500'e kadar jeton depolayabilir. Ayrıca, Her jeton, kartı veren kuruluşun hangi anahtarı vermek için kullandığını belirten meta verilere sahiptir. O bilgileri kullanma işlemi sırasında bir jetonun kullanılıp kullanılmayacağına karar vermek için bahsedeceğim. PST verileri, kullanıcının cihazındaki tarayıcı tarafından dahili olarak depolanır ve yalnızca PST API tarafından erişilebilir.

Bir jeton kullanıldığında, Tekliften Yararlanma Kaydı (RR) cihazda depolanır. Bu depolama alanı, gelecekteki kullanımlar için bir önbellek görevi görür. Bu sınır ikidir jeton kullanımını cihaz, sayfa ve kartı veren kuruluş başına 48 saatte bir. Yeni kod mümkün olduğunda önbelleğe alınmış RR'leri kullanır. Bunun yerine, sağlayan taraftır.

PST ile RR arasındaki ilişki.
  1. Yeni jetonlar yayınlanır (kartı veren kuruluş, site ve cihaz başına en fazla 500).
  2. Tüm jetonlar, cihaz jeton deposunda (çerez deposuna benzer) depolanır.
  3. Etkin bir RR bulunamazsa sertifikanın verilmesinden sonra yeni RR'ler oluşturulabilir (48 saatte bir en fazla 2 defa).
  4. RR'ler, geçerlilik bitiş tarihine kadar etkin olarak kabul edilir ve yerel olarak kullanılır. önbellek.
  5. Yeni tekliften yararlanma çağrıları yerel önbelleğe alınır (yeni RR'ler oluşturulmaz).

Kullanım alanınızı tanımladıktan sonra, RR'nin kullanım ömrünü bu verileri projenizde kaç kez kullanabileceğinizi dava açın.

Öncesinde aşağıdaki kritik davranışları ve değişkenleri anladığınızdan emin olun: stratejinizi belirlerken:

Değişken / davranış Açıklama Olası kullanım
Jeton anahtarı meta verileri Her jeton yalnızca bir şifreleme anahtarı kullanılarak ve PST'de veren kuruluş başına altı anahtarla sınırlıdır. Bu değişkeni kullanmanın olası bir yöntemi, güven aralığı tanımlamak şifreleme anahtarlarınıza göre jetonlarınıza (örneğin, anahtar 1 = yüksek güven, anahtar 6 = güven yok).
Jetonun geçerlilik bitiş tarihi Jetonun geçerlilik bitiş tarihi, anahtarın geçerlilik bitiş tarihiyle aynı. Anahtarlar en az 60 günde bir döndürülebilir ve tüm jetonlar geçersiz anahtarlar da geçersiz sayılır.
Jeton kullanma oranı sınırı Cihaz ve kartı veren kuruluş başına her biri için iki jeton kullanım sınırı vardır 48 saat. Kullanımınız için gereken tahmini kullanım sayısına bağlıdır destek kaydı oluşturun.
Üst düzey kaynak başına maksimum veren kuruluş sayısı Şu anda üst düzey kaynak başına maksimum veren kuruluş sayısı ikidir. Her sayfayı verenleri dikkatlice tanımlayın.
Cihazda kartı veren kuruluş başına jeton sayısı Şu anda belirli bir cihazda kartı veren kuruluş başına maksimum jeton sayısı 500. Jeton sayısını veren kuruluş başına 500'ün altında tuttuğunuzdan emin olun.
.
. Sorun yaratmaya çalışırken web sayfanızdaki hataları jeton.
Anahtar taahhütleri rotasyonu Her PST'yi veren, anahtarlı bir uç noktayı kullanıma sunmak için gereklidir 60 günde bir değiştirilebilen taahhütler ve tüm rotasyonlarda daha hızlı göz ardı edilir. Anahtarlarınızın süresi 60 günden daha kısa bir süre içinde dolacaksa Hizmet kesintisi yaşamamak için bu tarihten önce temel taahhütlerinizi güncelleyin (ayrıntıları inceleyin).
Tekliften yararlanma kaydı ömrü Son kullanma tarihinin belirlenmesi için RR'nin ömrü tanımlanabilir. tarihi. RR'ler, gereksiz yeni teklif kullanma çağrılarını önlemek için önbelleğe alındığından güncel bilgiler sağladığından emin olmanız açısından önemlidir. sinyale odaklanmaktır. Her 48 saatte bir iki jetonluk bir kullanım oranı sınırı olduğundan, RR'nizin kullanım ömrünü tanımlamanız önemlidir. (RR, en azından bu bir süre boyunca başarılı bir şekilde) teklifi kullanma çağrıları buna göre ayarlanmalıdır. Bu ayarı yapmanız önerilir ömür boyu.

Örnek senaryolar

1. Senaryo: RR ömrü 24 saatten kısa (t=t) ve tekliften yararlanma kaç kez gerçekleştirildiğini gözlemledik.

PST'nin 1. örnek senaryosu: kısa kullanım ömrü.
Bu senaryoda 28 saatlik bir aralık vardır ve kullanıcı bu süre içinde yeni jetonları kullandığınızda tüm RR'lerin süresi dolmuş olur.

2. Senaryo: RR ömrü 24 saattir ve tekliften yararlanma gerçekleştirilir 48 saatlik süre içinde birden çok kez.

PST'nin 2. örnek senaryosu: 24 saatlik kullanım ömrü.
Bu senaryoda RR'nin kullanım süresi 24 saat olduğundan, 48 saatin tamamı boyunca herhangi bir sınırlama olmadan kullanım gerçekleştirilebilir.

3. Senaryo: RR ömrü 48 saattir ve tekliften yararlanma gerçekleştirilir 48 saatlik zaman dilimi içinde birden çok kez.

PST'nin 3. örnek senaryosu: 48 saatlik kullanım ömrü.
Bu senaryoda RR'nin kullanım süresi 48 saat olduğundan 48 saat boyunca herhangi bir sınırlama olmadan kullanım gerçekleştirilebilir.

Demoyu çalıştırın

PST'yi kullanmaya başlamadan önce demoyu hazırlamanızı öneririz. Denemek için PST demosunu görüyorsanız demoyu vereni etkinleştirmek için flag'lerle Chrome'u çalıştırmanız gerekir. (demo talimatlarındaki talimatları uygulayın) sayfa).

PST demo ekranı.

Bu demoyu çalıştırdığınızda tarayıcınız, demoyu veren kuruluşu ve talep aracını kullanır sunucu tarafından sağlanan ve tüketen kodlardır.

Göz önünde bulundurulması gereken teknik hususlar

Aşağıdaki adımları uyguladığınızda demo en iyi şekilde çalışır:

  • Chrome'u bayraklarla çalıştırmadan önce tüm Chrome örneklerini durdurduğunuzdan emin olun.
  • Windows makinesi kullanıyorsanız bu kılavuza Chrome yürütülebilir ikili programına parametrelerin nasıl iletileceği hakkında daha fazla bilgi edinin.
  • Uygulamalar > Depolama > Gizlilik Jetonlar: Verilen/kullanılan jetonları görmek için demo uygulamasını kullanırken demoyu veren kuruluş tarafından belirlenir.
PST'yi gösteren Chrome Geliştirici Araçları ekranı.

Benimseme için ayarla

Veren kuruluş olma

Sertifika verenler PST'de önemli bir rol oynar. Değerleri belirlemek için jetonlara kullanıcı bot olup olmadığını gösterir. Bir yayıncı olarak PST'yi kullanmaya başlamak istiyorsanız Kartı veren kuruluş kayıt işlemi.

Veren kuruluş olmak üzere başvurmak için kartı veren kuruluşun web sitesinin operatörü yeni bir kart açmalıdır. GitHub'da sorun depoyu kullanarak "Yeni PST"yi Düzenleyen" tıklayın. Sorunu doldurmak için depodaki talimatları uygulayın. Uç nokta doğrulandıktan sonra bu depoda birleştirilir ve Chrome sunucu tarafı altyapısı bu anahtarları getirmeye başlar.

Veren kuruluş sunucuları

PST'yi veren kuruluş ve alıcılar, açısından önem taşıyan araçlarına göz atın. Jetonlar hakkında ve GitHub dokümanlarına göz atmak PST sunucuları hakkında daha fazla ayrıntı sunar. PST'yi veren kuruluş olarak ayarlanmak için önce gönderen sunucuyu ayarlayın.

Ortamınızı dağıtın: kartı verenin sunucuları

Jeton veren sunucuyu uygulamak için kendi sunucu tarafınızı oluşturmanız gerekir HTTP uç noktaları açığa çıkarıyor.

Veren kuruluş bileşeni iki ana modülden oluşur: (1) kartı veren kuruluş sunucusu ve (2) jetonu veren kuruluş.

Sertifikayı verenin sunucu bileşenleri.

Web'e yönelik tüm uygulamalarda olduğu gibi, yine web'e yönelik ek bir koruma katmanı öneririz. kartınızı veren kuruluşun sunucusuna gönderilir.

  1. Veren sunucu: Örnek uygulamamızda, düzenleyen sunucumuz barındırmak için Express çerçevesini kullanan Node.js sunucusu Sertifika verenin HTTP uç noktaları. GitHub'da örnek koda göz atabilirsiniz.

  2. Jetonu veren: Yayıncının şifreleme bileşeni, ancak bu bileşenin performans gereksinimleri nedeniyle örnek olarak, Boring SSL kitaplığını yönetin. Yayıncı kodu örneğini ve yükleme işlemiyle ilgili daha fazla bilgiyi burada bulabilirsiniz. GitHub'da

  3. Anahtarlar: Jetonu veren kuruluş bileşeni, jetonları şifrelemek için özel EC anahtarları kullanır. Bu anahtarlar korunmalı ve güvenli bir depolama alanında depolanmalıdır.

Veren kuruluş sunucuları için teknik koşullar

Protokol uyarınca kartınızı veren kuruluş:

  • Anahtar taahhüdü (örneğin, /.well-known/private-state-token/key-commitment): Tarayıcılar, şifrelemenin ortak anahtar ayrıntılarını onaylayabilmek için bu uç noktadan yararlanabilir. güvenli olduğundan emin olun.
  • Jeton verme (ör. /.well-known/private-state-token/issuance): Tüm jeton isteklerinin işleneceği jeton veren uç nokta. Bu uç nokta, jeton veren kuruluş bileşeni için entegrasyon noktası olur.

Daha önce belirtildiği gibi, beklenen yüksek trafik nedeniyle bu sunucu yoksa projenin yürütülmesi konusunda ölçeklenebilir altyapınızı (örneğin, bir bulut ortamında) temel alan arka uç sağlar.

Kartı veren kuruluşun sunucusuna çağrı gönder

Yeni bir veri kümesi oluşturmak için, kartınızı veren kuruluş yığınına bir web sitesi getirme çağrısı uygulayın jeton.

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

Kod örneğini inceleyin.

Kurtarıcı sunucuları

Jeton kullanma hizmetini kendi sunucu tarafı uygulamasıdır. Bu sayede, kartı veren kuruluşun verdiği jetonları okuyabilirsiniz. gönderir. Aşağıdaki adımlarda, jetonların nasıl kullanılacağı ve nasıl okunacağı açıklanmaktadır. bu jetonlarla ilişkilendirilmiş tekliften yararlanma kayıtları bulunur.

Kartı veren kuruluşu ve tekliften yararlanan kuruluşu aynı sunucuda (veya sunucular).

Teklifi kullanan sunucu bileşenleri
PST demo bileşenleri: Bunlar, tekliften yararlanan sunucunun ana bileşenleridir. Tekliften yararlanan sunucu (Node.js Uygulaması) ve Jeton kullanıcı (teklifi kullanma sürecinde imzaları ve jetonları doğrulamaktan sorumlu şifreleme bileşeni).

Teklif sağlayıcı sunucuları için teknik koşullar

Protokol uyarınca kurtarma sunucunuz:

  • /.well-known/private-state-token/redemption: tümünün geçerli olduğu uç nokta kod kullanımı gerçekleştirilir. Jeton, bu uç nokta üzerinde teklif oluşturucu bileşeni,

Tekliften yararlanan sunucuya bir çağrı gönderin

Jetonları kullanmak için web sitesi getirme çağrısı uygulamanız gerekir: daha önce verilen jetonları kullanmak için teklifi kullanın.

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

Kod örneğine bakın.

Jetonu kullandıktan sonra, aşağıdakileri yaparak teklifi kullanma kaydını (RR) gönderebilirsiniz: başka bir getirme çağrısı:

    // 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>]
      }
    });

Kod örneğine bakın.

Uygulamanızı dağıtma

Uygulamanızı test etmek için öncelikle kartı veren kuruluşun çağrısı yapıldığından emin olun ve jetonların mantığınıza göre oluşturulduğunu onaylayın. Arka ucunuzda, çağrıların spesifikasyona göre yapıldığını doğrulayın. Ardından, tekliften yararlanma aramasının yapıldığı web sayfasına gidin ve RR'ler mantığınıza göre oluşturulur.

Gerçek dünyada dağıtım

Özel kullanımınız kapsamındaki hedef web sitelerini seçmenizi öneririz vaka:

  • Az sayıda aylık ziyaret (yaklaşık 1 milyon ziyaret/ay): Siz Öncelikle API'yi küçük bir kitleye dağıtarak başlamalıdır
  • Alanın sahibi sizsinizdir ve alanı sizin kontrolünüzdedir. Gerekirse, karmaşık onaylar olmadan uygulama
  • Birden fazla kartı veren kuruluşa: daha basit hale getirir.
  • Tekliften en fazla iki kişi yararlanabilir: gözlemleyebilirsiniz.

İzin politikası

PST API'nin düzgün çalışabilmesi için üst düzey sayfada ve API'yi kullanan tüm alt kaynaklarda kullanılabilir olması gerekir.

Jeton-istek işlemi, private-state-token-issuance yönergesiyle kontrol edilir. token-redemption ve send-redemption-record işlemleri private-state-token-redemption yönergesiyle kontrol edilir. Varsayılan olarak, bu yönergeler için izin verilenler listesi kendisi için ayarlıdır. Bu, özelliğin yalnızca üst düzey sayfada (ve aynı kaynak iframe'lerde) kullanılabileceği ve sayfada açık bir şekilde yetki verilmeden çapraz kaynak iframe'ler tarafından kullanılamayacağı anlamına gelir.

Her sayfanın Permissions-Policy başlığına private-state-token-issuance=() ve private-state-token-redemption=() değerlerini ekleyerek sitenizdeki belirli sayfalar için PST jetonu verilmesini veya kullanılmasını devre dışı bırakabilirsiniz.

PST'ye üçüncü taraf erişimini kontrol etmek için Permissions-Policy üstbilgisini de kullanabilirsiniz. Üstbilgi kaynak listesinde parametre olarak self değerini ve API'ye erişmesine izin vermek istediğiniz tüm kaynakları kullanın. Örneğin, kendi kaynağınız ve https://example.com dışındaki tüm tarama bağlamlarında PST kullanımını tamamen devre dışı bırakmak için aşağıdaki HTTP yanıtı başlıklarını ayarlayın:

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

API'yi tüm kaynaklar arası kaynaklarda etkinleştirmek için kaynak listesini * olarak ayarlayın.

Özel Korumalı Alan özelliklerini İzin Politikası ile nasıl kontrol edeceğinizi öğrenin veya izin politikası hakkında daha ayrıntılı bilgi edinin.

Sorun giderme

Chrome Geliştirici Araçları Ağ ve Uygulama sekmelerinden PST'leri inceleyebilirsiniz.

Ağ sekmesinde:

Ağ sekmesi için Geliştirici Araçları incelemesi.
PST için Geliştirici Araçları incelemesi: > Belirli bir sayfanın jetonları ve veren kuruluşlar hakkında tüm alakalı bilgileri almak için gizli durum jetonları.

Uygulama sekmesinde:

Uygulama sekmesi için Geliştirici Araçları incelemesi.
PST için Geliştirici Araçları incelemesi: Uygulama'ya gidin > Belirli bir sayfanın jetonları ve veren kuruluşlar hakkında tüm alakalı bilgileri almak için gizlilik jetonları.

Bu konu hakkında daha fazla bilgi edinin Geliştirici Araçları entegrasyonu.

Müşterilere yönelik en iyi uygulamalar

Web sitenizin kritik işlevleri belirli jeton veren kuruluşlara bağlıysa bunlara öncelik verin. Başka komut dosyaları yüklemeden önce, tercih edilen bu veren yayıncılar için hasPrivateToken(issuer) çağrısı yapın. Bu işlem, olası kullanım hatalarını önlemek açısından çok önemlidir.

Üst düzey başına kart veren kuruluş sayısı ikiyle sınırlıdır. Üçüncü taraf komut dosyaları da kendi tercih ettiği kartı veren kuruluşa öncelik vermek için hasPrivateToken(issuer) yöntemini çağırmayı deneyebilir. Bu nedenle, sitenizin beklendiği gibi çalıştığından emin olmak için önemli kart veren kuruluşlarınızın güvenliğini sağlayın.

  // 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).

Sunucu en iyi uygulamaları ve sorun giderme

Kartınızı veren ve talep eden sunucunuzun etkili bir şekilde çalışması için aşağıdaki en iyi uygulamaları izleyerek PST için erişim, güvenlik, günlük kaydı veya trafikle ilgili zorluklar.

  • Uç noktalarınız TLS 1.3 veya 1.2 kullanarak güçlü şifreleme uygulamalıdır.
  • Altyapınız, değişken trafik hacimlerine ayak uydurmaya hazır olmalıdır (ani artışlar dahil).
  • Anahtarlarınızın güvenliği ve erişimiyle uyumlu bir şekilde korunduğundan ve güvende olduğundan emin olun Kontrol Politikası, Temel Yönetim Stratejisi ve İş Sürekliliği Planları.
  • Şunlardan emin olmak için yığınınıza gözlemlenebilirlik metrikleri ekleyin: sorunları ve performans sorunlarını anlamak için üretime geçiyoruz.

Daha fazla bilgi

  1. Geliştirici belgelerini inceleyin:
    1. Şunu okuyarak başlayın: genel bakış PST'yi ve özelliklerini öğrenin.
    2. PST giriş videosunu izleyin.
    3. PST demosunu deneyin.
    4. API'yi de okuyun explainer ile hesap ekiplerinizle görüşün.
    5. Şu anki spesifikasyonlarını inceleyin.
  2. GitHub aracılığıyla sohbete katkıda bulunun sorunları veya W3C aramaları için de kullanılabilir.
  3. Terminolojiyi daha iyi anlamak için Özel Korumalı Alan sözlüğü.
  4. Chrome kavramları hakkında daha fazla bilgi edinmek için (ör. "kaynak deneme") veya öğrenmek için, goo.gle/cc adresinde bulabilirsiniz.