OpenSC.tokend
ओपन सोर्स OS X स्मार्ट कार्ड ड्राइवर
एक tokend आपके स्मार्ट कार्ड पर मौजूद कुंजियों और प्रमाणपत्रों को Keychain Access.app में प्रदर्शित कराता है तथा उन्हें Safari या Chrome जैसे अनुप्रयोगों के लिए उपलब्ध कराता है। OpenSC.tokend, OpenSC से ओपन सोर्स tokend कार्यान्वयन है, जो वास्तविक दुनिया में पाए जाने वाले कई अलग-अलग PKI स्मार्ट कार्डों के लिए समर्थन प्रदान करता है।
OS X में tokend समर्थन का इतिहास
- 2005 में, OS X संस्करण 10.4 "Tiger" के साथ Apple ने तृतीय-पक्ष स्मार्ट कार्डों को अन्य देशी OS X अनुप्रयोगों के लिए उपलब्ध कराने हेतु tokend मिडलवेयर पेश किया [1]। tokend के लिए बिल्ड निर्देश सार्वजनिक रूप से उपलब्ध नहीं थे।
- OS X 10.5 "Leopard" को एक स्थिरीकरण रिलीज़ माना जा सकता है, जहाँ प्रारंभिक संस्करणों में कई बग थे जिन्होंने स्मार्ट कार्ड (जिसमें tokend भी शामिल है) का उपयोग करना वास्तव में कष्टदायक बना दिया था [2]। 10.5.6 के साथ, Apple ने अपने स्वयं के निर्मित स्मार्ट कार्ड रीडर ड्राइवर से हटकर Ludovic Rousseau द्वारा अनुरक्षित अधिक सुविधा संपन्न, वास्तविक मानक ओपन सोर्स CCID ड्राइवर अपना लिया [3], जिससे अंतर्निहित कम से कम कुछ बग कम हुए।
- OS X 10.6 "Snow Leopard" अंतिम संस्करण था जिसने tokend निर्माण के लिए आवश्यक स्रोत घटक उपलब्ध कराए (सुविधा के लिए build folder में बंडल किए गए)।
- OS X 10.7 "Lion" में Apple ने ऑपरेटिंग सिस्टम के साथ tokend-s वितरित करना बंद कर दिया [3] और साथ ही CDSA (जिस पर tokend आधारित है) और OpenSSL [4] (जिसका उपयोग OpenSC सॉफ्टवेयर क्रिप्टो संचालन के लिए करता है) दोनों को अप्रचलित (deprecated) घोषित कर दिया।
- OS X 10.8 "Mountain Lion" और OS X 10.9 "Mavericks" में Apple ने अंतर्निहित PC/SC और CCID सबसिस्टम में छोटे बदलाव किए, लेकिन अप्रचलित tokend घटक अभी भी कार्य करते रहे [5], [6]।
- OS X 10.10 "Yosemite" में OpenSC.tokend के निर्माण के लिए आवश्यक tokend कोडबेस (अधिकतर 2005..2008 से!) अभी भी कार्य करता है, इस तथ्य के बावजूद कि आश्रित घटकों को वर्षों से अपडेट नहीं किया गया है और यहाँ तक कि सिस्टम C++ कंपाइलर भी बदल चुका है। 10.10 पर समग्र अनुभव कुछ हद तक अस्थिर है, जो अंतर्निहित स्मार्ट कार्ड इंफ्रास्ट्रक्चर के पुनर्लेखन के कारण है, जो pcscd को CryptoTokenKit डेमॉन से बदलने से संबंधित है [7]। CryptoTokenKit-संगत स्मार्ट कार्ड ड्राइवर बनाने के तरीके पर कोई सार्वजनिक जानकारी उपलब्ध नहीं है (संभवतः साझा कोड और iOS पर ApplePay के एक वर्ष लंबे विक्रेता लॉक के कारण [8]?)।
- OS X 10.15 "Catalina" में tokend-s अक्षम कर दिए गए हैं और उन्हें स्पष्ट रूप से सक्षम करने की आवश्यकता है:
sudo defaults write /Library/Preferences/com.apple.security.smartcard Legacy -bool true
स्थापना
OpenSC.tokend OS X के लिए OpenSC इंस्टॉलर के साथ वितरित किया जाता है और अलग से उपलब्ध नहीं है।
निर्माण
OpenSC.tokend के निर्माण के लिए OpenSC का स्रोत कोड मौजूद होना आवश्यक है। OS X के लिए OpenSC बिल्ड स्क्रिप्ट tokend का भी निर्माण करती हैं। न्यूनतम निर्देश build script source code में उपलब्ध हैं।
लाइसेंस
OpenSC का कोड LGPL 2.1+ के अंतर्गत लाइसेंस प्राप्त है, Apple के घटक APSL 2.0 के अंतर्गत हैं।
भविष्य
संपूर्ण tokend प्रणाली अतीत का अवशेष है और निकट भविष्य में विलुप्त होने के लिए नियत है, फिर भी यह नवीनतम OS X संस्करणों के साथ अभी भी उपयोगी है और यह ज्ञात नहीं है कि Apple इसे कब बंद करेगा। भविष्य में संभवतः CryptoTokenKit प्लगइन की तर्ज पर कुछ नया आवश्यक होगा, लेकिन सार्वजनिक रूप से कोई विवरण, रोडमैप या अन्य दस्तावेज़ उपलब्ध नहीं हैं (उम्मीद है कि किसी समय यह बदलेगा)। इस बीच, क्रिप्टो-उन्मुख अनुप्रयोगों के विकास के लिए, PKCS#11 स्मार्ट कार्डों तक मानक तरीके से पहुँचने के लिए एक उपयोग योग्य (लेकिन सर्वोत्तम से बहुत दूर) विकल्प है।
सादर,
@martinpaljak