| SQ(1) | User Commands | SQ(1) |
نام (NAME)
sq-pki - احراز اصالت گواهیها با استفاده از شبکه اعتماد (Web of Trust)
خلاصه دستور (SYNOPSIS)
sq pki authenticate [OPTIONS]
sq pki lookup [OPTIONS]
sq pki identify [OPTIONS]
sq pki vouch [OPTIONS] SUBCOMMAND
sq pki link [OPTIONS] SUBCOMMAND
sq pki path [OPTIONS] FINGERPRINT|KEYID
توضیحات (DESCRIPTION)
احراز اصالت گواهیها با استفاده از شبکه اعتماد (Web of Trust).
«شبکه اعتماد» (Web of Trust) یک مدل اعتماد غیرمتمرکز است که توسط PGP رواج یافته است. این مدل یک ابرمجموعه از X.509 است که مدلی سلسلهمراتبی از اعتماد بوده و امروزه محبوبترین مدل اعتماد در اینترنت عمومی به شمار میرود. با این حال، به صورتی که در اینترنت عمومی استفاده میشود، X.509 به تعداد انگشتشماری از مراجع صدور گواهی جهانی (CA) وابسته است که اغلب امنیت آن را تضعیف میکنند.
شبکه اعتماد ظریفتر و دقیقتر از X.509 است. با استفاده از شبکه اعتماد، میتوان با اعتماد جزئی به CAها، نیازمند چندین مسیر مستقل برای احراز اصالت یک انتساب (binding) شد. این امر مانع از آن میشود که یک عامل مخرب منفرد امنیت را به خطر بیندازد. همچنین کسانی که نیازمندیهای امنیتی سختگیرانهتری دارند میتوانند از شبکه اعتماد به روشی کاملاً غیرمتمرکز استفاده کنند که در آن تنها افراد منتخب خودشان – که لزوماً نهاد یا سازمان نیستند – به عنوان معرفهای مورد اعتماد (trusted introducers) عمل میکنند.
زیردستورها (SUBCOMMANDS)
sq pki authenticate
احراز اصالت یک انتساب (binding).
احراز اصالت یک انتساب (یک گواهی و شناسه کاربر) از طریق جستجوی مسیری از ریشههای اعتماد (trust roots) به انتساب مشخصشده در شبکه اعتماد (Web of Trust). از آنجا که تصدیقها ممکن است بیانگر عدم قطعیت باشند (یعنی ممکن است بهگونهای علامتگذاری شوند که تنها اعتماد جزئی یا مرزی را منتقل کنند)، ممکن است به چندین مسیر نیاز باشد.
اگر هیچ انتسابی نتواند تا سطح مشخصشده احراز اصالت شود (بهطور پیشفرض: احراز اصالت کامل، یعنی میزان اعتماد ۱۲۰)، خطایی بازگردانده میشود.
اگر هرگونه مسیر معتبری به انتساب یافت شود، صرفنظر از اینکه برای احراز اصالت آن کافی باشند یا خیر، در خروجی استاندارد چاپ میشوند.
sq pki lookup
جستجوی گواهیهای مرتبط با یک شناسه کاربر (User ID).
شناسایی انتسابهای احراز اصالتشده (جفتهای شناسه کاربر و گواهی) که در آنها شناسه کاربر با شناسه کاربر مشخصشده مطابقت دارد.
اگر هیچ انتسابی نتواند تا سطح مشخصشده احراز اصالت شود (بهطور پیشفرض: احراز اصالت کامل، یعنی میزان اعتماد ۱۲۰)، خطایی بازگردانده میشود.
اگر یک انتساب بتواند بهطور جزئی احراز اصالت شود (یعنی میزان اعتماد آن بیشتر از ۰ باشد)، حتی اگر میزان اعتماد زیر آستانه مشخصشده باشد، نمایش داده میشود.
sq pki identify
شناسایی یک گواهی.
شناسایی یک گواهی با یافتن انتسابهای احراز اصالتشده (جفتهای شناسه کاربر و گواهی).
اگر هیچ انتسابی نتواند تا سطح مشخصشده احراز اصالت شود (بهطور پیشفرض: احراز اصالت کامل، یعنی میزان اعتماد ۱۲۰)، خطایی بازگردانده میشود.
اگر یک انتساب بتواند بهطور جزئی احراز اصالت شود (یعنی میزان اعتماد آن بیشتر از ۰ باشد)، حتی اگر میزان اعتماد زیر آستانه مشخصشده باشد، نمایش داده میشود.
sq pki vouch
مدیریت تصدیقها (certifications).
یک تأییدیه یا ضمانت (vouch) گزارهای بالقوه عمومی است مبنی بر اینکه چیزی درست است. در OpenPGP دو نوع اصلی از گزارهها وجود دارد که میتوانید صادر کنید: تصدیقها (certifications) و اعطای اختیارات (authorizations).
میتوانید ادعا کنید که یک گواهی متعلق به نهادی خاص است. این ادعا چیزی درباره قابل اعتماد بودن آن نهاد بیان نمیکند. برای نمونه، ممکن است `bob@nsa.gov` را برای یک گواهی معین تایید کنید. این صرفاً بدین معناست که فکر میکنید شخصِ پشت نشانی ایمیل `bob@nsa.gov` واقعاً آن گواهی را تحت کنترل دارد. این گزارهای مفید است، حتی اگر به آن شخص برای اقدام در راستای منافعتان اعتماد نداشته باشید.
در روشی جایگزین، میتوانید اعلام کنید که به نظر شما یک گواهی، یک معرف مورد اعتماد (trusted introducer) معقول است. معرف مورد اعتماد شخص ثالثی است که به او اجازه میدهید معرف دیگران باشد. برای نمونه، بانک شما ممکن است یک مرجع صدور گواهی (CA) داشته باشد. اگر اثرانگشت (fingerprint) آن CA را اعتبارسنجی کنید، میتوانید به آن اختیار دهید تا اقدام به صدور تصدیق کند. این بدان معناست که sq از آن تصدیقها تقریباً طوری استفاده خواهد کرد که گویی خودتان آنها را صادر کردهاید. این ویژگی کارآمد است زیرا اکنون میتوانید هر یک از کارکنان بانک را احراز اصالت کنید.
اعطای اختیار به یک معرف مورد اعتماد، اختیارات زیادی به آن میدهد. میتوانید با محدود کردن اختیارات اعطایی، این قدرت را مهار کنید؛ برای نمونه مشخص کنید که این معرف تنها مجاز است شناسههای کاربری (User ID) دارای نشانی ایمیل در یک یا چند دامنه خاص را تصدیق کند. به این ترتیب، میتوانید از مواردی که منافع شما و یک CA همسو است بهره ببرید و خود را از اقدامات بالقوه مخرب محافظت کنید. برای نمونه، میتوانید به CA بانکتان اجازه دهید شناسههای کاربری دارای نشانی ایمیل در `bank.com` را تصدیق کند. سپس sq هرگونه تصدیق دیگری را که توسط آن CA صادر شود نادیده خواهد گرفت.
sq pki link
مدیریت پیوندهای احراز اصالتشده گواهی و شناسه کاربر.
پیوند دادن یک گواهی و شناسه کاربر یکی از روشهایی است که باعث میشود `sq` یک انتساب (binding) را معتبر و اصیل در نظر بگیرد. روش دیگر استفاده از `sq pki vouch add` برای تصدیق انتساب از طریق یک ریشه اعتماد (trust root) با پیکربندی صریح است. کار با قابلیت پیوند دادن اغلب سادهتر است و اطلاعات آن بهطور پیشفرض خصوصی میماند.
انتسابهای احراز اصالتشده را میتوان برای تعیین یک گواهی با استفاده از یک نام نمادین به کار برد. برای نمونه، با استفاده از گزینههای `--for-userid` و `--for-email` در دستور `sq encrypt`، کاربر میتواند یک گواهی را با استفاده از یک شناسه کاربر یا یک نشانی ایمیل که برای آن گواهی احراز اصالت شده است، مشخص کند.
همچنین `sq` از گواهیهای احراز اصالتشده برای احراز اصالت سایر دادهها استفاده میکند. برای نمونه، دستور `sq verify` امضاهای ایجادشده توسط یک گواهی احراز اصالتشده را اصیل و معتبر در نظر میگیرد.
کاربران میتوانند با استفاده از `sq pki link add` یک پیوند ایجاد کنند. این پیوند بعداً میتواند با استفاده از `sq pki link retract` پس گرفته شود. همچنین میتوان یک گواهی را با استفاده از `sq pki link authorize` به عنوان یک معرف مورد اعتماد پذیرفت.
ابزار `sq` پیوند دادن را با استفاده از تصدیقهای غیرقابلصدور (non-exportable) و یک ریشه اعتماد ضمنی پیادهسازی میکند. دایرکتوری گواهی OpenPGP، که مخزن پیشفرض گواهی مورد استفاده توسط `sq` است، شامل یک ریشه اعتماد محلی است که تحت نام ویژه `trust-root` ذخیره میشود. هنگامی که کاربر به `sq` دستور میدهد که یک انتساب را بپذیرد، `sq` از ریشه اعتماد محلی برای ایجاد یک تصدیق غیرقابلصدور استفاده کرده و آن را در دایرکتوری گواهی ذخیره میکند. به این ترتیب، عملیاتی که از شبکه اعتماد برای احراز اصالت یک انتساب استفاده میکنند، بهطور خودکار از این پیوندها بهره میبرند.
هنگامی که کاربر پیوندی را پس میگیرد، `sq` یک تصدیق غیرقابلصدور جدید با اعتماد صفر (zero trust) ایجاد میکند. این تصدیق جایگزین پیوند قبلی شده و آن را بیاثر میسازد.
sq pki path
اعتبارسنجی مسیر مشخصشده.
یک مسیر، دنبالهای از گواهیها است که از ریشه آغاز شده و به یک شناسه کاربر (User ID) ختم میشود. این تابع بررسی میکند که هر بخش از مسیر دارای یک تصدیق (certification) معتبر باشد، که همچنین تمامی محدودیتها (میزان اعتماد، عمق اعتماد، عبارات باقاعده) را برآورده سازد.
اگر مسیر معتبری یافت نشود، این زیردستور مسیر را عیبیابی (lint) نیز میکند. بهویژه، گزارش میدهد که آیا تصدیقی ناکافی است (مانند عدم کفایت عمق اعتماد) یا نامعتبر است (برای نمونه به این دلیل که از SHA-1 استفاده میکند در حالی که استفاده از SHA-1 غیرفعال شده است).
مثالها (EXAMPLES)
sq pki authenticate
احراز اصالت یک انتساب خاص.
sq pki authenticate --cert \
EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --userid \
"Alice <alice@example.org>"
بررسی اینکه آیا میتوانیم هر شناسه کاربر با نشانی ایمیل مشخصشده را برای گواهی دادهشده احراز اصالت کنیم.
sq pki authenticate --cert \
EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --email \
alice@example.org
sq pki lookup
جستجوی گواهیهایی که میتوانند برای شناسه کاربر دادهشده احراز اصالت شوند.
sq pki lookup --userid "Alice <alice@example.org>"
جستجوی گواهیهایی که دارای شناسه کاربری با نشانی ایمیل مشخصشده هستند و آن شناسه کاربر قابل احراز اصالت است.
sq pki lookup --email alice@example.org
sq pki identify
شناسایی شناسههای کاربری که میتوانند برای گواهی احراز اصالت شوند.
sq pki identify --cert \
EB28F26E2739A4870ECC47726F0073F60FD0CBF0
فهرست کردن تمام شناسههای کاربری که توسط هر کسی تصدیق شدهاند.
sq pki identify --gossip --cert \
511257EBBF077B7AEDAE5D093F68CB84CE537C9A
sq pki vouch
تصدیق EB28F26E2739A4870ECC47726F0073F60FD0CBF0 برای alice@example.org.
sq pki vouch add \
--certifier=E7FC51AD886BBB5C4F44C3D7A9DA14F3E740F63F \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
--email=alice@example.org
تصدیق EB28F26E2739A4870ECC47726F0073F60FD0CBF0 به عنوان یک معرف مورد اعتماد برای example.org.
sq pki vouch authorize \
--certifier=E7FC51AD886BBB5C4F44C3D7A9DA14F3E740F63F \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
--domain=example.org --all
sq pki link
پیوند دادن گواهی EB28F26E2739A4870ECC47726F0073F60FD0CBF0 با نشانی ایمیل alice@example.org.
sq pki link add \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
--email=alice@example.org
سپس، پذیرش موقت گواهی EB28F26E2739A4870ECC47726F0073F60FD0CBF0 به همراه تمام شناسههای کاربری خودامضاشده آن به مدت یک هفته.
sq pki link add --expiration=1w \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --all
پذیرش گواهی EB28F26E2739A4870ECC47726F0073F60FD0CBF0 به همراه تمام شناسههای کاربری خودامضاشده آن به عنوان یک مرجع صدور گواهی معتمد محدودشده به دامنه example.org؛ به این معنی که این گواهی به عنوان یک معرف مورد اعتماد برای example.org در نظر گرفته میشود.
sq pki link authorize --domain=example.org \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --all
فهرست کردن تمام پیوندها.
sq pki link list
پس گرفتن (لغو) پذیرش گواهی EB28F26E2739A4870ECC47726F0073F60FD0CBF0 و هر شناسه کاربر مرتبط با آن. این کار عملاً تمام پیوندها را باطل میکند.
sq pki link retract \
--cert=EB28F26E2739A4870ECC47726F0073F60FD0CBF0 --all
sq pki path
اعتبارسنجی اینکه آلیس یک شناسه کاربر خاص را برای گواهی باب تصدیق کرده است.
sq pki path EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
511257EBBF077B7AEDAE5D093F68CB84CE537C9A --userid \
"Bob <bob@example.org>"
همچنین ببینید (SEE ALSO)
sq(1), sq-pki-authenticate(1), sq-pki-lookup(1), sq-pki-identify(1), sq-pki-vouch(1), sq-pki-link(1), sq-pki-path(1).
برای مشاهده مستندات کامل ببینید https://book.sequoia-pgp.org.
نسخه (VERSION)
1.4.0
| 1.4.0 | Sequoia PGP |