Bu sayfa otomatik olarak çevrildi. Orijinal İngilizce sürümü buradan okuyun.
isUserVerifyingPlatformAuthenticatorAvailable() işlevinin Safari dışındaki tüm tarayıcılarda false döndürdüğü iOS 26.2 hatasının gösterdiği gibi geçiş anahtarlarını sessizce bozar ve algılama mantığı güncellemeleri gerektirir.Geçiş anahtarlarını uygulamayın.
En azından ne pahasına olursa olsun değil ve eğer bunu düzgün yapacak kaynaklarınız yoksa.
Kurumsal Passkey Whitepaper. Passkey programları için pratik rehberler, geçiş kalıpları ve KPI'lar.
Evet, geçiş anahtarları son on yılda tüketici kimlik doğrulamasının başına gelen en iyi şeydir. Evet, oltalamayı (phishing) bitirirler. Evet, kullanıcı deneyimini (UX) muazzam ölçüde iyileştirebilirler. Ancak yanlış uygulanan geçiş anahtarları da çok fazla zarara neden olabilir.
Bir WebAuthn sunucusu uygulamak çok karmaşık değildir. Asıl zorluk bunun etrafındaki her şeydir. Geçiş anahtarlarını geniş ölçekte verimli bir şekilde işletmek önceden planlama yapmayı gerektirir. Tüm "2. Gün" sorunlarını, yani yalnızca geçiş anahtarı lansmanına başladıktan sonra ortaya çıkan operasyonel gerçekleri düşünmeniz gerekir.
Bu makale, geçiş anahtarı projelerini sürekli olarak sonlandıran beş 2. gün sorununu ele almaktadır. Eğer bunların hepsini çözemiyorsanız, geçiş anahtarlarını yayınlamaya hazır değilsiniz demektir. Eğer çözebilirseniz, parolaların sunabileceğinden hem daha güvenli hem de daha kullanışlı bir kimlik doğrulama sistemi kurmuş olursunuz.
Son makaleler
Mühendislikte "1. Gün", inşa edip yayına aldığınız zamandır. "2. Gün" ise yayına aldığınız şeyi işlettiğiniz, bakımını yaptığınız ve ölçeklendirdiğiniz zamandır. Geçiş anahtarları için 1. Gün basit olabilir:
Çoğu ekip, temel bir geçiş anahtarı uygulamasını birkaç gün veya hafta içinde çalışır hale getirebilir.
Projelerin başarısız olduğu yer 2. Gün'dür. Gerçek uç durumları olan gerçek cihazlardaki gerçek kullanıcıların geçiş anahtarı sisteminizle etkileşime girdiği andır. MacBook'unuzda mükemmel çalışan o parlak demonun, kurumsal bir proxy arkasında Chrome çalıştıran bir Windows dizüstü bilgisayarda bozulduğunu keşfettiğiniz zamandır. Destek ekibinizin "Artık giriş yapamıyorum" biletleriyle dolup taştığı zamandır.
Çalışan bir geçiş anahtarı demosu ile üretim düzeyinde bir geçiş anahtarı dağıtımı arasındaki uçurum devasa boyuttadır. Teknik uygulama tuzaklarını ve geçiş anahtarı projelerinin başarısız olmasının stratejik nedenlerini daha önce ele almıştık. Bu makale, operasyonel bir perspektiften yayına girdikten sonra tam olarak ne olduğuna odaklanmaktadır.
İşte ele alacağımız beş 2. gün sorunu:
Kurtarma ve geri dönüş süreçlerini düzgün bir şekilde tasarlamazsanız, kullanıcıları geniş ölçekte sistem dışında bırakırsınız veya ortadan kaldırmak istediğiniz oltalama yapılmaya müsait akışları sessizce yeniden sunarsınız.
iPhone'unda bir geçiş anahtarı oluşturan ve ardından o iPhone'u kaybeden bir kullanıcıyı ele alalım. Genellikle, bu kurtarma vakalarının büyük bir kısmı artık kimlik bilgisi yöneticisi (büyük ihtimalle iPhone'larda iCloud Keychain) tarafından ele alınmaktadır. Kullanıcı Apple hesabına erişebildiği sürece, yeni bir cihazda giriş yapmak için kullanılabilecek senkronize edilmiş geçiş anahtarlarına sahiptir. Peki ya o bulut hesabına artık erişimleri yoksa? İşte o zaman normal kurtarma yolunuz devreye girer.
Diyelim ki, özel anahtarın kullanıcının giriş yapmaya çalıştığı cihazda hala mevcut olduğunu varsayıyorsunuz, bu nedenle WebAuthn giriş seremonisini başlatıyorsunuz. Bu, kullanıcının "başka bir cihazdaki geçiş anahtarınızla giriş yapın" demesini isteyen bir işletim sistemi / tarayıcı penceresi ile sonuçlanacaktır. Temel olarak, kullanıcı artık hesabına erişemez. Geçiş anahtarının saklandığı başka bir cihaz yoktur. Kullanıcının kafası çok karışır. Bunu binlerce kullanıcıyla çarptığınızda bir destek kriziniz olur.
Ortak tepki, geri dönüş olarak e-posta tabanlı hesap sıfırlamaları eklemektir. Ancak bu, geçiş anahtarlarının amacına aykırıdır: oltalama yapılabilen bir kurtarma kanalını yeniden kullanıma sunmuş oldunuz. Bir kullanıcının e-postasını ele geçirebilen bir saldırgan artık oltalama direncine sahip geçiş anahtarı uygulamanızı tamamen atlayabilir.
Bize göre doğru yaklaşım katmanlı kurtarmadır:
Genel olarak, maliyet / sürtünme perspektifinden hesap kurtarmanın hangi katmanlarının haklı çıkarılabileceğine karar vermeniz gerekir. Örneğin, perakende / e-ticaret sektöründe finansal nedenlerle sadece ilk iki katmanı sunabilir ve oltalama riskini kabul edebilirsiniz. Güvenliğin daha önemli olduğu diğer endüstrilerde 3. ve 4. katmanlara geçersiniz.
Her katman karmaşıklık katar. Kullanım durumunuzun hangi katmanlara ihtiyaç duyduğuna karar vermeniz, bunları oluşturmanız, tüm cihaz kombinasyonlarında test etmeniz ve kullanımlarını izlemeniz gerekir. Bu, ilk WebAuthn entegrasyonundan çok daha fazla iştir.
Çoğu ekip kurtarma sürecini aşırı basitleştirir (parolalara veya SMS OTP'ye geri dönme) veya aşırı karmaşıklaştırır (örneğin her kurtarma işlemi için donanım güvenlik anahtarları zorunlu kılmak). Doğru denge tehdit modelinize, kullanıcı tabanınıza ve yasal gerekliliklerinize bağlıdır. Yanlış yapmak, ya güvenlik duruşunuzu zayıflatmak ya da kullanıcıların akışı terk edeceği kadar fazla sürtünme yaratmak anlamına gelir.
Igor Gjorgjioski
Head of Digital Channels & Platform Enablement, VicRoads
We hit 80% mobile passkey activation across 5M+ users without replacing our IDP.
See how VicRoads scaled passkeys to 5M+ users — alongside their existing IDP.
Read the case studyKullanıcılarınız sadece temiz bir Apple dünyasında yaşamazlar. Cihaz değiştirirler, Windows ile iOS'u karıştırırlar, farklı tarayıcılar kullanırlar ve şirket tarafından yönetilen kurulumlarda çalışırlar. Önceden planlamadıysanız geçiş anahtarı akışlarının koptuğu yer burasıdır.
Geçiş anahtarı ekosistemi üç büyük platformu (Apple, Google ve Microsoft), birden fazla tarayıcıyı (Chrome, Safari, Firefox ve Edge), düzinelerce geçiş anahtarı sağlayıcısı / kimlik bilgisi yöneticisini (örneğin 1Password, Bitwarden, Dashlane ve diğerleri) ve sayısız işletim sistemi/tarayıcı/cihaz kombinasyonunu kapsar. Her kombinasyon biraz farklı davranabilir, örneğin:
Bir kullanıcı iPhone'unda bir geçiş anahtarı oluşturup ancak Windows dizüstü bilgisayarda giriş yapmak istediğinde, cihazlar arası kimlik doğrulama kullanabilir (genellikle bir QR kodu ve Bluetooth aracılığıyla). Bu akış çalışır ancak kırılgan bir yapıya sahiptir:
Bu uç durumları binlerce cihaz kombinasyonunda ilk elden gördük. Eğer geçiş anahtarlarını şirket içinde geliştiriyorsanız, bunların her birini test etmeniz ve işlemeniz gerekir. Eğer yapamazsanız, kullanıcılarınız destek ekibinizin açıklayamayacağı hatalarla karşılaşacaktır.
Aynı cihazda bile farklı tarayıcılar farklı davranır. macOS'teki Chrome, macOS'teki Safari'den farklı geçiş anahtarı pencereleri gösterir. Firefox'un kendine özgü bir davranışı vardır. Client hints (İstemci ipuçları) ve user agent (kullanıcı aracısı) algılaması, doğru akışları doğru kullanıcıya sunmak için kritik hale gelir, ancak bunları tüm kombinasyonlar arasında doğru bir şekilde ayrıştırmak, hiç bitmeyen bir bakım yüküdür.
Geçiş anahtarı testi ve QA zaten web uygulamaları için bir zorluktur (bunu Sorun 5: Platform Değişiklikleri Geçiş Anahtarlarını sessizce bozar bölümünde detaylıca ele alıyoruz). Ancak ürününüzün yerel iOS ve Android uygulamaları da varsa, sadece web ile uğraşan ekiplerin asla yüzleşmeyeceği mimari kararlar ve platforma özgü davranışlar nedeniyle karmaşıklık katlanır.
İlk karar, geçiş anahtarlarını yerel (native) olarak mı yoksa bir WebView aracılığıyla mı uygulayacağınızdır. Her yaklaşımın artı ve eksileri vardır:
| Yön | Yerel Uygulama (Native) | WebView Uygulaması |
|---|---|---|
| UX kalitesi | Sınıfının en iyisi, platforma özgü his | WebView türüne bağlıdır |
| Bakım | iOS ve Android için ayrı kod tabanları | Paylaşılan web mantığı |
| Platform gereksinimleri | Apple/Google SDK değişiklikleri izlenmeli | WebView geçiş anahtarı destek sorunları ele alınmalı |
| Karmaşıklık | Yüksek (platforma özgü API'ler) | Orta (ancak WebView türü önemlidir) |
Sadece iOS üzerinde bile, WKWebView, SFSafariViewController, SFAuthenticationSession ve ASWebAuthenticationSession arasında seçim yapabilirsiniz - her birinin farklı geçiş anahtarı destek özellikleri vardır. Android'de, Chrome Custom Tabs, standart WebViews'dan farklı davranır. Bunlar yalnızca web için çalışan ekiplerin asla vermek zorunda kalmadığı kararlardır ve her seçim kendi bakım yüzeyini oluşturur.
Mimari kararın ötesinde, iOS ve Android geçiş anahtarlarını işletim sistemi düzeyinde farklı şekilde işler:
NotAllowedError olarak görünürken iOS'ta
SimpleAuthenticationServices.AuthorizationError ve Android'in
Credential Manager sisteminde User cancelled the operation olarak ortaya çıkar - tam bir çapraz platform hata eşlemesi için üretimdeki WebAuthn hatalarına bakınHem bir web uygulaması hem de yerel uygulamalar çalıştırıyorsanız, sadece QA çabasını ikiye katlamakla kalmıyor aynı zamanda üç katına çıkarıyorsunuz. Web, iOS ve Android'in her biri bağımsız uçtan uca test ve izleme gerektiren ayrı geçiş anahtarı ortamları olarak davranır. Bir düzeltmeyi anında dağıtabildiğiniz web'in aksine, yerel uygulama düzeltmeleri uygulama mağazası inceleme döngüleri tarafından engellenir.
"Geçiş anahtarları destekleniyor" demek "geçiş anahtarları kullanılıyor" demek değildir. Eğer bir lansman stratejiniz ve ölçümünüz yoksa, benimsenme oranı hayal kırıklığı yaratacak ve proje dahili olarak başarısızlıkla etiketlenecektir.
Bunu geçiş anahtarı uygulamalarının neden başarısız olduğu hakkındaki makalemizde kapsamlı bir şekilde ele aldık: eğer kullanıcılar geçiş anahtarlarına geçiş yapmazsa, proje çoktan başarısız olmuştur. Parolalar baskınlığını korur, SMS OTP maliyetleri yüksek kalır, oltalama riskleri devam eder ve kuruluşunuz önemli bir mühendislik yatırımının karşılığını göremez.
Geçiş anahtarı benimsemesi için iş gerekçesi güçlüdür, ancak yalnızca benimseme gerçekten gerçekleşirse. Lansman stratejisi ve benimseme stratejisi üzerinde kimse düşünmediği için, harika teknik uygulamalara sahip geçiş anahtarı lansmanları yapan ve %5'ten daha az benimseme oranına ulaşan işletmeler gördük.
Geçiş anahtarı benimsemesini yönlendirmek, aşağıdakileri gerektiren bir ürün zorluğudur:
Büyük ölçekli geçiş anahtarı dağıtımlarıyla olan deneyimlerimize dayanarak, işte işletmelerin hedeflemesi gerekenler:
| Metrik | Zayıf | Kabul Edilebilir | Güçlü |
|---|---|---|---|
| Geçiş Anahtarı Oluşturma Oranı (uygun kullanıcıların) | <%10 | %10-60 | >%60 |
| Geçiş Anahtarı Giriş Oranı (tüm girişlerin) | <%5 | %5-40 | >%40 |
Benimseme rakamlarınız üç ay sonra "zayıf" sütunundakine benziyorsa, projenin başı derttedir. Bunu ölçecek analitik verileriniz olmadan bunu bilemeyeceksiniz.
İşletim sistemi ve tarayıcı güncellemeleri istemleri, otomatik doldurma davranışını ve geri dönüş akışlarını değiştirir. Eğer sürekli bir izlemeniz yoksa, uyarı olmadan gerilemeler ve destek biletleri alırsınız.
Kısa süre önce üretimde meydana gelen WebAuthn hatalarının kapsamlı bir genel görünümünü yayınladık.
Sadece sunucunuzun doğruladığı dizeler olan parolaların aksine, geçiş anahtarları işletim sistemi, tarayıcı ve kimlik bilgisi yöneticisi ile derin entegrasyona dayanır. Apple yeni bir iOS sürümü çıkardığında, geçiş anahtarı oluşturma istemleri farklı görünebilir. Chrome otomatik doldurma mantığını güncellediğinde, giriş akışınız bozulabilir. Bir parola yöneticisi yeni bir sürüm yayınladığında, öngörmediğiniz yollarla geçiş anahtarı isteklerini yakalamaya başlayabilir.
Yakın zamandaki bir örnek, isUserVerifyingPlatformAuthenticatorAvailable() işlevinin Safari dışındaki tüm tarayıcılarda (Chrome, Edge, Firefox) false döndürdüğü ve geçici çözüm olarak getClientCapabilities() kullanan platforma duyarlı algılama mantığı gerektiren iOS 26.2 hatasıdır.
Olası tüm hatalardan haberdar olduğunuzdan ve benimsenme oranını izlediğinizden emin olmak için kimlik doğrulama gözlemlenebilirlik yığınınızı (observability stack) kurmanız gerekir. Aşağıdakilerin en azından mevcut olmasını öneririz:
NotAllowedError olarak ortaya çıkan kullanıcı iptalleri) ile beklenmeyen hatalar (eşzamanlılık hatalarından kaynaklanan AbortError artışları veya
bir Android güncellemesinden sonraki yeni Credential Manager geçiş anahtarı hataları) arasında ayrım yapınBu, çoğu ekibin bir olay yaşayana kadar kurmadığı türden bir kimlik doğrulama analitiği altyapısıdır. O zamana kadar, kullanıcı güvenine ve dahili proje güvenilirliğine verilen hasar çoktan verilmiş olur.
Geçiş anahtarı uygulamasının gerçek maliyeti ilk oluşturma süreci değildir. Devam eden bakımdır:
Son haberler için Passkeys Substack'e abone olun.
Bu 2. Gün sorunları göz önüne alındığında, geçiş anahtarlarını ne zaman yayınlayıp ne zaman yayınlamamanız gerektiğine dair dürüst bir değerlendirme aşağıda sunulmuştur.
Düzgün bir planlama yapmadan mevzuat nedenleriyle tüm gücünüzle bu işe girmek maliyetleri önemli ölçüde artırabilir. Kötü uygulanmış bir geçiş anahtarı sistemi, hiç geçiş anahtarı sistemi olmamasından daha kötüdür: kullanıcı güvenini zedeler, destek yükü yaratır ve dahili paydaşlara projeyi öldürmeleri için bir neden verir.
Bu makalede açıklanan 2. Gün sorunları tam olarak birçok şirketin geçiş anahtarı altyapılarını sıfırdan oluşturmak yerine satın almayı seçmesinin nedenidir. Bir WebAuthn sunucusu oluşturmak işin kolay kısmıdır. Üretim düzeyinde bir geçiş anahtarı sistemini, düzgün kurtarma, izleme ve benimseme analitiği ile binlerce cihaz kombinasyonunda çalıştırmak, bir demoyu gerçek bir dağıtımdan ayıran şeydir.
Corbado, 2. Gün sorunları zor olduğu için var. Platformumuz, bu operasyonel karmaşıklığı kendi başınıza inşa edip sürdürmek zorunda kalmamanız için yönetir.
Corbado, uyarlanabilir güvenlik seviyeleriyle kullanıma hazır kurtarma akışları sağlar. Senkronize edilmiş geçiş anahtarı stratejilerinden cihazlar arası kimlik doğrulamasına ve otomatikleştirilmiş kimlik doğrulamasına kadar. Kurtarma mantığı yerleşiktir ve sürekli güncellenir.
Ön uç (frontend) SDK'larımız binlerce işletim sistemi, tarayıcı ve geçiş anahtarı sağlayıcısı kombinasyonunda önceden test edilmiştir. Cihaz algılama, koşullu (conditional) kullanıcı arayüzü yönetimi ve geri dönüş yönlendirmesi otomatik olarak gerçekleşir. Yeni bir tarayıcı sürümü bir şeyi bozduğunda, biz bunu SDK'mızda kullanıcılarınız fark etmeden önce düzeltiriz.
Corbado, platform farklılıklarını soyutlayan SDK'lar ile hem yerel (native) hem de WebView geçiş anahtarı uygulamalarını destekler. Siz uygulamanızın UX'ine odaklanırken biz iOS ve Android'deki geçiş anahtarı altyapısını yönetiriz.
Analitik panomuz önemli olan her metriği izler: geçiş anahtarı oluşturma oranları, giriş başarı oranları, geri dönüş oranları ve cihaz düzeyindeki kırılımlar. Sadece ham verileri değil, benimsemeyi artırmak için eyleme dönüştürülebilir içgörüler elde edersiniz.
Corbado, geçiş anahtarlarını etkileyen işletim sistemi ve tarayıcı değişikliklerini sürekli olarak izler. SDK'larımız proaktif olarak güncellenir. Geçiş anahtarı dağıtımınız, platform ortamı altında değişirken bile sabit kalır.
Geçiş anahtarları kimlik doğrulamanın altın standardıdır. Bu tartışmasız bir gerçek. Ancak "geçiş anahtarları destekleniyor" durumundan "geçiş anahtarları geniş ölçekte güvenilir bir şekilde çalışıyor" durumuna giden yol, çoğu ekibin hafife aldığı 2. Gün sorunlarıyla döşelidir.
Ele aldığımız beş sorun (kurtarma, cihazlar arası uç durumlar, yerel uygulama karmaşıklığı, benimseme ve platform değişiklikleri) nadir değildir. Bunlar, herhangi bir üretim (production) geçiş anahtarı dağıtımının temel operasyonel zorluklarıdır. Bunları görmezden gelmek ortadan kalkmalarını sağlamaz. Sadece kullanıcılarınızın bunları ilk önce keşfedeceği anlamına gelir.
Dürüst tavsiyem: Eğer geçiş anahtarlarını düzgün bir şekilde uygulamak için teknik bilgiye ve kaynaklara sahip değilseniz, bunları yayına almayın. Ya yeteneğe (ürün, mühendislik, güvenlik ve analitik) yatırım yapın ya da bu sorunları çoktan çözmüş olan bir ortakla çalışın. En kötü sonuç, 2. Gün için kimse plan yapmadığı için geri çekilen yarım yamalak bir geçiş anahtarı dağıtımıdır.
Corbado, büyük ölçekte tüketici kimlik doğrulaması yöneten CIAM ekipleri için Passkey Intelligence Platform'tur. IDP loglarının ve genel analytics araçlarının göremediğini görmenizi sağlarız: hangi cihazların, OS sürümlerinin, tarayıcıların ve credential manager'ların passkey desteklediğini; kayıtların neden girişe dönüşmediğini; WebAuthn akışının nerede başarısız olduğunu; bir OS ya da tarayıcı güncellemesinin girişi sessizce ne zaman bozduğunu — hem de Okta, Auth0, Ping, Cognito veya kendi IDP'nizi değiştirmeden. İki ürün: Corbado Observe, passkey'ler ve diğer tüm giriş yöntemleri için observability sağlar. Corbado Connect, analytics entegre managed passkey'ler sunar (IDP'nizin yanında). VicRoads, Corbado ile 5M+ kullanıcı için passkey çalıştırıyor (%80+ passkey aktivasyonu). Bir Passkey uzmanıyla görüşün →
Beş operasyonel sorun; güvensiz kurtarma ve geri dönüş akışları, cihazlar arası ekosistem uç durumları, yerel uygulama karmaşıklığı, düşük kullanıcı benimsemesi ile işletim sistemi ve tarayıcı güncellemelerinden kaynaklanan sessiz gerilemelerdir. Çoğu ekip ilk WebAuthn entegrasyonuna odaklanır ve bu lansman sonrası zorlukları hafife alır. Bu da birçok geçiş anahtarı projesinin geri alınmasına veya dahili olarak sessizce terk edilmesine neden olur.
Kullanıcılar, bir QR kodu ve Bluetooth cihazlar arası akışı aracılığıyla kimlik doğrulayabilir, ancak bu, her iki cihazda da Bluetooth'un etkin olmasını gerektirir ve kurumsal MDM politikaları ve güvenlik duvarları tarafından engellenebilir. UX tarayıcılar arasında önemli ölçüde değişir ve kullanıcılar genellikle neden bir QR kodu taradıklarını anlamazlar. Bu da cihaz farkında olan geri dönüş yönlendirmesini ve kurumsal dağıtımlar için net iletişimi kritik hale getirir.
Güçlü benimseme, uygun kullanıcıların %60'ının üzerinde bir geçiş anahtarı oluşturma oranını ve tüm girişlerin %40'ının üzerinde bir geçiş anahtarı giriş oranını ifade eder. Üç ay sonra %10'un altında oluşturma ve %5'in altında giriş oranları başarısız bir lansmana işaret eder. Bunu ölçmek, cihaz ve işletim sistemi kombinasyonuna göre ayrılmış oluşturma oranlarını, giriş başarı oranlarını, geri dönüş oranlarını ve terk etmeleri izleyen özel bir altyapı gerektirir.
Yerel uygulama, sınıfının en iyisi kullanıcı deneyimi (UX) sunar ancak platforma özgü API işleme ve bağımsız QA ardışık düzenleri (pipelines) içeren ayrı iOS ve Android kod tabanları gerektirir. WebView yaklaşımları paylaşılan web mantığını kullanır ancak WebView türüne bağlı olarak geçiş anahtarı destek tutarsızlıkları getirir. Yalnızca iOS'ta WKWebView, SFSafariViewController ve ASWebAuthenticationSession arasındaki seçim, bir mimariye karar vermeden önce değerlendirilmesi gereken farklı geçiş anahtarı destek özellikleri taşır.
E-posta tabanlı sıfırlamalar gibi basitleştirilmiş kurtarma işlemleri oltalama (phishing) yapılabilir kanalları yeniden sunarken, zorunlu donanım güvenlik anahtarları gibi aşırı katı kurtarma işlemleri süreci terk etmeye neden olur. Önerilen yaklaşım katmanlıdır: temel strateji olarak senkronize geçiş anahtarları, ikinci bir katman olarak cihazlar arası QR kod doğrulaması, üçüncü olarak canlılık (liveness) kontrollerine sahip otomatik kimlik doğrulama ve dördüncü olarak dijital doğrulanabilir kimlik bilgileri (verifiable credentials). Hangi katmanların uygulanacağı tehdit modelinize, kullanıcı tabanınıza ve yasal gerekliliklerinize bağlıdır.
İlgili makaleler
İçindekiler