| tpm2_clear(1) | General Commands Manual | tpm2_clear(1) |
نام (NAME)
tpm2_clear - پاکسازی مقادیر مجازشماری سلسلهمراتبهای lockout، endorsement و owner و سایر دادههای TPM
خلاصه دستور (SYNOPSIS)
tpm2_clear [گزینهها] [آرگومان]
توضیحات (DESCRIPTION)
tpm2_clear(1) - یک دستور پاکسازی را به TPM ارسال میکند تا مقادیر مجازشماری هر ۳ سلسلهمراتب را پاک کند. به عنوان آرگومان، مقدار auth را برای یکی از سلسلهمراتبهای platform یا lockout دریافت میکند. جزئیات تغییرات اعمالشده بر TPM را میتوان در بخش ۳، تحت عنوان “دستورات” (Commands)، از مشخصات کتابخانه TPM در نشانی اینترنتی زیر یافت: - https://trustedcomputinggroup.org/resource/tpm-library-specification
لطفاً نسخه مربوط به نسخه مشخصات پشتیبانیشده توسط TPM خود و دستور TPM2_Clear را بیابید. نسخه مشخصات پشتیبانیشده TPM را میتوان با اجرای دستور tpm2_getcap properties-fixed در مشخصهٔ TPM_PT_REVISION به دست آورد.
نکته: تمامی اشیاء ایجادشده ذیل سلسلهمراتبهای مربوطه از بین خواهند رفت.
گزینهها (OPTIONS)
- •
- -c, --auth-hierarchy=OBJECT:
سلسلهمراتبی را که ابزارها باید روی آن عمل کنند مشخص میکند. بهطور پیشفرض، روی سلسلهمراتب lockout عمل میکند.
نکته: کار روی سلسلهمراتب platform نیازمند احراز هویت platform است.
- •
- --cphash=FILE
مسیر فایل برای ثبت هش پارامترهای دستور. این مقدار معمولاً cpHash نامیده میشود. نکته: هنگامی که این گزینه انتخاب شود، ابزار دستور را واقعاً اجرا نمیکند و فقط یک cpHash بازمیگرداند.
- •
- ARGUMENT آرگومان خط فرمان، مقدار AUTH را برای شیء مشخصشده با -c تعیین میکند.
مراجع (REFERENCES)
قالب شیء زمینه (CONTEXT OBJECT FORMAT)
نوع یک شیء زمینه، خواه دستگیره باشد یا نام فایل، بر اساس منطق ترتیبی زیر تعیین میشود:
- •
- اگر آرگومان یک مسیر فایل باشد، فایل به عنوان یک شیء گذرای (transient) بازیابیشده TPM بارگذاری میشود.
- •
- اگر آرگومان تطابق پیشوندی با یکی از موارد زیر داشته باشد:
- •
- owner: سلسلهمراتب مالک (owner)
- •
- platform: سلسلهمراتب پلتفرم (platform)
- •
- endorsement: سلسلهمراتب تاییدیه (endorsement)
- •
- lockout: شیء پایدار کنترل lockout
- •
- اگر آرگومان بتواند به صورت یک عدد بارگذاری شود، به عنوان یک دستگیره در نظر گرفته شده (مانند 0x81010013) و مستقیماً استفاده میشود.
قالببندی مجازشماری (AUTHORIZATION FORMATTING)
مجازشماری برای استفاده از یک شیء در TPM2.0 میتواند در ۳ شکل مختلف باشد: ۱. گذرواژه (Password) ۲. کد HMAC ۳. نشستها (Sessions).
نکته: “مجازشماریها در صورت عدم تعیین، بهطور پیشفرض بر روی گذرواژه خالی تنظیم میشوند”.
برای احراز هویت با مقادیر auth، دستورات ابزار بهطور ضمنی یک نشست HMAC ایجاد میکنند. بنابراین گذرواژهها به صورت رمزنشده منتقل نمیشوند. این موضوع برای گذرواژههای تعریفشده برای اشیاء صدق نمیکند. در این حالت، باید از یک نشست HMAC استفاده شود (نگاه کنید به tpm2_startauthsession(1)).
گذرواژهها (PASSWORDS)
گذرواژهها با استفاده از شناسههای پیشوندی به اشکال زیر تفسیر میشوند.
نکته: بهطور پیشفرض، گذرواژههای فاقد پیشوند به صورت رشته متنی فرض میشوند.
رشته (STRING)
یک گذرواژه رشتهای که با پیشوند “str:” یا بدون پیشوند (رشته خام) مشخص میشود، پردازش تفسیری نشده و مستقیماً برای مجازشماری استفاده میگردد.
مثالها (EXAMPLES)
-
foobar str:foobar
رشته شانزدهشانزدهی (HEX-STRING)
یک گذرواژه بر مبنای ۱۶ (hex-string) که با پیشوند “hex:” مشخص میشود، از حالت هگزادسیمال به یک آرایه بایتی تبدیل میشود؛ بدین ترتیب استفاده از گذرواژههایی با نویسههای غیرقابلچاپ یا ناسازگار با ترمینال امکانپذیر میگردد.
مثال (EXAMPLE)
-
hex:1122334455667788
فایل (FILE)
یک گذرواژه مبتنی بر فایل که با پیشوند “file:” مشخص میشود، باید مسیر فایلی حاوی گذرواژه برای خوانده شدن توسط ابزار باشد، یا “-” برای استفاده از ورودی استاندارد (stdin). ذخیره گذرواژهها در فایل از نشت اطلاعات جلوگیری میکند؛ گذرواژههایی که به عنوان گزینه خط فرمان ارسال میشوند ممکن است از فهرست پردازشها یا تاریخچه پوسته خوانده شوند.
مثالها (EXAMPLES)
-
# برای استفاده از ورودی استاندارد با درخواست ورود file:- # برای استفاده از فایل از یک مسیر file:path/to/password/file # برای ارسال گذرواژه از طریق ورودی استاندارد (stdin): echo foobar | tpm2_tool -p file:- # برای استفاده از bash here-string از طریق stdin: tpm2_tool -p file:- <<< foobar
نشستها (SESSIONS)
هنگام استفاده از یک نشست خطمشی (policy session) جهت مجازشماری استفاده از یک شیء، آرگومان گزینه را با کلمه کلیدی session پیشوندگذاری کنید. سپس مسیر فایل نشستی را که با tpm2_startauthsession(1) ایجاد شده مشخص نمایید. در صورت تمایل، اگر نشست نیازمند ارسال یک مقدار auth همراه با دستگیره نشست باشد (مانند گذرواژه خطمشی)، یک + و یک رشته را همانطور که در بخش گذرواژهها (PASSWORDS) شرح داده شده اضافه کنید.
مثالها (EXAMPLES)
برای استفاده از یک فایل زمینه نشست به نام session.ctx:
-
session:session.ctx
برای استفاده از فایل زمینه نشست session.ctx و ارسال مقدار مجازشماری mypassword:
-
session:session.ctx+mypassword
برای استفاده از فایل زمینه نشست session.ctx و ارسال مقدار مجازشماری شانزدهشانزدهی (HEX) معادل 0x11223344:
-
session:session.ctx+hex:11223344
مجازشماریهای PCR (PCR AUTHORIZATIONS)
میتوانید یک خطمشی PCR را با استفاده از پیشوند “pcr:” و ریززبان PCR برآورده کنید. ریززبان PCR به این صورت است: <pcr-spec>=<raw-pcr-file>
مشخصات PCR در بخش “مشخصکنندههای بانک PCR” مستند شده است.
شناسه raw-pcr-file یک آرگومان اختیاری است که حاوی خروجی محتویات خام PCR است که توسط tpm2_pcrread(1) بازگردانده میشود.
مشخصکنندههای بانک PCR
مثالها (EXAMPLES)
برای برآورده ساختن یک خطمشی PCR با sha256 روی بانکهای 0، 1، 2 و 3 از این مشخصکننده استفاده کنید:
-
pcr:sha256:0,1,2,3
مشخص کردن AUTH.
گزینههای عمومی (COMMON OPTIONS)
این مجموعه از گزینهها میان بسیاری از برنامهها مشترک بوده و اطلاعات مورد انتظار کاربران را فراهم میکنند.
- •
- -h, --help=[man|no-man]: نمایش صفحه راهنمای ابزار. بهطور پیشفرض، تلاش میکند صفحهبند راهنما (manpager) را برای ابزار فراخوانی کند، اما در صورت شکست، خلاصه کوتاهی از ابزار را نشان میدهد. این رفتار مشابه زمانی است که آرگومان گزینه “man” مشخص شده باشد، با این حال اگر صراحتاً “man” درخواست شود، ابزار خطاهای دریافتی از man را در خروجی خطای استاندارد (stderr) گزارش میکند. اگر گزینه “no-man” مشخص شود یا فراخوانی manpager شکست بخورد، گزینههای کوتاه در خروجی استاندارد چاپ خواهند شد.
استفاده موفقیتآمیز از ویژگی صفحات راهنما نیازمند نصب بودن صفحات راهنما یا قرار داشتن آنها در مسیر MANPATH است؛ برای اطلاعات بیشتر man(1) را ببینید.
- •
- -v, --version: نمایش اطلاعات نسخه این ابزار، TCTIهای پشتیبانیشده و خروج.
- •
- -V, --verbose: افزایش اطلاعاتی که ابزار در حین اجرا در کنسول چاپ میکند. هنگام استفاده از این گزینه، نام فایل و شماره خط چاپ میشوند.
- •
- -Q, --quiet: ساکت کردن خروجی عادی ابزار به خروجی استاندارد (stdout).
- •
- -Z, --enable-errata: فعالسازی اعمال اصلاحات مربوط به اشکالات شناختهشده (errata fixups). زمانی مفید است که نیاز باشد یک اصلاحیه خطا روی دستورات ارسالی به TPM اعمال گردد. تعریف متغیر محیطی TPM2TOOLS_ENABLE_ERRATA نیز معادل این عمل است.
- •
- -z, --pwd-session: استفاده از نشست گذرواژه بهجای نشست HMAC برای احراز هویت. یک گذرواژه متنآشکار به TPM ارسال میشود تا انجام عملیات را مجاز کند. از این گزینه میتوان برای جلوگیری از مشکلات ناشی از نشستهای بدون سالت در حالت OpenSSL FIPS استفاده کرد. اگر مقادیر auth به کار گرفته شوند، باید از یک نشست با سالت برای احراز هویت استفاده شود.
- •
- -R, --autoflush: فعالسازی تخلیه خودکار (autoflush) برای اشیاء گذرای ایجادشده با این دستور. اگر یک شیء والد از یک فایل زمینه بارگذاری شود، شیء والد گذرا نیز تخلیه خواهد شد. تخلیه خودکار همچنین زمانی فعال میشود که متغیر محیطی TPM2TOOLS_AUTOFLUSH روی yes یا true تنظیم شده باشد.
پیکربندی TCTI (TCTI CONFIGURATION)
رابط TCTI یا “واسط انتقال (Transmission Interface)” سازوکار ارتباطی با TPM است. میتوان TCTIها را برای ارتباط با TPM از طریق بسترهای مختلف تغییر داد.
برای کنترل TCTI، این ابزارها موارد زیر را در نظر میگیرند:
- 1.
- گزینه خط فرمان -T یا --tcti
- 2.
- متغیر محیطی: TPM2TOOLS_TCTI.
نکته: گزینه خط فرمان همواره بر متغیر محیطی اولویت دارد.
TCTIهای شناختهشده فعلی عبارتند از:
- •
- tabrmd - مدیر منابع، موسوم به tabrmd. توجه داشته باشید که tabrmd و abrmd به عنوان نام tcti مترادف یکدیگرند.
- •
- mssim - معمولاً برای ارتباط با شبیهساز نرمافزاری TPM استفاده میشود.
- •
- device - برای ارتباط مستقیم با فایل دستگاه TPM به کار میرود.
- •
- none - اتصالی با TPM برقرار نمیکند. برخی ابزارها امکان استفاده از گزینههای غیروابسته به TPM (off-tpm) را میدهند و از این رو از عدم استفاده از TCTI پشتیبانی میکنند. ابزارهایی که از آن پشتیبانی نمیکنند در صورت تلاش برای استفاده بدون اتصال TCTI دچار خطا میشوند. این حالت از هیچگونه گزینهای پشتیبانی نمیکند و باید حتماً دقیقاً با متن “none” ارائه شود.
آرگومانهای ارائهشده به گزینه خط فرمان یا متغیر محیطی به این شکل هستند:
<tcti-name>:<tcti-option-config>
تعیین یک رشته خالی برای هر کدام از بخشهای <tcti-name> یا <tcti-option-config> به استفاده از مقدار پیشفرض برای آن بخش منجر میشود.
پیشفرضهای TCTI (TCTI DEFAULTS)
هنگامی که TCTI مشخص نشده باشد، TCTI پیشفرض با استفاده از قواعد معنایی dlopen(3) جستجو میشود. ابزارها TCTIهای tabrmd، device و mssim را به همان ترتیب جستجو کرده و از نخستین مورد یافتشده استفاده میکنند. میتوانید با استفاده از گزینه -v برای چاپ اطلاعات نسخه، بررسی کنید که کدام TCTI به عنوان پیشفرض انتخاب خواهد شد. جفت کلید-مقدار “default-tcti” نشان میدهد که کدامیک از TCTIهای یادشده پیشفرض است.
واسطهای TCTI سفارشی (CUSTOM TCTIS)
هر TCTI که رابط پویای TCTI را پیادهسازی کرده باشد قابل بارگذاری است. ابزارها در لایه درونی از dlopen(3) استفاده میکنند و مقدار خام tcti-name برای جستجو به کار میرود. بنابراین، این مقدار میتواند یک مسیر به کتابخانه مشترک یا نام یک کتابخانه باشد که توسط قواعد معنایی dlopen(3) شناخته میشود.
گزینههای TCTI (TCTI OPTIONS)
این مجموعه از گزینهها برای پیکربندی ماژولهای مختلف TCTI شناختهشده به کار میروند:
- •
- device: برای TCTI دستگاه، فایل دستگاه نویسهای TPM مورد استفاده توسط TCTI میتواند مشخص شود. مقدار پیشفرض /dev/tpm0 است.
مثال: -T device:/dev/tpm0 یا export TPM2TOOLS_TCTI=“device:/dev/tpm0”
- •
- mssim: برای TCTI از نوع mssim، نام دامنه یا آدرس IP و شماره درگاه مورد استفاده توسط شبیهساز میتواند مشخص شود. مقادیر پیشفرض 127.0.0.1 و 2321 هستند.
مثال: -T mssim:host=localhost,port=2321 یا export TPM2TOOLS_TCTI=“mssim:host=localhost,port=2321”
- •
- abrmd: برای TCTI از نوع abrmd، قالب رشته پیکربندی مجموعهای از جفتهای کلید-مقدار ساده است که با نویسه `,' جدا میشوند. هر رشته کلید و مقدار با نویسه `=' جدا میشود.
- •
- واسط TCTI abrmd از دو کلید پشتیبانی میکند:
- 1.
- `bus_name' : نام سرویس tabrmd روی گذرگاه (یک رشته).
- 2.
- `bus_type' : نوع نمونه dbus (یک رشته) محدود به `session' و `system'.
مشخص کردن نام TCTI از نوع tabrmd و رشته پیکربندی bus_name=com.example.FooBar:
-
\--tcti=tabrmd:bus_name=com.example.FooBar
مشخص کردن TCTI پیشفرض (abrmd) و رشته پیکربندی bus_type=session:
-
\--tcti:bus_type=session
نکته: abrmd و tabrmd مترادف یکدیگر هستند.
مثالها (EXAMPLES)
تنظیم مجازشماریهای owner، endorsement و lockout روی مقدار خالی
-
tpm2_clear lockoutpasswd
پاکسازی مقادیر مجازشماری در سلسلهمراتب platform
-
tpm2_clear -c p
کدهای خروجی (RETURNS)
این ابزارها میتوانند هر یک از کدهای زیر را برگردانند:
- •
- 0 - موفقیتآمیز.
- •
- 1 - خطای عمومی و نامشخص.
- •
- 2 - خطای پردازش گزینهها.
- •
- 3 - خطای احراز هویت.
- •
- 4 - خطای مرتبط با TCTI.
- •
- 5 - طرحواره پشتیبانینشده. مربوط به tpm2_testparams.
اشکالات (BUGS)
راهنما (HELP)
نگاه کنید به فهرست پستی (Mailing List)
مجوز (LICENSE)
این اثر تحت مجوز مجوز بینالمللی کریتیو کامنز ارجاع 4.0 (CC BY 4.0)منتشر شده است.
| tpm2-tools |