Passkeyها تله نیستن؛ جواب اسکات هلم به یه پست پربازدید
خلاصهٔ کاملتر
یه پست با عنوان «Passkeys are a trap» این روزها تو Hacker News خیلی دیده شده و به کاربرای غیرفنی توصیه میکنه Passkey رو کنار بذارن و برگردن سراغ رمز عبور و کدهای TOTP (یعنی همون کدهای ششرقمی اپهایی مثل Google Authenticator). اسکات هلم، که خودش یه کتابخونهٔ open source برای Passkey نوشته، تو این مقاله استدلال اون پست رو تیکهتیکه رد میکنه.
حرف اصلی اون پست دربارهٔ attestation بود، یعنی قابلیتی که سایت باهاش میتونه مدرک رمزنگاری بخواد که Passkey با چی ساخته شده. نویسندهٔ اون پست میگفت سایتها کمکم این «پیچ مخفی» رو سفت میکنن تا فقط نرمافزار و سیستمعامل تأییدشده اجازهٔ ورود داشته باشه. هلم میگه Passkeyهای همگامشده، مثل اونایی که تو iCloud Keychain، Google Password Manager، 1Password یا Bitwarden ذخیره میشن، اصلاً attestation نمیدن و اگه سایت درخواستش کنه جوابش none هست.
به گفتهٔ هلم، اگه یه سایت عمومی فردا فقط Passkey تأییدشده قبول کنه، تقریباً همهٔ کاربراش رو بیرون میذاره. برای همین سالهاست به سایتهای عمومی توصیه میشه اصلاً attestation درخواست نکنن. تازه وقتی هم attestation هست، فقط مدل authenticator (یعنی دستگاه یا برنامهای که کلید رو نگه میداره) رو با شناسهای به اسم AAGUID و زنجیرهٔ گواهی سازنده اعلام میکنه. هیچ چیزی دربارهٔ سیستمعامل، مرورگر، افزونهها یا روت بودن گوشی نمیگه.
هلم یه تناقض هم تو اون پست پیدا کرده: برای امنیت بیشتر YubiKey رو پیشنهاد داده، چون ظاهراً از attestation دوره. در حالی که YubiKeyها دقیقاً همون دستگاههاییان که attestation انجام میدن و هر کدوم با گواهی Yubico عرضه میشه. خود هلم هنوز YubiKey رو توصیه میکنه، ولی میگه اگه نگرانیتون attestation باشه، این پیشنهاد شما رو درست به همون سمت میبره.
مهمترین نکتهٔ نویسنده دربارهٔ TOTP هست. این کدها از رمز تنها بهترن، ولی میشه اونا رو تو سایت جعلی وارد کرد. ابزارهای فیشینگی مثل Evilginx وسط میشینن، رمز و کد رو همون لحظه به سایت واقعی میفرستن و session کاربر رو میدزدن. Passkey به دامنهای که براش ساخته شده گره خورده، پس مرورگر کلید example.com رو روی examp1e.com استفاده نمیکنه. یعنی کاربر چیزی نداره که اشتباهی جای دیگه واردش کنه.
توصیهٔ هلم سادهست: هر جا Passkey هست ازش استفاده کنین و تو یه password manager قابل اعتماد نگهش دارین. اگه یه روز attestation وارد ورودهای عمومی شد، باید محکم جلوش ایستاد. ولی فعلاً این اتفاق نیفتاده و کنار گذاشتن Passkey فقط آدم رو جلوی فیشینگ بیدفاع میکنه.
نکات کلیدی:
- Passkeyهای همگامشده (iCloud Keychain، Google Password Manager، 1Password، Bitwarden) در جواب درخواست attestation فقط none برمیگردونن.
- attestation فقط مدل authenticator رو با AAGUID نشون میده، نه سیستمعامل، مرورگر یا روت بودن دستگاه.
- YubiKeyها همه با گواهی attestation از طرف Yubico عرضه میشن.
- کدهای TOTP جلوی ابزارهای فیشینگ همزمان مثل Evilginx مقاوم نیستن.
- Passkey به دامنه گره خورده و روی سایت جعلی کار نمیکنه.




