SimpleWebAuthn 14 و پسکیهای پساکوانتومی
خلاصهٔ کاملتر
به گفتهٔ Matthew Miller، نگهدارندهٔ پروژه، تیتر اصلی نسخهٔ ۱۴ کتابخونهٔ SimpleWebAuthn اینه که پکیج سرورش از الگوریتمهای امضای پساکوانتومی ML-DSA-44، ML-DSA-65 و ML-DSA-87 (یعنی الگوریتمهایی که در برابر کامپیوترهای کوانتومی آینده مقاومن) برای پسکی پشتیبانی میکنه. البته فقط روی runtimeهایی که خودشون این الگوریتمها رو دارن.
روی همون runtimeها، generateRegistrationOptions() الگوریتم ML-DSA-44 رو بهعنوان اولویت اول کلید عمومی میذاره. هدفش اینه که سایتها از همین حالا برای احرازکنندههای FIDO2 سازگار با PQC که کمکم دارن به بازار میان آماده باشن. یعنی اگه کاربر دستگاه سازگار داشته باشه، پسکی جدیدش خودبهخود با الگوریتم مقاوم ساخته میشه و لازم نیست کد خاصی بنویسی.
سمت مرورگر سه چیز اضافه شده. sendSignal() همهٔ WebAuthn Signal APIها (همونهایی که به سایت اجازه میدن به دستگاه خبر بده یه پسکی دیگه معتبر نیست) رو با یه متد صدا میزنه. browserSupportsPasskeys() تشخیص پشتیبانی مرورگر رو دقیقتر میکنه، چون سراغ فیچرهای مربوط به پسکی هم میره. getBrowserCapabilities() هم دور getClientCapabilities() میپیچه و چند تا چک اضافه بهش میچسبونه.
سمت سرور، verifyAuthenticationResponse() یه آرگومان اختیاری expectedTopOrigin گرفته برای بررسی احراز هویت cross-origin، و MetadataService.initialize() یه logger اختیاری قبول میکنه تا خروجی وضعیتش رو به شکل دلخواه پروژه بگیری. تایپ transports هم به string[] تغییر کرده که صدا زدن این متدها راحتتر بشه.
تنها تغییر شکننده بالا رفتن حداقل نسخهٔ runtime ـه: نود LTS 22 به بالا و Deno نسخهٔ 2.4 به بالا. از این به بعد پروژه رسماً نسخههای LTS نود رو تا آخر پنجرهٔ Active و Maintenance پشتیبانی میکنه و نسخههای مینور Deno رو تا یک سال بعد از انتشارشون.
نکات کلیدی:
- الگوریتمهای PQC یعنی ML-DSA-44، ML-DSA-65 و ML-DSA-87 برای پسکی پشتیبانی میشن
- generateRegistrationOptions() روی runtime سازگار، ML-DSA-44 رو اولویت اول میذاره
- متد جدید sendSignal() تو مرورگر همهٔ WebAuthn Signal APIها رو یکجا صدا میزنه
- verifyAuthenticationResponse() با expectedTopOrigin از احراز هویت cross-origin پشتیبانی میکنه
- حداقل نسخه: نود LTS 22 و Deno 2.4 به بالا




