Google Tedarikçi Firma Paylaşılan Tanımlayıcı Özellikleri

Arka plan

Bu dokümanda, Google ile Tedarikçi Firma (veya kullanıcıya hesabı Veren) arasındaki entegrasyonlarda kullanılan paylaşılan tanımlayıcılar için gerekli özellikler ele alınmaktadır. Paylaşılan bir tanımlayıcının, bir Google Hesabı ile Sertifika Veren hesabı arasındaki uç noktanın opak bir işaretçisidir.

Bu nedenle, paylaşılan tanımlayıcının Google Hesabı'na (veya Google'ın depolama alanındaki kullanıcı ya da başka bir tüzel kişiye) ya da Tedarikçi Firma/Düzenleyen Hesabı'na (veya başka bir tüzel kişiye) başvuruda bulunmadığı unutulmamalıdır. Bu, bu ikisi arasındaki bağlantıyı ifade eder.

Paylaşılan Tanımlayıcı Özellikleri

Paylaşılan tanımlayıcıların gerekli olduğu özellikler, geçmiş deneyimlerden ve paylaşılan tanımlayıcılarda bu özelliklerin eksikliği nedeniyle karşılaşılan teknik sorunlardan doğmuştur.

Google ile harici bir iş ortağı arasındaki entegrasyon için, kullanılan paylaşılan tanımlayıcıların aşağıdaki özelliklere sahip olması kritik öneme sahiptir:

  1. Genel Olarak Benzersiz Olma: Bu paylaşılan tanımlayıcı, bir Google kullanıcısı ile Kartı Veren Hesabı arasındaki tam olarak bir bağlantıyı işaret etmelidir. Aynı Düzenleyen için, aynı değere sahip olan başka bir paylaşılan tanımlayıcı olmamalıdır.
  2. Tahmin Edilemez Olun: Bu paylaşılan tanımlayıcılar, kullanıcı adına işlem yapma iznine sahiptir. Bu nedenle, üçüncü bir tarafın paylaşılan tanımlayıcı değerini tahmin edebilmesi önemlidir.
  3. İptal Edilebilir Olma: Paylaşılan bir tanımlayıcının kullanıcı tarafından iptal edilebilmesi önemlidir ve bu iptal işlemi, paylaşılan tanımlayıcı değerinin gelecekte herhangi bir kullanımını yasaklamalıdır. Bu mülkte aşağıdaki gibi birkaç ortak özellik vardır:
    • Her iki hesabın da sabit özelliğine dayalı değildir: Paylaşılan tanımlayıcı değerinin, Sertifikayı Verenin hesabına veya Google Hesabı'na ait sabit bir mülke dayalı olması durumunda, iptal edilen paylaşılan tanımlayıcının yeniden oluşturulması, söz konusu paylaşılan tanımlayıcının aynı değerinin elde edilmesiyle sonuçlanır (böylece iptal geri alınır). Bu nedenle, paylaşılan tanımlayıcının değeri, hesabın bir özelliği veya bir telefon numarasının karması olmamalıdır (ör.
    • Yalnızca <Google Hesabı, İş Ortağı Hesabı> olmamalıdır: İptal işlemine izin verilecek başka bir değer (ör. zaman) olmalıdır.
  4. Hesap için her iki tarafta birden fazla bağlantıya izin verin: Paylaşılan tanımlayıcı değeri oluşturma işleminin, tek bir Google kullanıcısının birden fazla banka hesabına veya birden fazla Google Hesabı'nın tek bir banka hesabına (ör. ana hesabın banka hesabına bağlı bir üst ve alt hesap) bağlanmasını imkansız hale getirmemesi önemlidir. Geri alınabilirlikte olduğu gibi, bunun da birkaç sonucu vardır:
    • Yine bu durum, her iki hesabın sabit mülküne dayalı değildir: Aksi takdirde, tek bir Google kullanıcısı birden fazla banka hesabını bağladığında (paylaşılan tanımlayıcı değeri Google hesabına dayalıysa) veya birden fazla Google Hesabı tek bir banka hesabına bağlandığında (paylaşılan tanımlayıcı değeri banka hesabına ait bir mülke dayanıyorsa) paylaşılan tanımlayıcı aynı değere sahip olur.
  5. Uzun Ömürlü Olma: Paylaşılan tanımlayıcı yalnızca güvenli bir bağlamda (Google ile satıcı arasındaki entegrasyon, hem bağlantı düzeyinde hem de uygulama düzeyinde korumalar (ör. PGP, karşılıklı SSL vb.) kullanan satıcı arasındaki entegrasyon) geçerlidir. Bu nedenle güvenli kalmak için kısa yaşam döngülerine gerek yoktur. Google'ın tercihi, paylaşılan tanımlayıcıların geçerliliğinin asla sona ermemesidir ancak tedarikçi firma geçerlilik süresinin sona ermesini gerektiriyorsa uzun bir süre (ör. 1 yıldan uzun) olmalıdır.

Önerilen diğer paylaşılan tanımlayıcı özellikleri şunlardır:

  1. Base64: Bu yöntem, aktarımı ve entegrasyondaki değerin https üzerinden aktarılmasını kolaylaştırır.
  2. Minimum Uzunluk: Çakışmaları önleyecek çok fazla adres alanı olmasını sağlamak için en az 27 basamak (Base64 kodlamasından önce) önerilir.

Neler Yanlış Olabilir?

Okuyucunun gerekli özellikleri anlamasına yardımcı olmak için bu özelliklere uyulmaması durumunda karşılaşılan sorunları gösteren birkaç örnek olay verilmiştir.

Paylaşılan Tanımlayıcı için Başarılı Örnekler

1. Örnek Olay: Telefon Numarası Geri Dönüşümü

Paylaşılan tanımlayıcı olarak kullanıcının telefon numarasını kullanan bir yayıncı. A kullanıcısı telefon planlarını değiştirdiğinde telefon numarasından vazgeçip yeni bir numara aldı. Bir ay sonra telefon şirketi eski telefon numarasını geri dönüştürür ve aniden telefon numarasının yeni sahibi B Kullanıcısı, satın almadığı şeyler için hesabından ödeme almaya başlamıştır.

Kartı veren kuruluş, çoğunlukla 1. mülk olmak üzere çok sayıda paylaşılan tanımlayıcı özelliğini ihlal etmişti. Telefon numaraları gibi veriler kullanıcılardan kullanıcıya taşınabilir. Bu nedenle, yalnızca belirli bir anlık görüntü sırasında benzersiz olurlar.

2. Örnek Olay: The Paste

Bir Google/İş Ortağı çalışanı, paylaşılan bir tanımlayıcıyı yanlışlıkla dahili bir araç yerine sohbete yapıştırır. Ek koruma katmanları, hiç kimsenin paylaşılan tanımlayıcıyı kötü amaçla kullanmasını engeller. Ancak Google, paylaşılan tanımlayıcıyı iptal edip yeni bir kimlikle değiştirmek, güvenliği sağlamak istiyordu. Google/İş Ortağı, paylaşılan tanımlayıcıyı iptal etmeye çalıştığında, paylaşılan tanımlayıcıların yalnızca kullanıcının Veren Kuruluşun sistemindeki hesap kimliği olduğunu ve paylaşılan tanımlayıcının doğrudan kullanıcının hesabını aramak için kullanıldığını tespit eder. Bu nedenle, paylaşılan tanımlayıcı, kullanıcının hesabı silinip yeni bir hesap oluşturulmadan iptal edilemez.

3. Örnek Olay: Kötü Çalışan

Yukarıdaki "Yapıştırma" olayından sonra, Google/İş Ortağı'ndaki kötü niyetli bir kullanıcı, paylaşılan tanımlayıcının yalnızca kullanıcının hesap kimliği olduğundan, başka birinin hesap kimliğini kendi paylaşılan tanımlayıcı değerine yerleştirmeyi başarabilirse diğer kişinin hesabıyla satın alma işlemleri gerçekleştirebileceğini fark eder. 2 Numaralı Mülk'ün ihlali nedeniyle bu yanlışlıkla yapılan yapıştırma tek bir kullanıcı için bir güvenlik deliğinden ibaret değildir. Bu, her kullanıcı için bir güvenlik deliğidir.

4. Örnek Olay: Rotasyon

Yukarıdaki "Yapıştırma" olayından sonra, Sertifikayı Veren Kuruluş, paylaşılan tanımlayıcı biçimi olarak UUID'ye geçer. Bu kez, Kartı Veren Kuruluş çalışanı, paylaşılan tanımlayıcılardan bazılarını hata ayıklama e-posta ileti dizisi kapsamında yanlışlıkla düz metin olarak e-postayla göndermektedir. Google, endişelenmenize gerek yok. Kullanıcının paylaşılan tanımlayıcılarını iptal edip değiştireceğiz.

Google, rotasyonun bir parçası olarak, veritabanı temizliği devam ederken güvenliği ihlal edilmiş her kullanıcı hesabında iki paylaşılan tanımlayıcının kısa bir süre boyunca etkin olacağını bildirir. Ancak Düzenleyen, 4. Mülk'e izin vermiyor ve Google'a belirli bir kullanıcı hesabı için yalnızca bir paylaşılan tanımlayıcının etkin olabileceğine dair bir kısıtlamaya sahip olduğunu bildirir. Bu durum, ırk koşullarıyla ilgili oldukça karmaşık bir rotasyona neden olur.