احزاب متکی (RP) می توانند با بررسی AAGUID اعتبار کلید عمومی مرتبط تعیین کنند که یک ارائه دهنده رمز عبور توسط کدام یک کلید عبور ایجاد شده است.
چالش های مدیریت رمز عبور
یکی از مزایای استفاده از کلیدهای عبور این است که می توانند به کاربران اجازه دهند چندین رمز عبور برای یک حساب واحد ایجاد کنند. با این انعطافپذیری همراه با استحکام کلید عبور، حتی اگر کاربر با از دست دادن یکی از کلیدهای عبور خود، حساب کاربری خود را مسدود کند، همچنان میتواند با استفاده از کلیدهای عبور جایگزین به طرف متکی وارد شود.
چالش برای کاربرانی که چندین کلید عبور را در یک RP مدیریت می کنند، شناسایی کلید عبور مناسب در زمانی است که نیاز به ویرایش یا حذف یک رمز عبور خاص در میان دیگران دارند. یک مثال خوب زمانی است که کاربر می خواهد یک رمز عبور استفاده نشده را حذف کند. به RP ها توصیه می شود اطلاعات مربوط به کلید عبور مانند تاریخ ایجاد و آخرین تاریخ استفاده را در لیست رمز عبور ضمیمه کنند . این به کاربران کمک می کند تا یک رمز عبور خاص را پیدا کنند.
RP ها همچنین می توانند به کاربران اجازه دهند که کلید عبور را به محض ایجاد یا بعداً نام گذاری کنند، اما بسیاری از کاربران این کار را نمی کنند. در حالت ایدهآل، کلیدهای عبور بهطور خودکار سیگنالهای ارسال شده از مشتری یا اطلاعات موجود در اعتبار کلید عمومی را منعکس میکنند.
مرورگرها یک رشته عامل کاربر را ارائه می دهند که افراد متکی هستند که می توانند برای نامگذاری کلیدهای عبور از آن استفاده کنند، اما پلتفرم هایی مانند Android، iOS یا مرورگرهای دسکتاپ با قابلیت های برنامه افزودنی اجازه ایجاد یک رمز عبور توسط مدیران رمز عبور شخص ثالث را می دهند و رشته عامل کاربر لزوماً نشان دهنده واقعی نیست. ارائه دهنده رمز عبور
با شناسه منحصربهفرد جهانی تأیید تأیید اعتبار (AAGUID)، که در اعتبار کلید عمومی بازگردانده شده در ثبت رمز عبور گنجانده شده است، RPها میتوانند ارائهدهنده رمز عبور را تعیین کنند و از آن برای کاربران استفاده کنند تا به راحتی کلید عبور مناسب را پیدا کنند.
ارائه دهنده رمز عبور را با AAGUID تعیین کنید
AAGUID یک شماره منحصر به فرد است که مدل احراز هویت کننده (نه نمونه خاصی از احراز هویت) را مشخص می کند. AAGUID را میتوان بهعنوان بخشی از دادههای احراز هویت یک کلید عمومی یافت.
RP ها می توانند از AAGUID برای شناسایی ارائه دهنده کلید عبور استفاده کنند. به عنوان مثال، اگر کاربری با استفاده از Google Password Manager یک کلید عبور در دستگاه Android ایجاد کند، RP یک AAGUID از "ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4"
دریافت می کند. RP می تواند رمز عبور را در لیست رمز عبور حاشیه نویسی کند تا نشان دهد که در Google Password Manager ایجاد شده است.
برای نگاشت یک AAGUID به یک ارائهدهنده رمز عبور، RPها میتوانند از یک مخزن منبع جامعه از AAGUID استفاده کنند. با جستجوی AAGUID در لیست ، نام ارائهدهنده کلید عبور و نماد آن متن داده svg را میتوان پیدا کرد.
بازیابی AAGUID قابلیتی است که اکثر کتابخانه های WebAuthn ارائه می دهند. مثال زیر کد ثبت سمت سرور را با استفاده از SimpleWebAuthn نشان می دهد:
// Import a list of AAGUIDs from a JSON file
import aaguids from './aaguids.json' with { type: 'json' };
...
// Use SimpleWebAuthn handy function to verify the registration request.
const { verified, registrationInfo } = await verifyRegistrationResponse({
response: credential,
expectedChallenge,
expectedOrigin,
expectedRPID,
requireUserVerification: false,
});
...
const { aaguid } = registrationInfo;
const provider_name = aaguids[aaguid]?.name || 'Unknown';
نتیجه گیری
AAGUID یک رشته منحصربهفرد است که ارائهدهنده رمز عبور ایجادکننده رمز عبور را شناسایی میکند. RP ها می توانند از AAGUID استفاده کنند تا مدیریت رمز عبور خود را برای کاربران آسان تر کنند. یک مخزن منبع جامعه از AAGUID ها می تواند برای نگاشت AAGUID ها به ارائه دهندگان کلید عبور استفاده شود.