dm-crypt

يُعدّ dm-crypt نظامًا فرعيًا شفافًا لتشفير أجهزة الكتل في نواة لينكس، الإصدارات 2.6 وما بعدها، وفي نظام DragonFly BSD . وهو جزء من بنية مُخطط الأجهزة (dm)، ويستخدم إجراءات تشفير من واجهة برمجة تطبيقات التشفير (Crypto API ) الخاصة بالنواة . على عكس سابقه cryptoloop ، صُمم dm-crypt لدعم أنماط تشغيل متقدمة، مثل XTS و LRW و ESSIV ، لتجنب هجمات العلامات المائية . [ 1 ] إضافةً إلى ذلك، يُعالج dm-crypt بعض مشكلات الموثوقية التي يُعاني منها cryptoloop. [ 2 ]

يُنفَّذ برنامج dm-crypt كهدف لربط الأجهزة، ويمكن استخدامه فوق تحويلات ربط الأجهزة الأخرى. وبذلك، يُمكنه تشفير الأقراص بالكامل (بما في ذلك الوسائط القابلة للإزالةوالأقسام ، ووحدات تخزين RAID البرمجية ، ووحدات التخزين المنطقية ، بالإضافة إلى الملفات . ويظهر كجهاز كتلة، يُمكن استخدامه كنسخة احتياطية لأنظمة الملفات ، أو مساحة التبادل ، أو كوحدة تخزين فعلية LVM .

تدعم بعض توزيعات لينكس استخدام dm-crypt على نظام الملفات الجذر. وتستخدم هذه التوزيعات initrd لمطالبة المستخدم بإدخال عبارة مرور في وحدة التحكم، أو إدخال بطاقة ذكية قبل عملية الإقلاع العادية. [ 3 ]

واجهات المستخدم

يقع هدف مُخطط أجهزة dm-crypt بالكامل في مساحة النواة، ويقتصر دوره على تشفير جهاز الكتلة - فهو لا يُفسر أي بيانات بنفسه. ويعتمد على واجهات المستخدم لإنشاء وتفعيل وحدات التخزين المُشفرة، وإدارة المصادقة. يتوفر حاليًا واجهتان على الأقل: و . cryptsetupcryptmount

cryptsetup

cryptsetupلا تقوم واجهة سطر الأوامر، بشكل افتراضي، بكتابة أي رؤوس إلى وحدة التخزين المشفرة، وبالتالي فهي لا توفر سوى الأساسيات: يجب توفير إعدادات التشفير في كل مرة يتم فيها تحميل القرص (على الرغم من أنها تستخدم عادة مع البرامج النصية الآلية)، ولا يمكن استخدام سوى مفتاح واحد لكل وحدة تخزين؛ يتم اشتقاق مفتاح التشفير المتماثل مباشرة من عبارة المرور المقدمة .

Because it lacks a "salt", using cryptsetup is less secure in this mode than is the case with Linux Unified Key Setup (LUKS).[9] However, the simplicity of cryptsetup makes it useful when combined with third-party software, for example, with smart card authentication.

cryptsetup also provides commands to deal with the LUKS on-disk format. This format provides additional features such as key management and key stretching (using PBKDF2), and remembers encrypted volume configuration across reboots.[3][10]

cryptmount

The cryptmount interface is an alternative to the "cryptsetup" tool that allows any user to mount and unmount a dm-crypt file system when needed, without needing superuser privileges after the device has been configured by a superuser.

Features

The fact that disk encryption (volume encryption) software like dm-crypt only deals with transparent encryption of abstract block devices gives it a lot of flexibility. This means that it can be used for encrypting any disk-backed file systems supported by the operating system, as well as swap space; write barriers implemented by file systems are preserved.[11][12] Encrypted volumes can be stored on disk partitions, logical volumes, whole disks as well as file-backed disk images (through the use of loop devices with the losetup utility). dm-crypt can also be configured to encrypt RAID volumes and LVM physical volumes.

dm-crypt can also be configured to provide pre-boot authentication through an initrd, thus encrypting all the data on a computer  except the bootloader, the kernel and the initrd image itself.[3]

عند استخدام نمط تشفير سلسلة الكتل (CBC) مع متجهات تهيئة قابلة للتنبؤ، كما هو الحال في برامج تشفير الأقراص الأخرى، يكون القرص عرضةً لهجمات العلامات المائية . وهذا يعني أن المهاجم قادر على اكتشاف وجود بيانات مُصممة خصيصًا على القرص. ولمعالجة هذه المشكلة في الإصدارات السابقة، أضاف dm-crypt آلياتٍ لأنماط تشغيل أكثر تعقيدًا ومخصصة لتشفير الأقراص. [ 1 ] تم تقديم دعم ESSIV (متجه تهيئة قطاع الملح المُشفّر) في نواة لينكس الإصدار 2.6.10، و LRW في الإصدار 2.6.20، و XTS في الإصدار 2.6.24. كما أُضيفت خوارزمية تشفير الأقراص ذات الكتل العريضة ، Adiantum ، في الإصدار 5.0، وخوارزمية HCTR2 المُشابهة لها والمبنية على معيار AES في الإصدار 6.0.

تتضمن واجهة برمجة تطبيقات التشفير في لينكس دعمًا لمعظم خوارزميات التشفير الكتلية ووظائف التجزئة الشائعة ، والتي يمكن استخدامها جميعًا مع dm-crypt.

يدعم نظام الملفات المشفر وحدات تخزين LUKS (الإصدارين 1 و2)، و loop-AES ، و TrueCrypt / VeraCrypt (منذ نواة لينكس 3.13)، [ 13 ] [ 14 ] [ 15 ] و NTFS المشفر بواسطة BitLocker (منذ cryptsetup 2.3.0). [ 16 ] يتطلب دعم TrueCrypt/VeraCrypt (TCRYPT) وBitLocker (BITLK) واجهة برمجة تطبيقات التشفير في مساحة مستخدم النواة. [ 17 ]

التوافق

يمكن الوصول إلى الأقراص المشفرة باستخدام dm-crypt وLUKS واستخدامها على نظام التشغيل ويندوز باستخدام برنامج FreeOTFE (الذي كان يُعرف سابقًا باسم DoxBox أو LibreCrypt)، والذي توقف عن العمل الآن، شريطة أن يكون نظام الملفات المستخدم مدعومًا من قبل ويندوز (مثل FAT /FAT32/ NTFS ). يدعم نظام الملفات المشفر ext2 و ext3 برنامج Ext2Fsd أو ما يُسمى "نظام ملفات Ext2 القابل للتثبيت لنظام ويندوز"؛ [ 18 ] كما يدعمه برنامج FreeOTFE أيضًا.

تم أيضًا تطبيق Cryptsetup/LUKS والبنية التحتية المطلوبة على نظام التشغيل DragonFly BSD. [ 19 ]

انظر أيضاً

مراجع

  1. 1 2 فروويرث، كليمنس (18 يوليو 2005). "أساليب جديدة في تشفير القرص الصلب" (ملف PDF) . جامعة فيينا للتكنولوجيا . تم الاطلاع عليه بتاريخ 22 أغسطس 2024 .
  2. بيترز، مايك. "تشفير الأقسام باستخدام dm-crypt ونواة سلسلة 2.6" . Linux.com . مؤرشف من الأصل في 11 يوليو 2012. تم الاطلاع عليه في 22 أغسطس 2024 .
  3. 1 2 3 دبليو. مايكل بيتولو (18 يناير 2007). "تشفير القرص في فيدورا: الماضي والحاضر والمستقبل" . مجلة ريد هات. مؤرشف من الأصل بتاريخ 10 أكتوبر 2008. تم الاطلاع عليه بتاريخ 20 أبريل 2007 .
  4. "المؤلفون" . جيت لاب . تم الاطلاع عليه في 7 سبتمبر 2019 .
  5. 1 2 "docs · master · cryptsetup / cryptsetup" . GitLab . تم الاسترجاع في 10 أكتوبر 2024 .
  6. "المجال النصي لـ cryptsetup" . مشروع الترجمة . تم الاطلاع عليه بتاريخ 7 سبتمبر 2019 .
  7. "النسخ" . جيت لاب . تم الاطلاع عليه في 7 سبتمبر 2019 .
  8. "COPYING.LGPL" . GitLab . تم الاطلاع عليه بتاريخ 7 سبتمبر 2019 .
  9. "الأسئلة الشائعة حول cryptsetup" .
  10. كليمنس فروويرث (15 يوليو 2004). "TKS1 - مخطط إعداد مفاتيح مضاد للتحليل الجنائي، ثنائي المستوى، ومتكرر" (ملف PDF) . مسودة . تم الاطلاع عليه بتاريخ 12 ديسمبر 2006 .
  11. ميلان بروز (24 أبريل 2012). " [ dm-crypt ] هل يدعم dm-crypt ضمانات المعاملات في نظام الملفات مع خاصية التسجيل؟" . saout.de . تاريخ الاسترجاع: 8 يوليو 2014 .
  12. ميكولاس باتوكا (22 يونيو 2009). "kernel/git/torvalds/linux.git" . شجرة مصدر نواة لينكس . kernel.org . تاريخ الاسترجاع: 8 يوليو 2014 .
  13. "dm-crypt: هدف تشفير لينكس kernel device-mapper – مولدات متجهات التهيئة" . cryptsetup. 2014-01-11 . تم الاسترجاع في 2015-04-05 .
  14. "dm-crypt: هدف تشفير برنامج تعيين الأجهزة في نواة لينكس" . تم الاطلاع عليه بتاريخ 2015-04-05 .
  15. " [ dm-devel ] [ PATCH 2/2 ] dm-crypt: إضافة وضع TCW IV لحاويات CBC TCRYPT القديمة" . redhat.com . تم الاطلاع عليه بتاريخ 17-06-2014 .
  16. تريفني، فويتش (25 يناير 2020). تشفير القرص باستخدام BitLocker على نظام Linux (ملف PDF) . مؤتمر DevConf CZ.
  17. دليل مبرمج لينكس – أوامر الإدارة والأوامر ذات الامتيازات من Manned.orgcryptsetup(8)  
  18. "Ext2 ​​IFS لنظام التشغيل Windows" . fs-driver.org . تم الاطلاع عليه بتاريخ 15 فبراير 2015 .
  19. أليكس هورنونغ (23-07-2010). "تنبيه: dm، lvm، cryptsetup و initrd على master" .
  • المواقع الرسمية لـ dm-crypt و cryptsetup-luks و cryptmount
  • كل ما يتعلق بـ dm-crypt و LUKS في صفحة واحدة (على archive.org) - صفحة تغطي dm-crypt/LUKS، بدءًا من النظرية وانتهاءً بالعديد من الأمثلة العملية حول استخدامها.