Verileri şifrele ve şifresini çöz

Bu kılavuzda, Google Workspace Client-side Encryption API kullanılarak şifreleme ve şifre çözme işlemlerinin nasıl çalıştığı açıklanmaktadır.

Şifrelenmiş dosya paylaşan kullanıcıların kullandığı tüm kimlik sağlayıcı (IdP) hizmetlerini izin verilenler listesine eklemeniz gerekir. Gerekli IdP ayrıntılarını genellikle kuruluşun herkese açık .well-known dosyasında bulabilirsiniz. Aksi takdirde, IdP ayrıntıları için kuruluşun Google Workspace yöneticisiyle iletişime geçin.

Verileri şifreleme

Bir Google Workspace kullanıcısı, istemci tarafında şifrelenmiş (İTŞ) verileri kaydetmeyi veya saklamayı istediğinde Google Workspace, şifreleme için KACLS uç noktası URL'nize bir wrap isteği gönderir. KACLS'niz, çevre ve JWT iddia tabanlı kontroller gibi isteğe bağlı güvenlik kontrollerinin yanı sıra aşağıdaki adımları da gerçekleştirmelidir:

  1. İstekte bulunan kullanıcıyı doğrulayın.

    • Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
    • E-posta iddialarında büyük/küçük harf duyarlı olmayan bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olup olmadığını kontrol edin.
    • Kimlik doğrulama jetonu isteğe bağlı google_email hak talebini içeriyorsa büyük/küçük harf duyarlı olmayan bir yaklaşım kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta hak talebini kullanmayın.
    • Kimlik doğrulama jetonunda isteğe bağlı google_email hak talebinin bulunmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta hak talebi, büyük/küçük harf duyarlı olmayan bir yöntem kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır.
    • Google'ın bir Google Hesabı ile ilişkili olmayan bir e-posta için yetkilendirme jetonu yayınladığı senaryolarda email_type hak talebinin mevcut olması gerekir. Bu, konuk erişimi özelliğinin önemli bir parçasıdır ve KACL'lerin harici kullanıcılara ek güvenlik önlemleri uygulamak için değerli bilgiler sağlamasına olanak tanır.
      • KACLS'nin bu bilgileri nasıl kullanabileceğine dair bazı örnekler:
      • Ek günlük kaydı koşulları uygulamak için.
      • Kimlik doğrulama jetonu yayıncısını özel bir misafir IdP ile kısıtlamak için.
      • Kimlik doğrulama jetonunda ek iddialar gerektirmek için.
      • Bir müşteri Misafir Erişimi'ni yapılandırmazsa email_type'nin google-visitor veya customer-idp olarak ayarlandığı tüm istekler reddedilebilir. email_type değeri google olan veya email_type değeri ayarlanmamış olan istekler kabul edilmeye devam edecektir.
    • Yetkilendirme jetonundaki role iddiasının "writer" veya "upgrader" olduğunu kontrol edin.
    • Yetkilendirme jetonundaki kacls_url iddiasının geçerli KACLS URL'siyle eşleştiğinden emin olun. Bu kontrol, şirket içinden kişiler veya kötü amaçlı alan yöneticileri tarafından yapılandırılan olası ortadaki adam sunucularının tespit edilmesine olanak tanır.
    • Hem kimlik doğrulama hem de yetkilendirme iddialarını kullanarak çevre denetimi yapın.
  2. Aşağıdaki bölümleri kimlik doğrulaması yapılmış bir şifreleme algoritması kullanarak şifreleyin:

    • Veri Şifreleme Anahtarı (DEK)
    • Yetkilendirme jetonundaki resource_name ve perimeter_id değerleri
    • Diğer hassas veriler
  3. İşlemi, başlatan kullanıcı, resource_name ve istekte iletilen neden dahil olmak üzere günlüğe kaydedin.

  4. Şifrelenmiş nesnenin yanında Google Workspace tarafından depolanacak ve sonraki tüm anahtar açma işlemlerinde olduğu gibi gönderilecek opak bir ikili nesne döndürün. Dilerseniz yapılandırılmış bir hata yanıtı da gönderebilirsiniz.

    • İkili nesne, şifrelenmiş DEK'nin tek kopyasını içermelidir. Bu nesne, uygulamaya özgü verileri saklayabilir.

Verilerin şifresini çözme

Bir Google Workspace kullanıcısı istemci tarafı şifrelenmiş (İTŞ) verileri açmak istediğinde Google Workspace, şifre çözme işlemi için KACLS uç noktası URL'nize bir unwrap isteği gönderir. KACLS'niz, çevre ve JWT iddia tabanlı kontroller gibi isteğe bağlı güvenlik kontrollerinin yanı sıra aşağıdaki adımları da gerçekleştirmelidir:

  1. İstekte bulunan kullanıcıyı doğrulayın.

    • Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
    • E-posta iddialarında büyük/küçük harf duyarlı olmayan bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olup olmadığını kontrol edin.
    • Kimlik doğrulama jetonu isteğe bağlı google_email hak talebini içeriyorsa büyük/küçük harf duyarlı olmayan bir yaklaşım kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta hak talebini kullanmayın.
    • Kimlik doğrulama jetonunda isteğe bağlı google_email hak talebinin bulunmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta hak talebi, büyük/küçük harf duyarlı olmayan bir yöntem kullanılarak yetkilendirme jetonundaki e-posta hak talebiyle karşılaştırılmalıdır.
    • Google'ın bir Google Hesabı ile ilişkili olmayan bir e-posta için yetkilendirme jetonu yayınladığı senaryolarda email_type hak talebinin mevcut olması gerekir. Bu, konuk erişimi özelliğinin önemli bir parçasıdır ve KACL'lerin harici kullanıcılara ek güvenlik önlemleri uygulamak için değerli bilgiler sağlamasına olanak tanır.
      • KACLS'nin bu bilgileri nasıl kullanabileceğine dair bazı örnekler:
      • Ek günlük kaydı koşulları uygulamak için.
      • Kimlik doğrulama jetonu yayıncısını özel bir misafir IdP ile kısıtlamak için.
      • Kimlik doğrulama jetonunda ek iddialar gerektirmek için.
      • Bir müşteri Misafir Erişimi'ni yapılandırmadıysa email_type'nin google-visitor veya customer-idp olarak ayarlandığı tüm istekler reddedilebilir. email_type değeri google olan veya email_type değeri ayarlanmamış olan istekler kabul edilmeye devam edecektir.
    • Yetkilendirme jetonundaki role iddiasının "reader" veya "writer" olduğunu kontrol edin.
    • Yetkilendirme jetonundaki kacls_url iddiasının geçerli KACLS URL'siyle eşleştiğinden emin olun. Bu sayede, şirket içinden kişiler veya kötü amaçlı alan yöneticileri tarafından yapılandırılan olası ortadaki adam sunucuları tespit edilebilir.
  2. Kimlik doğrulaması yapılmış bir şifreleme algoritması kullanarak aşağıdaki bölümlerin şifresini çözme:

    • Veri Şifreleme Anahtarı (DEK)
    • Yetkilendirme jetonundaki resource_name ve perimeter_id değerleri
    • Diğer hassas veriler
  3. Yetkilendirme jetonundaki ve şifresi çözülmüş blob'daki resource_name değerinin eşleştiğinden emin olun.

  4. Hem kimlik doğrulama hem de yetkilendirme hak taleplerini kullanarak çevre denetimi yapın.

  5. İşlemi, başlatan kullanıcı, resource_name ve istekte iletilen neden dahil olmak üzere günlüğe kaydedin.

  6. Sarmalanması kaldırılan DEK'yi veya yapılandırılmış bir hata yanıtını döndürün.