.\" Automatically generated by Pandoc 3.6.1 .\" .TH "tpm2_nvreadpublic" "1" "" "tpm2\-tools" "General Commands Manual" .SH "نام (NAME)" tpm2_nvreadpublic \- خواندن بخش عمومی فضای حافظه غیرفرار TPM2 (NV) .SH "خلاصه دستور (SYNOPSIS)" \f[B]tpm2_nvreadpublic\f[R] [\f[I]گزینه‌ها\f[R]] .SH "توضیحات (DESCRIPTION)" دستور \f[B]tpm2_nvreadpublic\f[R](1) تمام شاخص‌های حافظه غیرفرار (NV) تعریف‌شده را در قالب YAML در خروجی استاندارد (stdout) نمایش می‌دهد\&. .PP نمایش فراداده (متادیتا) برای تمام شاخص‌های حافظه غیرفرار (NV) تعریف‌شده\&. فراداده شامل موارد زیر است: .IP \[bu] 2 اندازه ناحیه تعریف‌شده\&. .IP \[bu] 2 الگوریتم درهم‌سازی (هش) استفاده‌شده برای محاسبه نام شاخص\&. .IP \[bu] 2 خط‌مشی احراز هویت (auth policy)\&. .IP \[bu] 2 ویژگی‌های NV طبق آنچه در بخش \[lq]ویژگی‌های NV\[rq] تعریف شده است\&. .SS "نمونه خروجی (Example Output)" .IP .EX 0x1500015: hash algorithm: friendly: sha256 value: 0xB attributes: friendly: ownerwrite|ownerread value: 0x2000200 size: 32 authorization policy: 0x1500017: hash algorithm: friendly: sha256 value: 0xB attributes: friendly: ownerwrite|ownerread value: 0x2000200 size: 32 authorization policy: .EE .SH "گزینه‌ها (OPTIONS)" .IP \[bu] 2 \f[B]\-\-cphash\f[R]=\f[I]FILE\f[R] .RS 2 .PP مسیر فایل برای ثبت هش پارامترهای دستور\&. این مقدار معمولاً cpHash نامیده می‌شود\&. نکته: هنگامی که این گزینه انتخاب شود، ابزار در واقع دستور را اجرا نخواهد کرد و صرفاً یک cpHash برمی‌گرداند مگر اینکه rphash نیز مورد نیاز باشد\&. .RE .IP \[bu] 2 \f[B]\-\-rphash\f[R]=\f[I]FILE\f[R] .RS 2 .PP مسیر فایل برای ثبت هش پارامترهای پاسخ\&. این مقدار معمولاً rpHash نامیده می‌شود\&. .RE .IP \[bu] 2 \f[B]\-S\f[R], \f[B]\-\-session\f[R]=\f[I]POLICY_SESSION\f[R]: .RS 2 .PP تعیین یک نشست کمکی برای حسابرسی و یا رمزنگاری/رمزگشایی پارامترها\&. .RE .IP \[bu] 2 \f[B]\-n\f[R], \f[B]\-\-name\f[R]=\f[I]FILE\f[R]: .RS 2 .PP نام شاخص حافظه غیرفرار (NV) که باید هنگام محاسبه صرف cpHash بدون ارسال واقعی دستور به TPM ارائه شود\&. .RE .SH "گزینه‌های عمومی (COMMON OPTIONS)" این مجموعه گزینه‌ها میان بسیاری از برنامه‌ها مشترک هستند و اطلاعاتی را ارائه می‌دهند که بسیاری از کاربران انتظار دارند\&. .IP \[bu] 2 \f[B]\-h\f[R], \f[B]\-\-help=[man|no\-man]\f[R]: نمایش صفحه راهنمای (manpage) ابزار\&. به‌طور پیش‌فرض، تلاش می‌کند صفحه‌خوان راهنما (manpager) را برای ابزار فراخوانی کند، اما در صورت عدم موفقیت، خلاصه‌ای کوتاه از ابزار را نمایش می‌دهد\&. این رفتار مشابه زمانی است که آرگومان گزینهٔ \[lq]man\[rq] مشخص شده باشد، با این حال اگر صراحتاً \[lq]man\[rq] درخواست شود، ابزار خطاهای دریافتی از man را در stderr ارائه می‌دهد\&. اگر گزینهٔ \[lq]no\-man\[rq] مشخص شود یا صفحه‌خوان راهنما با شکست مواجه گردد، گزینه‌های کوتاه در stdout چاپ می‌شوند\&. .RS 2 .PP استفاده موفق از قابلیت صفحات راهنما نیازمند این است که صفحات راهنما نصب شده باشند یا در \f[I]MANPATH\f[R] قرار داشته باشند؛ برای جزئیات بیشتر man(1) را ببینید\&. .RE .IP \[bu] 2 \f[B]\-v\f[R], \f[B]\-\-version\f[R]: نمایش اطلاعات نسخهٔ این ابزار، TCTIهای پشتیبانی‌شده و خروج\&. .IP \[bu] 2 \f[B]\-V\f[R], \f[B]\-\-verbose\f[R]: افزایش اطلاعاتی که ابزار هنگام اجرای خود در کنسول چاپ می‌کند\&. هنگام استفاده از این گزینه، نام فایل و شماره خط چاپ می‌شوند\&. .IP \[bu] 2 \f[B]\-Q\f[R], \f[B]\-\-quiet\f[R]: بی‌صدا کردن خروجی عادی ابزار در stdout\&. .IP \[bu] 2 \f[B]\-Z\f[R], \f[B]\-\-enable\-errata\f[R]: فعال‌سازی اعمال اصلاحات غلط‌نامه (errata fixups)\&. زمانی مفید است که لازم باشد یک اصلاح غلط‌نامه روی دستورات ارسالی به TPM اعمال شود\&. تعریف متغیر محیطی TPM2TOOLS_ENABLE_ERRATA نیز معادل این گزینه است\&. .IP \[bu] 2 \f[B]\-z\f[R], \f[B]\-\-pwd\-session\f[R]: استفاده از نشست گذرواژه به‌جای نشست HMAC برای احراز هویت\&. یک گذرواژه با متن آشکار برای مجاز کردن عمل به TPM ارسال می‌شود\&. این گزینه می‌تواند برای جلوگیری از مشکلاتی که در هنگام استفاده از نشست‌های بدون نمک (unsalted) در حالت OpenSSL FIPS رخ می‌دهد، استفاده شود\&. اگر از مقادیر auth استفاده می‌شود، باید از یک نشست با نمک (salted) برای احراز هویت استفاده گردد\&. .IP \[bu] 2 \f[B]\-R\f[R], \f[B]\-\-autoflush\f[R]: فعال‌سازی تخلیه خودکار (autoflush) برای اشیاء گذرای ایجادشده توسط دستور\&. اگر یک شیء والد از یک فایل زمینه (context) بارگذاری شود، شیء والد گذرا نیز تخلیه خواهد شد\&. تخلیه خودکار همچنین در صورتی که متغیر محیطی TPM2TOOLS_AUTOFLUSH روی yes یا true تنظیم شده باشد فعال می‌شود\&. .SH "پیکربندی TCTI (TCTI Configuration)" رابط TCTI یا \[lq]Transmission Interface\[rq] سازوکار ارتباطی با TPM است\&. می‌توان TCTI را برای برقراری ارتباط با TPM از طریق بسترهای مختلف تغییر داد\&. .PP برای کنترل TCTI، ابزارها موارد زیر را رعایت می‌کنند: .IP "1." 3 گزینه خط فرمان \f[B]\-T\f[R] یا \f[B]\-\-tcti\f[R] .IP "2." 3 متغیر محیطی: \f[I]TPM2TOOLS_TCTI\f[R]\&. .PP \f[B]نکته:\f[R] گزینه خط فرمان همواره بر متغیر محیطی اولویت دارد\&. .PP TCTIهای شناخته‌شده کنونی عبارتند از: .IP \[bu] 2 tabrmd \- مدیر منابع، موسوم به \c .UR https://github.com/tpm2-software/tpm2-abrmd tabrmd .UE \c \&. توجه داشته باشید که tabrmd و abrmd به عنوان نام tcti مترادف یکدیگرند\&. .IP \[bu] 2 mssim \- معمولاً برای برقراری ارتباط با شبیه‌ساز نرم‌افزاری TPM استفاده می‌شود\&. .IP \[bu] 2 device \- هنگام برقراری ارتباط مستقیم با فایل دستگاه TPM استفاده می‌شود\&. .IP \[bu] 2 none \- هیچ ارتباطی با TPM برقرار نمی‌کند\&. برخی ابزارها امکان استفاده از گزینه‌های خارج از TPM (off\-tpm) را می‌دهند و بنابراین از عدم استفاده از TCTI پشتیبانی می‌کنند\&. ابزارهایی که از آن پشتیبانی نمی‌کنند، در صورت تلاش برای استفاده بدون اتصال TCTI با خطا مواجه می‌شوند\&. این مقدار از \f[I]هیچ\f[R] گزینه‌ای پشتیبانی نمی‌کند و \f[I]باید دقیقاً\f[R] به صورت متن \[lq]none\[rq] ارائه شود\&. .PP آرگومان‌های گزینه خط فرمان یا متغیر محیطی به شکل زیر هستند: .PP \f[CR]:\f[R] .PP تعیین یک رشته خالی برای هر یک از بخش‌های \f[CR]\f[R] یا \f[CR]\f[R] باعث می‌شود به ترتیب مقدار پیش‌فرض برای آن بخش استفاده شود\&. .SS "پیش‌فرض‌های TCTI (TCTI Defaults)" هنگامی که یک TCTI مشخص نشده باشد، TCTI پیش‌فرض با استفاده از سازوکار \f[I]dlopen(3)\f[R] جستجو می‌شود\&. ابزارها به دنبال TCTIهای \f[I]tabrmd\f[R]، \f[I]device\f[R] و \f[I]mssim\f[R] \f[B]به همین ترتیب\f[R] می‌گردند و \f[B]از نخستین موردی که پیدا شد استفاده می‌کنند\f[R]\&. می‌توانید با استفاده از گزینه \f[B]\-v\f[R] برای چاپ اطلاعات نگارش، متوجه شوید کدام TCTI به عنوان پیش‌فرض انتخاب خواهد شد\&. جفت کلید\-مقدار \[lq]default\-tcti\[rq] نشان خواهد داد کدام یک از TCTIهای پیش‌گفته به عنوان پیش‌فرض است\&. .SS "TCTIهای سفارشی (Custom TCTIs)" هر TCTI که رابط پویای TCTI را پیاده‌سازی کند می‌تواند بارگذاری شود\&. ابزارها در داخل از \f[I]dlopen(3)\f[R] استفاده می‌کنند و مقدار خام \f[I]tcti\-name\f[R] برای جستجو به کار می‌رود\&. بنابراین، این مقدار می‌تواند مسیری به کتابخانه مشترک یا نام کتابخانه به نحوی که برای سازوکار \f[I]dlopen(3)\f[R] قابل فهم باشد، باشد\&. .SH "گزینه‌های TCTI (TCTI OPTIONS)" این مجموعه گزینه‌ها برای پیکربندی ماژول‌های مختلف TCTI شناخته‌شده در دسترس به کار می‌روند: .IP \[bu] 2 \f[B]device\f[R]: برای TCTI دستگاه (device)، فایل دستگاه نویسه‌ای TPM برای استفاده توسط این TCTI قابل تعیین است\&. مقدار پیش‌فرض \f[I]/dev/tpm0\f[R] است\&. .RS 2 .PP مثال: \f[B]\-T device:/dev/tpm0\f[R] یا \f[B]export \f[BI]TPM2TOOLS_TCTI\f[B]=\[lq]device:/dev/tpm0\[rq]\f[R] .RE .IP \[bu] 2 \f[B]mssim\f[R]: برای TCTI شبیه‌ساز mssim، نام دامنه یا آدرس IP و شماره درگاه (port) مورد استفاده شبیه‌ساز قابل تعیین است\&. مقادیر پیش‌فرض 127.0.0.1 و 2321 هستند\&. .RS 2 .PP مثال: \f[B]\-T mssim:host=localhost,port=2321\f[R] یا \f[B]export \f[BI]TPM2TOOLS_TCTI\f[B]=\[lq]mssim:host=localhost,port=2321\[rq]\f[R] .RE .IP \[bu] 2 \f[B]abrmd\f[R]: برای TCTI ماژول abrmd، قالب رشته پیکربندی مجموعه‌ای از جفت‌های کلید\-مقدار ساده است که با کاراکتر `,' از هم جدا شده‌اند\&. هر کلید و رشته مقدار با کاراکتر `=' از هم جدا می‌شوند\&. .RS 2 .IP \[bu] 2 ماژول TCTI abrmd از دو کلید پشتیبانی می‌کند: .RS 2 .IP "1." 3 `bus_name' : نام سرویس tabrmd روی گذرگاه (یک رشته)\&. .IP "2." 3 `bus_type' : نوع نمونه dbus (یک رشته) محدود به `session' و `system'\&. .RE .PP مشخص کردن نام tcti مربوط به tabrmd و یک رشته پیکربندی \f[CR]bus_name=com.example.FooBar\f[R]: .IP .EX \[rs]\-\-tcti=tabrmd:bus_name=com.example.FooBar .EE .PP مشخص کردن tcti پیش‌فرض (abrmd) و یک رشته پیکربندی \f[CR]bus_type=session\f[R]: .IP .EX \[rs]\-\-tcti:bus_type=session .EE .PP \f[B]نکته\f[R]: abrmd و tabrmd مترادف یکدیگرند\&. .RE .SH "ویژگی‌های NV (NV Attributes)" ویژگی‌های NV برای کنترل خصوصیات مختلف فضای تعریف‌شده حافظه غیرفرار (NV) استفاده می‌شوند\&. هنگامی که به عنوان یک گزینه مشخص شوند، می‌توان از ماسک بیتی خام یا \[lq]نام‌های مناسب\[rq] (nice\-names) استفاده کرد\&. مقادیر را می‌توان در جدول ۲۰۴ بخش ۲ مشخصات TPM2.0 یافت که در اینجا در دسترس است: .PP \c .UR https://trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf .UE \c .PP نام‌های مناسب با گرفتن فیلد نام در جدول ۲۰۴، حذف پیشوند \f[B]TPMA_NV_\f[R] و تبدیل نتیجه به حروف کوچک به دست می‌آیند\&. بنابراین، \f[B]TPMA_NV_PPWRITE\f[R] تبدیل به ppwrite می‌شود\&. نام‌های مناسب را می‌توان با نماد OR بیتی یعنی \[lq]|\[rq] به هم متصل کرد\&. .PP توجه داشته باشید که فیلد \f[B]TPM_NT\f[R] به عرض ۴ بیت است، و بنابراین می‌تواند از طریق قالب \f[B]nt=\f[R] تنظیم شود\&. برای نمونه، جهت تنظیم فیلدهای \f[B]TPMA_NV_OWNERREAD\f[R]، \f[B]TPMA_NV_OWNERWRITE\f[R]، \f[B]TPMA_NV_POLICYWRITE\f[R] و \f[B]TPMA_NT = 0x2\f[R]، آرگومان مربوطه به این صورت خواهد بود: .PP \f[B]ownerread|ownerwrite|policywrite|nt=0x2\f[R] .PP علاوه بر این، فیلد NT که مشخص‌کننده نوع شاخص حافظه غیرفرار (NV) است، می‌تواند از طریق نام‌های مأنوس (friendly names) نیز تعیین شود: .IP \[bu] 2 ordinary \- فیلد Ordinary شامل داده‌هایی است که برای TPM مات و غیرشفاف (opaque) هستند و تنها با استفاده از TPM2_NV_Write قابل تغییرند\&. .IP \[bu] 2 extend \- فیلد Extend به طور مشابه با یک PCR استفاده می‌شود و تنها با TPM2_NV_Extend قابل تغییر است\&. اندازه آن با طول الگوریتم درهم‌سازی (هش) استفاده‌شده تعیین می‌شود\&. .IP \[bu] 2 counter \- فیلد Counter شامل یک مقدار ۸\-اکتتی است که به عنوان شمارنده استفاده می‌شود و تنها با TPM2_NV_Increment قابل تغییر است\&. .IP \[bu] 2 bits \- فیلد Bit Field شامل یک مقدار ۸\-اکتتی است که به عنوان فیلد بیتی استفاده می‌شود و تنها با TPM2_NV_SetBits قابل تغییر است\&. .IP \[bu] 2 pinfail \- فیلد PIN Fail شامل یک pinCount با اندازه ۸\-اکتت است که هنگام شکست احراز هویت پین افزایش می‌یابد و یک pinLimit\&. .IP \[bu] 2 pinpass \- فیلد PIN Pass شامل یک pinCount با اندازه ۸\-اکتت است که هنگام موفقیت احراز هویت پین افزایش می‌یابد و یک pinLimit\&. .PP برای نمونه، جهت تنظیم فیلدهای \f[B]TPMA_NV_OWNERREAD\f[R]، \f[B]TPMA_NV_OWNERWRITE\f[R]، \f[B]TPMA_NV_POLICYWRITE\f[R] و \f[B]TPMA_NT = bits\f[R]، آرگومان به این صورت خواهد بود: .PP \f[B]ownerread|ownerwrite|policywrite|nt=bits\f[R] .SH "مثال‌ها (EXAMPLES)" .SS "فهرست کردن شاخص‌های NV تعریف‌شده در stdout" .IP .EX tpm2_nvreadpublic .EE .SH "کدهای خروجی (Returns)" ابزارها می‌توانند هر یک از کدهای زیر را بازگردانند: .IP \[bu] 2 0 \- موفقیت‌آمیز\&. .IP \[bu] 2 1 \- خطای عمومی و نامشخص\&. .IP \[bu] 2 2 \- خطای مدیریت گزینه‌ها\&. .IP \[bu] 2 3 \- خطای احراز هویت\&. .IP \[bu] 2 4 \- خطای مربوط به TCTI\&. .IP \[bu] 2 5 \- طرح پشتیبانی‌نشده\&. قابل اعمال بر tpm2_testparams\&. .SH "اشکالات (BUGS)" \c .UR https://github.com/tpm2-software/tpm2-tools/issues مسائل گیت‌هاب (Github Issues) .UE \c .SH "راهنما (HELP)" مشاهده \c .UR https://lists.linuxfoundation.org/mailman/listinfo/tpm2 فهرست پستی (Mailing List) .UE \c .SH "مجوز (LICENSE)" این اثر تحت \c .UR https://creativecommons.org/licenses/by/4.0 مجوز بین‌المللی ارجاع ۴٫۰ کریپتیو کامانز (CC BY 4.0) .UE \c \&.