इस प्रोटोकॉल में, उपयोगकर्ताओं को प्रमाणित करने की आवश्यकता होती है। वे ऐसा पासवर्ड, निजी आरएसए कुंजियों वाली फाइलों, लेजर नैनो एस और लेजर नैनो एक्स आदि जैसे हार्डवेयर उपकरणों के साथ कर सकते हैं।
कुछ प्रमाणीकरण साधन दूसरों की तुलना में अधिक सुरक्षित हैं: एक निजी कुंजी को स्टोर करने के लिए डिज़ाइन किए गए हार्डवेयर डिवाइस का उपयोग करना इसे कभी भी निकालना संभव नहीं है, एक फ़ाइल में निजी कुंजी को संग्रहीत करने की तुलना में अधिक सुरक्षित है। दुर्भाग्य से सबसे सुरक्षित वाले भी उपयोग करने के लिए अधिक दर्दनाक हैं। जिन उपयोगकर्ताओं के पास डिवाइस पर उनकी चाबियां हैं, उन्हें डिवाइस को अपने साथ ले जाने की आवश्यकता है, हर बार जब वे एसएसएच सत्र शुरू करते हैं, तो उन्हें अपना पिन कोड टाइप करने की आवश्यकता होती है। इससे उपयोग के मामलों के लिए पासवर्ड और फाइलों की तुलना में अधिक सुरक्षित तरीकों की वकालत करना काफी मुश्किल हो जाता है पहुंच की सुरक्षा प्राथमिकता नहीं है।
तो सवाल यह है: क्या उपयोगकर्ता अनुभव को बदले बिना प्रमाणीकरण सामग्री को एक फ़ाइल (जिसे कुछ मैलवेयर द्वारा चुराया जा सकता है) की तुलना में अधिक सुरक्षित रूप से संग्रहीत करना संभव है?
और जवाब है: हाँ, टीपीएम का उपयोग करना!
कुछ इतिहास
काफी समय से, कंप्यूटर सीधे एक सुरक्षा चिप एम्बेड करने में सक्षम हैं। ट्रस्टेड प्लेटफॉर्म मॉड्यूल (TPM) नाम की यह चिप, सार्वजनिक कुंजी क्रिप्टोग्राफी में उपयोग की जाने वाली निजी कुंजियों की सुरक्षा करने की क्षमता सहित कई सुविधाएँ प्रदान करती है।
चूंकि यह कंप्यूटर में एम्बेडेड है, इसका उपयोग करने के लिए कंप्यूटर में डिवाइस को प्लग करने की कोई आवश्यकता नहीं है। इसलिए इसे एक हार्डवेयर डिवाइस की तुलना में कम सुरक्षित माना जाता है जिसे कंप्यूटर से अलग स्थान पर संग्रहीत किया जा सकता है (यह इस सिद्धांत को लागू करने में सक्षम बनाता है कि डिवाइस कंप्यूटर से जुड़ा नहीं है, कोई मैलवेयर इसमें संग्रहीत रहस्यों का उपयोग नहीं कर सकता है)।
तो टीपीएम "सर्वश्रेष्ठ सुरक्षा" नहीं है, लेकिन यह अभी भी फाइलों का उपयोग करने की तुलना में कहीं अधिक सुरक्षित है $HOME/.ssh/id_rsa
निजी चाबियों को स्टोर करने के लिए।
Linux पर OpenSSH के साथ TPM का उपयोग कैसे किया जा सकता है? नाम के एक प्रोजेक्ट के साथ tpm2-pkcs11
, निम्नलिखित निर्देश कई वेबसाइटों पर कई वर्षों से उपलब्ध हैं, जिनमें इसके कोड रिपॉजिटरी से आधिकारिक दस्तावेज.
अब, क्या खबर है? यह सॉफ्टवेयर अब अंततः उबंटू और डेबियन में पैक किया गया है, जो अंततः इसे अधिकांश लिनक्स उपयोगकर्ताओं के लिए उपलब्ध कराता है!
अधिक सटीक यहाँ एक समयरेखा है:
- 2014 में, टीपीएम 2.0 के लिए मुख्य विनिर्देश प्रकाशित किए गए थे। सॉफ्टवेयर से एक टीपीएम के साथ बातचीत करने के लिए, एक मानकीकरण का प्रयास किया गया था, और दो असंगत सॉफ्टवेयर स्टैक बनाए गए थे: एक ट्रस्टेड कंप्यूटिंग ग्रुप (टीसीजी) से, जिसे कहा जाता है टीपीएम सॉफ्टवेयर स्टैक (TSS), और IBM से एक को भी कॉल किया जाता है टीपीएम सॉफ्टवेयर स्टैक.
- 2018 में, परियोजना
tpm2-pkcs11
टीसीजी के टीएसएस का उपयोग करके टीपीएम 11 को पीकेसीएस#2.0 इंटरफेस प्रदान करने के लिए बनाया गया था। PKCS # 11 एक मानक है जो एक एप्लीकेशन प्रोग्रामिंग इंटरफेस (एपीआई) नाम को परिभाषित करता है क्रिप्टोकी क्रिप्टोग्राफ़िक कुंजियों को संग्रहीत करने वाले टोकन का उपयोग करने के लिए। जैसा कि OpenSSH ने उपयोगकर्ता प्रमाणीकरण करने के लिए PKCS#11 इंटरफ़ेस का उपयोग करके समर्थित किया है, यह SSH प्रमाणीकरण के लिए उपयोग की जाने वाली कुंजियों को संग्रहीत करने के लिए TPM का उपयोग करके सक्षम किया गया है। - फ़रवरी 2019 में,
tpm2-pkcs11
में जोड़ा गया था फेडोरा 29. - सितंबर 2019 में, इस पैकेज के साथ CentOS 8 जारी किया गया था।
- अप्रैल 2020 में,
tpm2-pkcs11
में जोड़ा गया था डेबियन पैर. दुर्भाग्य से इसमें कार्यक्रम शामिल नहीं थाtpm2_ptool
जो आसानी से चाबियां बनाने के लिए जरूरी है। में यह समस्या बताई गई थी डेबियन बग #968310. - जनवरी 2021 में डेबियन का पैकेज था तय (और अनुरक्षक ने मेरी मदद स्वीकार की!)।
- अप्रैल 2021 में, उबंटू 21.04 हिरसूते हिप्पो के साथ जारी किया गया था निश्चित पैकेज.
- अगस्त 2021 में, डेबियन 11 बुल्सआई के साथ जारी किया गया था निश्चित पैकेज
अभी tpm2-pkcs11
डेबियन, उबंटू और सूचीबद्ध कई अन्य लिनक्स वितरणों पर उपलब्ध है रेपोलोजी.
Tpm2-pkcs11 का उपयोग करना
डेबियन 11 पर, टीपीएम द्वारा सुरक्षित रूप से संग्रहीत एक नई एसएसएच कुंजी उत्पन्न करने और उपयोग करने के चरण यहां दिए गए हैं:
- कमांड इंस्टॉल करें
tpm2_ptool
और पुस्तकालयlibtpm2_pkcs11.so.1
, जो दो पैकेजों द्वारा प्रदान किए जाते हैं:
2. जांचें कि सिस्टम टीपीएम 2.0 का उपयोग कर सकता है। यदि निम्न में से कोई एक जाँच विफल हो जाती है, तो इसका मतलब यह हो सकता है कि सिस्टम में TPM नहीं है, या TPM 1.2 है, या TPM 2.0 है जो BIOS सेटिंग्स में अक्षम है:
3. वर्तमान उपयोगकर्ता को उस समूह में जोड़ें जो टीपीएम डिवाइस तक पहुंच सकता है /dev/tpmrm0
. डेबियन और उबंटू पर, उपयोगकर्ताओं को नामित समूह से संबंधित होना चाहिए tss
(द्वारा प्रदान की गई कॉन्फ़िगरेशन के लिए धन्यवाद tpm-udev
पैकेज). निम्न आदेश वर्तमान उपयोगकर्ता को इस समूह में जोड़ता है:
एक पासवर्ड और एक द्वारा संरक्षित एक उपयोगकर्ता स्टोर प्रारंभ करें सोपिन और एक कुंजी बनाएं, उदाहरण के लिए "NIST P-256" ("secp256r1" के रूप में भी जाना जाता है) नामक वक्र पर एक अंडाकार वक्र कुंजी:
4. संक्षिप्त सोपिन साधन सुरक्षा अधिकारी व्यक्तिगत पहचान संख्या और PKCS#11 के विनिर्देशन से एक अवधारणा है। सरल उपयोग के मामलों में, इसे "पुनर्प्राप्ति पासवर्ड" के रूप में देखा जा सकता है जो पासवर्ड को संशोधित करने में सक्षम बनाता है, उदाहरण के लिए यह खो गया है।
5. इस नई कुंजी की सार्वजनिक कुंजी प्रदर्शित करें:
6. सर्वर में नई सार्वजनिक कुंजी को कॉन्फ़िगर करें, उदाहरण के लिए इसे लिखकर $HOME/.ssh/authorized_keys
या GitHub की खाता सेटिंग में या किसी अन्य स्थान पर जहाँ SSH सार्वजनिक कुंजियों का उपयोग किया जाता है।
7. उपयोग करने के लिए SSH क्लाइंट को कॉन्फ़िगर करें tpm2-pkcs11
सर्वर से कनेक्ट करने के लिए, उदाहरण के लिए इसे लिखकर $HOME/.ssh/config
(ग्राहक की ओर):
सर्वर से कनेक्ट करें (एनबी पिछले चरण को छोड़ दिया जा सकता है:
भविष्य का कार्य
पिछले खंड में टीपीएम में एक नई कुंजी बनाने का तरीका बताया गया है। जबकि यह SSH प्रमाणीकरण की सुरक्षा के लिए TPM का उपयोग करने में सक्षम बनाता है, निजी कुंजियों को संग्रहीत करने के लिए फ़ाइलों का उपयोग करने के लिए इसे एक वास्तविक विकल्प बनाने के लिए दो विशेषताएं आवश्यक हैं:
- फ़ीचर # 1: नए बनाने के बजाय मौजूदा SSH कुंजियों को TPM में आयात करना (जो TPM स्टोरेज में सहज संक्रमण को सक्षम बनाता है, कुंजियों का बैकअप लेना, कंप्यूटर के टूट जाने या खो जाने आदि की स्थिति में)।
- फ़ीचर #2: पासवर्ड के बिना SSH कुंजियों का उपयोग करना, जैसे असुरक्षित निजी कुंजी फ़ाइलें (यह सुविधा कुंजी फ़ाइलों की तुलना में अधिक सुरक्षित है क्योंकि संरक्षित कुंजी को TPM से नहीं निकाला जा सकता है)।
मैंने दोनों सुविधाओं को लागू किया tpm2-pkcs11
और उन्हें पुल अनुरोधों में सबमिट किया #681 और #695. फ़ीचर #1 को मई में साप्ताहिक ऑनलाइन कॉल के दौरान भी प्रस्तुत किया गया था टीपीएम देव समुदाय और रिकॉर्डिंग पर उपलब्ध है https://developers.tpm.dev/posts/14389750.
इसलिए दोनों सुविधाओं के भविष्य के रिलीज में उपलब्ध होने की संभावना है tpm2-pkcs11
.
वैसे, जिज्ञासु पाठकों के लिए जो आंतरिक रूप से समझना चाहते हैं tpm2-pkcs11
, मैंने SSTIC 2021 सम्मेलन में उनके बारे में एक लेख प्रकाशित किया, जिसका नाम है TPM 2.0 के साथ SSH प्रमाणीकरण की सुरक्षा (अंग्रेजी में लेख, फ्रेंच में प्रस्तुति). इसके अलावा जो पाठक वास्तविक टीपीएम को छुए बिना चीजों को आजमाना चाहते हैं, वे इस लेख के "टीपीएम 2.0 का अनुकरण" खंड में रुचि ले सकते हैं।
(चित्रण: रेनर नैपर, फ्री आर्ट लाइसेंस)
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोआईस्ट्रीम। Web3 डेटा इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- मिंटिंग द फ्यूचर डब्ल्यू एड्रिएन एशले। यहां पहुंचें।
- PREIPO® के साथ PRE-IPO कंपनियों में शेयर खरीदें और बेचें। यहां पहुंचें।
- स्रोत: https://www.ledger.com/blog/ssh-with-tpm
- :हैस
- :है
- :नहीं
- :कहाँ
- $यूपी
- 1
- 11
- 13
- 14
- 15% तक
- 2014
- 2018
- 2019
- 2020
- 2021
- 30
- 8
- 80
- a
- क्षमता
- योग्य
- About
- पहुँच
- लेखा
- स्वीकृत
- जोड़ना
- जोड़ा
- जोड़ता है
- वकील
- भी
- वैकल्पिक
- an
- और
- जवाब
- कोई
- एपीआई
- आवेदन
- अप्रैल
- हैं
- कला
- लेख
- AS
- At
- अगस्त
- प्रमाणीकृत
- प्रमाणीकरण
- उपलब्ध
- समर्थन
- BE
- बन
- किया गया
- के छात्रों
- टूटा
- दोष
- लेकिन
- by
- कॉल
- कर सकते हैं
- नही सकता
- ले जाना
- मामला
- मामलों
- सीजीआई
- बदलना
- चेक
- जाँचता
- टुकड़ा
- ग्राहक
- कोड
- कंप्यूटर
- कंप्यूटर्स
- कंप्यूटिंग
- संकल्पना
- सम्मेलन
- विन्यास
- जुडिये
- जुड़ा हुआ
- माना
- सका
- बनाना
- बनाया
- बनाना
- क्रिप्टोग्राफिक
- क्रिप्टोग्राफी
- जिज्ञासु
- वर्तमान
- वक्र
- परिभाषित करता है
- बनाया गया
- देव
- युक्ति
- डिवाइस
- डीआईडी
- विभिन्न
- मुश्किल
- सीधे
- विकलांग
- डिस्प्ले
- वितरण
- do
- दस्तावेज़ीकरण
- कर देता है
- दौरान
- आसानी
- प्रयास
- अंडाकार का
- एम्बेड
- एम्बेडेड
- सक्षम
- सक्षम बनाता है
- लागू करने
- अंग्रेज़ी
- आदि
- कभी
- प्रत्येक
- उदाहरण
- मौजूदा
- अनुभव
- उद्धरण
- विफल रहता है
- Feature
- विशेषताएं
- फरवरी
- पट्टिका
- फ़ाइलें
- अंत में
- तय
- निम्नलिखित
- के लिए
- मुक्त
- फ्रेंच
- से
- भविष्य
- उत्पन्न
- GitHub
- समूह
- हार्डवेयर
- हार्डवेयर डिवाइस
- हार्डवेयर डिवाइस
- है
- यहाँ उत्पन्न करें
- कैसे
- How To
- एचटीएमएल
- http
- HTTPS
- i
- आईबीएम
- पहचान
- if
- कार्यान्वित
- का आयात
- in
- सहित
- असंगत
- आरंभ
- बजाय
- निर्देश
- बातचीत
- रुचि
- इंटरफेस
- में
- मुद्दा
- IT
- आईटी इस
- जनवरी
- जनवरी 2021
- जेपीजी
- कुंजी
- Instagram पर
- जानने वाला
- खाता
- लेजर नैनो
- लेजर नैनो एस
- लेजर नैनो एक्स
- कम
- पसंद
- संभावित
- लिनक्स
- सूचीबद्ध
- स्थान
- खोया
- मुख्य
- बनाना
- बनाता है
- निर्माण
- मैलवेयर
- बहुत
- सामग्री
- अधिकतम-चौड़ाई
- मई..
- मतलब
- साधन
- मॉड्यूल
- अधिक
- और भी
- अधिकांश
- बहुत
- my
- नामांकित
- नैनो
- आवश्यक
- आवश्यकता
- जरूरत
- नया
- समाचार
- नहीं
- अभी
- of
- अफ़सर
- on
- ONE
- लोगों
- ऑनलाइन
- or
- आदेश
- अन्य
- अन्य
- पैकेज
- पैक
- संकुल
- दर्दनाक
- पासवर्ड
- पासवर्ड
- निष्पादन
- स्टाफ़
- जगह
- मंच
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- प्लग
- संभव
- ठीक - ठीक
- प्रदर्शन
- प्रस्तुत
- पिछला
- सिद्धांत
- प्राथमिकता
- निजी
- निजी कुंजी
- निजी कुंजी
- प्रोग्रामिंग
- परियोजना
- रक्षा करना
- संरक्षित
- संरक्षण
- प्रोटोकॉल
- प्रदान करना
- बशर्ते
- प्रदान करता है
- सार्वजनिक
- सार्वजनिक कुंजी
- सार्वजनिक कुंजी
- प्रकाशित
- प्रश्न
- पाठकों
- वास्तविक
- रिकॉर्डिंग
- और
- रिहा
- की सूचना दी
- अपेक्षित
- आरएसए
- s
- अनुभाग
- सुरक्षित
- सुरक्षित रूप से
- सुरक्षा
- देखा
- सितंबर
- सत्र
- सेटिंग्स
- कई
- पक्ष
- सरल
- So
- सॉफ्टवेयर
- कुछ
- विनिर्देश
- विनिर्देशों
- ढेर
- मानक
- कदम
- कदम
- फिर भी
- चुराया
- भंडारण
- की दुकान
- संग्रहित
- प्रस्तुत
- ऐसा
- समर्थित
- प्रणाली
- से
- धन्यवाद
- कि
- RSI
- द वीकली
- लेकिन हाल ही
- उन
- वहाँ।
- इसलिये
- वे
- चीज़ें
- इसका
- पहर
- समय
- सेवा मेरे
- टोकन
- छू
- संक्रमण
- विश्वस्त
- कोशिश
- दो
- टाइप
- Ubuntu
- समझना
- दुर्भाग्य से
- उपयोग
- प्रयुक्त
- उपयोगकर्ता
- उपयोगकर्ता अनुभव
- उपयोगकर्ताओं
- का उपयोग
- करना चाहते हैं
- था
- मार्ग..
- तरीके
- वेबसाइटों
- साप्ताहिक
- थे
- कब
- कौन कौन से
- जब
- कौन
- साथ में
- बिना
- लिख रहे हैं
- X
- साल
- हाँ
- जेफिरनेट