معرفي، ساختار
كارت هوشمند معمولا كارتي از جنس PVC با ابعادي در حدود 5/5 در 5/8 سانتيمتر است كه بر روي آن يا در بين لايههاي آن، تراشههاي حافظه و ريزپردازنده براي ذخيرهسازي دادهها و پردازش آنها قرارداده شده است. يك كارت هوشمند كامپيوتر كوچكي است كه بر روي يك كارت پلاستيكي نصب شده است. قرار دادن يك تراشه در كارت به جاي نوار مغناطيسي، آن را تبديل به يك كارت هوشمند با كاربردهاي گوناگون مينمايد. اين كارتها به دليل دارا بودن تراشه، قابليت كنترل عملكرد را داشته و علاوه بر نگهداري اطلاعات شخصي و تجاري كاربر، امكان پردازش را نيز فراهم مينمايد.
اختراع كارت هوشمند را براي اولين بار فردي فرانسوي با نام رولاند مورنو در سال 1974 به ثبت رساند. از آن زمان به بعد، شركتهايي نظير Bull، Honeywell،Motorola دراين زمينه به فعاليت پرداختند و در نتيجة فعاليتهاي آنها، در سال 1979 اولين كارت هوشمند ريزپردازندهاي ساخته شد. اولين استاندارد براي كارت هوشمند در سال 1986 و با عنوان ISO 789116/1 مطرح شد. استفاده از كارت هوشمند در سطح ملي براي نخستين بار در فرانسه در سال 1986 و براي كارتهاي اعتباري تلفن انجام گرفت. پس از آن، از اوايل دهة 90 ميلادي، استفاده از كارتهاي هوشمند دركشورهاي مختلف رواج پيدا كرد و به تدريج كاربردهاي جديدي براي آن پيدا شد.
بررسي ساختار و انواع
كارتهوشمند كارتي است كه از يك ريزپردازنده و چيپ حافظه و يا فقط چيپ حافظه (بدون منطق برنامهپذير) تشكيل شده است. كارت داراي ريزپردازنده ميتواند اطلاعات روي كارت را اضافه، تغيير، حذف و مديريت نمايد، درحاليكه كارت فقط داراي حافظه (مانند كارتهاي اعتباري تلفن)، ميتواند فقط يك عمليات از پيش تعريف شده را قبول كند.
كارتهاي هوشمند برخلاف كارتهاي نوار مغناطيسي، ميتوانند كليه توابع عملياتي و اطلاعات مربوطه را در خود داشته باشند، بنابراين در زمان انجام تراكنش نياز به ارتباط با بانك اطلاعاتي نخواهد داشت. در حال حاضر سه گروه (بر اساس نوع تراشه بكار رفته در آن، حافظه و ريزپردازنده) از كارتهاي هوشمند در كاربردهاي مختلف در دنيا و به صورت گسترده مورد استفاده قرار ميگيرند:
- كارتهاي داراي ريزپردازنده مدار مجتمع(Integrate Circuit (IC) Microprocessor Cards): كارتهاي ريزپردازنده (همچنين عموما در صنعت بنام chip card نامبرده ميشود) حافظه ذخيرهسازي و امنيت بيشتر ي را نسبت به كارتهاي نوار مغناطيسي فعلي ارائه ميكند. اين نوع كارتها همچنين ميتوانند داده روي كارت را پردازش نمايند. نسل فعلي و تجاري اين كارتها داراي پردازنده 8 بيتي، 16 كيلوبايت حافظه فقط-خواندني و 512 بايت حافظه دسترسي تصادفي (RAM) ميباشند، كه به آنها قابليت پردازشي معادل كامپيوترهاي IBM-XT (البته با حافظه كمتر) را ميدهد.
اين كارتها براي كاربردهاي بسيار گوناگوني استفاده ميشوند، بخصوص كاربردهايي كه در خود رمزنگاري داشته و نياز به مديريت و محاسبات روي اعداد بزرگ را دارند. بنابراين چيپ كارتها زيرساخت كارتهايي كه ابزار شناسايي ديجيتال و امن را در خود دارند، ميباشند (شكل 1). برخي از كاربردهاي اين نوع كارتها عبارتند از:
o كارتهاي اعتباري و حاوي اطلاعات مالي
o كارتهاي امنيتي و دسترسي شبكه
o كارتهاي تلفنهاي سلولار (SIM Cards)
o ROM: نگهداري سيستمعامل كارت هوشمند
o RAM: نگهداري موقت دادهها
o EEPROM: نگهداري برنامة كاربردي و دادههاي مرتبط با آن
o Security Logic: مهمترين قسمتهاي آن پردازنده امنيتي(Random Generator) و توليد كننده اعداد تصادفي(Random Generator)است.
واحد واسطة (Interface) اين كارت ممكن است به يكي از صورتهاي تماسي، غيرتماسي و يا تركيبي باشد كه وظيفة برقراري ارتباط با محيط خارج از كارت را برعهده دارد. در شكل (2) نحوة ارتباط يك واحد واسطة تماسي با CPU و واحدهاي حافظه نمايش داده شده است:
كارتهاي داراي حافظه مدار مجتمع(Integrate Circuit (IC) Memory Cards): كارتهاي حافظه مدار مجتمع ميتوانند 1 تا 4 كيلو بايت از داده را درخود نگهدارند، ولي هيچ پردازندهاي روي كارت براي عمليات روي داده ندارند. بنابراين اين نوع كارتها براي انجام پردازش وابسته به كارتخوان (كه همچنين دستگاه گيرنده كارت نيز ناميده ميشود) ميباشند و براي كاربردهايي كه در آن كارت يك عمليات ثابتي را انجام ميدهد مناسب ميباشند.
كارتهاي داراي حافظه نوري(Optical Memory Cards): اين نوع كارتها شبيح يك ديسك فشرده است كه در بالاي كارت چسبانده شده است. كارتهاي حافظه نوري ميتوانند تا 4MB اطلاعات ذخيره كنند، ولي يكبار قابل نوشتن ميباشند و داده قابل ويرايش يا حذف نميباشد. اين نوع كارتها براي كاربردهايي كه نياز به ثبت سوابق است بسيار مناسب ميباشند، مانند پروندههاي پزشكي، كارتهاي رانندگي و يا سوابق مسافرتي. در حال حاضر اين نوع كارتها هيچ پردازندهاي ندارند (هرچند كه بزودي انواع داراي حافظه نيز عرضه خواهد شد). با وجود اينكه اين نوع كارتها از نظر قيمت با كارتهاي تراشه قابل رقابت ميباشد، اما كارتخوانها از پروتكلهاي غير استاندارد استفاده ميكنند و گران ميباشند.
كارتهاي هوشمند همچنين بر اساس نحوه ارتباط با كارتخوان به صورت زير دستهبندي شده است:
كارتهاي هوشمند تماسي(Contact Smart Card): براي استفاده از اين قبيل كارتها، بايد اتصال فيزيكي بين كارت و دستگاه كارتخوان برقرار گردد. دادههاي موجود برروي كارت به صورت سريال به كارتخوان ارسال ميشود و پس از پردازش، اطلاعات جديد از طريق همان پورت به روي كارت منتقل ميشود. به عنوان نمونه، كارتهاي تلفن عمومي جزو اين دسته محسوب ميشوند. مشكل اصلي اين قبيل كارتها، خراب شدن كنتاكتهاي فلزي (محلهاي تماس) بر اثر عوامل خارجي نظير ضربه و شرايط فيزيكي محيط است.
درشكل (4) قسمتهاي موجود در كنتاكتهاي فلزي اين نوع كارت نمايش داده شده است.
كارتهاي هوشمند غيرتماسي(Contactless Smart Card): در اين نوع كارت هوشمند، ارتباط بين كارت و كارتخوان بهصورت فيزيكي بر قرار نميشود؛ بلكه از طريق ميدانهاي الكترومغناطيسي و يا امواج RF صورت ميگيرد. براي برقراي ارتباط، آنتن مخصوصي بين تراشههاي كارت قرار داده شده است كه در فاصلههاي كم، تا حدود 50 سانتيمتر، ميتواند ارتباط ايجاد كند. كاربرد اصلي اين قبيل كارتها در مواردي است كه عمليات مورد نظر بايد سريع انجام گيرد، به عنوان نمونه ميتوان به كارتهاي مترو اشاره كرد. مزيت اصلي اين قبيل كارتها علاوه بر سهولت استفاده، عمر طولانيتر و ضريب ايمني بالاتر آن است؛ زيرا در اين نوع كارت، تراشه به همراه آنتن در ميان لايههاي تشكيلدهندة كارت قرار ميگيرد.
كارتهاي هوشمند تركيبي(Dual-Interface Smart Card): اين نوع كارت تركيبي از كارتهاي هوشمند تماسي و غيرتماسي است كه با هر دو نوع دستگاههاي كارتخوان سازگار است. از اين نوع كارتها براي ساخت كارتهاي چندمنظوره استفاده مي شود.
سيستم عامل
الگوها و برنامهريزيهاي جديد در سيستم عامل كارتهاي هوشمند، سيستم عامل JavaCard است. اين سيستم عامل توسط شركت Sun Microsystem توسعه داده شده است و بعد از آن در فروم JavaCard گسترش يافته است. اين سيستم عامل بسيار مورد توجه است زيرا در معماري براي طراحان و برنامهنويسان استقلال و آزادي عمل فراهم ميآورد. همچنين برنامههاي كاربردي مبتني بر سيستم عامل جاوا ميتواند براي هر كارتهوشمندي كه سيستم عامل JavaCard را پشتيباني ميكند استفاده گردد.
امروزه بيشتر كارتهاي هوشمند براي انجام ارتباط و عمليات برنامهريزي شده ، سيستم عامل ويژه خود را استفاده ميكنند. اما براي پشتيباني واقعي از برنامههاي كاربردي، سيستمهاي عامل كارتهاي هوشمند بر اساس عملياتي كه توسط استاندارد جهاني ISO7816 فراهم گرديده، ميباشند. با اين حال براي انتقال برنامهاي كه بر اساس توليدات يك شركت سازنده كارت فراهم شده، به سيستم توليدكننده ديگر، كاري سخت و دشوار نياز خواهد بود.
مزيت ديگر سيستم عامل JavaCard اين است كه مفهوم انتشار سريع باركنش برنامه كاربردي را پشتيباني ميكند. اين قابليت امكان بروزرساني برنامه موجود در كارت بعد از توزيع كارتها به كاربر را فراهم مينمايد. نكته مهم اين است كه براي يك كاربرد خاص، فرد نياز به كارت هوشمند دارد. اما نيازهاي آتي وي، نياز به تغيير برنامههاي روي كارت را موجب خواهد شد كه با اين سيستم عامل ممكن خواهد بود.
سيستم عامل ديگري كه براي كارتهاي هوشمند فراهم شده MULTOS(Multi-Application Operating System) يا سيستم عامل چند منظوره است. همچنان كه از نام اين سيستم برميآيد، اين سيستم عامل قابليت پشتيباني چندين برنامه كاربردي را دارد. اما اين سيستم عامل براي كاربردهايي با امنيت بالا طراحي شده است و در بسياري از كشورها به ITSec E6 High دست يافته است. شركت مايكروسافت نيز در اين مسير با سيستم SmartCard for Windows قرار دارد.
اين سيستم عاملها، رابطهاي برنامههاي كاربردي درون كارتها(Card-Side API) هستند براي اجرا نمودن برنامههاي كوچك و مبتني بر كارت روي آنها. اما رابطهاي طرف كارتخوان (Reader-Side API)مانند زيرساخت OpenCard و GlobalPlatform نيز ارائه شدهاند.
برنامهنويسي
رابطهاي برنامهنويسي برنامههاي كاربردي(API) بسياري براي كارتهاي هوشمند فراهم شده است. برخي از آنها عبارتند از:
- CT-API: اين رابط به ترمينال استفاده شده روي كارت وابسته است، اما توابع عمومي كه اجازه ارتباط و تبادل داده با كارتهاي حافظه يا كارتهاي پروسسوري را ميدهند فراهم مينمايد. اين API يك رابط سطح پائين(Low-Level API) براي كارتخوان است، اما بدليل اعمال استاندارد ISO7816 و داشتن منطق برنامهنويسي ساده شبه اسمبلي، هنوز مورد استفاده قرار ميگيرد. فقط لازم است تا كدها و بستههاي داده ارسال شود و بعد از جواب دريافت خواهد شد!
- PC/SC: گروهكاري PC/Sc مسئول توسعه مشخصات و خصوصيات PC/SC است. رابطهاي مناسب و مربوط به ويندوز، MacOS و لينوكس قابل استفاده ميباشند.
- OpenCard: چارچوب OpenCard يعني OCF يك چارچوب شيءگرا براي ارتباط و تبادل داده با كارتهاي هوشمند است. OCF از قابليت ميان-عملياتي جاوا(Java Inter-operability) در بين محيطهاي مختلف براي اعمال معماري و رابطهاي توسعهدهندگان برنامههاي كاربردي يا فراهمآورندگان سرويسها استفاده ميكند.
- GlobalPlatform: اين رابط در سال 1999 توسط سازمانهايي كه به صدور كارتهاي چندمنظوره علاقهمند بودند ارائه گرديد. مهمترين هدف GlobalPlatform تعريف مشخصات و زيرساخت براي كارتهاي هوشمند چند منظوره(Multi-Application) است.
كارتهاي هوشمند و PKI
كارتهاي هوشمند محلي امن براي نگهداري اطلاعات حساس و مهم از قبيل شناسايي، اطلاعات مالي و اعتباري ميباشند، و وقتي شناسايي لازم است، بررسي PKI يا زيرساخت كليد عمومي(Public Key Infrastructure) و كارتهاي هوشمند بسيار مهم است.
مثلا در يك شركت كه داراي شعبهها، واحدها و بخشهاي بسياري است و كاركنان در آن به محدودهها و مكانهاي مرتبط خود اجازه دسترسي دارند. همچنين كاركنان به شبكه و سرورها براي انجام فعاليتهاي خود و كارهاي مختلف دسترسي خواهند داشت از قبيل ارسال نامه الكترونيكي، دسترسي به اينترنت، دسترسي به اطلاعات و بانكهاي اطلاعاتي. بنابراين كليدها، كلمههاي عبور و كدهاي امنيتي مختلفي را كاركنان بايد در اختيار داشته باشند و براي استفاده از رستوران شركت و مكانهاي رفاهي بايد هميشه پول همراه خود داشته باشند. ميتوان با استفاده از كارتهاي هوشمند چند منظوره پروسسوري (كه سيستمعامل جاوا در آن اجازه اين عمليات چندگانه را ميدهد) كليه اين عمليات امنيتي و اعتباري را مديريت نمود. بنابراين شركت بايد يك سيستم مديريت و گواهي دسترسي(CA, Certificate Authority) محلي فراهم نمايد. شكل زير يك ساختار ساده PKI را شبيه به آنچه در RFC2459 آمده نشان ميدهد:
- End entity: كاربر گواهيهاي PKI يا/و كاربر سيستمي كه موضوع يك گواهي دسترسي است
- RA: اجازه ثبت(RA, Registration Authority). يك سيستم اختياري كه CA برخي از توابع مديريتي را به آن محول نموده است. (در برخي از پيادهسازيها، جايي كه كاربر خود را در سيستم ثبت مينمايد)
- CA: گواهي دسترسي
- Repository: يك سيستم يا مجموعهاي از سيستمهاي توزيع شده كه گواهيها و ليستهاي لغو گواهي (CLR, Certificate Revocation Lists) را در خود نگه ميدارد و وسيلهاي جهت توزيع و رساندن اين گواهيها به موجوديتهاي نهايي است.
كارتهاي هوشمند محلي امن براي نگهداري اطلاعات حساس و مهم از قبيل شناسايي، اطلاعات مالي و اعتباري ميباشند، و وقتي
شناسايي لازم است، بررسي PKI يا زيرساخت كليد عمومي (Public Key Infrastructure) و كارتهاي هوشمند بسيار مهم است.
بررسي كاربردهاي كارتهاي هوشمند
كارتهاي هوشمند داراي مزايا و قابليتهاي بسياري هستند و اين باعث شده است تا بسيار مورد توجه قرارگيرد و كاربردهاي آنها بسيار گسترش يابد. برخي از مزاياي اين كارتها عبارتند از:
- اندازه: اندازه اين قبيل كارت كوچك است و نياز به حمل مدارك و پول را برطرف ميسازد.
- امنيت: به دليل وجود سيستمهاي حفاظتي روي كارت نظير رمزنگاري، از دادههاي موجود بر روي آن به خوبي محافظت ميشود.
- حجم اطلاعات قابلحمل: كارتهاي هوشمند قادرند حجم زيادتري از اطلاعات را در مقايسه با كارتهاي مغناطيسي درخود ذخيره كنند.
برخي ديگر از مزاياي كارتهاي هوشمند غيرتماسي عبارتند از :
• راهکار ايده آل برای Transaction سريع ( مانند Toll collection و Mass Transit )
• امکان برقراری ارتباط در فواصل
• كاربردهاي Hand-free
• طول عمر بيشتر کارت و Reader (بدليل عدم نياز به تماس مستقيم بين كارت و كارتخوان)
• امکان سرويس به بيش از يک شخص در آن واحد
• جلوگيری از بروز مشکل در استفاده از کارت
امروزه در بسياري ازكشورها، از كارتهاي هوشمند در كاربردهاي مختلفي استفاده ميشود، اين كاربردها به طور كلي به سه دسته طبقهبندي ميشوند:
1. كاربردهاي شناسايي: از اين كارتها براي شناسايي هويت افراد و صاحبان آنها استفاده ميشود؛ مثل كارت تردد، كارت پاركينگ.
2. كابردهاي مالي
2.1. كارتهاي پيشپرداخته: اين كارتها را كاربر ميخرد و با ارائة آن به دستگاه كارتخوان، به جاي پرداخت پول، هزينه موردنظر از موجودي كارت كسر ميشود. مانند كارت تلفن همگاني.
2.2. كارتهاي بانكي: اين كارتها را بانكها به مشتريان خود عرضه ميكنند كه معرف هويت الكترونيكي مشتري نزد بانك صادركننده است. با ارائه اين كارتها به دستگاههاي خودپرداز، مشتري ميتواند از خدمات بانك بهرهمند شود.
3. كاربردهاي نگهداري اطلاعات: دراين قبيل كارتها، كد شناسايي و اندكي از اطلاعات شخصي فرد درج شده است كه با ارائه به دستگاه كارتخوان، از اين اطلاعات استفاده ميشود. كارتهايي نظير كارت گواهينامة هوشمند، كارتهاي درمان، كارتهاي شناسنامه، كارت دانشجويي از اين نوع محسوب ميشود.
برخي مثالها از كاربردهاي كارتهاي هوشمند عبارتند از:
• کارت تلفن از نوع Contact
• سيم کارت موبایل
• بانکداری ( کارت های پرداخت Credit و Debit )
• کارت خريد
• پرداخت هزينه کانال های تلويريونی
• حمل و نقل
• كارتهاي شناسايي
كارتهاي هوشمند چند منظوره
براي تحقق دولت الكرونيك، هر فرد نياز به چندين كارت از انواع مذكور دارد؛ كارت مترو، بنزين، اتوبوس شهري، شهربازي، سلامت، شناسايي، گواهينامه، گذرنامه و انواع كارتهاي بانكي و... پيشبيني ميشود براي تحقق دولت الكترونيك اين تعداد به بيش از پانزده كارت براي هر نفر برسد. يعني هر فرد بايد همزمان چندين كارت همراه خود داشته باشد كه هر كارت توسط يك سازمان يا شركت ارائه شده است. شهروند براي تهيه و يا اصلاح هركدام از آنها بايد به محل صدور آن رفته و هزينهاي جداگانه بپردازد.
اين تعدد كارت مشكلاتي به همراه دارد از جمله:
o صرف هزينه جداگانه براي صدور هريك
o بالارفتن احتمال گم شدن يا سرقت كارت
o زحمت بيشتر شهروندان در حمل آنها و درنتيجه استقبال كمتر از آنها
o بالا رفتن مراجعات اداري شهروندان به ادارات و موسسات صادر كننده كارت
o سردرگمي شهروندان در به خاطر سپردن رمز هر كارت
طرح تجميع كارتهاي مذكور راه حلي براي حل مشكلات فوق است و علاوه برآن باعث بالا رفتن ضريب ايمني ميشود؛ زيرا وقتي بهجاي چندين كارت متعدد براي هرفرد دو يا سه كارت صادر شود:
o ميتوان در طراحي و ساخت آن كارت تدابير امنيتي بيشتري در نظر گرفت تا احتمال جعل و سوءاستفاده آنها كمتر شود.
o چون تعداد كارتهايي كه هر نفر با خود حمل ميكند اندك است احتمال گم شدن و يا فراموش شدن رمز آنها كمتر ميشود.
براي تجميع و ادغام كارتهايي كه در عصر فناوري اطلاعات هر نفر ميتواند داشته باشد و يكي از ملزومات دولت الكترونيك است، ميتوان كارتهايي را كه از حيث كاركرد در يك دسته قرار ميگيرند را در هم ادغام كرد. به عنوان مثال يك كارت هوشمند چندمنظوره دركاربردهاي زير استفاده ميشود:
o به عنوان كارت شناسايي ملي و گواهينامه رانندگي
o براي نگهداري اطلاعات گذرنامه (بدون اينكه جايگزين گذرنامه شود)
o نگهداري اطلاعات و سوابق پزشكي افراد
o پرداخت عوارض بزرگراهها، هزينة سيستمهاي حمل و نقل عمومي و غيره
o انجام تعاملات بانكي (استفاده از دستگاههاي خودپرداز ياATM )
o پرداخت هزينه خريدهاي مختصر
استانداردهاي كارتهاي هوشمند
فرآيند توسعه استانداردهاي كارتهاي هوشمند به صورت پيوسته ادامه دارد. برخي از استانداردهاي موجود در خصوص سيستمهاي كارتهوشمند عبارتند از:
· Contact Smart Card
ISO 78016
ISO 7810
مشخص کننده شکل فيزيکی کارت ،اجزای الکتريکی، پروتکل های ارتباطی و شکل فرامين ارسالی و دريافتی
· Contactless Smart Card
ISO 14443
استاندارد کارتهایی که می توانند با فاصله حداکثر 10 سانتی متر از Reader قرار بگيرد.
ISO 15693
استاندارد کارتهایی که می توانند با فاصله بيش از 10 سانتی متر از Reader قرار بگيرد.
از استانداردهايي كه بيشتر مورد ارجاع و بحث است، استاندارد ISO-7816 است. اين استاندارد ISO در مورد بررسي "كارتهاي شناسايي، كارتهاي مدار مجتمع تماسي" است و شامل قسمتهاي مختلفي است. 5 قسمت اولين آن در پيوست اين سند آمده است.
نويسنده : آقای امير رحيقي
ناشر: مهندسي شبكه همكاران سيستم

