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ş dosyaları paylaşan kullanıcılar tarafından kullanılan 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ını öğrenmek için kuruluşun Google Workspace yöneticisiyle iletişime geçin.
Verileri şifreleme
Bir Google Workspace kullanıcısı, istemci tarafı şifrelenmiş (İTŞ) verileri kaydetmek veya depolamak istediğinde Google Workspace, şifreleme için Anahtar Erişim Kontrol Listesi Hizmeti (KACLS) uç nokta URL'nize bir wrap isteği gönderir.
Çevre ve JWT talebine dayalı kontroller gibi isteğe bağlı güvenlik kontrollerine ek olarak KACLS'niz aşağıdaki adımları uygulamalıdır:
İstek gönderen kullanıcıyı doğrulayın.
- Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
- E-posta taleplerinde büyük/küçük harfe duyarsız bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olduğunu kontrol edin.
- Kimlik doğrulama jetonu isteğe bağlı
google_emailtalebini içerdiğinde, büyük/küçük harfe duyarsız bir yaklaşımla yetkilendirme jetonundaki e-posta talebiyle karşılaştırılması gerekir. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta talebini kullanmayın. - Kimlik doğrulama jetonunda isteğe bağlı
google_emailtalebinin olmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta talebi, büyük/küçük harfe duyarsız bir yöntem kullanılarak yetkilendirme jetonundaki e-posta talebiyle karşılaştırılmalıdır. - Google'ın, bir Google Hesabı ile ilişkilendirilmemiş bir e-posta için yetkilendirme jetonu verdiği senaryolarda
email_typetalebi bulunmalıdır. Bu, konuk erişimi özelliğinin önemli bir parçasını oluşturur ve KACLS'nin harici kullanıcılara ek güvenlik önlemleri uygulaması için değerli bilgiler sağlar.- 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'siyle kısıtlamak için kullanılır.
- Kimlik doğrulama jetonunda ek taleplerde bulunmak için.
- Müşteri, Misafir Erişimi'ni yapılandırmadıysa
email_typedeğeriningoogle-visitorveyacustomer-idpolarak ayarlandığı tüm istekler reddedilebilir.email_typedeğerigoogleolan veyaemail_typedeğeri ayarlanmamış istekler kabul edilmeye devam etmelidir.
- Kimlik doğrulama jetonu isteğe bağlı
delegated_totalebini içerdiğinderesource_nametalebini de içermesi gerekir ve bu iki talep, yetkilendirme jetonundakidelegated_toveresource_nametalepleriyle karşılaştırılmalıdır.delegated_totalepleri, büyük/küçük harfe duyarsız bir yaklaşımla karşılaştırılmalı ve jetonlardakiresource_name, işleminresource_nameile eşleşmelidir. - Yetkilendirme jetonundaki
roletalebininwriterveyaupgraderolduğunu kontrol edin. - Yetkilendirme jetonundaki
kacls_urltalebinin, mevcut KACLS URL'siyle eşleştiğinden emin olun. Bu kontrol, kuruluş içinden kişiler veya kötü niyetli alan yöneticileri tarafından yapılandırılan olası araya girme saldırısı sunucularının tespit edilmesini sağlar. - Hem kimlik doğrulama hem de yetkilendirme taleplerini kullanarak bir çevre kontrolü gerçekleştirin.
Aşağıdaki bölümleri kimliği doğrulanmış bir şifreleme algoritması kullanarak şifreleyin:
- Veri Şifreleme Anahtarı (DEK)
- Yetkilendirme jetonundaki
resource_nameveperimeter_iddeğerleri - Diğer hassas veriler
İşlemi, başlatan kullanıcı,
resource_nameve istekte iletilen neden de dahil olmak üzere günlüğe kaydedin.Şifrelenmiş nesneyle birlikte Google Workspace tarafından depolanacak ve sonraki anahtar sarmalama açma işlemlerinde olduğu gibi gönderilecek opak bir ikili nesne döndürür. Alternatif olarak, yapılandırılmış bir hata yanıtı da sunabilirsiniz.
- İkili nesne, şifrelenmiş DEK'nin tek kopyasını içermelidir. Uygulamaya özgü veriler burada depolanabilir.
Verilerin şifresini çözme
Bir Google Workspace kullanıcısı, istemci tarafı şifrelemeli (İTŞ) verileri açmayı istediğinde Google Workspace, şifre çözme işlemi için KACLS uç nokta URL'nize bir unwrap isteği gönderir. Çevre ve JWT talebine dayalı kontroller gibi isteğe bağlı güvenlik kontrollerine ek olarak, KACLS'niz aşağıdaki adımları uygulamalıdır:
İstek gönderen kullanıcıyı doğrulayın.
- Hem kimlik doğrulama jetonunu hem de yetkilendirme jetonunu doğrulayın.
- E-posta taleplerinde büyük/küçük harfe duyarsız bir eşleşme yaparak yetkilendirme ve kimlik doğrulama jetonlarının aynı kullanıcıya ait olduğunu kontrol edin.
- Kimlik doğrulama jetonu isteğe bağlı
google_emailtalebini içerdiğinde, büyük/küçük harfe duyarsız bir yaklaşımla yetkilendirme jetonundaki e-posta talebiyle karşılaştırılması gerekir. Bu karşılaştırma için kimlik doğrulama jetonundaki e-posta talebini kullanmayın. - Kimlik doğrulama jetonunda isteğe bağlı
google_emailtalebinin olmadığı senaryolarda, kimlik doğrulama jetonundaki e-posta talebi, büyük/küçük harfe duyarsız bir yöntem kullanılarak yetkilendirme jetonundaki e-posta talebiyle karşılaştırılmalıdır. - Google'ın, bir Google Hesabı ile ilişkilendirilmemiş bir e-posta için yetkilendirme jetonu verdiği senaryolarda
email_typetalebi bulunmalıdır. Bu, konuk erişimi özelliğinin önemli bir parçasını oluşturur ve KACLS'nin harici kullanıcılara ek güvenlik önlemleri uygulaması için değerli bilgiler sağlar.- 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'siyle kısıtlamak için kullanılır.
- Kimlik doğrulama jetonunda ek taleplerde bulunmak için.
- Müşteri, Misafir Erişimi'ni yapılandırmadıysa
email_typedeğeriningoogle-visitorveyacustomer-idpolarak ayarlandığı tüm istekler reddedilebilir.email_typedeğerigoogleolan veyaemail_typedeğeri ayarlanmamış istekler kabul edilmeye devam etmelidir.
- Kimlik doğrulama jetonu isteğe bağlı
delegated_totalebini içerdiğinderesource_nametalebini de içermesi gerekir ve bu iki talep, yetkilendirme jetonundakidelegated_toveresource_nametalepleriyle karşılaştırılmalıdır.delegated_totalepleri, büyük/küçük harfe duyarsız bir yaklaşımla karşılaştırılmalı ve jetonlardakiresource_name, işleminresource_nameile eşleşmelidir. - Yetkilendirme jetonundaki
roletalebininreaderveyawriterolduğunu kontrol edin. - Yetkilendirme jetonundaki
kacls_urltalebinin, mevcut KACLS URL'siyle eşleştiğinden emin olun. Bu sayede, kuruluş içinden kişiler veya kötü niyetli alan yöneticileri tarafından yapılandırılan olası ortadaki adam sunucuları tespit edilebilir.
Aşağıdaki bölümleri kimliği doğrulanmış bir şifreleme algoritması kullanarak şifrelerini çözün:
- Veri Şifreleme Anahtarı (DEK)
- Yetkilendirme jetonundaki
resource_nameveperimeter_iddeğerleri - Diğer hassas veriler
Yetkilendirme jetonundaki ve şifresi çözülmüş blob'daki
resource_namedeğerinin eşleştiğinden emin olun.Hem kimlik doğrulama hem de yetkilendirme taleplerini kullanarak bir çevre kontrolü gerçekleştirin.
İşlemi, başlatan kullanıcı,
resource_nameve istekte iletilen neden de dahil olmak üzere günlüğe kaydedin.Sarmalanması kaldırılan DEK'yi veya bir yapılandırılmış hata yanıtı döndürün.