Standartlar · otpauth-migration

Google Authenticator dışa aktarma QR'ı taramak güvenli mi?

Yalnızca onu kendiniz, kendi eski telefonunuzda oluşturduysanız ve kendi yeni telefonunuz ekrana yönlendirilmişse. Herhangi bir nedenle o QR'ı fotoğraflayan başka biri, demetteki her hesabın her 2FA koduna kalıcı erişim kazanır.

Bir demeti doğrulayın → Tüm standartlar →

Nedir

Google Authenticator ve birkaç uyumlu uygulama (Aegis, Raivo OTP, 2FAS), yeni bir cihaza geçiş yapabilmek için depolanan 2FA hesaplarınızı “dışa aktarmanıza” olanak tanır. Dışa aktarma, otpauth-migration:// ile başlayan URI içeren bir QR kodu biçiminde yapılır. Bu URI'nin içinde, her hesabı bir arada taşıyan tek bir protokol tamponu demeti (Google'ın MigrationPayload şeması) bulunur: ihraç eden, hesap adı, gizli tohum, algoritma, basamak sayısı, tür (HOTP / TOTP) ve sayaç.

Format başlangıçta belgelenmemişti, ancak tersine mühendislikle çözümlendi ve artık 2FA yedeklemeleri için fiili değiş tokuş formatıdır. Üçüncü taraf kimlik doğrulayıcı uygulamalar aynı QR'ı tanır ve içe aktarır.

Bir QR düzinelerce hesap içerebilir. QR, görsel olarak normal bir TOTP kurulum QR'ından ayırt edilemez; sıradan bir gözlemciye tüm demeti taşıdığını gösteren görsel bir işaret yoktur.

Tek bir demet QR'ın neden eşsiz tehlikeli olduğu

Normal bir otpauth:// kurulum QR'ı, siz istemediyseniz taraması tehlikelidir; ancak hasar yarıçapı bir hesaptır. Göç QR'ının hasar yarıçapı, kimlik doğrulayıcınızdaki her hesaptır. Bir saldırgan bu QR'ı gösteren ekranı fotoğraflayabilirse; bir kafede omzunuzun üstünden, fark etmediğiniz bir güvenlik kamerası aracılığıyla, saydam bir cam pencereden, kapsadığı her hesapta 2FA'yı atlama yeteneğiyle gider. Kalıcı olarak. Her sırrı hizmet hizmet manuel olarak değiştirene kadar; çoğu hizmet bunu kolaylaştırmaz.

Demetteki sırrın sona erme tarihi yoktur. Bir oturum belirtecinin aksine (süresi dolar), bir passkey QR'ının aksine (tek seferlik), göç demetindeki tohumlar hizmet hizmet değiştirene kadar geçerlidir.

Bu nedenle tarayıcımızın her otpauth-migration:// QR'ındaki kararı muhtemelen_tehlikeli'den başlar ve bağlamdan bağımsız olarak orada kalır. Format sorunsuz; tehdit modeli formatın varlığıdır.

İçinde gerçekten ne var (anatomisi)

URI şöyle görünür:

otpauth-migration://offline?data=<urlsafe-base64-encoded-protobuf>

Base64 gövdesi çözüldükten sonra şu üst düzey alanlarla bir MigrationPayload protokol tamponu elde edilir:

Her otp_parameters girişinin şunları vardır:

Tarayıcımızın ortaya koyduğu ve kasıtlı olarak göstermediği bilgiler

✓ Ortaya çıkarılan

Demetteki her giriş için karar; ihraç edeni (ACME, GitHub, AWS), hesap adını (alice@acme.com), algoritmayı (SHA1), basamak sayısını (6) ve türü (TOTP) gösterir. Kararın ifşası “Bu demetteki izinler: ACME / alice@acme.com; GitHub / bob@github; AWS / root; …” şeklinde okunur; böylece göç ortasında olan bir kullanıcı içe aktarmadan önce listeyi denetleyebilir.

Şema sürümü, toplu dizin, toplu boyut ve toplu kimlik de ortaya çıkarılır; bir dışa aktarma birden fazla QR'a bölündüğünde kullanışlıdır.

✗ Hiçbir zaman çözümlenmez

Ham secret baytları asla karar çıktısına çözümlenmez. Çözümleyicimiz bunları yalnızca her girişin iyi biçimlendirildiğini doğrulamak için okur (sır mevcut ve boş değil), ardından bulgular oluşturulmadan önce değeri atar.

Bu, test paketiyle doğrulanmıştır; çözümleyiciye sahte dizeler içeren el yapımı protobuf yükleri (SECRET_SEED_1, SECRET_SEED_2) besleriz ve bu dizelerin serileştirilmiş karar çıktısında hiçbir zaman görünmediğini doğrularız. Oradaki bir gerileme CI'yı başarısız kılar.

Ne zaman (ve nasıl) kullanılır

Meşru kullanım durumu: bir telefondan diğerine geçiş yapıyorsunuzdur. ESKİ telefon, göç QR'ını ekranında ~30 saniye gösterir. YENİ telefonun kimlik doğrulayıcı uygulaması ekrana yönlendirilir ve içe aktarır. Odada başka kimse yok. Her şeyin içe aktarıldığını onayladıktan sonra eski telefondan dışa aktarmayı silin.

Tehlike yüzeyleri şunlardır:

Bir göç QR'ının ifşa edildiğinden şüpheleniyorsanız

Demetteki her hesap için kimlik bilgisi sızıntısı olarak değerlendirin. Sırasıyla kurtarma adımları:

  1. Her etkilenen hizmete giriş yapın ve 2FA sırrını değiştirin. Çoğu hizmet bunu Hesap → Güvenlik → İki faktörlü kimlik doğrulama → Devre dışı bırak sonra yeniden kaydet altında yapmanıza olanak tanır.
  2. Değiştirmeyi desteklemeyen hizmetler için (nadir ama var), hesabı kaldırıp yeniden ekleyin.
  3. Her etkilenen hesaptaki son oturum açma etkinliğini denetleyin.
  4. Orijinal dışa aktarma QR'ını bunu içerebilecek her cihazdan ve buluta senkronize fotoğraf kitaplığından silin.

Demete sahip bir saldırgan, siz her birini tek tek değiştirene kadar yıllarca geçerli 2FA kodları üretebilir. Ertelemeyin.

İlgili

Demetinizi doğrulayın

QR görüntüsünü tarayıcımıza bırakın, otpauth-migration:// URI'sini yapıştırın veya kamerayı kullanın. Karar, sırları hiçbir zaman çözümlemeden demetteki her hesabı gösterir.

Tarayıcıyı aç →