एलयूकेएस के लिए एन्क्रिप्शन के उपलब्ध तरीकों की सूची बनाएं


10

मैं हार्ड डिस्क एन्क्रिप्ट करने का एक वैध और अभी तक अप-टू-डेट तरीका खोज रहा था। कुछ शोध के बाद मैंने LUKS का सामना किया और इसे शॉट देने का फैसला किया। इसलिए मैंने कुछ उदाहरणों को देखा कि कैसे इसके साथ एक एचडीडी को ठीक से एन्क्रिप्ट किया जाए, जैसे:

cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda3

--Cipher और --hash इसलिए मैं अपने आप को अलग सिफर और हैश कि LUKS के लिए विशेष रूप से प्रयोग करने योग्य हैं के बारे में सूचित करने के लिए करने की कोशिश की यह का हिस्सा है, मेरे लिए सबसे दिलचस्प था। मुझे एक फ़ाइल खोलने के अलावा कोई उपयोगी जानकारी नहीं मिली जो वर्तमान में उपयोग किए गए लिनक्स के लिए एक मशीन-अनुकूल प्रारूपण में उपलब्ध एन्क्रिप्शन रूपों को दिखाता है। लेकिन जैसा कि मुझे बताया गया था कि यह फ़ाइल संभवतः सभी एन्क्रिप्शन तरीकों की पूरी सीमा को याद कर रही है, इसके अलावा किसी ऐसे व्यक्ति के लिए पढ़ना बहुत मुश्किल है जो इसके साथ दैनिक आधार पर व्यवहार नहीं करता है, वैसे भी।

मेरा प्रश्न: LUKS एन्क्रिप्शन के लिए सिफर्स / हैश की पूरी सूची है?

एक कि बस मुझे दिखाता है कि मैं क्या चुन सकता हूं ... और शायद उन अलग-अलग तरीकों के बीच के अंतरों पर एक संक्षिप्त विवरण देता है।


1
मैं इस प्रश्न को ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह LUKS और लिनक्स कर्नेल को उपयोग करने और कॉन्फ़िगर करने के बारे में है, न कि उस क्रिप्टोग्राफी के बारे में जो इन उपकरणों का उपयोग करता है। यह यूनिक्स और लिनक्स पर विषय होगा । मैंने माइग्रेशन के लिए इस प्रश्न को चिह्नित किया है, कृपया इसे तब तक न रीपोस्ट करें जब तक कि यह माइग्रेशन के बिना बंद न हो जाए।
गिल्स एसओ- बुराई को रोकें '

मैंने विशेष रूप से क्रिप्टोग्राफी क्षेत्र को चुना है, क्योंकि मेरा प्रश्न सीफा और हैश की ओर निर्देशित है। मैंने इस क्षेत्र के लिए "दौरा" किया और इसका शाब्दिक अर्थ "आपके द्वारा पूछे जाने वाले प्रश्न:" स्लॉट में है। चाहो तो देखो।
अकितो

यही कारण है कि मैंने यूनिक्स और लिनक्स में सवाल नहीं डाला क्योंकि यह वहां से विषय होगा ....
अकिटो

उन अलग-अलग तरीकों के बीच अंतर क्या है इस पर एक संक्षिप्त विवरण देता है यह आपके प्रश्न का एकमात्र हिस्सा है जो ऑन-टॉपिक है। एईएस और ट्वोफिश के बीच मुख्य अंतर क्या है? ठीक है, एईएस एक प्रतिस्थापन क्रमांकन नेटवर्क का उपयोग करता है जबकि ट्वोफिश एक फिस्टल नेटवर्क का उपयोग करता है। इस जानकारी के आधार पर, आपको स्पष्ट रूप से एईएस का चयन करना चाहिए क्योंकि सिद्धांत रूप में एक फिस्टल नेटवर्क के साथ कुछ भी गलत नहीं है।
डिप्रैडडैनियल

जवाबों:


7

यह मूल रूप से आपके कर्नेल पर निर्भर है, इसलिए " See / proc / crypto " को "उत्तर" माना जाता है। Cryptsetup मैन पेज यह कहता है:

NOTES ON SUPPORTED CIPHERS, MODES, HASHES AND KEY SIZES

   The available combinations of ciphers, modes, hashes and key  sizes  depend
   on  kernel  support.  See /proc/crypto for a list of available options. You
   might need to load additional kernel crypto modules in order  to  get  more
   options.

   For  the  --hash option, if the crypto backend is libgcrypt, then all algo‐
   rithms supported by the gcrypt library are  available.   For  other  crypto
   backends some algorithms may be missing.

हालाँकि, मेरे /proc/cryptoपास किसी भी सर्प, या एक्सटी (एईएस) का उल्लेख नहीं है, इसलिए इसके बजाय मैं यह देखने की सिफारिश करूंगा कि क्या cryptsetup benchmarkरिपोर्ट (और यह दिखाएगा (रैम) गति भी)। उदाहरण के लिए:

$ cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       292752 iterations per second
PBKDF2-sha256     221362 iterations per second
PBKDF2-sha512     142010 iterations per second
PBKDF2-ripemd160  277124 iterations per second
PBKDF2-whirlpool  155727 iterations per second
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b   164.7 MiB/s   164.5 MiB/s
 serpent-cbc   128b   119.5 MiB/s   205.0 MiB/s
 twofish-cbc   128b   163.5 MiB/s   208.6 MiB/s
     aes-cbc   256b   148.4 MiB/s   147.9 MiB/s
 serpent-cbc   256b   128.1 MiB/s   205.3 MiB/s
 twofish-cbc   256b   202.3 MiB/s   213.1 MiB/s
     aes-xts   256b   165.4 MiB/s   145.3 MiB/s
 serpent-xts   256b   150.0 MiB/s   194.5 MiB/s
 twofish-xts   256b   206.4 MiB/s   206.9 MiB/s
     aes-xts   512b   149.4 MiB/s   147.5 MiB/s
 serpent-xts   512b   181.7 MiB/s   195.0 MiB/s
 twofish-xts   512b   207.1 MiB/s   208.6 MiB/s

हैश पहली कुछ पंक्तियाँ (sha1, sha256, sha512, ripemd160, भँवर) हैं। सिफर एलगोरिदम हेडर के अंतर्गत हैं।

यह देखते हुए कि चूक क्या है "बहुत अच्छा" माना जाता है का एक अच्छा विचार देता है:

$ cryptsetup --help|tail -n 8
Default compiled-in key and passphrase parameters:
    Maximum keyfile size: 8192kB, Maximum interactive passphrase length 512 (characters)
Default PBKDF2 iteration time for LUKS: 1000 (ms)

Default compiled-in device cipher parameters:
    loop-AES: aes, Key 256 bits
    plain: aes-cbc-essiv:sha256, Key: 256 bits, Password hashing: ripemd160
    LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: sha1, RNG: /dev/urandom

और उच्च कुंजी आकार (के साथ --key-size) का उपयोग केवल मजबूत होना चाहिए, अगर थोड़ा धीमा हो।

   --key-size, -s <bits>
          Sets  key  size in bits. The argument has to be a multiple of 8.
          The possible key-sizes are limited by the cipher and mode used.

          See /proc/crypto for more information.  Note  that  key-size  in
          /proc/crypto is stated in bytes.

2
यह वही है जिसके बारे में मैंने शिकायत की थी ... / proc / crypto अत्यधिक अपठनीय है और इसलिए बेकार है। कुछ सिफर सूची में दो बार भी हैं और मुझे नहीं पता कि क्यों।
Akito

आह, मुझे यकीन नहीं था, सवाल में नहीं था, लेकिन यह निश्चित रूप से एक चिंता का विषय है, यहां तक ​​कि / खरीद / क्रिप्टो के बारे में एक वेब खोज किसी भी स्पष्ट गाइड को प्रकट नहीं करती है। मैं कुछ अंतरों को देख रहा हूँ, और मुझे लगता है कि क्रायसिपेटअप डिस्क ब्लॉक को एन्क्रिप्ट करने के लिए केवल ब्लॉक सिफर का उपयोग करता है, इसलिए 'टाइप: ब्लकिशर' तार्किक लगता है। लेकिन मैं यह भी देख रहा हूं कि मेरा कोई भी नाग, या xts-aes का उल्लेख नहीं है ... लेकिन मुझे एक और विचार मिला है जो बेहतर हो सकता है, मैं इसे उत्तर में संपादित
करूंगा

2

उपयोगकर्ता notdavidcronenberg के काम के संदर्भ में: मुझे जो एकमात्र उत्तर मिला है वह दस्तावेज़ LUKS ऑन-डिस्क प्रारूप विनिर्देश (PDF) में है।

मान्य सिफर नाम

मान्य सिफर मोड

  • ecb सीधे सिफर आउटपुट का उपयोग किया जाता है।
  • cbc-plainसिफर CBC मोड में संचालित होता है। सीबीसी चेनिंग को प्रत्येक सेक्टर में काटा जाता है, और प्रारंभिक वेक्टर के रूप में सेक्टर संख्या के साथ पुनर्निवेशित किया जाता है (32-बिट और थोड़ा-एंडियन में परिवर्तित)। यह मोड [Fru05b], अध्याय 4 में निर्दिष्ट है।
  • cbc-essiv:{hash}मूल कुंजी के लिए IV कुंजी उत्पन्न करने के लिए हैश का उपयोग करके सिफर को ESSIV मोड में संचालित किया जाता है। उदाहरण के लिए, हैश के रूप में sha256 का उपयोग करते समय, सिफर मोड कल्पना "cbcessiv: sha256" है। ESSIV [Fru05b], अध्याय 4 में निर्दिष्ट है।
  • xts-plain64 प्लेन 64, प्लेन प्रारंभिक वेक्टर का 64-बिट संस्करण है

मान्य हैश विनिर्देशों

  • sha1 RFC 3174 - यूएस सिक्योर हैश एल्गोरिथम 1 (SHA1)
  • sha256 SHA वैरिएंट के अनुसार FIPS 180-2
  • sha512 SHA वैरिएंट के अनुसार FIPS 180-2
  • ripemd160 http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html

सूची पूरी नहीं है superuser.com/a/1450671/446140
इंटक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.