| FIDO2-CRED(1) | General Commands Manual | FIDO2-CRED(1) |
نام (NAME)
fido2-cred —
ساخت و
تایید
اعتبارنامه
FIDO2
خلاصه دستور (SYNOPSIS)
fido2-cred -M
[-bdhqruvw] [-t
option] [-a
mode] [-c
cred_protect] [-i
input_file] [-o
output_file] device
[type] fido2-cred
-V [-dhv]
[-c cred_protect]
[-i input_file]
[-o output_file]
[type]
توضیحات (DESCRIPTION)
fido2-cred
اعتبارنامه
FIDO2 را ایجاد
یا تایید
صحت
میکند.
نوع اعتبارنامه ( type ) میتواند es256 (نشاندهنده ECDSA روی NIST P-256 با SHA-256)، es384 (نشاندهنده ECDSA روی NIST P-384 با SHA-384)، rs256 (نشاندهنده RSA با طول کلید ۲۰۴۸ بیتی با پدینگ PKCS#1.5 و SHA-256)، یا eddsa (نشاندهنده EDDSA روی Curve25519 با SHA-512) باشد. اگر type مشخص نشود، es256 فرض میشود.
هنگام
ساخت
اعتبارنامه،
احرازکنندههویت
ممکن است از
کاربر
بخواهد با PIN
احراز هویت
کند. اگر
گزینه -q
مشخص نشده
باشد، fido2-cred
از کاربر
درخواست
وارد کردن PIN
خواهد کرد.
اگر یک
tty در
دسترس
باشد، fido2-cred
از آن برای
دریافت PIN
استفاده
میکند. در
غیر این
صورت، stdin
استفاده
میشود.
ورودی
fido2-cred توسط
پارامترهای
اعتبارنامهای
که قرار است
ایجاد یا
تایید شود،
تعریف
میگردد.
برای
جزئیات به
بخش
قالب
ورودی (INPUT FORMAT)
مراجعه
کنید.
خروجی
fido2-cred توسط
نتیجه
عملیات
انتخابی
تعریف
میشود.
برای
جزئیات به
بخش
قالب
خروجی (OUTPUT FORMAT)
مراجعه
کنید.
اگر
اعتبارنامهای
با موفقیت
ایجاد یا
تایید شود،
fido2-cred با کد
وضعیت 0 خارج
میشود. در
غیر این
صورت، fido2-cred
با کد وضعیت 1
خارج
میشود.
گزینهها به شرح زیر هستند:
-M- به
fido2-credمیگوید که یک اعتبارنامه جدید روی device بسازد. -V- به
fido2-credمیگوید که یک اعتبارنامه را تایید صحت کند. -b- درخواست “largeBlobKey” مربوط به اعتبارنامه؛ یک کلید متقارن ۳۲ بایتی مرتبط با اعتبارنامه تولیدشده.
-amode- هنگام ساخت
اعتبارنامه،
درخواست
تصدیق
سازمانی (enterprise
attestation). لطفاً
برای
مجموعه
مقادیر
ممکن به
<fido/param.h>مراجعه کنید. -ccred_protect- در صورت
ساخت
اعتبارنامه،
تعیین سطح
حفاظت
اعتبارنامه
روی cred_protect ،
که در آن
cred_protect سطح
حفاظت
اعتبارنامه
در نماد
دهدهی
(دسیمال)
است. لطفاً
برای
مجموعه
مقادیر
ممکن به
<fido/param.h>مراجعه کنید. در صورت تایید اعتبارنامه، بررسی میکند که آیا سطح حفاظت اعتبارنامه توسط احرازکنندههویت به عنوان cred_protect امضا شده است یا خیر. -d- باعث
میشود
fido2-credخروجی اشکالزدایی را روی stderr چاپ کند. -h- در صورت ساخت اعتبارنامه، فعالسازی افزونه hmac-secret پروتکل FIDO2. در صورت تایید اعتبارنامه، بررسی میکند که آیا بیت دادههای افزونه توسط احرازکنندههویت امضا شده است یا خیر.
-iinput_file- به
fido2-credدستور میدهد پارامترهای اعتبارنامه را به جای stdin از input_file بخواند. -ooutput_file- به
fido2-credدستور میدهد خروجی را به جای stdout در output_file بنویسد. -q- به
fido2-credمیگوید که در حالت بیصدا کار کند. اگر وارد کردن PIN الزامی باشد و-qمشخص شده باشد،fido2-credبا شکست مواجه خواهد شد. -r- ایجاد یک اعتبارنامه مقیم (resident credential). اعتبارنامههای مقیم در پروتکل CTAP 2.1 با نام “discoverable credentials” شناخته میشوند.
-toption- تغییر
وضعیت یک
گزینه
کلید/مقدار
option ، که در
آن option
رشتهای به
صورت “key=value”
است.
گزینههایی
که در حال
حاضر
پشتیبانی
میشوند
عبارتند از:
uv=true|false- از احرازکنندههویت درخواست میکند که تایید هویت کاربر فعال یا غیرفعال باشد.
pin=true|false- به
fido2-credمیگوید که آیا درخواست PIN را نمایش دهد و تایید هویت کاربر را بخواهد یا خیر.
گزینه
-tمیتواند چندین بار مشخص شود. -u- ساخت یک
اعتبارنامه
U2F. به طور
پیشفرض،
fido2-credدر صورت پشتیبانی احرازکنندههویت از FIDO2 استفاده میکند، و در غیر این صورت به U2F بازمیگردد. -v- در صورت ساخت اعتبارنامه، درخواست تایید هویت کاربر. در صورت تایید اعتبارنامه، بررسی میکند که آیا بیت تایید کاربر توسط احرازکنندههویت امضا شده است یا خیر.
-w- به
fido2-credمیگوید که خط اول ورودی هنگام ساخت اعتبارنامه باید به عنوان دادههای هشنشده سرویسگیرنده (unhashed client data) تفسیر شود. این گزینه برای Windows Hello مورد نیاز است، زیرا هش دادههای کلاینت را در درون خود محاسبه میکند.
قالب ورودی (INPUT FORMAT)
ورودی
fido2-cred شامل
بلوکهای base64
و رشتههای
UTF-8 است که با
کاراکترهای
خط جدید ('\n') از
یکدیگر جدا
شدهاند.
هنگام
ساخت
اعتبارنامه،
fido2-cred
انتظار
دارد ورودی
آن شامل
موارد زیر
باشد:
- هش دادههای کلاینت (بلوک base64)؛
- شناسه طرف متکی یا Relying Party (رشته UTF-8)؛
- نام کاربر (رشته UTF-8)؛
- شناسه کاربر (بلوک base64).
هنگام
تایید
اعتبارنامه،
fido2-cred
انتظار
دارد ورودی
آن شامل
موارد زیر
باشد:
- هش دادههای کلاینت (بلوک base64)؛
- شناسه طرف متکی یا Relying Party (رشته UTF-8)؛
- قالب اعتبارنامه (رشته UTF-8)؛
- دادههای احرازکنندههویت کدگذاریشده با CBOR (بلوک base64)؛
- شناسه اعتبارنامه (بلوک base64)؛
- امضای تصدیق (بلوک base64)؛
- گواهی تصدیق (اختیاری، بلوک base64).
رشتههای
UTF-8
ارسالشده
به fido2-cred
نباید
دارای
کاراکترهای
خط جدید یا NUL
باشند.
قالب خروجی (OUTPUT FORMAT)
خروجی
fido2-cred شامل
بلوکهای
base64،
رشتههای UTF-8
و کلیدهای
عمومی با
قالب
کدگذاریشده
PEM است که با
کاراکترهای
خط جدید ('\n') از
یکدیگر جدا
شدهاند.
پس از
تولید
موفقیتآمیز
یک
اعتبارنامه،
fido2-cred موارد
زیر را در
خروجی چاپ
میکند:
- هش دادههای کلاینت (بلوک base64)؛
- شناسه طرف متکی یا Relying Party (رشته UTF-8)؛
- قالب اعتبارنامه (رشته UTF-8)؛
- دادههای احرازکنندههویت کدگذاریشده با CBOR (بلوک base64)؛
- شناسه اعتبارنامه (بلوک base64)؛
- امضای تصدیق (بلوک base64)؛
- گواهی تصدیق، در صورت وجود (بلوک base64).
- کلید متقارن ۳۲ بایتی مرتبط با اعتبارنامه (“largeBlobKey ،”) در صورت وجود (بلوک base64).
پس از
تایید
موفقیتآمیز
یک
اعتبارنامه،
fido2-cred موارد
زیر را در
خروجی چاپ
میکند:
- شناسه اعتبارنامه (بلوک base64)؛
- کلید اعتبارنامه کدگذاریشده با PEM.
مثالها (EXAMPLES)
ساخت یک اعتبارنامه جدید es256 روی /dev/hidraw5 ، تایید صحت آن، و ذخیره شناسه و کلید عمومی اعتبارنامه در cred:
$ echo credential challenge | openssl
sha256 -binary | base64 > cred_param$ echo relying party >>
cred_param$ echo user name >>
cred_param$ dd if=/dev/urandom bs=1 count=32 |
base64 >> cred_param$ fido2-cred -M -i cred_param
/dev/hidraw5 | fido2-cred -V -o credهمچنین ببینید (SEE ALSO)
هشدارها (CAVEATS)
لطفاً
توجه داشته
باشید که
fido2-cred تصدیق
پایه (Basic Attestation) و
خودتصدیقی
(Self Attestation) را به
طور شفاف
مدیریت
میکند. در
صورت
استفاده از
تصدیق
پایه،
اعتبار
گواهی
تصدیق
احرازکنندههویت
بررسی و
تایید
نمیشود.
| December 8, 2025 | Linux 6.12.107+deb13-amd64 |