'\" t .\" Title: ndctl-remove-passphrase .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-06-30 .\" Manual: ndctl Manual .\" Source: ndctl .\" Language: Persian .\" .TH "NDCTL\-REMOVE\-PASSPHRASE" "1" "2026-06-30" "ndctl" "ndctl Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" ndctl-remove-passphrase \- جلوگیری از قفل شدن DIMM هنگام قطع برق و بی‌نیازی به عبارت عبور برای دسترسی به رسانه .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIndctl remove\-passphrase\fP [..] [] .fi .br .SH "توضیحات (DESCRIPTION)" .sp جستجوی دسته‌کلید (keyring) کاربر برای یافتن عبارت عبور رمزگذاری‌شدهٔ NVDIMM مورد نظر. در صورت پیدا نشدن، برای بارگذاری حباب داده (blob) عبارت عبور تلاش می‌شود. پس از غیرفعال‌سازی عبارت عبور، شناسهٔ \fIkey\-ID\fP از keyring و همچنین blob عبارت عبور از سیستم فایل حذف می‌شود. .SH "گزینه‌ها (OPTIONS)" .sp .RS 4 نام دستگاه \fInmemX\fP یا شماره شناسه dimm. عملیات را به dimm(های) مشخص‌شده محدود می‌کند. کلمهٔ کلیدی \fIall\fP را می‌توان برای مشخص کردن عدم وجود هرگونه محدودیت تعیین کرد، هرچند این کار معادل مشخص نکردن گزینهٔ \-\-dimm است. .RE .sp \-b, \-\-bus= .RS 4 شماره شناسه گذرگاه (bus id) یا یک رشتهٔ ارائه‌دهنده (مانند "ACPI.NFIT"). عملیات را به گذرگاه(های) مشخص‌شده محدود می‌کند. کلمهٔ کلیدی \fIall\fP را می‌توان برای مشخص کردن عدم وجود هرگونه محدودیت تعیین کرد، هرچند این کار همانند تعیین نکردن گزینهٔ \-\-bus است. .RE .sp \-v, \-\-verbose .RS 4 نمایش پیام‌های اشکال‌زدایی. .RE .sp \-m, \-\-master\-passphrase .RS 4 نشان می‌دهد که به جای عبارت عبور کاربر، عبارت عبور اصلی (master passphrase) مدیریت می‌شود. .RE .SH "مبانی عملکرد (THEORY OF OPERATION)" .sp مشخصات نگارش‌های ۱.۷ و ۱.۸ روش‌های خاص دستگاه اینتل (Intel DSM) [1] عملیات مدیریت امنیت زیر را معرفی کرد: فعال‌سازی عبارت عبور (enable passphrase)، به‌روزرسانی عبارت عبور (update passphrase)، باز کردن قفل DIMM (unlock DIMM)، غیرفعال‌سازی امنیت (disable security)، انجماد امنیت (freeze security)، پاک‌سازی امن رمزشناختی (secure (crypto) erase)، رونویسی (overwrite)، فعال‌سازی عبارت عبور اصلی (master passphrase enable)، به‌روزرسانی عبارت عبور اصلی (master passphrase update) و پاک‌سازی امن با عبارت عبور اصلی (master passphrase secure erase). .sp مدیریت امنیت برای NVDIMMها از دو بخش تشکیل شده است. بخش قدامی (front end) از چارچوب مدیریت کلید لینوکس (کلیدهای مورد اعتماد و رمزگذاری‌شده [2]) برای ذخیره عبارات عبور رمزگذاری‌شده در دسته‌کلید (keyring) مدیریت‌شده توسط هسته استفاده می‌کند. رابط کاربری این بخش ابزار \fIkeyutils\fP است که از APIهای مدیریت کلید در هسته لینوکس استفاده می‌کند. بخش پسین (back end) بار داده رمزگشایی‌شده (که همان عبارت عبور DIMM است) را دریافت کرده و آن را به DIMM منتقل می‌کند. .sp برخلاف سایر DSMها که توسط libndctl ایجاد شده و از طریق یک ioctl به هسته ارسال می‌شوند، DSMهای امنیتی از طریق صفت sysfs با نام \fIsecurity\fP زیر دستگاه \fIdimm\fP مدیریت می‌شوند. یک \fIkey\-ID\fP در صفت \fIsecurity\fP نوشته می‌شود و هسته داده‌های کلید مرتبط را از دسته‌کلید کاربر (user keyring) که توسط هسته نگهداری می‌شود دریافت می‌کند. .sp فرایند امنیتی با ایجاد یک \fImaster key\fP آغاز می‌شود که برای مهروموم (رمزگذاری) عبارت عبور DIMM به کار می‌رود. می‌تواند یک \fImaster key\fP مشترک وجود داشته باشد که برای رمزگذاری عبارت عبور همهٔ DIMMها استفاده شود، یا یک کلید مجزا برای هر DIMM ایجاد گردد. \fImaster key\fP همچنین با عنوان \fIkey\-encryption\-key\fP (kek) نیز شناخته می‌شود. \fIkek\fP می‌تواند توسط TPM (ماژول بستر قابل اعتماد) روی سیستم ایجاد شود، یا به عنوان جایگزین، \fISystem Master Key\fP نیز می‌تواند به عنوان \fIkek\fP مورد استفاده قرار گیرد. .sp برای اهداف آزمایشی، یک کلید کاربر با بار دادهٔ تصادفی نیز می‌تواند به عنوان یک \fIkek\fP استفاده شود. برای جزئیات به [2] مراجعه کنید. برای انجام هرگونه عملیات امنیتی، انتظار می‌رود که \fIkek\fP به دسته‌کلید کاربر در هسته اضافه شده باشد، همان‌طور که در مثال زیر نشان داده شده است: .sp .if n .RS 4 .nf .fam C # keyctl show Session Keyring 736023423 \-\-alswrv\& 0\& 0\& keyring: _ses 675104189 \-\-alswrv\& 0 65534\& \(rs_ keyring: _uid.0 680187394 \-\-alswrv\& 0\& 0\& \(rs_ trusted: nvdimm\-master .fam .fi .if n .RE .sp پیش از انجام هر یک از عملیات‌های امنیتی، تمام ناحیه‌ها (regions) مرتبط با DIMM مورد نظر باید غیرفعال شوند. برای عملیات \fIoverwrite\fP، علاوه بر \fIregions\fP، دستگاه \fIdimm\fP نیز باید غیرفعال شود. .sp [1] \c .URL "http://pmem.io/documents/NVDIMM_DSM_Interface\-V1.8.pdf" "" .br [2] \c .URL "https://www.kernel.org/doc/Documentation/security/keys/trusted\-encrypted.rst" "" "" .sp زیربخش‌های زیر ویژگی‌های خاص هر قابلیت امنیتی را شرح می‌دهند..SS "قفل‌گشایی (UNLOCK)" .sp قفل‌گشایی توسط هسته انجام می‌شود، با این حال یک مرحله آماده‌سازی باید پیش از اینکه DSM قفل‌گشایی بتواند توسط هسته صادر شود، رخ دهد. انتظار می‌رود که از درون initramfs، یک دستور راه‌اندازی (ndctl \fIload\-keys\fP) پیش از بارگذاری ماژول libnvdimm توسط modprobe اجرا شود. این دستور \fIkek\fP و عبارت‌های عبور رمزگذاری‌شده را به جاکلیدی کاربر هسته تزریق می‌کند. در طول مرحله \fIprobe\fP درایور libnvdimm، اقدامات زیر انجام خواهد شد: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} بررسی وضعیت امنیتی دستگاه و بررسی اینکه آیا DIMM قفل است یا خیر .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} درخواست عبارت عبور رمزگذاری‌شده مربوطه از جاکلیدی کاربر هسته .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} استفاده از \fIkek\fP برای رمزگشایی عبارت عبور .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} ایجاد DSM قفل‌گشایی، رونوشت از بار مفید (payload) رمزگشایی‌شده به درون DSM .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} صدور DSM برای قفل‌گشایی DIMM .RE .sp اگر DIMM از قبل قفل‌گشایی شده باشد، هسته تلاش خواهد کرد تا عبارت عبور را مجدداً اعتبارسنجی کند. اگر اعتبارسنجی مجدد عبارت عبور ناموفق باشد، هسته امنیت را منجمد (freeze) کرده و هرگونه تغییر بعدی در پیکربندی امنیتی را غیرمجاز می‌کند. یک پارامتر ماژول هسته برای نادیده‌گرفتن (override) این رفتار در دسترس است. .SS "راه‌اندازی عبارت عبور کاربر (SETUP USER PASSPHRASE)" .sp برای راه‌اندازی عبارت عبور یک DIMM، انتظار می‌رود که \fIkek\fP مورد استفاده در جاکلیدی کاربر هسته موجود باشد. کلید \fIkek\fP عبارت عبور DIMM را با استفاده از قالب کلید \fIenc32\fP رمزگذاری می‌کند. عبارت عبور متن آشکار (plaintext) هرگز توسط کاربر ارائه نمی‌شود و برای او قابل مشاهده نیست. در عوض، به‌طور تصادفی توسط هسته تولید می‌شود و فضای کاربری (userspace) به آن دسترسی ندارد. پس از رمزگذاری، یک بلاب باینری از عبارت عبور در دایرکتوری ذخیره‌سازی بلاب عبارت عبور (/etc/ndctl/keys) نوشته می‌شود. مسئولیت پشتیبان‌گیری از بلاب‌های عبارت عبور در مکانی امن بر عهده کاربر است. .SS "به‌روزرسانی عبارت عبور کاربر (UPDATE USER PASSPHRASE)" .sp عملیات به‌روزرسانی عبارت عبور کاربر از همان دستور DSM مربوط به فعال‌سازی عبارت عبور کاربر استفاده می‌کند. بیشتر کار در سمت مدیریت کلید انجام می‌شود. کاربر این گزینه را دارد که یک \fIkek\fP جدید برای عبارت عبور جدید ارائه دهد، اما ادامه استفاده از \fIkek\fP موجود نیز قابل قبول است. عملیات زیر برای \fIupdate\-passphrase\fP انجام می‌شود: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ . sp -1 . IP " 1." 4.2 .\} حذف عبارت عبور رمزگذاری‌شده از جاکلیدی کاربر هسته. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ . sp -1 . IP " 2." 4.2 .\} تغییر نام بلاب عبارت عبور به old. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ . sp -1 . IP " 3." 4.2 .\} بارگذاری این بلاب عبارت عبور قدیمی در جاکلیدی با نام "old". .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ . sp -1 . IP " 4." 4.2 .\} ایجاد عبارت عبور جدید و رمزگذاری آن با \fIkek\fP. .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ . sp -1 . IP " 5." 4.2 .\} ارسال DSM به همراه عبارت‌های عبور رمزگشایی‌شده قدیم و جدید. .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ . sp -1 . IP " 6." 4.2 .\} حذف عبارت عبور قدیم و بلاب عبارت عبور از جاکلیدی. .RE.SS "حذف عبارت عبور کاربر (REMOVE USER PASSPHRASE)" .sp شناسه کلید (\fIkey\-ID\fP) عبارت عبوری که باید حذف شود در sysfs نوشته می‌شود. سپس هسته DSM را برای غیرفعال کردن امنیت ارسال می‌کند، عبارت عبور از keyring حذف شده و داده باینری (blob) مرتبط با عبارت عبور پاک می‌شود. .SS "پاک‌سازی امن رمزنگاری‌شده (CRYPTO (SECURE) ERASE)" .sp این عملیات مشابه remove\-passphrase است. هسته قبل و بعد از این عملیات، یک دستورالعمل WBINVD صادر می‌کند تا اطمینان حاصل شود که هیچ داده‌ای بر اثر حافظه نهان (CPU cache) قدیمی دچار خرابی نمی‌شود. برای انجام این عملیات، از دستور sanitize\-dimm ابزار ndctl به همراه گزینه \f(CR\-\-crypto\-erase\fP استفاده کنید. .SS "بازنویسی (OVERWRITE)" .sp این عملیات با استفاده از گزینه \f(CR\-\-overwrite\fP برای دستور \fIsanitize\-dimm\fP در ndctl فراخوانی می‌شود. عملیات بازنویسی کل NVDIMM را پاک می‌کند. این عملیات می‌تواند زمان قابل‌توجهی ببرد. نکته: بازگشت موفقیت‌آمیز دستور صرفاً به این معناست که بازنویسی با موفقیت آغاز شده است، نه اینکه بازنویسی تکمیل شده باشد. پس از آن، می‌توان از \fIndctl wait\-overwrite\fP برای انتظار کشیدن تا اتمام NVDIMMهایی که در حال انجام بازنویسی هستند استفاده کرد. پس از تکمیل موفقیت‌آمیز یک بازنویسی، دستورالعمل WBINVD توسط هسته صادر می‌شود. اگر هر دو گزینه \-\-crypto\-erase و \-\-overwrite مشخص شده باشند، عملیات crypto\-erase پیش از بازنویسی انجام می‌شود. .SS "انجماد امنیتی (SECURITY FREEZE)" .sp این عملیات نیازی به عبارت عبور ندارد. این کار باعث می‌شود هر دستور امنیتی دیگری به‌جز پرس‌وجوی وضعیت (status query)، تا راه‌اندازی مجدد (بوت) بعدی قفل شود. .SS "راه‌اندازی، به‌روزرسانی و پاک‌سازی رمزنگاری عبارت عبور اصلی (MASTER PASSPHRASE SETUP, UPDATE, and CRYPTO ERASE)" .sp این عملیات‌ها مشابه فعال‌سازی و به‌روزرسانی عبارت عبور کاربر هستند. تنها تفاوت این است که از عبارت عبور متفاوتی استفاده می‌شود. عبارت عبور اصلی هیچ ارتباطی با کلید اصلی (\fIkek\fP) که برای رمزنگاری هر یک از عبارات عبور استفاده می‌شود ندارد. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .sp کپی‌رایت \(co 2016 \- 2022، Intel Corporation. مجوز GPLv2: گنو GPL نسخه ۲ \c .URL "http://gnu.org/licenses/gpl.html" "" "." این نرم‌افزار آزاد است: شما برای تغییر و توزیع مجدد آن آزاد هستید. هیچ ضمانتی وجود ندارد، تا حدی که قانون اجازه می‌دهد. .SH "همچنین ببینید (SEE ALSO)" .sp ndctl\-setup\-passphrase(1), ndctl\-update\-passphrase(1)