Gizlilik Jetonları geliştirici kılavuzu

Üçüncü taraf çerezleri geçmişte oturum açma durumu, kullandıkları cihazla ilgili bilgiler veya kullanıcının bilinip güvenilir olup olmadığı gibi bir kullanıcının durumuyla ilgili bilgileri depolamak ve iletmek için kullanılıyordu. Örneğin, kullanıcının TOA ile giriş yapıp yapmadığı, belirli türde uyumlu bir cihaza sahip olup olmadığı veya kullanıcının bilinen ve güvenilir olup olmadığı. Üçüncü taraf çerezi desteğinin kullanımdan kaldırılmasıyla, bu kullanım alanlarının çoğunun başka yollarla desteklenmesi gerekecektir.

Gizlilik Jetonları, web genelinde bilgi paylaşmak için bir yol sunar ancak bu yöntem, gerçekten paylaşılabilecek veri miktarına yönelik kontroller aracılığıyla gizliliği koruyan bir şekilde yapılır.

Gizlilik Jetonları (eski adıyla Güven Jetonları), kullanıcıların özgünlüğüne duyulan güvenin bir bağlamdan diğerine aktarılmasını sağlarken, sitelerin sahtekarlıkla mücadele etmesine ve botları gerçek insanlardan ayırt etmesine yardımcı olur (pasif izleme olmadan).

Bu belgede, Gizlilik Jetonları'nın (PST) uygulanmasıyla ilgili teknik ayrıntılar özetlenmektedir. Daha genel bir özet için PST'ye genel bakış bölümüne bakın.

PST için öğrenme akışı.
PST'nin öğrenme süreci: Bu süreç, API'yi anlama ve kendi jeton stratejinizi tanımlama (daha fazla ürün veya işletme ile ilgili etkinlikler) ile başlayan birden fazla adımdan oluşur. Sonrasında teknik aşama, demoyu yerel ortamınıza uygulayıp ardından gerçek bir kullanım alanına uygulama aşamasına geçer.

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

PST'de anlaşılması gereken temel ilişki, kartı veren kuruluşlar ile hizmeti kullananlar arasındaki ilişkidir. Kartı verenler ve tekliften yararlananlar aynı şirkette olabilir.

  • Sertifikayı Verenler: Bu varlıklar, bir kullanıcı hakkında bazı sinyallere sahiptir (örneğin, kullanıcının bot olup olmadığı) ve bu sinyali kullanıcı cihazında depolanan bir jetona yerleştirir (Daha fazla bilgi için sonraki bölümlerde ayrıntılı bilgi verilmiştir).
  • Kullanıcılar: Bu varlıklar, kullanıcı hakkında bir sinyale sahip olmayabilir ancak kullanıcı hakkında bir şey bilmesi (örneğin, kullanıcının bot olup olmadığı) ve kullanıcının güvenilirliğini anlamak için kartı veren kuruluştan jetonu kullanmasını istemesi gerekir.

Her PST etkileşimi, kartı veren kuruluşların ve hizmeti kullananların web'de sinyalleri paylaşmak için birlikte çalışmasını gerektirir. Bu sinyaller, bireyleri tanımlamak için yeterince ayrıntılı olmayan yaklaşık değerlerdir.

Gizlilik Jetonları benim için uygun mudur?

Gizlilik Jetonlarının kullanım alanları.

Güven kararları alan ve bu bilgilerin farklı bağlamlarda kullanılabilir olmasını isteyen şirketler PST'lerden yararlanabilir. PST'lerin olası kullanım alanları hakkında daha fazla bilgi için PST kullanım alanlarıyla ilgili dokümanlarımıza bakın.

Jetonları yayınlama ve jetonları kullanma

PST'nin uygulanması üç aşamada gerçekleşir:

  1. Jeton yayınlama
  2. Jeton kullanma
  3. Tekliften yararlanma kaydı yönlendirme

İlk aşamada, jetonlar bir tarayıcıya verilir (genellikle bir tür doğrulamadan sonra). İkinci aşamada, başka bir tüzel kişi o jetondaki değeri okumak için verilen jetonu kullanmak üzere istekte bulunur. Son aşamada, teklifi kullanan taraf jetonda bulunan değeri içeren bir teklif kullanma kaydı (RR) alır. Teklifi kullanan taraf bu kaydı o kullanıcının onayı olarak çeşitli amaçlarla kullanabilir.

Gizlilik Jetonlarının temel akışı.
Sıra şeması: Şemada, iki web sitesinin ilgili 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 kullanma işlemlerini farklı anlarda gerçekleştirir ve bunlar arasında güvenilir sinyal değişimi yapabilir.

Jeton stratejinizi belirleyin

Jeton stratejinizi tanımlamak için PST'nin temel kavramlarını (jetonlar ve kullanım kayıtları), değişkenleri, davranışları ve sınırlamaları anlamanız gerekir. Böylece bunların kullanım alanınızda potansiyel kullanımları hakkında fikir sahibi olursunuz.

Jetonlar ve kod kullanma kayıtları: Bunlar arasında ne gibi bir ilişki vardır?

Her cihaz, üst düzey web sitesi ve kartı veren kuruluş başına en fazla 500 jeton depolayabilir. Ayrıca her jetonu veren, jetonu vermek için kullandığı anahtarı belirten meta veriler bulunur. Bu bilgiler, jeton kullanma işlemi sırasında bir jetonu kullanıp kullanmamaya karar vermek için kullanılabilir. PST verileri kullanıcının cihazındaki tarayıcı tarafından dahili olarak depolanır ve bu verilere yalnızca PST API üzerinden erişilebilir.

Jeton kullanıldığında, Redemption Record (RR) cihazda depolanır. Bu depolama, gelecekteki kullanımlar için bir önbellek görevi görür. Cihaz, sayfa ve kartı veren kuruluş başına 48 saatte bir iki jeton kullanma sınırı vardır. Yeni teklif kullanma çağrıları, kartı veren kişiden bir talepte bulunmalarına neden olmak yerine, mümkün olduğunda önbelleğe alınan RR'leri kullanır.

PST ve RR arasındaki ilişki.
  1. Yeni jetonlar verilir (kartı veren, site ve cihaz başına en fazla 500 jeton).
  2. Tüm jetonlar cihaz üzerinde jeton deposunda saklanır (çerez deposuna benzer şekilde).
  3. Etkin RR bulunamazsa sertifikanın verilmesinden sonra yeni RR'ler oluşturulabilir (48 saatte en fazla 2).
  4. RR'ler, geçerlilik süresi dolana kadar etkin olarak kabul edilir ve yerel önbellek olarak kullanılır.
  5. Yeni teklif kullanma çağrıları yerel önbelleğine ulaşır (yeni RR oluşturulmaz).

Kullanım alanınızı tanımladıktan sonra RR'nizin kullanım süresini dikkatlice tanımlamanız gerekir. Bu, RR'nizi sizin durumunuzda kaç kez kullanabileceğinizi belirler.

Stratejinizi tanımlamadan önce aşağıdaki kritik davranışları ve değişkenleri anladığınızdan emin olun:

Değişken / davranış Açıklama Potansiyel kullanım
Jeton anahtarı meta verileri Her jeton yalnızca bir şifreleme anahtarı kullanılarak yayınlanabilir. PST'de kartı veren başına altı anahtarla sınırlıdır. Bu değişkeni kullanmanın olası yollarından biri, şifreleme anahtarlarınıza bağlı olarak jetonlarınıza bir güven aralığı tanımlamaktır (örneğin, anahtar 1 = yüksek güven, anahtar 6 = güven yok).
Jetonun son kullanma tarihi Jetonun son kullanma tarihi, anahtarın geçerlilik bitiş tarihiyle aynıdır. Anahtarlara en az 60 günde bir rotasyon uygulanabilir ve geçersiz anahtarlarla verilen tüm jetonlar geçersiz olarak kabul edilir.
Jeton kullanım oranı sınırı Cihaz ve kartı veren kuruluş başına 48 saatte bir iki jeton kullanma sınırı vardır. Kullanım alanınızın gerektirdiği tahmini kullanım sayısına 48 saatte bağlıdır.
Üst düzey kaynak başına maksimum veren sayısı Üst düzey kaynak başına maksimum veren sayısı ikidir. Her sayfayı verenleri dikkatlice tanımlayın.
Cihazda kartı veren kuruluş başına jeton sayısı Belirli bir cihazda kartı veren kuruluş başına maksimum jeton sayısı şu anda 500'dür. Kart veren kuruluş başına jeton sayısının 500'den az olmasına dikkat edin.

Jetonları yayınlamaya çalışırken web sayfanızdaki hataları ele aldığınızdan emin olun.
Anahtar taahhüt rotasyonu Her PST vereni, 60 günde bir değiştirilebilecek anahtar taahhütleri olan ve bundan daha hızlı olan rotasyonlar yoksayılacak anahtar taahhütleri olan bir uç nokta sunmalıdır. Anahtarlarınızın süresi 60 günden kısa bir süre içinde dolacaksa kesinti yaşamamak için anahtar taahhütlerinizi bu tarihten önce güncellemeniz gerekir (ayrıntılara bakın).
Tekliften yararlanma kaydı kullanım ömrü RR'nin kullanım ömrü, geçerlilik bitiş tarihi belirlemek için tanımlanabilir. RR'ler, kartı veren kuruluşa gereksiz yeni kod kullanma çağrılarını önlemek için önbelleğe alındığından, yeterince güncel kullanma sinyallerine sahip olduğunuzdan emin olmak önemlidir. Kullanım hızı sınırı her 48 saatte bir iki jeton şeklinde belirlenmiştir. Bu nedenle, en azından bu süre boyunca başarıyla teklif kullanma çağrıları yürütebilmek için RR'nizin kullanım ömrünü tanımlamak önemlidir (RR kullanım süresi buna göre ayarlanmalıdır). Bu sürenin haftalara göre ayarlanması önerilir.

Örnek senaryolar

1. Senaryo: RR kullanım ömrü 24 saatten kısadır (t=t) ve tekliften yararlanma 48 saatlik süre içinde birden çok kez gerçekleştirilir.

PST'ye örnek 1. senaryo: kısa ömür.
Bu senaryoda, kullanıcının yeni jetonları kullanamayacağı ve tüm RR'lerin süresinin dolduğu 28 saatlik bir süre vardır.

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

PST'ye göre 2. örnek senaryo: 24 saatlik kullanım ömrü.
Bu senaryoda, RR'nin kullanım ömrü 24 saat olduğundan kullanımlar 48 saatlik sürenin tamamı boyunca herhangi bir sınırlama olmaksızın gerçekleştirilebilir.

3. Senaryo: RR kullanım ömrü 48 saattir ve tekliften yararlanma, 48 saatlik süre içinde birden fazla kez gerçekleştirilir.

PST'ye göre 3. örnek senaryo: 48 saatlik kullanım ömrü.
Bu senaryoda RR'nin kullanım ömrü 48 saat olduğundan, kullanımlar 48 saatlik sürenin tamamı boyunca herhangi bir sınırlama olmaksızın gerçekleştirilebilir.

Demoyu çalıştırma

PST'yi kullanmaya başlamadan önce demo için hazırlık yapmanızı öneririz. PST demosunu denemek için demoyu veren kuruluş anahtar taahhütlerini etkinleştirmek üzere Chrome'u flag'lerle çalıştırmanız gerekir (demo sayfasındaki talimatları uygulayın).

PST demo ekranı.

Bu demoyu çalıştırdığınızda tarayıcınız, jetonları sağlamak ve kullanmak için demo düzenleyiciyi ve alıcı sunucularını kullanır.

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

Aşağıdaki adımları uygularsanız demo en iyi sonucu verir:

  • Chrome'u bayraklarla çalıştırmadan önce tüm Chrome örneklerini durdurduğunuzdan emin olun.
  • Windows makinesinde çalıştırıyorsanız parametrelerin Chrome yürütülebilir ikili programına nasıl iletileceğini öğrenmek için bu kılavuzu inceleyin.
  • Demoyu veren kuruluş tarafından verilen/kullanılan jetonları görmek için demo uygulamasını kullanırken Uygulamalar > Depolama > Gizlilik Jetonları altında Chrome Geliştirici Araçları'nı açın.
Chrome Geliştirici Araçları ekranında PST gösteriliyor.

Benimseme için ayarlama

Kartı veren kuruluş olun

Sertifika verenler, PST'de önemli bir rol oynar. Kullanıcının bot olup olmadığını belirlemek için jetonlara değer atarlar. Sertifika veren kuruluş olarak PST'yi kullanmaya başlamak istiyorsanız Kartı veren kuruluş kayıt işlemini tamamlayarak kaydolmanız gerekir.

Yayıncı olmak üzere başvuruda bulunmak için kartı veren kuruluşun web sitesi operatörünün, "Yeni PST'yi Veren" şablonunu kullanarak GitHub deposunda yeni bir sorun açması gerekir. Sorunu doldurmak için depodaki talimatları uygulayın. Uç nokta doğrulandıktan sonra bu kod deposuyla birleştirilir ve Chrome sunucu tarafı altyapısı bu anahtarları getirmeye başlar.

Kartı veren kuruluşun sunucuları

Sertifika verenler ve kullananlar, PST'nin temel aktörleridir; sunucular ve jetonlar ise PST için temel araçlardır. Jetonlar ve GitHub belgelerinde bazı ayrıntılara yer vermiş olsak da PST sunucuları hakkında daha fazla ayrıntı sunmak istedik. PST'yi veren kuruluş olarak ayarlamak için önce bir düzenleyen sunucu oluşturmanız gerekir.

Ortamınızı dağıtma: kartı veren kuruluşun sunucuları

Jetonu veren kuruluşun sunucusunu uygulamak için HTTP uç noktalarını açığa çıkaran kendi sunucu tarafı uygulamanızı oluşturmanız gerekir.

Kartı 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, kartınızı veren kuruluşun sunucusuna da ek bir koruma katmanı eklemenizi öneririz.

  1. Sertifikayı veren sunucu: Örnek uygulamamızda, sertifikayı veren sunucumuz, Düzenleyen HTTP uç noktalarını barındırmak için Express çerçevesini kullanan bir Node.js sunucusudur. GitHub'da örnek koda göz atabilirsiniz.

  2. Jetonu veren: Kartı veren kuruluşun şifreleme bileşeni belirli bir dil gerektirmez ancak bu bileşenin performans gereksinimlerinden dolayı, jetonları yönetmek için Boring SSL kitaplığını kullanan bir C uygulaması örneği olarak sunuyoruz. Yayıncı kodu örneğini ve kurulum hakkında daha fazla bilgiyi GitHub'da bulabilirsiniz

  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 saklanmalıdır.

Kartı veren kuruluş sunucuları için teknik koşullar

Protokole göre, kartınızı veren kuruluşun sunucusuna en az iki HTTP uç noktası uygulamanız gerekir:

  • Anahtar taahhüdü (örneğin, /.well-known/private-state-token/key-commitment): Bu uç nokta, sunucunuzun meşru olduğunu onaylamak için şifreleme ortak anahtarı ayrıntılarınızın tarayıcılar tarafından gösterileceği yerdir.
  • Jeton verme (örneğin, /.well-known/private-state-token/issuance): Tüm jeton isteklerinin işleneceği jeton veren uç nokta. Bu uç nokta, jetonu veren bileşenin entegrasyon noktası olacaktır.

Daha önce de belirtildiği gibi, bu sunucunun potansiyel olarak işleyebileceği beklenen yüksek trafik nedeniyle arka ucunuzu değişken talebe göre ayarlayabilmek için ölçeklenebilir bir altyapı kullanarak (ör. bir bulut ortamında) dağıtmanızı öneririz.

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

Yeni jetonlar yayınlamak için kartı veren kuruluşun yığınına bir web sitesi getirme çağrısı uygulayın.

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

Kod örneğine bakın.

Kurtarıcı sunucuları

Kendi sunucu tarafı uygulamanızı derleyerek jeton kullanma hizmetini uygulamanız gerekir. Bu sayede, bir kartı veren kuruluşun gönderdiği jetonları okuyabilirsiniz. Aşağıdaki adımlarda, jetonların nasıl kullanılacağı ve bu jetonlarla ilişkilendirilmiş teklif kullanma kayıtlarının nasıl okunacağı açıklanmaktadır.

Kartı veren kuruluş ile alıcıyı aynı sunucuda (veya sunucu grubunda) çalıştırmayı tercih edebilirsiniz.

Kodlayıcı sunucu bileşenleri.
PST demo bileşenleri: Bunlar, alıcı sunucusunun ana bileşenleridir. Oluşturucu sunucusu (Node.js Uygulaması) ve Jeton kullanıcısı (teklifi kullanma sürecinde imzaları ve jetonları doğrulamaktan sorumlu şifreleme bileşeni).

Alıcı sunucuları için teknik koşullar

Protokole göre, alıcı sunucunuz için en az iki HTTP uç noktası uygulamanız gerekir:

  • /.well-known/private-state-token/redemption: Tüm jeton kullanımının işleneceği uç noktadır. Bu uç nokta, jeton alıcısı bileşeninin entegre edileceği yer olacaktır

Hediyeyi alan sunucuya çağrı gönder

Jetonları kullanmak için daha önce verilen jetonları kullanmak üzere alıcı yığınınıza bir web sitesi getirme çağrısı uygulamanız gerekir.

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

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

    // 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 önce çağrının yapıldığı web sayfasına gidin 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 çağrısının yapıldığı web sayfasına gidin ve RR'lerin mantığınıza uygun şekilde oluşturulduğunu onaylayın.

Gerçek dağıtım

Özel kullanım alanınızın bir parçası olan hedef web sitelerini seçmenizi öneririz:

  • Az sayıda aylık ziyaret (ayda yaklaşık 1 milyon ziyaret/ay): API'yi önce küçük bir kitleye dağıtarak başlamalısınız
  • Sahibi siz olursunuz: Gerekirse karmaşık onaylar olmadan uygulamayı hızlı bir şekilde devre dışı bırakabilirsiniz.
  • Birden fazla kartı veren kuruluş: Testi kolaylaştırmak amacıyla jeton miktarını sınırlamak için.
  • En fazla iki kullanıcı: Sorun olması durumunda sorun gidermeyi basitleştirmeniz gerekir.

Sorun giderme

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

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 yayıncıları hakkındaki tüm alakalı bilgileri almak için > Özel durum jetonları bölümüne gidin.

Uygulama sekmesinde:

Uygulama sekmesi için DevTools incelemesi.
PST için Geliştirici Araçları denetimi: Belirli bir sayfanın jetonları ve yayıncıları hakkındaki tüm alakalı bilgileri almak için Uygulama > Gizlilik jetonları'na gidin.

Bu DevTools entegrasyonu hakkında daha fazla bilgi edinin.

Sunucuyla ilgili en iyi uygulamalar ve sorun giderme

Sertifikanızı veren ve alan sunucunuzun etkili bir şekilde çalışması için PST'ye yönelik herhangi bir erişim, güvenlik, günlük kaydı veya trafik sorunuyla karşılaşmadığınızdan emin olmak amacıyla aşağıdaki en iyi uygulamaları uygulamanızı öneririz.

  • Uç noktalarınız, TLS 1.3 veya 1.2 kullanarak güçlü şifreleme uygulamalıdır.
  • Altyapınız, değişken trafik hacimlerini (ani artışlar dahil) karşılamaya hazır olmalıdır.
  • Anahtarlarınızın Erişim Denetimi Politikanız, Anahtar Yönetim Stratejiniz ve İş Sürekliliği Planlarınızla uyumlu şekilde korunduğundan ve güvende olduğundan emin olun.
  • Üretime geçtikten sonra kullanım, performans sorunlarını ve performans sorunlarını anlamak için görünürlüğünüzü elde ettiğinizden emin olmak için yığınınıza gözlemlenebilirlik metrikleri ekleyin.

Daha fazla bilgi

  1. Geliştirici belgelerini inceleyin:
    1. PST ve özellikleri hakkında bilgi edinmek için genel bakışı okuyarak başlayın.
    2. PST tanıtım videosunu izleyin.
    3. PST demosunu deneyin.
    4. Bununla ilgili daha fazla ayrıntıyı anlamak için API açıklamasını da okuyun.
    5. API'nin mevcut özellikleri hakkında daha fazla bilgi edinin.
  2. GitHub sorunları veya W3C çağrıları aracılığıyla sohbete katkıda bulunun.
  3. Herhangi bir terimi daha iyi anlamak için Özel Korumalı Alan sözlüğünü inceleyin.
  4. "Kaynak denemesi" veya "Chrome flag'leri" gibi Chrome kavramları hakkında daha fazla bilgi edinmek için goo.gle/cc adresinde bulunan kısa videoları ve makaleleri inceleyin.