ساختار کارتهای هوشمند

ساختار کارتهای هوشمند

توسط z_naderolaslie | گروه الکترونیک | 1394/06/07

نظرات 0

نحوه کارکرد کارتهای هوشمند

نوار مغناطیسی پشت کارت اعتباری چگونه کار می کند؟

نواری که در پشت کارت های اعتباری وجود دارد یک نوار مغناطیسی است که magstripe خوانده می شود. این نوار مغناطیسی از یک ذره های  ریزی مبتنی بر آهن که در لایه ای از پلاستیک پوشانده شده است ساخته شده اند. هر ذره در واقع یک مغناطیس لوله ای است که حدود 20 هزار هزارم اینچ می باشد. 
 
در روی کارت اعتباری شما اعدادی وجود دارد که معنی آن در مثال آمده است. 
 
در پشت کارت شما یک نوار مغناطیسی و یک محل برای امضاء دارنده کارت وجود دارد. 
نوار مغناطیسی قابل نوشتن می باشد زیرا مغناطیس میله ها قابلیت مغناطیسی شدن دارند. نوار مغناطیسی پشت کارت بسیار شبیه نوار کاست است که محکم پشت کارت چسبیده است. 
به جای اینکه موتور نوار را بخواند دست شما که کارت را در دستگاه کارت خوان(مثلا در پمپ بنزین) حرکت میدهد. باعث خواندن اطلاعات می شود. 
آنها از 3 شیار در روی نوار مغناطیسی استفاده می کند که دارای استاندارد سازمان بین المللی استاندارها و کنفدراسیون بین المللی الکترونیک(ISO/IEC) می باشد که در بانکهابه شرح زیر استفاده می شود : 
- شیار اول شامل 210 بیت در اینچ(bpi) و و 70 شش-بیت بعلاوه بیت توازن فقط خواندنی را نگهداری می کند. 
- شیار دوم شامل 75 بیت در اینچ و 40 چهار-بیت بعلاوه بیت توازن را نگهداری میکند. 
- شیار سوم شامل 210 بیت در اینچ و 107 چهار-بیت بعلاوه بیت توازن را نگهداری می کند 
کارت اعتباری شما معمولا از شیار اول و دوم استفاده می کند. شیار سوم برای خواندن و نوشتن(از قبیل کد رمز ، کد کشور ، پول رایج ، مبلغ مجاز را نگهداری میکند) ، اما این به عنوان یک استاندارد در بین بانکها نیست. 
اطلاعات شیار اول شامل دو نوع قالب می باشد. الف - اطلاعات رزرو برای مالک کارت که توسط صادر کننده کارت استفاده میشود. ب - که شامل موارد زیر است : 
- آغاز نگهبانی : 1 کاراکتر 
قالب کد : 1 کاراکتر(فقط حزوف الفبا) 
- شماره حساب اصلی : تا 19 کاراکتر 
- جداکننده : 1 کاراکتر 
- کد کشور : 3 کاراکتر 
- نام : 2 تا 26 کاراکتر 
- جداکننده : 1 کاراکتر 
- تاریخ انقضا یا جدا کننده : 4 کاراکتر یا 1 کاراکتر 
- داده های احتیاطی : حداکثر 79 کاراکتر 
- پایان نگهبانی : 1 کاراکتر 
- مقابله با افزونگی طولی(LRC)  : یک کاراکتر 
قالب شیار دوم توسط صنعت بانک به شرح زیر ایجاد گشته است : 
- آغاز نگهبانی : 1 کاراکتر 
- شماره حساب اصلی : تا 19 کاراکتر 
- جداکننده : 1 کاراکتر 
- کد کشور : 3 کاراکتر 
- تاریخ انقضا یا جدا کننده : 4 کاراکتر یا 1 کاراکتر 
- داده های احتیاطی : حداکثر 40 کاراکتر 
- مقابله با افزونگی طولی(LRC)  : یک کاراکتر 
زمانی که شرکت پذیرنده کارت ، اطلاعات کارت را دریافت می کند. در تراکنش ، اعتبار و داده های موجود در نوار مغناطیسی شامل موارد زیر را کنترل می شوند : 
- مشخصه تاجر 
- صحت شماره کارت 
- محدودیت کارت اعتباری 
- مورد استفاده کارت 
در یک تراکنش با استفاده از خطوط تلفن 1200 تا 2400 بایت در ثانیه پردازش می شود و زمانی که مستقیما از طرف اینترنت متصل شود سرعت با استفاده از پروتوکل های خاص سریعتر می شود. در این سیستم دارنده کارت شماره شناسایی امنیتی خود را با استفاده از صفحه کلید وارد می کند. 
اگر دستگاه خودپرداز(ATM) کارت شما را قبول نکرد یکی از مشکلات زیر برای کارتتان بوجود آمده است: 
- نوار مغناطیسی کثیف یا خراشیده شده است. 
- اطلاعات نوار مغناطیسی پاک شده است(این عمل معمولا به علت قرار گرفتن در میدان مغناطیسی اتفاق افتاده است.
 
 اجزای تشکیل دهنده کارتهای هوشمند

● معرفی، ساختار
کارت هوشمند معمولا کارتی از جنس PVC با ابعادی در حدود ۵/۵ در ۵/۸ سانتی‌متر است که بر روی آن یا در بین لایه‌های آن، تراشه‌های حافظه و ریز‌پردازنده برای ذخیره‌سازی داده‌ها و پردازش آنها قرارداده شده است. یک کارت هوشمند کامپیوتر کوچکی است که بر روی یک کارت پلاستیکی نصب شده است. قرار دادن یک تراشه در کارت به جای نوار مغناطیسی، آن را تبدیل به یک کارت هوشمند با کاربردهای گوناگون می‌نماید. این کارت‌ها به دلیل دارا بودن تراشه، قابلیت کنترل عملکرد را داشته و علاوه بر نگهداری اطلاعات شخصی و تجاری کاربر، امکان پردازش را نیز فراهم می‌نماید.
 
اختراع کارت هوشمند را برای اولین بار فردی فرانسوی با نام رولاند مورنو در سال ۱۹۷۴ به ثبت رساند. از آن زمان به بعد،‌ شرکت‌هایی نظیر Bull،‌ Honeywell،Motorola دراین زمینه به فعالیت پرداختند و در نتیجة فعالیت‌های آنها، در سال ۱۹۷۹ اولین کارت هوشمند ریز‌پردازنده‌ای ساخته شد. اولین استاندارد برای کارت هوشمند در سال ۱۹۸۶ و با عنوان ISO ۷۸۹۱۱۶/۱ مطرح شد. استفاده از کارت هوشمند در سطح ملی برای نخستین بار در فرانسه در سال ۱۹۸۶ و برای کارت‌های اعتباری تلفن انجام گرفت. پس از آن، از اوایل دهة ۹۰ میلادی، استفاده از کارت‌های هوشمند درکشور‌های مختلف رواج پیدا کرد و به تدریج کاربرد‌های جدیدی برای آن پیدا شد.

● بررسی ساختار 
کارت‌هوشمند کارتی است که از یک ریزپردازنده و چیپ حافظه و یا فقط چیپ حافظه (بدون منطق برنامه‌پذیر) تشکیل شده است. کارت دارای ریزپردازنده می‌تواند اطلاعات روی کارت را اضافه، تغییر، حذف و مدیریت نماید، درحالیکه کارت فقط دارای حافظه (مانند کارت‌های اعتباری تلفن)، می‌تواند فقط یک عملیات از پیش تعریف شده را قبول کند.
 
کارت‌های هوشمند برخلاف کارت‌های نوار مغناطیسی، می‌توانند کلیه توابع عملیاتی و اطلاعات مربوطه را در خود داشته باشند، بنابراین در زمان انجام تراکنش نیاز به ارتباط با بانک اطلاعاتی نخواهد داشت. در حال حاضر سه گروه (بر اساس نوع تراشه بکار رفته در آن، حافظه و ریزپردازنده) از کارت‌های هوشمند در کاربردهای مختلف در دنیا و به صورت گسترده مورد استفاده قرار می‌گیرند:
ـ کارت‌های دارای ریزپردازنده مدار مجتمع(Integrate Circuit (IC) Microprocessor Cards): کارت‌های ریزپردازنده (همچنین عموما در صنعت بنام chip card نامبرده می‌شود) حافظه ذخیره‌سازی و امنیت بیشتر ی را نسبت به کارت‌های نوار مغناطیسی فعلی ارائه می‌کند. این نوع کارت‌ها همچنین می‌توانند داده روی کارت را پردازش نمایند. نسل فعلی و تجاری این کارت‌ها دارای پردازنده ۸ بیتی، ۱۶ کیلوبایت حافظه فقط-خواندنی و ۵۱۲ بایت حافظه دسترسی تصادفی (RAM) می‌باشند، که به آن‌ها قابلیت پردازشی معادل کامپیوترهای IBM-XT (البته با حافظه کمتر) را می‌دهد.
 
 cpu
 
 
این کارت‌ها برای کاربردهای بسیار گوناگونی استفاده می‌شوند، بخصوص کاربردهایی که در خود رمزنگاری داشته و نیاز به مدیریت و محاسبات روی اعداد بزرگ را دارند. 
 cardreader
 
بنابراین چیپ کارت‌ها زیرساخت کارت‌هایی که ابزار شناسایی دیجیتال و امن را در خود دارند، می‌باشند. برخی از کاربردهای این نوع کارت‌ها عبارتند از:
▪ کارت‌های اعتباری و حاوی اطلاعات مالی
▪ کارت‌های امنیتی و دسترسی شبکه
▪ کارت‌های تلفن‌های سلولار (SIM Cards)
 
▪ نگهداری سیستم‌عامل کارت هوشمند
▪ نگهداری موقت داده‌ها
▪ نگهداری برنامة کاربردی و داده‌های مرتبط با آن
▪ Security Logic: مهمترین قسمت‌های آن پردازنده امنیتی(Random Generator) و تولید کننده اعداد تصادفی(Random Generator)است.
واحد واسطة (Interface) این کارت ممکن است به یکی از صورت‌های تماسی، غیرتماسی و یا ترکیبی باشد که وظیفة برقراری ارتباط با محیط خارج از کارت را برعهده دارد.   نحوة ارتباط یک واحد واسطة تماسی با CPU و واحد‌های حافظه نمایش داده شده است:
 
ـ کارت‌های دارای حافظه مدار مجتمع(Integrate Circuit (IC) Memory Cards):
کارت‌های حافظه مدار مجتمع می‌توانند ۱ تا ۴ کیلو بایت از داده را درخود نگه‌دارند، ولی هیچ پردازنده‌ای روی کارت برای عملیات روی داده ندارند. بنابراین این نوع کارت‌ها برای انجام پردازش وابسته به کارت‌خوان (که همچنین دستگاه گیرنده کارت نیز نامیده می‌شود) می‌باشند و برای کاربردهایی که در آن کارت یک عملیات ثابتی را انجام می‌دهد مناسب می‌باشند.
 
ـ کارت‌های دارای حافظه نوری(Optical Memory Cards):
این نوع کارت‌ها شبیح یک دیسک فشرده است که در بالای کارت چسبانده شده است. کارت‌های حافظه نوری می‌توانند تا ۴MB اطلاعات ذخیره کنند، ولی یکبار قابل نوشتن می‌باشند و داده قابل ویرایش یا حذف نمی‌باشد. این نوع کارت‌ها برای کاربردهایی که نیاز به ثبت سوابق است بسیار مناسب می‌باشند، مانند پرونده‌های پزشکی، کارت‌های رانندگی و یا سوابق مسافرتی. در حال حاضر این نوع کارت‌ها هیچ پردازنده‌ای ندارند (هرچند که بزودی انواع دارای حافظه نیز عرضه خواهد شد). با وجود اینکه این نوع کارت‌ها از نظر قیمت با کارت‌های تراشه قابل رقابت می‌باشد، اما کارت‌خوان‌‌ها از پروتکل‌های غیر استاندارد استفاده می‌کنند و گران می‌باشند.
 
● کارت‌های هوشمند همچنین بر اساس نحوه ارتباط با کارت‌خوان به صورت زیر دسته‌بندی شده است:
ـ کارت‌های هوشمند تماسی(Contact Smart Card): برای استفاده از این قبیل کارت‌ها، باید اتصال فیزیکی بین کارت و دستگاه کارت‌خوان برقرار گردد. داده‌های موجود برروی کارت به صورت سریال به کارت‌خوان ارسال می‌شود و پس از پردازش، اطلاعات جدید از طریق همان پورت به روی کارت منتقل می‌شود. به عنوان نمونه، کارت‌های تلفن‌ عمومی جزو این دسته محسوب می‌شوند. مشکل اصلی این قبیل کارت‌ها،‌ خراب شدن کنتاکت‌های فلزی (محل‌های تماس) بر اثر عوامل خارجی نظیر ضربه و شرایط فیزیکی محیط است.
- کارت‌های هوشمند غیرتماسی(Contactless Smart Card): در این نوع کارت ‌هوشمند، ارتباط بین کارت و کارت‌خوان به‌صورت فیزیکی بر قرار نمی‌شود؛ بلکه از طریق میدان‌های الکترومغناطیسی و یا امواج RF صورت می‌گیرد. برای برقرای ارتباط،‌ آنتن مخصوصی بین تراشه‌های کارت قرار داده شده است که در فاصله‌های کم، تا حدود ۵۰ سانتیمتر، می‌تواند ارتباط ایجاد کند. کاربرد اصلی این قبیل کارت‌ها در مواردی است که عملیات مورد نظر باید سریع انجام گیرد، به عنوان نمونه می‌توان به کارت‌های مترو اشاره کرد. مزیت اصلی این قبیل کارت‌ها علاوه بر سهولت استفاده، عمر طولانی‌تر و ضریب ایمنی بالاتر آن است؛ زیرا در این نوع کارت، تراشه به همراه آنتن در میان لایه‌های تشکیل‌دهندة کارت قرار می‌گیرد.
 
هر دو نوع دستگاه‌های کارت‌خوان سازگار است. از این نوع کارت‌ها برای ساخت کارت‌های چندمنظوره استفاده می شود.

▪ سیستم عامل
الگوها و برنامه‌ریزی‌های جدید در سیستم عامل کارت‌های هوشمند، سیستم عامل JavaCard است. این سیستم عامل توسط شرکت Sun Microsystem توسعه داده شده است و بعد از آن در فروم JavaCard گسترش یافته است. این سیستم عامل بسیار مورد توجه است زیرا در معماری برای طراحان و برنامه‌نویسان استقلال و آزادی عمل فراهم می‌آورد. همچنین برنامه‌های کاربردی مبتنی بر سیستم عامل جاوا می‌تواند برای هر کارت‌هوشمندی که سیستم عامل JavaCard را پشتیبانی می‌کند استفاده گردد.
 
امروزه بیشتر کارت‌های هوشمند برای انجام ارتباط و عملیات برنامه‌ریزی شده ، سیستم عامل ویژه خود را استفاده می‌کنند. اما برای پشتیبانی واقعی از برنامه‌های کاربردی، سیستم‌های عامل کارت‌های هوشمند بر اساس عملیاتی که توسط استاندارد جهانی ISO۷۸۱۶ فراهم گردیده، می‌باشند. با این حال برای انتقال برنامه‌ای که بر اساس تولیدات یک شرکت سازنده کارت فراهم شده، به سیستم تولیدکننده دیگر، کاری سخت و دشوار نیاز خواهد بود.
مزیت دیگر سیستم عامل JavaCard این است که مفهوم انتشار سریع بارکنش برنامه کاربردی را پشتیبانی می‌کند. این قابلیت امکان بروزرسانی برنامه موجود در کارت بعد از توزیع کارت‌ها به کاربر را فراهم می‌نماید. نکته مهم این است که برای یک کاربرد خاص، فرد نیاز به کارت هوشمند دارد. اما نیازهای آتی وی، نیاز به تغییر برنامه‌های روی کارت را موجب خواهد شد که با این سیستم عامل ممکن خواهد بود.
سیستم عامل دیگری که برای کارت‌های هوشمند فراهم شده MULTOS(Multi-Application Operating System) یا سیستم عامل چند منظوره است. همچنان که از نام این سیستم برمی‌آید، این سیستم عامل قابلیت پشتیبانی چندین برنامه کاربردی را دارد. اما این سیستم عامل برای کاربردهایی با امنیت بالا طراحی شده است و در بسیاری از کشورها به ITSec E۶ High دست یافته است. شرکت مایکروسافت نیز در این مسیر با سیستم SmartCard for Windows قرار دارد.
این سیستم عامل‌ها، رابط‌های برنامه‌های کاربردی درون کارت‌ها(Card-Side API) هستند برای اجرا نمودن برنامه‌های کوچک و مبتنی بر کارت روی آن‌ها. اما رابط‌های طرف کارت‌خوان (Reader-Side API)مانند زیرساخت OpenCard و GlobalPlatform نیز ارائه شده‌اند.

برنامه‌نویسی
رابط‌های برنامه‌نویسی برنامه‌های کاربردی(API) بسیاری برای کارت‌های هوشمند فراهم شده است. برخی از آن‌ها عبارتند از:
-CT-API: این رابط به ترمینال استفاده شده روی کارت وابسته است، اما توابع عمومی که اجازه ارتباط و تبادل داده با کارت‌های حافظه یا کارت‌های پروسسوری را می‌دهند فراهم می‌نماید. این API یک رابط سطح پائین(Low-Level API) برای کارت‌خوان است، اما بدلیل اعمال استاندارد ISO۷۸۱۶ و داشتن منطق برنامه‌نویسی ساده شبه اسمبلی، هنوز مورد استفاده قرار می‌گیرد. فقط لازم است تا کدها و بسته‌های داده ارسال شود و بعد از جواب دریافت خواهد شد!
 
ـ PC/SC: گروه‌کاری PC/Sc مسئول توسعه مشخصات و خصوصیات PC/SC است. رابط‌های مناسب و مربوط به ویندوز، MacOS و لینوکس قابل استفاده می‌باشند.
ـ OpenCard: چارچوب OpenCard یعنی OCF یک چارچوب شیءگرا برای ارتباط و تبادل داده با کارت‌های هوشمند است. OCF از قابلیت میان-عملیاتی جاوا(Java Inter-operability) در بین محیط‌های مختلف برای اعمال معماری و رابط‌های توسعه‌دهندگان برنامه‌های کاربردی یا فراهم‌آورندگان سرویس‌ها استفاده می‌کند.
 
ـ GlobalPlatform: این رابط در سال ۱۹۹۹ توسط سازمان‌هایی که به صدور کارت‌های چندمنظوره علاقه‌مند بودند ارائه گردید. مهمترین هدف GlobalPlatform تعریف مشخصات و زیرسا‌خت برای کارت‌های هوشمند چند منظوره(Multi-Application) است.
 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر