tpm2_startup(1) General Commands Manual tpm2_startup(1)

tpm2_startup - ارسال دستور راه‌اندازی به TPM

tpm2_startup [گزینه‌ها]

دستور tpm2_startup(1) یک دستور TPM2_Startup را همراه با TPM_SU_CLEAR یا TPM_SU_STATE ارسال می‌کند.

•
-c, --clear:

نوع راه‌اندازی ارسالی به جای TPM2_SU_STATE برابر با TPM_SU_CLEAR خواهد بود.

این مجموعه از گزینه‌ها میان بسیاری از برنامه‌ها مشترک هستند و اطلاعاتی را ارائه می‌دهند که اغلب کاربران انتظار دارند.

•
-h, --help=[man|no-man]: نمایش صفحه راهنمای ابزار. به طور پیش‌فرض، تلاش می‌کند صفحه‌بند راهنما (manpager) را برای این ابزار فراخوانی کند؛ با این حال، در صورت بروز خطا یک خلاصه‌ی کوتاه از ابزار را خروجی می‌دهد. اگر آرگومان گزینه “man” مشخص شود رفتار یکسان است، اما اگر به طور صریح “man” درخواست شده باشد، ابزار خطاهای man را در stderr ارائه خواهد داد. اگر گزینه “no-man” مشخص شود، یا صفحه‌بند راهنما ناموفق باشد، گزینه‌های کوتاه در خروجی استاندارد (stdout) نمایش داده می‌شوند.

استفاده موفقیت‌آمیز از ویژگی صفحات راهنما نیازمند نصب بودن صفحات راهنما یا قرار داشتن آن‌ها در 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 ارسال می‌شود. این گزینه می‌تواند برای جلوگیری از مشکلات ناشی از به‌کارگیری نشست‌های بدون نمک (unsalted) در حالت OpenSSL FIPS استفاده شود. اگر مقادیر احراز هویت استفاده می‌شوند، باید از یک نشست نمک‌دار (salted) برای احراز هویت استفاده شود.
•
-R, --autoflush: فعال‌سازی تخلیه خودکار (autoflush) برای اشیاء گذرا (transient objects) ایجادشده توسط دستور. اگر یک شیء والد از فایل زمینه (context file) بارگذاری شود، شیء والد گذرا نیز تخلیه خواهد شد. تخلیه خودکار همچنین در صورتی که متغیر محیطی TPM2TOOLS_AUTOFLUSH برابر با yes یا true تنظیم شده باشد فعال می‌شود.

رابط TCTI یا “Transmission Interface” سازوکار ارتباطی با TPM است. TCTIها می‌توانند برای برقراری ارتباط با TPMها در بسترهای مختلف تغییر کنند.

برای کنترل TCTI، ابزارها موارد زیر را رعایت می‌کنند:

1.
گزینه خط فرمان -T یا --tcti
2.
متغیر محیطی: TPM2TOOLS_TCTI.

نکته: گزینه خط فرمان همواره بر متغیر محیطی تقدم دارد.

TCTIهای شناخته‌شده کنونی عبارتند از:

•
tabrmd - مدیر منابع (Resource Manager)، با نام tabrmd. توجه داشته باشید که tabrmd و abrmd به عنوان نام TCTI مترادف یکدیگرند.
•
mssim - معمولاً برای ارتباط با شبیه‌ساز نرم‌افزاری TPM استفاده می‌شود.
•
device - هنگام برقراری ارتباط مستقیم با فایل دستگاه TPM استفاده می‌شود.
•
none - عدم راه‌اندازی اتصال با TPM. برخی ابزارها گزینه‌های خارج از TPM (off-tpm) را مجاز می‌دانند و بنابراین از عدم استفاده از TCTI پشتیبانی می‌کنند. ابزارهایی که از آن پشتیبانی نمی‌کنند، در صورت تلاش برای استفاده بدون اتصال TCTI با خطا مواجه می‌شوند. هیچ گزینه‌ای (ANY) را نمی‌پذیرد و باید حتماً به صورت متن دقیق “none” ارائه شود.

آرگومان‌های گزینه خط فرمان یا متغیر محیطی به فرمت زیر هستند:

<tcti-name>:<tcti-option-config>

مشخص کردن یک رشته خالی برای هر یک از بخش‌های <tcti-name> یا <tcti-option-config> موجب استفاده از مقدار پیش‌فرض برای همان بخش خواهد شد.

هنگامی که TCTI مشخص نشده باشد، TCTI پیش‌فرض با استفاده از قواعد معنایی dlopen(3) جستجو می‌شود. ابزارها به ترتیب به دنبال TCTIهای tabrmd، device و mssim به همان ترتیب می‌گردند و از اولین مورد یافت‌شده استفاده می‌کنند. شما می‌توانید با استفاده از گزینه -v برای چاپ اطلاعات نسخه، بررسی کنید که کدام TCTI به عنوان پیش‌فرض انتخاب خواهد شد. جفت کلید-مقدار “default-tcti” مشخص می‌کند کدام یک از TCTIهای یادشده پیش‌فرض است.

هر TCTI که رابط پویای TCTI را پیاده‌سازی کند قابل بارگذاری است. ابزارها در داخل از dlopen(3) استفاده می‌کنند و مقدار خام tcti-name برای جستجو استفاده می‌شود. بنابراین، این مقدار می‌تواند یک مسیر به کتابخانه مشترک یا نام کتابخانه طبق قواعد معنایی dlopen(3) باشد.

این مجموعه از گزینه‌ها برای پیکربندی ماژول‌های مختلف TCTI شناخته‌شده و موجود استفاده می‌شوند:

•
device: برای TCTI از نوع device، فایل دستگاه کاراکتری TPM برای استفاده توسط device 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' محدود است.

تعیین نام tabrmd tcti و رشته پیکربندی bus_name=com.example.FooBar:

\--tcti=tabrmd:bus_name=com.example.FooBar

تعیین tcti پیش‌فرض (abrmd) و رشته پیکربندی bus_type=session:

\--tcti:bus_type=session

نکته: abrmd و tabrmd مترادف یکدیگرند.

tpm2_startup

tpm2_startup -c

معمولاً یک مدیر منابع (مانند tpm2-abrmd) یا نرم‌افزار سطح پایین/بوت قبلاً این دستور را ارسال کرده است.

ابزارها می‌توانند هر یک از کدهای زیر را برگردانند:

•
0 - موفقیت.
•
1 - خطای کلی نامشخص.
•
2 - خطای پردازش گزینه‌ها.
•
3 - خطای احراز هویت.
•
4 - خطای مربوط به TCTI.
•
5 - طرح‌واره پشتیبانی‌نشده (Non supported scheme). مربوط به tpm2_testparams.

مسائل گیت‌هاب (Github Issues)

مشاهده فهرست پستی (Mailing List)

این اثر تحت مجوز Creative Commons Attribution 4.0 International License (CC BY 4.0) منتشر شده است.

tpm2-tools