.\" Automatically generated by Pandoc 3.6.1 .\" .TH "tpm2_hierarchycontrol" "1" "July 2019" "tpm2\-tools" "General Commands Manual" .SH "نام (NAME)" tpm2_hierarchycontrol \- فعال و غیرفعال‌سازی استفاده از یک سلسله‌مراتب و حافظه NV مرتبط با آن .SH "خلاصه دستور (SYNOPSIS)" \f[B]tpm2_hierarchycontrol\f[R] [\f[I]OPTIONS\f[R]] \f[I]VARIABLE\f[R] \f[I]OPERATION\f[R] .SH "توضیحات (DESCRIPTION)" دستور \f[B]tpm2_hierarchycontrol\f[R](1) \- به کاربر اجازه می‌دهد با ارائه احراز هویت مناسب، phEnable، phEnableNV، shEnable و ehEnable را تغییر دهد. احراز هویت باید یکی از احراز هویت‌های سلسله‌مراتب مالک (owner auth)، احراز هویت سلسله‌مراتب تایید (endorsement auth) یا احراز هویت سلسله‌مراتب پلتفرم (platform auth) باشد. \f[B]این ابزار به عنوان آرگومان، \f[BI]VARIABLE\f[B] را به عنوان بیت \f[BI]TPMA_STARTUP_CLEAR\f[B] و _OPERATION_ را به عنوان رشته clear|set برای پاک کردن یا تنظیم بیت \f[BI]VARIABLE\f[B] دریافت می‌کند.\f[R] .PP نکته: در صورت عدم وجود گزینه گذرواژه، مقدار NULL در نظر گرفته می‌شود. .SH "گزینه‌ها (OPTIONS)" .IP \[bu] 2 \f[B]\-C\f[R], \f[B]\-\-hierarchy\f[R]=\f[I]OBJECT\f[R]: .RS 2 .PP هندل (handle) مورد استفاده برای احراز هویت را مشخص می‌کند. پیش‌فرض، سلسله‌مراتب \[lq]platform\[rq] است. گزینه‌های پشتیبانی‌شده عبارتند از: .IP \[bu] 2 \f[B]o\f[R] برای \f[B]TPM_RH_OWNER\f[R] .IP \[bu] 2 \f[B]p\f[R] برای \f[B]TPM_RH_PLATFORM\f[R] .IP \[bu] 2 \f[B]\f[CB]\f[B]\f[R] که در آن می‌توان از یک عدد خام استفاده کرد. .RE .IP \[bu] 2 \f[B]\-P\f[R], \f[B]\-\-hierarchy\-auth\f[R]=\f[I]AUTH\f[R]: .RS 2 .PP مقدار احراز هویت را برای سلسله‌مراتب مشخص می‌کند. .RE .IP \[bu] 2 \f[B]\-\-cphash\f[R]=\f[I]FILE\f[R] .RS 2 .PP مسیر فایل برای ثبت هش پارامترهای دستور. این مقدار معمولاً با عنوان cpHash شناخته می‌شود. نکته: هنگامی که این گزینه انتخاب شود، ابزار دستور را واقعاً اجرا نخواهد کرد، بلکه صرفاً یک cpHash بازمی‌گرداند. .RE .SS "ارجاعات (References)" .SH "قالب شیء زمینه (Context Object Format)" نوع یک شیء زمینه، خواه یک هندل یا یک نام فایل باشد، بر اساس منطق زیر \f[I]به‌ترتیب\f[R] تعیین می‌شود: .IP \[bu] 2 اگر آرگومان یک مسیر فایل باشد، فایل به عنوان یک شیء گذرا (transient) بازیابی‌شدهٔ TPM بارگذاری می‌شود. .IP \[bu] 2 اگر آرگومان با \f[I]پیشوند\f[R] یکی از موارد زیر مطابقت داشته باشد: .RS 2 .IP \[bu] 2 owner: سلسله‌مراتب مالک (owner hierarchy) .IP \[bu] 2 platform: سلسله‌مراتب پلتفرم (platform hierarchy) .IP \[bu] 2 endorsement: سلسله‌مراتب تایید (endorsement hierarchy) .IP \[bu] 2 lockout: شیء پایدار کنترل قفل (lockout control persistent object) .RE .IP \[bu] 2 اگر آرگومان بتواند به صورت یک عدد بارگذاری شود، به عنوان یک هندل در نظر گرفته می‌شود؛ مانند 0x81010013 و مستقیماً استفاده می‌شود. .SH "قالب‌بندی احراز هویت (Authorization Formatting)" احراز هویت برای استفاده از یک شیء در TPM 2.0 می‌تواند به ۳ شکل مختلف باشد: 1. گذرواژه (Password) 2. HMAC 3. نشست‌ها (Sessions) .PP \f[B]نکته:\f[R] \[lq]در صورت عدم تعیین، احراز هویت به طور پیش‌فرض روی \f[B]گذرواژه خالی (EMPTY PASSWORD)\f[R] تنظیم می‌شود\[rq]. .PP برای احراز هویت با مقادیر auth، دستورات ابزار به طور ضمنی یک نشست HMAC ایجاد می‌کنند. بنابراین گذرواژه‌ها به صورت رمزگذاری‌نشده منتقل نمی‌شوند. این امر در مورد گذرواژه‌های تعریف‌شده برای اشیاء صدق نمی‌کند. در این حالت، باید از یک نشست HMAC استفاده شود (رجوع کنید به \f[B]tpm2_startauthsession\f[R](1)). .SS "گذرواژه‌ها (Passwords)" گذرواژه‌ها در قالب‌های زیر با استفاده از شناسه‌های پیشوندی تفسیر می‌شوند. .PP \f[B]نکته\f[R]: به طور پیش‌فرض فرض می‌شود گذرواژه‌های فاقد پیشوند در قالب رشته هستند. .SS "رشته (String)" یک گذرواژه رشته‌ای، که با پیشوند \[lq]str:\[rq] یا عدم وجود آن (رشته خام بدون پیشوند) مشخص می‌شود، تفسیر نشده و مستقیماً برای احراز هویت استفاده می‌شود. .SS "مثال‌ها (Examples)" .IP .EX foobar str:foobar .EE .SS "رشته هگزادسیمال (Hex\-string)" یک گذرواژه رشته هگز، که با پیشوند \[lq]hex:\[rq] مشخص می‌شود، از یک قالب هگزادسیمال به یک آرایه بایت تبدیل می‌شود؛ این امر امکان استفاده از گذرواژه‌هایی با کاراکترهای غیرقابل‌چاپ یا نامناسب برای ترمینال را فراهم می‌سازد. .SS "مثال (Example)" .IP .EX hex:1122334455667788 .EE .SS "فایل (File)" یک گذرواژه مبتنی بر فایل، که با پیشوند \[lq]file:\[rq] مشخص می‌شود، باید مسیر فایلی حاوی گذرواژه برای خوانده شدن توسط ابزار باشد، یا از \[lq]\-\[rq] برای استفاده از stdin استفاده شود. ذخیره گذرواژه‌ها در فایل از نشت اطلاعات جلوگیری می‌کند؛ زیرا گذرواژه‌هایی که به عنوان گزینه ارسال می‌شوند ممکن است از فهرست فرآیندها یا تاریخچه پوسته خوانده شوند. .SS "مثال‌ها (Examples)" .IP .EX # برای استفاده از stdin و اعلان ورودی: file:\- # برای استفاده از فایل از یک مسیر: file:path/to/password/file # برای ارسال گذرواژه از طریق stdin با echo: echo foobar | tpm2_tool \-p file:\- # برای استفاده از bash here\-string از طریق stdin: tpm2_tool \-p file:\- <<< foobar .EE .SS "نشست‌ها (Sessions)" هنگام استفاده از یک نشست پالیسی (policy session) برای مجاز کردن استفاده از یک شیء، آرگومان گزینه را با کلمه کلیدی \f[I]session\f[R] پیشوندگذاری کنید. سپس مسیری را به فایل نشستی که با \f[B]tpm2_startauthsession\f[R](1) ایجاد شده مشخص نمایید. در صورت تمایل، اگر نشست نیاز دارد که مقدار auth به همراه هندل نشست ارسال شود (مانند policy password)، یک + و یک رشته را مطابق با بخش \f[B]گذرواژه‌ها (Passwords)\f[R] اضافه کنید. .SS "مثال‌ها (Examples)" برای استفاده از یک فایل زمینه نشست با نام \f[I]session.ctx\f[R]: .IP .EX session:session.ctx .EE .PP برای استفاده از یک فایل زمینه نشست با نام \f[I]session.ctx\f[R] \f[B]و\f[R] ارسال مقدار auth به صورت mypassword: .IP .EX session:session.ctx+mypassword .EE .PP برای استفاده از یک فایل زمینه نشست با نام \f[I]session.ctx\f[R] \f[B]و\f[R] ارسال مقدار احراز هویت \f[I]HEX\f[R] برابر با 0x11223344: .IP .EX session:session.ctx+hex:11223344 .EE .SS "احراز هویت‌های PCR (PCR Authorizations)" می‌توانید یک خط‌مشی PCR را با استفاده از پیشوند \[lq]pcr:\[rq] و زبان کوچک PCR برآورده سازید. زبان کوچک PCR به شرح زیر است: \f[CR]=\f[R] .PP مشخصات PCR در بخش \[lq]مشخص‌کننده‌های بانک PCR\[rq] مستند شده است. .PP پارامتر \f[CR]raw\-pcr\-file\f[R] یک آرگومان \f[B]اختیاری\f[R] است که شامل خروجی محتویات خام PCR است همان‌طور که توسط \f[I]tpm2_pcrread(1)\f[R] بازگردانده می‌شود. .PP مشخص‌کننده‌های بانک PCR (PCR bank specifiers) .SS "مثال‌ها (Examples)" برای برآورده ساختن یک خط‌مشی PCR با sha256 روی بانک‌های 0، 1، 2 و 3 از مشخص‌کننده زیر استفاده کنید: .IP .EX pcr:sha256:0,1,2,3 .EE .PP مشخص کردن \f[I]AUTH\f[R]. .SH "گزینه‌های مشترک (COMMON OPTIONS)" این مجموعه از گزینه‌ها بین بسیاری از برنامه‌ها مشترک هستند و اطلاعاتی را ارائه می‌دهند که کاربران انتظار دارند. .IP \[bu] 2 \f[B]\-h\f[R], \f[B]\-\-help=[man|no\-man]\f[R]: نمایش صفحه راهنمای ابزار. به طور پیش‌فرض، تلاش می‌کند صفحه‌بند man را برای ابزار فراخوانی کند؛ با این حال، در صورت عدم موفقیت، خلاصه‌ای کوتاه از ابزار را نمایش می‌دهد. این رفتار مشابه زمانی است که آرگومان گزینه \[lq]man\[rq] مشخص شده باشد؛ با این حال در صورت درخواست صریح \[lq]man\[rq]، ابزار خطاهای man را در stderr ارائه می‌دهد. اگر گزینه \[lq]no\-man\[rq] مشخص شود یا صفحه‌بند ناموفق باشد، گزینه‌های کوتاه به stdout ارسال خواهند شد. .RS 2 .PP استفاده موفقیت‌آمیز از ویژگی صفحات راهنما نیازمند نصب بودن صفحات راهنما یا قرار داشتن در \f[I]MANPATH\f[R] است؛ برای جزئیات بیشتر به \f[B]man\f[R](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 برای احراز هویت. یک گذرواژه به صورت متن آشکار (clear text) به TPM ارسال می‌شود تا عمل موردنظر را مجاز کند. این گزینه می‌تواند برای جلوگیری از مشکلات ناشی از استفاده از نشست‌های unsalted در حالت OpenSSL FIPS استفاده شود. در صورتی که مقادیر auth به کار روند، باید از یک نشست salted برای احراز هویت استفاده شود. .IP \[bu] 2 \f[B]\-R\f[R], \f[B]\-\-autoflush\f[R]: فعال‌سازی تخلیه خودکار (autoflush) برای اشیاء گذرا که توسط دستور ایجاد شده‌اند. اگر یک شیء والد از یک فایل زمینه بارگذاری شود، آن شیء والد گذرا نیز تخلیه خواهد شد. تخلیه خودکار همچنین در صورتی که متغیر محیطی 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] گزینه خط فرمان همواره متغیر محیطی را لغو (override) می‌کند. .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 را فراهم می‌کنند و بنابراین از عدم استفاده از 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 و شماره پورت مورد استفاده توسط شبیه‌ساز را می‌توان مشخص کرد. پیش‌فرض 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 مترادف یکدیگرند. ماژول‌های گوناگون TCTI شناخته‌شده. .RE .SH "مثال‌ها (EXAMPLES)" .SS "تنظیم phEnableNV با سلسله‌مراتب پلتفرم و احراز هویت آن (Set phEnableNV with platform hierarchy and its authorization)" .IP .EX tpm2_hierarchycontrol \-C p phEnableNV set \-P pass .EE .SS "پاک کردن phEnableNV با سلسله‌مراتب پلتفرم (clear phEnableNV with platform hierarchy)" .IP .EX tpm2_hierarchycontrol \-C p phEnableNV clear .EE .SS "تنظیم shEnable با سلسله‌مراتب پلتفرم (Set shEnable with platform hierarchy)" .IP .EX tpm2_hierarchycontrol \-C p shEnable set .EE .SS "تنظیم shEnable با سلسله‌مراتب مالک (Set shEnable with owner hierarchy)" .IP .EX tpm2_hierarchycontrol \-C o shEnable set .EE .SS "بررسی بیت‌های کنونی TPMA_STARTUP_CLEAR (Check current TPMA_STARTUP_CLEAR Bits)" .IP .EX tpm2_getcap properties\-variable .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 \- طرح‌واره پشتیبانی‌نشده (Non supported scheme). قابل اعمال به 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 منتشر شده است.