2010-04-23 16 views
18

स्मार्टकार्ड प्रोग्रामिंग के साथ कोई कैसे प्रारंभ किया जा सकता है? मैं यहां शुरू करने के लिए आवश्यक सभी टूलकिट के बारे में पूछ रहा हूं: किताबें, ट्यूटोरियल, हार्डवेयर इत्यादिस्मार्टकार्ड प्रोग्रामिंग शुरू करना

मैं कुछ स्मार्टकार्ड प्रोग्रामर के साथ खेलने में योजना बना रहा हूं और मैं इस क्षेत्र में काफी नया हूं।

संपादित करें: मैं प्रोग्रामर में अधिक रुचि रखता हूं जो यूनिक्स-जैसे ऑपरेटिंग सिस्टम के साथ अच्छा खेलता है। साथ ही, मुझे यकीन नहीं है कि यह कैसे काम करता है ... लेकिन मैं उन्हें सी/सी ++

उत्तर

0

पर प्रोग्राम करना चाहता हूं यदि आप अपने बारे में Google पर प्रोग्रामर, कुछ नमूना कार्ड और मैनुअल प्रदान करने वाले स्मार्टकार्ड विकास किट पा सकते हैं, उचित रूप से निष्पक्ष रूप से।

यह क्रिप्टोग्राफी (विशेष रूप से सार्वजनिक-कुंजी क्रिप्टो) की समझ रखने में भी मदद करता है, और वास्तव में वास्तव में छोटे संरचनाओं में डेटा पैक करने में कुछ अभ्यास करता है।

स्मार्टकार्ड अविश्वसनीय रूप से गूंगा (एक सुरक्षित 1 केबी मेमोरी स्टोर) से काफी परिष्कृत तक है (मैंने देखा है कि विज्ञापन विज्ञापित किया गया है जो .NET ढांचे को काटता है)।

शायद सबसे अधिक इस्तेमाल किए जाने वाले स्मार्टकार्ड मिफायर द्वारा उत्पादित इकाइयां हैं जिन्हें आमतौर पर यात्रा टिकट के रूप में बनाया जाता है लेकिन लॉयल्टी कार्ड या यहां तक ​​कि एक्सेस परमिट के रूप में भी उपयोग किया जाता है।

+4

यदि आपने गुगल किया है, तो यहां वास्तविक लिंक डालना उपयोगी होगा। – kizzx2

20

जब भी मैं सुरक्षा अनुप्रयोगों में प्रयोग के लिए स्मार्ट कार्ड का उपयोग करने की यह या तो के माध्यम से किया गया है की जरूरत है:

  • माइक्रोसॉफ्ट CryptoAPI
  • एक PKCS#11 कार्ड के लिए पुस्तकालय।

माइक्रोसॉफ्ट क्रिप्टोएपीआई का उपयोग कर कार्ड तक पहुंचने के लिए एक कार्ड विशिष्ट क्रिप्टोग्राफिक सेवा प्रदाता (सीएसपी) की आवश्यकता है। सीएसपी CryptoAPI परत के नीचे बैठता है।

यदि आप 'सी/सी ++' का उपयोग कर यूनिक्स/लिनक्स पर विकास कर रहे हैं, तो आप शायद आरएसए से PKCS#11 मानक पर एक नज़र डालना चाहते हैं। मानक क्रिप्टोकी (क्रिप्टोग्राफिक टोकन इंटरफेस) नामक 'सी' एपीआई निर्दिष्ट करता है जो सभी प्रकार के क्रिप्टो उपकरणों के ऊपर एक सामान्य अमूर्तता प्रदान करता है। लगभग सभी स्मार्ट कार्ड विक्रेता अपने कार्ड के लिए एक पीकेसीएस # 11 लाइब्रेरी प्रदान करते हैं जिसे आप क्रिप्टोकी एपीआई का उपयोग करने के खिलाफ प्रोग्राम कर सकते हैं।

यदि आप निम्न स्तर पर स्मार्ट कार्ड/रीडर तक पहुंचना चाहते हैं तो आप पीसी/एससी या सीटी-एपीआई जैसे एपीआई का उपयोग कर सकते हैं।

  • पीसी/एससी वास्तविक विंडोज, लिनक्स और मैक ओएस एक्स पर लागू किया स्मार्ट कार्ड के उपयोग के लिए मानक

  • सीटी केवल API बहुत कम कार्यक्षमता प्रदान करता है; आधुनिक ऐप्स के लिए बहुत उपयुक्त नहीं है।

आप जावा एप्लेट स्मार्ट कार्ड पर चलने वाले तो आप शायद http://java.sun.com/javacard/

संसाधन है कि उपयोग

  • OpenSC का हो सकता है देखने के लिए चाहते हैं लेखन में रुचि रखते हैं पुस्तकालयों का एक सेट है और स्मार्ट कार्ड के लिए उपकरण।यह पीकेसीएस # 11 सहायक कार्ड के साथ काम करने के लिए डिज़ाइन किया गया है। ओपनसीटी कार्ड पाठकों के लिए ड्राइवर प्रदान करता है, और टोकन जो कार्ड और एक पाठक (यानी यूएसबी टोकन, और अन्य 'पूर्ण' डिवाइस) शामिल होते हैं।

  • http://www.linuxnet.com/ मांसपेशी - एक linux वातावरण में स्मार्ट कार्ड के उपयोग के लिए आंदोलन

  • PKCS#15 - क्रिप्टोग्राफिक टोकन सूचना स्वरूप स्टैंडर्ड

  • Smart Card Handbook

  • एक presentation on PKCS#11 में आरएसए conf में दिया 200 9।

  • PyKCS11 एक पाई पीकेसीएस # 11 के आसपास थोन रैपर। इस प्रकार के रैपर सीधे क्रिप्टोकी स्तर पर काम करने की तुलना में एक सरल उच्च स्तरीय इंटरफ़ेस प्रदान कर सकते हैं।

  • Smart Card Alliance

+0

एक बहुत ही जानकारीपूर्ण उत्तर के लिए धन्यवाद! बस स्पष्ट करने के लिए, ओपनएससी "पीकेसीएस # 11 सहायक कार्ड" को लक्षित नहीं करता है (पीकेसीएस # 11 एक सॉफ्टवेयर इंटरफेस है, कार्ड लेआउट नहीं है या मानक या इस तरह का उपयोग नहीं है)। –

+0

क्या हम कृपया अंतहीन जीवनकाल पढ़ने की किताबों के बजाय कृपया कुछ सी ++/सी कोड डाल सकते हैं? – YumYumYum

3

जावा, SmartCard बाजार में एक बड़ी पकड़ पाने के लिए शुरुआत है (आईबीएम) की तरह बहुत बड़ा खिलाड़ियों ने धक्का दे दिया।

ऐसे पूरे देश हैं जहां लोग अपनी जेब में जावा कार्ड ले रहे हैं। उदाहरण के लिए 10 मिलियन से अधिक बेल्जियम नागरिक हैं जिनके साथ अनिवार्य है- राष्ट्रीय आईडी कार्ड एक जावा कार्ड है जिसे बेप्लिक "एप्लेट" चला रहा है।

यदि मुझे गलत नहीं लगता है कि संपूर्ण ब्राज़ीलियाई स्वास्थ्य देखभाल प्रणाली जावा कार्ड पर भी आधारित है।

SmartCard और लिनक्स के बारे में, यहाँ लिनक्स SmartCard howto है (ध्यान दें कि कि howto हर जगह "जावा" कीवर्ड से भरा हुआ है):

http://www.faqs.org/docs/Linux-HOWTO/Smart-Card-HOWTO.html

तो फिर वहाँ एक .pdf "तलाश स्मार्टकार्डस" कहा जाता है जून 2008 से जो "स्मार्टकार्ड" दुनिया की बड़ी गड़बड़ी पर एक नज़र डालता है और मूल रूप से यह बताते हुए शुरू होता है कि "स्मार्टकार्ड" "कंप्यूटर" कहने के रूप में वर्णनात्मक है: यानी, यह बहुत वर्णनात्मक नहीं है;)

0

उत्तर देने में बहुत देर हो चुकी है लेकिन मैं @bignum के जवाब में एक ऐड-ऑन देना चाहता हूं।

ठीक है, आप जावा स्मार्ट कार्ड विकास के साथ खेलना शुरू कर सकते हैं और मैं शुरुआती और डेवलपर्स के बारे में जानने के लिए एक अच्छी किताब को फिर से तैयार करना चाहता हूं। "Java Card Technology for Smart Cards"।

यदि आपका जेब बजट अनुमति देता है तो आप उपरोक्त पुस्तक से प्राप्त ज्ञान का उपयोग करके स्मार्टकार्ड एप्लेट के शोध और विकास के लिए "Mobile Security Card" खरीद सकते हैं।

और आप पहले हाथ अनुभव के लिए Googlecode पर होस्ट किए गए स्मार्ट कार्ड एपीआई प्रोजेक्ट SEEK FOR ANDROID का भी उपयोग या उपयोग कर सकते हैं।

संबंधित मुद्दे