Kaynak denemesi: Chrome'da cihaz bağlı oturum kimlik bilgileri

Cihaza bağlı oturum kimlik bilgileri (DBSC), kullanıcı oturumlarını çerez hırsızlığına ve oturum ele geçirmeye karşı korumak için tasarlanmış yeni bir web özelliğidir. Bu özellik artık Chrome 135'te Kaynak Deneme sürümü olarak test edilebilir.

Arka plan

Çerezler, modern web kimlik doğrulamasında önemli bir rol oynar ve kullanıcıların tarama oturumlarında oturum açmaya devam etmesine olanak tanır. Ancak saldırganlar, çok faktörlü kimlik doğrulamayı ve diğer giriş güvenlik mekanizmalarını atlayarak oturumları ele geçirmek için çalınan kimlik doğrulama çerezlerinden giderek daha fazla yararlanıyor.

Kötü amaçlı yazılım operatörleri, genellikle güvenliği ihlal edilmiş cihazlardaki oturum çerezlerini çalarak kullanıcı hesaplarına yetkisiz erişim sağlar. Çerezler taşıyıcı jeton olduğundan, sahiplik kanıtı gerektirmeden erişim izni verirler. Bu da onları saldırganlar için kârlı bir hedef haline getirir.

Cihaz bağlı oturum kimlik bilgileri (DBSC), bir cihaza bağlı kimliği doğrulanmış bir oturum oluşturarak çerez hırsızlığını engellemeyi amaçlar. Bu yaklaşım, sızdırılan çerezlerin başka bir cihazdan hesaplara erişme olasılığını azaltır.

İşleyiş şekli

DBSC, sunucuların bir cihaza bağlı kimliği doğrulanmış bir oturum oluşturmasına olanak tanıyan yeni bir API sunar. Bir oturum başlatıldığında tarayıcı, herkese açık-özel anahtar çifti oluşturur ve özel anahtarı, varsa Güvenilir Platform Modülü (TPM) gibi donanım destekli depolama alanını kullanarak güvenli bir şekilde depolar.

Ardından tarayıcı normal bir oturum çerezi yayınlar. Tarayıcı, oturum süresi boyunca özel anahtara sahip olduğunu düzenli olarak kanıtlar ve oturum çerezini yeniler. Çerezin kullanım ömrü, çerezin çalınmasının saldırganlar için bir avantaj oluşturmayacak kadar kısa ayarlanabilir.

Temel bileşenler

  • Oturum kaydı:

    • Kullanıcı giriş yaptığında sunucu, Sec-Session-Registration HTTP başlığını kullanarak cihaza bağlı bir oturum ister.
    • Tarayıcı, özel anahtarı güvenli bir şekilde depolayarak yeni bir anahtar çifti oluşturur.
    • Ayrıca kısa ömürlü bir kimlik doğrulama çerezi oluşturulur ve bu anahtar çiftine bağlanır.
    • Sunucu, oturumu ilgili genel anahtarla ilişkilendirerek oturumun yalnızca orijinal cihazda kullanılmasını sağlar.
  • Oturum yenileme ve sahiplik kanıtı:

    • Kısa süreli çerezin süresi dolduğunda Chrome oturum yenileme işlemini tetikler.
    • Tarayıcı, sunucu tarafından tanımlanan bir yenileme uç noktasına (oturum kaydı sırasında sağlanır) bir istek gönderir ve sunucu bir istek gönderirse Sec-Session-Challenge üst bilgisini kullanarak imzalı bir istek gönderir.
    • Sunucu, oturumun özel anahtarıyla imzalanan yanıtı doğrulayarak sahiplik kanıtını doğrular.
    • Geçerliyse sunucu, oturumun devam etmesine izin veren yeni bir kısa süreli çerez yayınlar.

Bu yaklaşımın bir avantajı, Chrome'un yenilenen kısa ömürlü çerezi içermeyen istekleri ertelemesidir. Bu davranış, oturuma bağlı çerezleri oturum boyunca tutarlı bir şekilde kullanılabilir durumda tutar ve geliştiricilerin, çerezlerin otomatik olarak yenilenmeden süresi dolabilecği veya kaybolabileceği yaklaşımlara kıyasla bu çerezlere daha güvenle güvenmelerine olanak tanır.

Örnek uygulama

Bir sunucu, cihaza bağlı oturum isteğinde bulunabilir:

HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"

Oturum etkinken sunucu, bir istek-yanıt alışverişiyle oturumu doğrulayabilir:

HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"

Tarayıcı şu yanıtı verir:

POST /refresh
Sec-Session-Response: "signed-proof"

Avantajları

  • Çerez hırsızlığını azaltır: Oturum çerezleri çalınsa bile başka bir cihazdan kullanılamaz.
  • Büyük kullanıcı deneyimi değişiklikleri olmadan güvenliği artırır: Ek kullanıcı etkileşimi gerektirmeden arka planda şeffaf bir şekilde çalışır.
  • Uzun ömürlü oturum çerezlerine olan bağımlılığı azaltır: Orijinal cihazda oturum geçerli olduğu sürece kısa ömürlü çerezler otomatik olarak yenilenir.
  • Standart kriptografik mekanizmaları destekler: Mevcut olduğunda TPM destekli güvenli depolama alanından yararlanarak veri sızıntısına karşı güçlü koruma sağlar.

Gizlilik ve güvenlikle ilgili dikkat edilmesi gereken noktalar

DBSC, kullanıcı gizliliğini korurken güvenliği artırmak için tasarlanmıştır:

  • Ek izleme vektörü yok: Her oturum, oturumlar arası izlemeyi önleyen benzersiz bir anahtar çiftiyle ilişkilendirilir.
  • Uzun süreli cihaz parmak izi yok: Kullanıcı tarafından açıkça izin verilmediği sürece sunucular, aynı cihazdaki farklı oturumları ilişkilendiremez.
  • Kullanıcılar tarafından temizlenebilir: Kullanıcı site verilerini temizlediğinde oturumlar ve anahtarlar silinir.
  • Çerez politikalarıyla uyumlu: DBSC, çerezlerle aynı site tabanlı kapsamı izler ve kaynakta veri sızıntısı oluşmasını önler.

Deneyin

Cihaz Bağlı Oturum Kimlik Bilgileri Kaynak Deneme sürümü, Chrome 135'ten itibaren kullanılabilir.

Yerel test için

DBSC'yi yerel olarak test etmek için:

  • chrome://flags#device-bound-session-credentials bölümüne gidip özelliği etkinleştirin.

Herkese açık test için

DBSC'yi herkese açık bir ortamda kaynak denemesiyle test etmek için:

  1. Chrome Origin Trials sayfasını ziyaret edip kaydolun.
  2. Sağlanan jetonu sitenizin HTTP üst bilgilerine ekleyin:

    Origin-Trial: <your-trial-token>
    

Kaynaklar

Katılarak web güvenliğinin geleceğini şekillendirin

Web kimlik doğrulamasını daha güvenli hale getirmemize katılın. Web geliştiricilerini DBSC'yi test etmeye, uygulamalarına entegre etmeye ve geri bildirim paylaşmaya teşvik ediyoruz. GitHub'da bizimle iletişime geçebilir veya Web Uygulaması Güvenliği Çalışma Grubu'nun tartışmalarına katılabilirsiniz.

Cihaza bağlı oturum kimlik bilgilerini uygulayarak oturum ele geçirme risklerini toplu olarak azaltabilir ve kullanıcılar için kimlik doğrulama güvenliğini artırabiliriz. Hemen başlayın ve web güvenliğinin geleceğini şekillendirmeye yardımcı olun.