हार्डवेयर आधारित एन्क्रिप्शन

From Vigyanwiki

आर्किटेक्चर

हार्डवेयर आधारित एन्क्रिप्शन
IBM4758 outside1.JPG
The IBM 4758 Cryptographic Module
Process typeCryptography
Industrial sector(s)Computing
Main technologies or sub-processesCryptographic hash function, Encryption

हार्डवेयर-आधारित एन्क्रिप्शन डेटा एन्क्रिप्शन की प्रक्रिया में सॉफ़्टवेयर की सहायता के लिए या कभी-कभी सॉफ़्टवेयर को परिवर्तित करने के लिए कंप्यूटर हार्डवेयर का उपयोग होता है। विशिष्ट रूप से, इसे सीपीयू के निर्देश सेट के भाग के रूप में कार्यान्वित किया जाता है। उदाहरण के लिए, एईएस एन्क्रिप्शन एल्गोरिथ्म (आधुनिक सिफ़र ) सर्वव्यापी एक्स86 आर्किटेक्चर पर एईएस निर्देश सेट का उपयोग करके कार्यान्वित किया जा सकता है।[1] ऐसे निर्देश एआरएम आर्किटेक्चर पर भी उपलब्ध हैं।[2] चूँकि, अधिक असामान्य प्रणालियां उपस्थित हैं, जहां क्रिप्टोग्राफी मॉड्यूल केंद्रीय सह प्रोसेसर से अलग है, इसके अतिरिक्त सहसंसाधक के रूप में कार्यान्वित किया जा रहा है, विशेष रूप से सुरक्षित क्रिप्टोप्रोसेसर या क्रिप्टोग्राफिक त्वरक, जिसका उदाहरण आईबीएम 4758, या इसके उत्तराधिकारी, आईबीएम 4764 है।[3] हार्डवेयर कार्यान्वयन पारंपरिक सॉफ़्टवेयर कार्यान्वयन की तुलना में तीव्र और कम शोषण का शिकार हो सकता है, और इसके अतिरिक्त छेड़छाड़ से भी सुरक्षित किया जा सकता है।[4]


इतिहास

कंप्यूटर हार्डवेयर के उपयोग से पहले, क्रिप्टोग्राफी को विभिन्न मैकेनिकल या इलेक्ट्रो-मैकेनिकल माध्यमों से किया जा सकता था। स्पार्टन्स द्वारा उपयोग किया जाने वाला स्काइटेल प्रारंभिक उदाहरण है।[5] एनिग्मा मशीन, इलेक्ट्रो-मैकेनिकल प्रणाली सिफर मशीन थी, जिसका उपयोग विशेष रूप से द्वितीय विश्व युद्ध में जर्मनों द्वारा किया गया था। द्वितीय विश्व युद्ध के बाद, विशुद्ध रूप से इलेक्ट्रॉनिक प्रणाली विकसित की गयी थी। 1987 में एबीवाईएसएस (ए बेसिक यॉर्कटाउन सिक्योरिटी प्रणाली) परियोजना प्रारंभ की गई थी।[6][7] इस परियोजना का उद्देश्य सॉफ्टवेयर पायरेसी से बचाव करना था। चूँकि, सामान्य रूप से क्रिप्टोग्राफी के लिए कंप्यूटर का उपयोग 1940 के दशक और बैलेचले पार्क में हुआ, जहाँ द्वितीय विश्व युद्ध के समय जर्मन हाई कमान द्वारा उपयोग किए गए एन्क्रिप्शन को तोड़ने के लिए कोलोसस कंप्यूटर का उपयोग किया गया था। चूँकि, एन्क्रिप्ट करने के लिए कंप्यूटर का उपयोग बाद में हुआ। विशेष रूप से, एकीकृत परिपथ के विकास तक, जिनमें से पहला 1960 में निर्मित किया गया था, कंप्यूटर एन्क्रिप्शन के लिए अव्यावहारिक थे, चूंकि, एनिग्मा मशीन के पोर्टेबल फॉर्म फैक्टर (डिजाइन) की तुलना में,[8] एसआईजीएसएएलवाई ने पुरे भवन का स्थान ले लिया था। यह माइक्रो कंप्यूटर के विकास के साथ ही था कि आला अनुप्रयोगों के बाहर, कंप्यूटर एन्क्रिप्शन संभव हो गया। वर्ल्ड वाइड वेब के विकास से उपभोक्ताओं को एन्क्रिप्शन तक पहुंच की आवश्यकता हुई, क्योंकि ऑनलाइन शॉपिंग प्रचलित हो गई थी।[9] उपभोक्ताओं के लिए प्रमुख चिंता सुरक्षा और गति थी।[9] इसने गति और सुरक्षा दोनों को बढ़ाने की विधि के रूप में प्रोसेसर में प्रमुख एल्गोरिदम को अंतिम रूप से सम्मिलित किया था।[4]


कार्यान्वयन

निर्देश सेट में

एक्स86

एक्स86 कंप्यूटर आर्किटेक्चर, सीआईएससी (कॉम्प्लेक्स इंस्ट्रक्शन सेट कंप्यूटर) आर्किटेक्चर के रूप में, सामान्यतः हार्डवेयर में जटिल एल्गोरिदम को प्रयुक्त करता है।[10] क्रिप्टोग्राफिक एल्गोरिदम कोई अपवाद नहीं हैं। एक्स86 आर्किटेक्चर एईएस (उन्नत एन्क्रिप्शन मानक) एल्गोरिदम के महत्वपूर्ण घटकों को प्रयुक्त करता है,[1] जिसका उपयोग एनएसए द्वारा परम गोपनीय सूचना के लिए किया जा सकता है।[11]आर्किटेक्चर में इंटेल एसएचए एक्सटेंशन के माध्यम से सुरक्षित हैशिंग एल्गोरिदम के लिए समर्थन भी सम्मिलित है।[1] जबकि एईएस सिफर है, जो दस्तावेज़ों को एन्क्रिप्ट करने के लिए उपयोगी है, हैशिंग का उपयोग सत्यापन के लिए किया जाता है, जैसे कि पासवर्ड (PBKDF2 देखें)।

एआरएम

एआरएम प्रोसेसर वैकल्पिक रूप से सुरक्षा एक्सटेंशन का समर्थन कर सकते हैं। चूँकि एआरएम आरआईएससी (रिड्यूस्ड इंस्ट्रक्शन सेट कंप्यूटर) आर्किटेक्चर है, एआरएम होल्डिंग्स द्वारा निर्दिष्ट कई वैकल्पिक एक्सटेंशन हैं।[2][12]

सहसंसाधक के रूप में

प्रसार

उन्नत माइक्रो उपकरणों (एएमडी) प्रोसेसर भी एक्स86 उपकरण हैं, और 2011 बुलडोजर (माइक्रोआर्किटेक्चर) प्रोसेसर पुनरावृत्ति के बाद से एईएस निर्देश सेट का समर्थन किया है।[15] इंटेल और एएमडी दोनों द्वारा प्रदान किए गए आधुनिक प्रोसेसर पर एन्क्रिप्शन निर्देशों के अस्तित्व के कारण, अधिकांश आधुनिक कंप्यूटरों पर निर्देश उपलब्ध हैं।[16] एआरएम प्रोसेसर में उनके क्रियान्वयन होने के कारण वे कई टैबलेट और स्मार्टफोन पर भी उपलब्ध हैं।[16]


लाभ

हार्डवेयर में क्रिप्टोग्राफी को प्रयुक्त करने का अर्थ है कि प्रोसेसर का एक भाग कार्य के लिए समर्पित है। इससे गति में बड़ी वृद्धि हो सकती है।[4] विशेष रूप से, पाइपलाइनिंग (कंप्यूटिंग) का समर्थन करने वाले आधुनिक प्रोसेसर आर्किटेक्चर अधिकांशतः एन्क्रिप्शन निर्देश के निष्पादन के साथ-साथ अन्य निर्देशों को भी निष्पादित कर सकते हैं। इसके अतिरिक्त, हार्डवेयर में सॉफ़्टवेयर से डेटा की सुरक्षा की विधियाँ हो सकती हैं। परिणामस्वरूप, तथापि ऑपरेटिंग प्रणाली से समझौता किया गया हो, जिससे डेटा अभी भी सुरक्षित हो सकता है (सॉफ्टवेयर गार्ड एक्सटेंशन देखें)।[17]


हानि

यदि, चूँकि, हार्डवेयर कार्यान्वयन से समझौता किया जाता है, तो बड़ी समस्याएँ उत्पन्न होती हैं। मैलिसिअस सॉफ़्टवेयर (माना जाता है) सुरक्षित हार्डवेयर से डेटा को पुनर्प्राप्त कर सकता है - उपयोग की जाने वाली विधि एक बड़ी टाइमिंग अटैक है।[18] ऑपरेटिंग प्रणाली के अन्दर भी सॉफ़्टवेयर बग की तुलना में इसे हल करना कहीं अधिक समस्याग्रस्त है। माइक्रोसॉफ्ट नियमित रूप से विंडोज अद्यतन के माध्यम से सुरक्षा समस्याओं से निपटता है। इसी तरह, मैक ओएस एक्स और लिनक्स के साथ-साथ आईओएस, एंड्रॉइड (ऑपरेटिंग प्रणाली) और विंडोज फोन जैसे मोबाइल ऑपरेटिंग प्रणाली के लिए नियमित सुरक्षा अपडेट जारी किए जाते हैं। चूँकि, हार्डवेयर अलग समस्या है। कभी-कभी, प्रोसेसर के माइक्रोकोड (निम्न स्तर का सॉफ़्टवेयर) के अपडेट के माध्यम से समस्या को ठीक किया जा सकता है। चूँकि, अन्य समस्याएँ केवल हार्डवेयर को परिवर्तित कर, या ऑपरेटिंग प्रणाली में वर्कअराउंड के माध्यम से हल करने योग्य हो सकती हैं, जो हार्डवेयर कार्यान्वयन के प्रदर्शन लाभ को कम करता है, जैसे कि स्पेक्टर (सुरक्षा भेद्यता) में करता है।[19]


यह भी देखें

संदर्भ

  1. 1.0 1.1 1.2 Intel® 64 and IA-32 Architectures Software Developer's Manual (PDF). Intel. December 2017. pp. 303–309, 410.
  2. 2.0 2.1 ARM® Cortex®-A57 MPCore Processor Cryptography Extension (PDF). ARM Holdings. 17 December 2017. Archived (PDF) from the original on 2016-12-13.
  3. 3.0 3.1 "4764 Cryptographic Coprocessor". IBM. Archived from the original on 2018-01-21. Retrieved 20 January 2018.
  4. 4.0 4.1 4.2 P. Schmid and A. Roos (2010). "AES-NI Performance Analyzed". Tom's Hardware. Retrieved 20 January 2018.
  5. Kelly, Thomas (July 1998). "स्काईटेल का मिथक". Cryptologia. 22 (3): 244–260. doi:10.1080/0161-119891886902.
  6. "ABYSS: A Trusted Architecture for Software Protection" (PDF). Archived (PDF) from the original on 2018-01-21. Retrieved 20 January 2018.
  7. "Building the IBM 4758 Secure Coprocessor" (PDF). IBM. Archived (PDF) from the original on 2017-08-08. Retrieved 20 January 2018.
  8. "Enigma-E case" (PDF). Crypto Museum. Archived (PDF) from the original on 2016-11-05. Retrieved 20 January 2018.
  9. 9.0 9.1 "Consumers and their online shopping expectations – Ecommerce News". 20 February 2015. Archived from the original on 2016-09-30. Retrieved 29 August 2016.
  10. "x86-64 Instruction Set" (PDF). University of Oxford. 18 April 2017. p. 1. Retrieved 24 January 2018.
  11. Lynn Hathaway (June 2003). "National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information" (PDF). Archived (PDF) from the original on 2010-11-06. Retrieved 15 February 2011.
  12. "Cryptographic Hardware Accelerators". OpenWRT.org. 17 May 2016. Archived from the original on 2018-01-21. Retrieved 25 January 2018.
  13. 13.0 13.1 "IBM 4765 Cryptographic Coprocessor Security Module" (PDF). National Institute of Standards and Technology. 10 December 2012. Archived (PDF) from the original on 2018-01-25. Retrieved 20 January 2018.
  14. "IBM 4758 Models 2 and 23 PCI Cryptographic Coprocessor" (PDF). IBM. May 2004. Retrieved 24 January 2018.
  15. Brent Hollingsworth (AMD) (October 2012). "New "Bulldozer" and "Piledriver" Instructions" (PDF). Arecibo Observatory. Archived (PDF) from the original on 2018-02-09. Retrieved 25 January 2018.
  16. 16.0 16.1 Shay Gueron (University of Haifa & Intel) and Nicky Mouha (KU Leuven & NIST) (9 November 2016). "Simpira v2: A Family of Efficient Permutations Using the AES Round Function" (PDF). Archived (PDF) from the original on 2017-07-16. Retrieved 25 January 2018.
  17. "Intel SGX for Dummies (Intel SGX Design Objectives)". intel.com. 2013-09-26. Archived from the original on 2014-04-29.
  18. "BearSSL – Constant-Time Crypto". www.bearssl.org. Archived from the original on 2017-01-11. Retrieved 2017-01-10.
  19. Hachman, Mark (January 9, 2018). "Microsoft tests show Spectre patches drag down performance on older PCs". PC World. Archived from the original on February 9, 2018. Retrieved 2018-01-09.