| tpm2_changeeps(1) | General Commands Manual | tpm2_changeeps(1) |
نام (NAME)
tpm2_changeeps - جایگزینی بذر اولیه تاییدیه فعال با مقدار جدید تولیدشده توسط RNG در TPM2
خلاصه دستور (SYNOPSIS)
tpm2_changeeps [گزینهها]
توضیحات (DESCRIPTION)
دستور tpm2_changeeps(1) بذر اولیه تاییدیه (endorsement primary seed) فعال را با مقدار جدید تولیدشده توسط مولد اعداد تصادفی (RNG) سختافزار TPM2 جایگزین میکند. اشیاء گذرا (Transient) و پایدار (Persistent) موجود در سلسلهمراتب تاییدیه (endorsement hierarchy) از بین خواهند رفت. این دستور نیازمند مجوز پلتفرم (platform auth) است.
گزینهها (OPTIONS)
- •
- -p, --auth=AUTH
مجوز (AUTH) را برای سلسلهمراتب پلتفرم (platform hierarchy) مشخص میکند.
- •
- --cphash=FILE
مسیر فایل برای ذخیره هش پارامترهای دستور. این مقدار معمولاً با عنوان cpHash شناخته میشود. نکته: هنگام انتخاب این گزینه، ابزار عملاً دستور را اجرا نمیکند و صرفاً cpHash را برمیگرداند، مگر اینکه rphash نیز درخواست شده باشد.
- •
- --rphash=FILE
مسیر فایل برای ذخیره هش پارامترهای پاسخ. این مقدار معمولاً با عنوان rpHash شناخته میشود.
- •
- -S, --session=FILE:
نشست ایجادشده با استفاده از tpm2_startauthsession. از این گزینه میتوان برای تعیین یک نشست کمکی جهت حسابرسی و یا رمزنگاری/رمزگشایی پارامترها استفاده کرد.
مراجع (REFERENCES)
قالببندی مجوزها (AUTHORIZATION FORMATTING)
مجوز استفاده از یک شیء در TPM2.0 میتواند به ۳ شکل مختلف ارائه شود: 1. گذرواژه (Password) 2. HMAC 3. نشستها (Sessions)
نکته: “در صورت مشخص نشدن، مجوزها بهطور پیشفرض به گذرواژه خالی تنظیم میشوند”.
برای احراز هویت با مقادیر auth، دستورات ابزار بهطور ضمنی یک نشست HMAC ایجاد میکنند. بنابراین گذرواژهها به صورت رمزنگارینشده منتقل نمیشوند. این امر در مورد گذرواژههای تعریفشده برای اشیاء صدق نمیکند. در این حالت، باید از یک نشست HMAC استفاده شود (به tpm2_startauthsession(1) مراجعه کنید).
گذرواژهها (PASSWORDS)
گذرواژهها با استفاده از شناسههای پیشوندی به اشکال زیر تفسیر میشوند.
نکته: بهطور پیشفرض، در صورتی که گذرواژهها پیشوند نداشته باشند، در قالب رشته در نظر گرفته میشوند.
رشته (STRING)
یک گذرواژه رشتهای که با پیشوند “str:” یا بدون آن (رشته خام بدون پیشوند) مشخص شده باشد، تفسیر نمیشود و مستقیماً برای احراز هویت به کار میرود.
مثالها (EXAMPLES)
-
foobar str:foobar
رشته هگزادسیمال (HEX-STRING)
یک گذرواژه رشته هگزادسیمال که با پیشوند “hex:” مشخص شده باشد، از قالب هگزادسیمال به قالب آرایه بایتی تبدیل میشود؛ بنابراین امکان استفاده از گذرواژههای دارای نویسههای غیرقابل چاپ و/یا نامناسب در ترمینال را فراهم میکند.
مثال (EXAMPLE)
-
hex:1122334455667788
فایل (FILE)
یک گذرواژه مبتنی بر فایل که با پیشوند “file:” مشخص شده باشد، باید مسیر فایلی حاوی گذرواژه باشد تا توسط ابزار خوانده شود، یا “-” برای استفاده از ورودی استاندارد (stdin). ذخیره گذرواژهها در فایل از نشت اطلاعات جلوگیری میکند؛ گذرواژههایی که به عنوان گزینه ارسال میشوند ممکن است از طریق فهرست فرآیندها یا قابلیتهای متداول تاریخچه پوسته خوانده شوند.
مثالها (EXAMPLES)
-
# برای استفاده از stdin و درخواست ورود: file:- # برای استفاده از یک فایل از مسیر: file:path/to/password/file # برای ارسال گذرواژه از طریق stdin با لولهکشی (echo): echo foobar | tpm2_tool -p file:- # برای استفاده از here-string در bash از طریق stdin: tpm2_tool -p file:- <<< foobar
نشستها (SESSIONS)
هنگام استفاده از یک نشست خطمشی (policy session) جهت مجاز کردن استفاده از یک شیء، آرگومان گزینه را با کلمه کلیدی session شروع کنید. سپس مسیر فایل نشستی را که با tpm2_startauthsession(1) ایجاد شده مشخص نمایید. در صورت تمایل، اگر نشست نیازمند ارسال یک مقدار auth همراه با دسته نشست باشد (مانند گذرواژه سیاست)، یک + و یک رشته را مطابق آنچه در بخش گذرواژهها (PASSWORDS) شرح داده شد اضافه کنید.
مثالها (EXAMPLES)
برای استفاده از یک فایل زمینه نشست با نام session.ctx:
-
session:session.ctx
برای استفاده از یک فایل زمینه نشست به نام session.ctx و ارسال مقدار auth با گذرواژه mypassword:
-
session:session.ctx+mypassword
برای استفاده از یک فایل زمینه نشست به نام session.ctx و ارسال مقدار auth هگزادسیمال (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 روی بانکهای ۰، ۱، ۲ و ۳ از یک مشخصکننده به صورت زیر استفاده کنید:
-
pcr:sha256:0,1,2,3
تعیین AUTH.
پیکربندی 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 از نوع device، فایل کاراکتری دستگاه 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، قالب رشته پیکربندی یک سری از جفتهای کلید-مقدار ساده است که با نویسه `,' از هم جدا شدهاند. رشتههای هر کلید و مقدار با نویسه `=' از یکدیگر تفکیک میشوند.
- •
- رابط abrmd TCTI از دو کلید پشتیبانی میکند:
- 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 مترادف هستند. ماژولهای مختلف TCTI شناختهشده.
مثالها (EXAMPLES)
تغییر بذر اولیه تاییدیه با مجوز پلتفرم خالی (NULL)
-
tpm2_changeeps
کدهای بازگشتی (RETURNS)
ابزارها میتوانند هر یک از کدهای زیر را بازگردانند:
- •
- 0 - موفقیتآمیز.
- •
- 1 - خطای عمومی و نامشخص.
- •
- 2 - خطای پردازش گزینهها.
- •
- 3 - خطای احراز هویت.
- •
- 4 - خطای مربوط به TCTI.
- •
- 5 - طرحواره پشتیبانینشده (Non supported scheme). مربوط به tpm2_testparams.
محدودیتها (LIMITATIONS)
این دستور انتظار دارد که یک نشست از پیش با استفاده از tpm2_startauthsession(1) برقرار شده باشد و نیازمند یکی از موارد زیر است:
- •
- دسترسی مستقیم به دستگاه
- •
- پشتیبانی از نشست توسعهیافته با tpm2-abrmd.
بدون آن، اکثر مدیران منابع وضعیت نشست را بین فراخوانیهای دستور ذخیره نخواهند کرد.
اشکالات (BUGS)
راهنما (HELP)
مشاهده فهرست پستی (Mailing List)
مجوز (LICENSE)
این اثر تحت مجوز بینالمللی کریتیو کامنز ارجاع ۴.۰ (CC BY 4.0)منتشر شده است.
| tpm2-tools |