cryfs(1) General Commands Manual cryfs(1)

cryfs - سیستم‌فایل رمزنگاری‌شده برای فضای ابری

cryfs [-c فایل] [-f] [گزینه‌ها] basedir mountpoint
cryfs --help|--version|--show-ciphers

CryFS فایل‌های شما را رمزگذاری می‌کند تا بتوانید آن‌ها را با خیالی آسوده در هر مکانی ذخیره کنید.

هدف CryFS تنها حفظ محرمانگی محتوای فایل‌ها نیست، بلکه اندازه فایل‌ها، متادیتا و ساختار دایرکتوری‌ها را نیز پنهان نگه می‌دارد. CryFS از بلوک‌های رمزگذاری‌شده با اندازه یکسان برای ذخیره فایل‌ها و همچنین روابط میان بلوک‌ها استفاده می‌کند. این بلوک‌ها به عنوان فایل‌های جداگانه در دایرکتوری پایه (base directory) ذخیره می‌شوند، که سپس می‌توان آن‌ها را با سرویس‌های ابری نظیر Dropbox همگام‌سازی کرد.

بلوک‌ها با استفاده از یک کلید تصادفی رمزگذاری می‌شوند که این کلید در یک فایل پیکربندی رمزگذاری‌شده با عبارت عبور (passphrase) کاربر ذخیره می‌گردد. به‌طور پیش‌فرض، این فایل به همراه داده‌ها در دایرکتوری پایه ذخیره می‌شود، اما اگر مایل نیستید در فضای ابری شما قرار گیرد یا از عبارت عبور ضعیفی استفاده می‌کنید، می‌توانید مکان متفاوتی را برای آن برگزینید.

در حالی که شما از طریق دایرکتوری نقطه اتصال (mount directory) به فایل‌های خود دسترسی دارید، CryFS در واقع آن‌ها را پس از رمزگذاری در دایرکتوری پایه (base directory) قرار می‌دهد. برنامه CryFS فایل‌های شما را هم‌زمان با دسترسی (on the fly) رمزگذاری و رمزگشایی می‌کند، بنابراین فایل‌ها هرگز به شکل رمزنگاری‌نشده روی دیسک ذخیره نخواهند شد.

شما می‌توانید هر دایرکتوری خالی را به عنوان دایرکتوری پایه انتخاب کنید، اما دایرکتوری نقطه اتصال شما باید خارج از فضای ذخیره‌سازی ابری باشد، چرا که سرویس ابری ممکن است تلاش کند فایل‌های رمزنگاری‌نشده (که موقتاً سوار شده‌اند) را نیز همگام‌سازی نماید.

ایجاد و سوار کردن فضای ذخیره‌سازی رمزگذاری‌شده از نحو دستوری یکسانی در خط فرمان پیروی می‌کند:
cryfs basedir mountpoint

اگر CryFS یک فضای ذخیره‌سازی رمزگذاری‌شده را در دایرکتوری پایه مشخص‌شده شناسایی کند، عبارت عبور را برای بازگشایی و سوار کردن آن درخواست خواهد کرد. در غیر این صورت، CryFS شما را در ایجاد یک فضای جدید راهنمایی می‌کند؛ کافی است دستورالعمل‌های روی صفحه را دنبال نمایید.

پس از پایان کار با فایل‌های رمزگذاری‌شده، فضای ذخیره‌سازی خود را با دستور زیر پیاده (unmount) کنید:
cryfs-unmount mountpoint

از آنجا که کلید رمزنگاری فضای ذخیره‌سازی شما در فایل پیکربندی ذخیره شده است، امکان رمزگذاری مجدد آن با یک عبارت عبور متفاوت وجود دارد (اگرچه این ویژگی هنوز پیاده‌سازی نشده است).

با این حال، این کار کلید رمزنگاری اصلی فضای ذخیره‌سازی شما را تغییر نمی‌دهد؛ بنابراین کسی که به عبارت عبور و فایل پیکربندی قدیمی دسترسی داشته باشد (برای نمونه از طریق تاریخچه فایل‌ها در فضای ابری یا سیستم‌فایل شما) همچنان می‌تواند به فایل‌های شما، حتی فایل‌هایی که پس از تغییر رمز عبور ایجاد شده‌اند، دسترسی پیدا کند.

به همین دلیل، روش پیشنهادی برای تغییر عبارت عبور این است که یک فضای ذخیره‌سازی جدید CryFS با عبارت عبور تازه بسازید و فایل‌های خود را از فضای قدیمی به فضای جدید منتقل کنید.

نمایش پیام راهنما حاوی توضیحات کوتاه برای تمام گزینه‌ها.
نمایش فهرستی از تمام الگوریتم‌های رمزنگاری پشتیبانی‌شده.
نمایش شماره نگارش CryFS.

تنظیم اندازه بلوک به مقدار arg بر حسب بایت. مقدار پیش‌فرض 32768 است.

اندازه بلوک بزرگ‌تر ممکن است به کاهش تعداد فایل‌ها در دایرکتوری پایه شما کمک کند (به‌ویژه هنگام ذخیره فایل‌های حجیم)، اما هنگام ذخیره فایل‌های کوچک‌تر فضای بیشتری را هدر می‌دهد.

استفاده از arg به عنوان الگوریتم رمزنگاری. مقدار پیش‌فرض aes-256-gcm است.
استفاده از file به عنوان فایل پیکربندی برای این فضای CryFS به جای basedir/cryfs.config

اجرای CryFS در پیش‌زمینه. برای توقف از CTRL-C استفاده کنید.
اجازه ارتقای سیستم‌فایل در صورتی که با نگارش‌های قدیمی‌تر CryFS ساخته شده باشد. پس از ارتقا، نگارش‌های قدیمی‌تر ممکن است دیگر قادر به استفاده از سیستم‌فایل نباشند.
به‌طور پیش‌فرض، CryFS نقض یکپارچگی را بررسی می‌کند؛ یعنی اگر یک مهاجم سیستم‌فایل را تغییر داده یا به عقب برگردانده باشد متوجه خواهد شد. با استفاده از این فلگ، می‌توانید این بررسی‌های یکپارچگی را غیرفعال کنید. این قابلیت برای نمونه می‌تواند هنگام بارگذاری یک اسنپ‌شات قدیمی از سیستم‌فایل مفید باشد بدون اینکه CryFS تصور کند مهاجمی آن را دستکاری کرده است.
به‌طور پیش‌فرض، CryFS سیستم‌فایل‌هایی را که در این دایرکتوری پایه دیده به خاطر می‌سپارد و بررسی می‌کند که از زمان آخرین بارگذاری توسط مهاجم با یک سیستم‌فایل کاملاً متفاوت جایگزین نشده باشند. با این وجود، اگر واقعاً مایل به جایگزینی آن با یک سیستم‌فایل کاملاً جدید هستید، می‌توانید این گزینه را برای غیرفعال‌سازی این بررسی ارسال کنید.
ایجاد دایرکتوری پایه حتی در صورتی که وجود نداشته باشد، و صرف‌نظر کردن از پیام تایید عادی برای ایجاد آن در مراحل بعدی.
ایجاد نقطه اتصال حتی در صورتی که وجود نداشته باشد، و صرف‌نظر کردن از پیام تایید عادی برای ساخت آن.
هنگامی که CryFS با یک بلوک مفقود مواجه می‌شود، (هنوز) نمی‌تواند تشخیص دهد که آیا توسط مهاجمی غیرمجاز حذف شده یا توسط کلاینت مجاز دومی پاک گردیده است. این یکی از محدودیت‌های بررسی‌های یکپارچگی فعلی است. می‌توانید این فلگ را فعال کنید تا با بلوک‌های مفقود به عنوان نقض یکپارچگی برخورد شود، اما در این صورت سیستم‌فایل دیگر توسط چندین کلاینت قابل استفاده نخواهد بود. به صورت پیش‌فرض، این گزینه غیرفعال است.
نوشتن اطلاعات وضعیت در file. در صورت تعیین نشدن فایل لاگ، CryFS آن‌ها را در حالت پس‌زمینه در syslog یا در حالت پیش‌زمینه در stdout می‌نویسد.
پیاده‌سازی خودکار نقطه اتصال پس از arg دقیقه عدم فعالیت.

ارسال مستقیم گزینه‌ها به درایور سیستم‌فایل FUSE.
به عنوان مثال:
این گزینه تدبیر امنیتی که دسترسی به فایل را تنها به مالک سیستم‌فایل محدود می‌کند لغو می‌نماید، به گونه‌ای که تمامی کاربران (از جمله root) بتوانند به فایل‌ها دسترسی داشته باشند.
این گزینه مشابه allow_other است اما دسترسی به فایل تنها به مالک سیستم‌فایل و کاربر ریشه محدود می‌شود. این گزینه و allow_other ناسازگار با یکدیگرند (مانعة الجمع).

با تنظیم این گزینه، CryFS عبارت عبور رمزنگاری را تنها یک بار درخواست می‌کند. به جای پرسیدن پارامترهایی که در خط فرمان تعیین نشده‌اند از کاربر، از مقادیر پیش‌فرض استفاده خواهد کرد. همچنین هنگام ایجاد یک فضای ذخیره‌سازی جدید، تاییدی برای عبارت عبور نخواهد خواست.

هنگام خودکارسازی اجرای CryFS با استفاده از ابزارهای خارجی یا اسکریپت‌های شل، این متغیر محیطی را تنظیم کنید.

به‌طور پیش‌فرض، CryFS برای بررسی آسیب‌پذیری‌های امنیتی شناخته‌شده و نگارش‌های جدید به اینترنت متصل می‌شود. این گزینه اتصال مذکور را غیرفعال می‌سازد.
دایرکتوری مورد استفاده CryFS برای ذخیره وضعیت محلی را تعیین می‌کند. این وضعیت محلی برای شناسایی سیستم‌فایل‌های شناخته‌شده و اجرای بررسی‌های یکپارچگی استفاده می‌شود (بررسی عدم دستکاری توسط مهاجم). مقدار پیش‌فرض: ${HOME}/.cryfs

mount.fuse(1), fusermount(1) cryfs-unmount(1)

برای کسب اطلاعات بیشتر درباره طراحی CryFS به این نشانی مراجعه کنید: https://www.cryfs.org

برای دسترسی به کدهای منبع و فهرست کامل مشارکت‌کنندگان، مخزن توسعه را در نشانی زیر ببینید: https://github.com/cryfs/cryfs

برنامه CryFS توسط Sebastian Messmer و مشارکت‌کنندگان ساخته شده است. این صفحه راهنما توسط Maximilian Wende نگاشته شده است.