چکیده چکیده مطالب دردنیای کنونی تکنولوژی و اطلاعات به عنوان یکی از بزرگترین سرمایه های یک کشور به حساب می آیند.لذا تمامی کشورهای توسعه یافته و در حال توسعه تمام تلاش خود را برای به دست آوردن و استفاده صحیح از آن می کنند .
تکنولوژی کارت های هوشمند چندین سالی است که در کشورهای توسعه یافته در سطح وسیع در حال استفاده است و توانسته جایگاه خوبی پیدا کند که از جمله ان می توان بخش های امنیتی و بخش های مالی مانند ویزا کارت و مستر کارت را نام برد .اما این تکنولوژی در کشورهای در حال توسعه مثل ایران هنوز جایگاه درخوری پیدا نکرده است.هدف از ارائه این پایان نامه اشنایی با این کارت ها و تکنولوژی های مرتبط با ان در پیاده سازی کارت های هوشمند و همچنین موارد استفاده از آن که سهولت در کار و بهینگی ان را نشان می دهد می باشد.
کلمات کلیدی: کارت هوشمند، تکنولوژی جاوا کارت، Development kit ، کارت های تماسی، کارت های بدون تماس ) پیش گفتار کارت هاى هوشمند، یکى از جدیدترین پدیده هاى تکنولوژیکى هستند که در حدود 20 سال است که وارد عرصه زندگی بشری شده است و در آینده اى نزدیک تاثیرى محسوس بر زندگى انسان مدرن خواهند نهاد.
اولین هدف استفاده از کارت های هوشمند مربوط به کارت تلفن بود و با توجه به پیشرفت در این زمینه و کاهش قیمت در ساخت این کارت ها استفاده از انها در زمینه های دیگر هم مرسوم شد.
در سال 1996 چند شرکت از جمله ماکروسافت تشکیل یک گروه دادند تا کارت های هوشمند را با کامپیوترهای شخصی منسجم کنند.تمرکز عمده این گروه بر روی تولید یکسری کارت هوشمند و همچنین استاندارد هایی برایPC intrerface به منظور استفاده از کارت های هوشمند و تولید کنندگان نرم افزار بود.
هم اکنون چند نمونه از مدل های اولیه ان در بازار موجود است.
در حال حاضر حدود دویست میلیون نفر در سراسر جهان از این نوع کارت ها استفاده مى کنند، ولى با این حال هنوز عمومیت نیافته اند و تحلیلگران در مورد کارت هاى هوشمند بیش از حال به آینده چشم دوخته اند.
پیش بینی می شود به دلیل قابلیت حمل و قابلیت اطمینان بالای این کارت ها زندگی اینده بشر بطور گسترده وابسته به این تکنولوژی شود.
کارت هوشمند یک کارت معمولی مانند کارت تلفن راه دور ویا کارت عابر بانک می باشد که البته با تفاوتهایی است : در کارتهای هوشمند تراشه سخت افزاری وجود دارد که برخی از اطلاعات در آن درج می شود ، تفاوت عمده کارتهای هوشمند با کارتهای الکترونیکی در امکان ذخیره اطلاعات خوانی اطلاعات و تغییر در اطلاعات کارت هوشمند است که کارتهای معمولی این امکان را ندارد .
به عنوان مثال کارت هوشمند بنزین شما ،حاوی اطلاعاتی مانند نام ؛ نام خودرو؛ مشخصات پلاک و … و میزان سهمیه بنزین شماست حال شما سوخت گیری خودرو رو انجام می دهید کارت هوشمند را وارد دستگاه می کند مشخصات شما از کارت خوانده می شود، میزان سوختگیری تاریخ و … در کارت هوشمند درج می شود و اگر کارت شما حامل پول الکترونیکی باشد از کارت شما پول برداشته می شود در این حالت پس از پایان کار اطلاعات جدید در داخل کارت نگهداری می شود و کارت حامل پیامهاست.
1-2) مثالی از کارت هوشمند برای درک راحتر موضوع یک نوع کارت هوشمند به نقل از مجله فوکوس در شماره مربوط به ماه دسامبر ،۲۰۰۴ مس آویم تا با ارایه یک کارت هوشمند به عنوان نمونه، برخى از قابلیت هاى آن را برشمرده است.
این کارت حاوى ده بخش اصلى است که هر کدام کاربردى خاص دارند و حاوى اطلاعات ویژه اى هستند.
1-2-1) اطلاعات شخصى: در این بخش نام و نام خانوادگى شخص، شماره پاسپورت، شماره بیمه شخصى، شماره گواهینامه، آدرس، زمان تولد، جنسیت و اطلاعاتى از این قبیل درج مى شود که قسمت اعظم این اطلاعات فقط توسط بخش هاى ادارى ذیربط قابل خواندن است.
1-2-2) مشخصات فردى: مشخصاتى چون قد، وزن و سایر مولفه هایى که بنا به موقعیت و یا سلیقه شخص قابل تغییر است در این بخش ذخیره خواهند شد.
همچنین این قابلیت نیز در نظر گرفته شده است تا اندازه لباس و حتى نوع تغذیه نیز (براى خریدهاى خودکار) در این بخش درج شود.
1-2-3 )ایمنى بیومتریک: ویژگى هاى امنیتى در این بخش ذخیره مى شوند.
نه تنها اثر انگشت بلکه سوابق امنیتى و مسایلى نظیر ورود و خروج از کشور در این بخش نوشته و از آن خوانده مى شوند.
در اماکنى نظیر فرودگاه ها، کاربرد این قابلیت کارت هاى هوشمند در تامین امنیت و نیز تسهیل در امر نظارت بسیار خوب برآورد مى شود.
در موارد خاص، براى امنیت بیشتر مى توان یکى از اطلاعات مندرج در کارت ) نظیر اثر انگشت) را با نمونه زنده سنجید.
1-2-4 )ابرکلید: با این ویژگى مى توان بسیارى از امکانات را شخصى کرد.
مثلاً یک اتومبیل مى تواند توسط یک کارت خوان ساده و صرفاً با دسترسى به این بخش از کارت، فقط براى صاحب اتومبیل به کار افتد.
هم اکنون بسیارى از در منازل و یا کیف ها توسط کارت هایى باز مى شوند که مطمین تر از کلید یا رمز هستند.
در بخش کوچکى از یک کارت هوشمند دسته اى از این کارت ها حضور خواهند داشت.
1-2-5 )اطلاعات پزشکى: اطلاعات ضرورى پزشکى بر روى کارت هاى هوشمند قرار خواهند گرفت تا در موارد اورژانس و همچنین عادى پزشکى مورد استفاده قرار گیرند.
این امر به ویژه در هنگام بروز سوانح کاربرد بسیار مهمى خواهد یافت چرا که در اغلب این موارد شخص سانحه دیده بیهوش است و دسترسى به سوابق پزشکى و یا بستگان وى مستلزم صرف وقت غیرقابل تامینى خواهد بود.
1-2-6) پول الکترونیکى: کارت هاى اعتبارى، کارت هاى خرید و همچنین پول الکترونیکى همگى برروى یک کارت هوشمند مى توانند جمع شوند تا یک شخص با جیبى خالى از پول و یا کارت هاى رنگارنگ به راحتى به خرید یا سفر برود.
همچنین این قابلیت پیش بینى شده است که فعالیت هاى آن لاین اقتصادى دارنده کارت هوشمند نیز در کیوسک هاى مخصوصى به کارت هوشمند منتقل شود.
1-2-7 )تراشه: قلب کارت هوشمند تراشه آن است و وسعتى در حدود ۲۵ میلى متر مربع دارد که از مدارات مجتمعى به همراه یک ماژول حافظه تشکیل شده است.
نیروى لازم براى کار کردن این تراشه معمولاً به واسطه یک «میدان القایى» الکترومغناطیسى که کارت خوان آن را مهیا مى کند، تامین خواهد شد.
البته در صورتى که کارت ها به صورت «همیشه روشن» مورد نیاز باشند مى توان این نیرو را توسط باترى بسیار کوچک ناخنى تامین کرد.
1-2-8 )پخش شخصى: اگر این امکان به وجود آید که در حجمى کوچک بتوان یک وب سرور کوچک بى سیم را سوار کرد، این همان چیزى است که طراحان کارت هوشمند به آن «حباب دیجیتالى» مى گویند و امیدوارند تا با پیشرفت فناورى بتوانند آن را توسط یک کارت تامین کنند.
در این صورت همیشه افراد مى توانند بخش خاصى از اطلاعاتشان را با دیگران به اشتراک بگذارند.
1-2-9 )انباره اطلاعات : این بخش نیز چشم به راه آینده اى است تا فناورى ذخیره اطلاعات بتواند دست کم یک گیگابایت اطلاعات را در حجم کوچکى بر روى یک کارت ذخیره و بازیابى کند.
بدین سان هر فرد مى تواند _ به جاى استفاده از حافظه هاى کمکى نظیر حافظه فلش _ به راحتى اطلاعات مورد نظر خود را حمل کند.
1-2-10 )بلیط الکترونیکى : هم اکنون در بسیارى از کشورها مسافران به جاى ارایه بلیط براى استفاده از اتوبوس و مترو، کارت هاى مخصوص آنها را در کارت خوان قرار مى دهند و دستگاه از شارژ کارت ایشان مبلغ مورد نظر را کسر مى کند.
کارت هاى هوشمند علاوه بر انجام این وظیفه در سایر پایانه هایى که هم اکنون در آنها بلیط ارایه مى شود (نظیر فرودگاه ها) نیز مى توانند به طرز مشابه مفید فایده باشند.
1- 3 ) مزایای کارت های هوشمند: کارتهای هوشمند دارای مزایا و قابلیتهای بسیاری هستند و این باعث شده است تا بسیار مورد توجه قرارگیرد و کاربردهای آنها بسیار گسترش یابد.
برخی از مزایای این کارتها عبارتند از: 1-اندازه: اندازه این قبیل کارت کوچک است و نیاز به حمل مدارک و پول را برطرف میسازد.
2- امنیت: به دلیل وجود سیستمهای حفاظتی روی کارت نظیر رمزنگاری، از دادههای موجود بر روی آن به خوبی محافظت میشود.
حجم اطلاعات قابلحمل: کارتهای هوشمند قادرند حجم زیادتری از اطلاعات را در مقایسه با کارتهای مغناطیسی درخود ذخیره کنند.
برخی دیگر از مزایای کارتهای هوشمند غیرتماسی عبارتند از : راهکار ایده آل برای Transaction سریع) مانند Toll collectionو Mass Transit ) امکان برقراری ارتباط در فواصل کاربردهای Hand-free طول عمر بیشتر کارت و Reader (بدلیل عدم نیاز به تماس مستقیم بین کارت و کارتخوان) امکان سرویس به بیش از یک شخص در آن واحد جلوگیری از بروز مشکل در استفاده از کارت 1-4) کاربردهای کارتهای هوشمند : امروزه در بسیاری ازکشورها، از کارتهای هوشمند در کاربردهای مختلفی استفاده میشود، این کاربردها به طور کلی به سه دسته طبقهبندی میشوند: 1-4-1) کاربردهای شناسایی: از این کارتها برای شناسایی هویت افراد و صاحبان آنها استفاده میشود؛ مثل کارت تردد، کارت پارکینگ.
1-4-2) کابردهای مالی ▪ کارتهای پیشپرداخته: این کارتها را کاربر میخرد و با ارائه آن به دستگاه کارتخوان، به جای پرداخت پول، هزینه موردنظر از موجودی کارت کسر میشود.
مانند کارت تلفن همگانی.
▪ کارتهای بانکی: این کارتها را بانکها به مشتریان خود عرضه میکنند که معرف هویت الکترونیکی مشتری نزد بانک صادرکننده است.
با ارائه این کارتها به دستگاههای خودپرداز، مشتری میتواند از خدمات بانک بهرهمند شود.
1-4-3) کاربردهای نگهداری اطلاعات: دراین قبیل کارتها، کد شناسایی و اندکی از اطلاعات شخصی فرد درج شده است که با ارائه به دستگاه کارتخوان، از این اطلاعات استفاده میشود.
کارتهایی نظیر کارت گواهینامه هوشمند، کارتهای شناسنامه، کارت دانشجویی از این نوع محسوب میشود.
برخی مثالها از کاربردهای کارتهای هوشمند عبارتند از: ▪ کارت تلفن از نوع Contact ▪ سیم کارت موبایل ▪ بانکداری ( کارت های پرداخت Credit و Debit ) ▪ کارت خرید ▪ پرداخت هزینه کانال های تلویریونی ▪ حمل و نقل فصل دوم: ((انواع کارت ها)) 2-1)پیش گفتار: به طور ساده شما یک کارت بانکی دارید، داخل این کارت اطلاعاتی نیست بلکه یک کدکلیدی است که معادل یک شمارنده است که وقتی وارد سیستم عابر بانک می کنید از شبکه سرور مرکزی اطلاعات شماره شما را دریافت می کند و ارتباطتان با بانک برقرار می شود و شما می توانید عملیات بانکی انجام کنید پس از پایان کار ، کارت شما تغییر نمی کند اماکارت هوشمند به گونه ای دیگر است یا کارت تلفن هزینه اولیه در تراشه آن درج شده باهر تماس میزانی از آن کم می شود کارت بنزین کارت الکترونیکی یا هوشمند : نظر به توضیحات مربوطه کارتهای بنزین از نوع کارتهای هوشمند باشند که یکی از دلایل انتخاب این نوع کارتها به جای کارتهای معمولی الکترونیکی امکان تغییر در ساختار کارت بدون نیاز به تعویض کارت است؛ البته دستکاری کارتها برای افراد غیرمسوول آسانتر است.
کارت بنزین کارت الکترونیکی یا هوشمند : نظر به توضیحات مربوطه کارتهای بنزین از نوع کارتهای هوشمند باشند که یکی از دلایل انتخاب این نوع کارتها به جای کارتهای معمولی الکترونیکی امکان تغییر در ساختار کارت بدون نیاز به تعویض کارت است؛ البته دستکاری کارتها برای افراد غیرمسوول آسانتر است.
شکل 2-1 .
در حال حاضر از نظر فیزیکی کارت ها به دسته های زیر تقسیم می شوند: کارتهای حافظه (Memory Card) کارتهای دارای پردازشگر (Contact CPU Card) شکل 2-2 2-2) کارتهای حافظه: کارتهای حافظه (Memory Cards) در حقیقت کارتهای چیپ داری هستند که تنها از یک حافظه تشکیل شدهاند، که این حافظه میتواند غیر قابل شارژ یا با قابلیت شارژ نیز باشد.
به علت عدم وجود پردازنده کنترلی امنیت این کارتها کمتر از کارتهای هوشمند بوده ولی همچنان با تمهیدات در نظر گرفته شده امنیت بیشتری نسبت به کارتهای مغناطیسی دارند.
این کارتها برای استفاده در تلفن های عمومی و پارکومترها مصرف میشوند.
شکل 2-3 کارتهای دارای حافظه نوری(Optical Memory Cards): این نوع کارتها شبیه یک دیسک فشرده است که در بالای کارت چسبانده شده است.
کارتهای حافظه نوری میتوانند تا 4MB اطلاعات ذخیره کنند، ولی یکبار قابل نوشتن میباشند و داده قابل ویرایش یا حذف نمیباشد.
این نوع کارتها برای کاربردهایی که نیاز به ثبت سوابق است بسیار مناسب میباشند، مانند پروندههای پزشکی، کارتهای رانندگی و یا سوابق مسافرتی.
در حال حاضر این نوع کارتها هیچ پردازندهای ندارند (هرچند که بزودی انواع دارای حافظه نیز عرضه خواهد شد).
با وجود اینکه این نوع کارتها از نظر قیمت با کارتهای تراشه قابل رقابت میباشد، اما کارتخوانها از پروتکلهای غیر استاندارد استفاده میکنند و گران میباشند.
کارتهای مغناطیسی: اولین کارتهایی که بهطور گسترده در زمینه تجارت الکترونیک و به عنوان کارتهای بانکی مورد استفاده قرار گرفت کارتهای مغناطیسی بودند.
این کارتها که با قرارگرفتن یک نوار مغناطیسی بر روی کارتهای پیویسی ایجاد میشوند، به علت محدودیتهای فیزیکی موجود حجم اطلاعاتی زیادی را شامل نمیشوند.
نوار مغناطیسی روی این کارتها بنا به «استاندارد ایزو 7811» از سه تراک تشکیل شده است که اطلاعات ویژهای بر روی هر تراک ثبت میشود.
تراک 1 کارت معمولاً شامل اطلاعاتی از قبیل نام دارنده و شماره حساب شخص است و سایر اطلاعات کنترلی نیز بر روی تراکهای دیگر قرار دارد.
در برخی از خودپردازهای بانکها نوشتن بر روی تراکها نیز ممکن است.
این کارتها به دو دسته اصلی تقسیم میشوند: HiCo و LoCo.
کارتهای HiCo از کیفیت بهتری نسبت به کارتهای LoCo برخوردار بوده و تأثیرات کمتری در استفاده مداوم، همجواری با کارتهای دیگر و میدانهای مغناطیسی میپذیرند.
همچنین بر اساس آزمایشات انجام شده، درصد صحیح خوانده شدن اطلاعات در نوع HiCo بسیار بیشتر از نوع دیگر بوده و با وجود هزینه بیشتر آن ، به صرفهتر هستند.
به علت امنیت پایینتر این کارتها نسبت به کارتهای هوشمند و سهولت خواندن تراکهای موجود بر روی آنها و توانایی کپی کردن اطلاعات آنها روی کارت دیگر (کپی کردن کارت) ، غالباً از این کارتها در ارتباطات آنلاین و یا به عنوان کارتهای شناسایی روزمره استفاده میگردد.
کارتهای تماسی بهطور مستقیم با کارتخوان در تماس بوده و اطلاعات از طریق Head کارتخوان به آنها منتقل میشود ، لذا بهطور نسبی امنیت بیشتری نسبت به کارتهای غیرتماسی دارند و اکثر کارتهای بانکی و مالی را شامل میشوند.
از انواع این کارتها میتوان به کارتهای مغناطیسی و کارتهای چیپدار اشاره کرد که طیف وسیعی از کارتهای امروزی را پوشش میدهند.
در کارتهای مغناطیسی اطلاعات بر روی نوار سیاه رنگی که بر روی کارت است، بهصورت مغناطیسی نوشته و خوانده میشود، این نوار خود شامل سه تراک است که بر روی هر کدام از آنها اطلاعات خاصی نوشته میشود.
2-3) کارتهای دارای پردازشگر: در طرف مقابل، کارتهای چیپدار از یک چیپ مدار مجتمع (IC) تشکیل شده که این چیپ میتواند شامل یک حافظه تنها و یا یک حافظه به همراه یک میکروپروسسور باشد.
کارتهای حافظه مدار مجتمع میتوانند 1 تا 4 کیلو بایت از داده را درخود نگهدارند، ولی هیچ پردازندهای روی کارت برای عملیات روی داده ندارند.
بنابراین این نوع کارتها برای انجام پردازش وابسته به کارتخوان (که همچنین دستگاه گیرنده کارت نیز نامیده میشود) میباشند و برای کاربردهایی که در آن کارت یک عملیات ثابتی را انجام میدهد مناسب میباشند کارتهایی که تنها از یک حافظه تشکیل شده باشند، کارتهای حافظه نام دارند که معمولاً برای نگهداری اطلاعات از آنها استفاده میشود و امنیت بیشتری نسبت به کارتهای مغناطیسی دارند، در سویی دیگر کارتهای پردازندهدار (هوشمند) قرار دارند که بهجز حافظه یاد شده از مزایای یک میکروپروسسور نیز سود میجویند و بدین ترتیب از لحاظ امنیتی ضریب بسیار بالاتری را دارند و طبیعتاً از قیمت بالاتری نیز برخوردارند.
یکی دیگر از انواع کارتهای چیپدار، کارت هوشمندی است که معمولا متشکل از پردازندهای جهت انجام امور کنترلی، حافظهای فقط خواندنی شامل سیستم عامل کارت (ماسک) و حافظهای تا 64 کیلوبایت جهت استفاده هستند.
به علت وجود برنامههای کنترلی موجود و ساختار موجود در آنها ضریب امنیتی این کارتها بسیار فراتر از کارتهای مغناطیسی است.
شکل 2-4 2-4) کارتهای غیرتماسی: در کارتهای غیرتماسی انتقال اطلاعات و تمامی ولتاژهای مورد نیاز بهصورت بیسیم از طریق سیگنالهای RF (فرکانسهای رادیویی) و روشهای تزویج القایی صورت میگیرد.
سیستمهای RFID ( Radio Frequency Identification) در ابتدا برای مسیریابی، تشخیص موقعیت اجسام و مکان سنجی استفاده گردیده و بر حسب مسافت و برد لازم بر دو نوع Passive و Active بهوجود آمد که تفاوت اصلی در این موارد وجود باتری (منبع تغذیه) در نوع Active برای افزایش طول برد بود.
در حال حاضر در دنیای کارتهای غیرتماسی، با توجه به استفادههای مکرر، ابعاد کارتها و عدم نیاز به برد و مسافت بالا از نوع Passive این سیستمها استفاده میشود و لذا محدودیتهایی بر اساس فرکانس کاری و طول موج در این سیستمها ایجاد میشود.
برای برقرای ارتباط، آنتن مخصوصی بین تراشههای کارت قرار داده شده است که در فاصلههای کم، تا حدود 50 سانتیمتر، میتواند ارتباط ایجاد کند.
کاربرد اصلی این قبیل کارتها در مواردی است که عملیات مورد نظر باید سریع انجام گیرد، به عنوان نمونه میتوان به کارتهای مترو اشاره کرد.
مزیت اصلی این قبیل کارتها علاوه بر سهولت استفاده، عمر طولانیتر و ضریب ایمنی بالاتر آن است؛ زیرا در این نوع کارت، تراشه به همراه آنتن در میان لایههای تشکیلدهنده کارت قرار میگیرد.
شکل 2-5 2-5) کارتهای هوشمند ترکیبی (Dual-Interface Smart Card): کارت های تماسی سطح امنیت بالاتر و قابلیت اطمینان بیشتری نسبت به خوانده شدن اطلاعات دارند در حالی که کارت های بدون تماس راحتی بیشتری را در تعاملات خود دارند.بدین منظور برای برخورداری از هر دو مزیت کارت های هوشمند ترکیبی معرفی شدند.
این نوع کارت ترکیبی از کارتهای هوشمند تماسی و غیرتماسی است که با هر دو نوع دستگاههای کارتخوان سازگار است.
از این نوع کارتها برای ساخت کارتهای چندمنظوره استفاده می شود.
دو نوع مختلف از این نوع کارت ها وجود دارد HIBRYD CARDS COMBI CARDS هر دوی این کارت ها دارای بخش تماسی و بخش غیر تماسی جاسازی شده در کارت هستند با این تفاوت که در کارت های هیبرید این دومدل مجزا از یکدیگرند و هیچ ارتباط الکترونیکی بین انها نیست در حالی که در COMBI CARD ها بین هر دو بخش ارتباط وجود دارد و این کارتها در هر دو نوع شرایط قابل استفاده هستند.
شکل 2-6 2-6) READER ها چگونه کار می کنند؟
به دلیل قابلیت نوشتن بر روی کارتها ریدرها به عنوان card programmer نیز شناخته می شوند انها همچنین به عنوان card terminals و دستگاه پذیرنده کارت و حتی interface device نیز شناخته می شوند.یک تفاوت کوچک بین card reader و card terminal وجود دارد.
در اصل اصطلاح reader به عنوان interface unit که برای پردازش اطلاعات به یک کامپیوتر نیاز دارد اطلاق می شود و بطور عکس terminal device دستگاهی است که اطلاعات درون آن پردازش می شود.
زمانی که کارت هوشمند و reader با یکدیگر ارتباط برقرار می کنند هر دو در ابتدا با ارسال یکسری اطلاعات خود را به دیگری می شناسانند .
بنابراین کارت های هوشمند در برابر اقدامات ضد امنیتی تیز هوشانه مقاوم هستند.
متاسفانه گروه ISO از ارائه استاندارد مشخصی برای ارتباط با READER ها باز مانده است .
هر سازندهای پروتکل های متفاوتی را برای ارتباطات خود مشخص می کند.در نتیجه چندین نوع متفاوت از این روش های ارتباطی وجود دارد.
شکل 2-7 فصل سوم: ((بررسی ساختار و انواع کارت های هوشمند)) کارتهوشمند کارتی است که از یک ریزپردازنده و چیپ حافظه و یا فقط چیپ حافظه (بدون منطق برنامهپذیر) تشکیل شده است.کارت دارای ریزپردازنده میتواند اطلاعات روی کارت را اضافه، تغییر، حذف و مدیریت نماید، درحالیکه کارت فقط دارای حافظه (مانند کارتهای اعتباری تلفن)، میتواند فقط یک عملیات از پیش تعریف شده را قبول کند.
کارتهای هوشمند برخلاف کارتهای نوار مغناطیسی، میتوانند کلیه توابع عملیاتی و اطلاعات مربوطه را در خود داشته باشند، بنابراین در زمان انجام تراکنش نیاز به ارتباط با بانک اطلاعاتی نخواهند داشت.
در حال حاضر سه گروه (بر اساس نوع تراشه بکار رفته در آن، حافظه و ریزپردازنده) از کارتهای هوشمند در کاربردهای مختلف در دنیا و به صورت گسترده مورد استفاده قرار میگیرند.
3-1)کارتهای دارای ریزپردازنده مدار مجتمع (Integrate Circuit (IC) Microprocessor Cards): کارتهای ریزپردازنده (همچنین عموما در صنعت بنام chip card نامبرده میشود) حافظه ذخیرهسازی و امنیت بیشتری را نسبت به کارتهای نوار مغناطیسی فعلی ارائه میکند.
این نوع کارتها همچنین میتوانند داده روی کارت را پردازش نمایند.
نسل فعلی و تجاری این کارتها دارای پردازنده 8 بیتی، 16 کیلوبایت حافظه فقط-خواندنی و 512 بایت حافظه دسترسی تصادفی (RAM) میباشند، که به آنها قابلیت پردازشی معادل کامپیوترهای IBM-XT (البته با حافظه کمتر) را میدهد.
این کارتها برای کاربردهای بسیار گوناگونی استفاده میشوند، بخصوص کاربردهایی که در خود رمزنگاری داشته و نیاز به مدیریت و محاسبات روی اعداد بزرگ را دارند.
بنابراین چیپ کارتها زیرساخت کارتهایی که ابزار شناسایی دیجیتال و امن را در خود دارند، میباشند (شکل 1).
برخی از کاربردهای این نوع کارتها عبارتند از: کارتهای اعتباری و حاوی اطلاعات مالی کارتهای امنیتی و دسترسی شبکه کارتهای تلفنهای سلولار (SIM Cards) شکل 3-1 ROM: نگهداری سیستمعامل کارت هوشمند RAM: نگهداری موقت دادهها EEPROM: نگهداری برنامه کاربردی و دادههای مرتبط با آن Security Logic:: مهمترین قسمتهای آن پردازنده امنیتی است.
واحد واسطه (Interface) این کارت ممکن است به یکی از صورتهای تماسی، غیرتماسی و یا ترکیبی باشد که وظیفه برقراری ارتباط با محیط خارج از کارت را برعهده دارد.
در شکل (2) نحوه ارتباط یک واحد واسطه تماسی با CPU و واحدهای حافظه نمایش داده شده است: شکل 3-2 کارتهای هوشمند از لحاظ ساختار دادهای موجود در آنها به دو دسته Data Card و Application Card تقسیم میشوند.
در دسته اول تنها فایلهای دادهای ایجاد و قابلیت ذخیرهسازی دارند، در صورتی که در نوع دوم کارت قابلیت ذخیره سازی یک برنامه کاربردی ، اجرا و ذخیره سازی نتایج آن را دارد.
در دستهبندی دیگری، کارتهای هوشمند را میتوان به دو دسته کارتهای کاربردی و کارتهای SAM تقسیم کرد .کارتهای کاربردی برای استفاده پس از آماده سازی در اختیار مشتری قرار میگیرد، در صورتیکه کارتهای SAM به علت وجود الگوریتمهای پیچیده امنیتی برای نگهداری کلیدهای لازم درون دستگاه کارتخوان قرار میگیرد و مسلماً قیمت بیشتری دارند.
3-2)سیستم عامل ها: الگوها و برنامهریزیهای جدید در سیستم عامل کارتهای هوشمند، سیستم عامل Java Card است.
این سیستم عامل توسط شرکت Sun Micro system توسعه داده شده است و بعد از آن در فروم Java Card گسترش یافته است.
این سیستم عامل بسیار مورد توجه است زیرا در معماری برای طراحان و برنامهنویسان استقلال و آزادی عمل فراهم میآورد.
همچنین برنامههای کاربردی مبتنی بر سیستم عامل جاوا میتواند برای هر کارتهوشمندی که سیستم عامل Java Card را پشتیبانی میکند استفاده گردد.
امروزه بیشتر کارتهای هوشمند برای انجام ارتباط و عملیات برنامهریزی شده ، سیستم عامل ویژه خود را استفاده میکنند.
اما برای پشتیبانی واقعی از برنامههای کاربردی، سیستمهای عامل کارتهای هوشمند بر اساس عملیاتی که توسط استاندارد جهانی ISO۷۸۱۶ فراهم گردیده، میباشند.
با این حال برای انتقال برنامهای که بر اساس تولیدات یک شرکت سازنده کارت فراهم شده، به سیستم تولیدکننده دیگر، کاری سخت و دشوار نیاز خواهد بود.
مزیت دیگر سیستم عامل Java Card این است که مفهوم انتشار سریع بارکنش برنامه کاربردی را پشتیبانی میکند.
این قابلیت امکان بروزرسانی برنامه موجود در کارت بعد از توزیع کارتها به کاربر را فراهم مینماید.
نکته مهم این است که برای یک کاربرد خاص، فرد نیاز به کارت هوشمند دارد.
اما نیازهای آتی وی، نیاز به تغییر برنامههای روی کارت را موجب خواهد شد که با این سیستم عامل ممکن خواهد بود.
سیستم عامل دیگری که برای کارت های هوشمند فرا هم شده MULTOS(Multi-Application Operating System) یا سیستم عامل چند منظوره است.
همچنان که از نام این سیستم برمیآید، این سیستم عامل قابلیت پشتیبانی چندین برنامه کاربردی را دارد.
اما این سیستم عامل برای کاربردهایی با امنیت بالا طراحی شده است شرکت مایکروسافت نیز در این مسیر با سیستم Smart Card for Windows قرار دارد.
این سیستم عاملها، رابطهای برنامههای کاربردی درون کارتها(Card-Side API) هستند برای اجرا نمودن برنامههای کوچک و مبتنی بر کارت روی آنها.
اما رابطهای طرف کارتخوان (Reader-Side API)مانند زیرساخت Open Card و Global Platform نیز ارائه شدهاند.
3-3) برنامه نویسی : رابطهای برنامهنویسی برنامههای کاربردی(API) بسیاری برای کارتهای هوشمند فراهم شده است.
برخی از آنها عبارتند از: - CT-API: این رابط به ترمینال استفاده شده روی کارت وابسته است، اما توابع عمومی که اجازه ارتباط و تبادل داده با کارتهای حافظه یا کارتهای پروسسوری را میدهند فراهم مینماید.
این API یک رابط سطح پائین(Low-Level API) برای کارتخوان است، اما بدلیل اعمال استاندارد ISO۷۸۱۶ و داشتن منطق برنامهنویسی ساده شبه اسمبلی، هنوز مورد استفاده قرار میگیرد.
فقط لازم است تا کدها و بستههای داده ارسال شود و بعد از جواب دریافت خواهد شد!
- PC/SC: گروهکاری PC/Sc مسئول توسعه مشخصات و خصوصیات PC/SC است.
رابطهای مناسب و مربوط به ویندوز، Mac OS و لینوکس قابل استفاده میباشند.
- Open Card: چارچوب Open Card یعنی OCF یک چارچوب شیءگرا برای ارتباط و تبادل داده با کارتهای هوشمند است.
OCF از قابلیت میان-عملیاتی جاوا(Java Inter-operability) در بین محیطهای مختلف برای اعمال معماری و رابطهای توسعهدهندگان برنامههای کاربردی یا فراهمآورندگان سرویسها استفاده میکند.
- Global Platform: این رابط در سال ۱۹۹۹ توسط سازمانهایی که به صدور کارتهای چندمنظوره علاقهمند بودند ارائه گردید.
مهمترین هدف Global Platform تعریف مشخصات و زیرساخت برای کارتهای هوشمند چند منظوره(Multi-Application) است.
3-3-1)برنامه نویسی JAVA CARD: برنامه نویسی جاوا دوره جدیدی از پیشرفت را برای کارت های هوشمند معرفی کرده است.یک کارت هوشمند ماشین مجازی جاوا(jvm) را پشتیبانی می کند.در اینجا چند ویژگی از jvm را در java card بیان می کنیم.
یک ورژن محدودJVM زیر مجموعه ای از انواع زبان جاوا را که می توانند در applet های java card به کار روند را پشتیبانی می کند.
یک API که به پیشرفت APPLET های کارت های هوشمند اختصاص داده شده است بر اساس استاندارد سطح پائین ISO 7816 باعث شده است تا گسترش قانونی APPLICATION های کارت های هوشمند امکان پذیر باشد.
به خاطر محدودیت های پردازشگرکارت های هوشمند JAVA CARD فقط یکسری از زیر مجموعه های زبان جاوا را پشتیبانی می کند.همچنین کلاس های جدیدی از جاوا ((like java card .frame work.
APDU هستند که به CRYPTOGRAPHY در JAVA CARD 2.0 و یا ISO 7816 مربوط می شوند.
بطور کل وظیفه JVM در مراحل زیر خلاصه می شود bytecode verifier a class loader a bytecode interpreter شناساگر برای اینکه تشخیص دهد که ایا یک CLASS FILE معتبر هست یا نه به کار می رود.class loader برای load کردن کلاس درون سیستم به کار می رود.و در نهایت byte code interpreter برای اجرای ان دستور به کار می رود.
مرحله اول از لحاظ نرم افزاری یک مرحله نسبتا بزرگ و پیچیده است.بنابراین اجرای این بخش برای کارت های هوشمند به دوبخش که در شکل نشان داده می شود شکسته می شود.
بخش off-card که شناسائی کلاس ها و اطمینان از این که همه کلاس های مورد نیاز فراهم هستند را بر عهده دارد.
بخش on-card که وظیفه اجرای دستورات را بر عهده دارد.
JVM یک ماشین دائمی است و برنامه ها و شی ها به خوبی حتی زمانی که کارت خاموش است محافظت می شوند.اطلاعات مربوطه در داخل EEPROM ذخیره می شوند .
در فصل های بعدی در مورد این تکنولوژی بیشتر صحبت می کنیم 3-4) امنیت: کارتهای هوشمند و PKI : کارتهای هوشمند محلی امن برای نگهداری اطلاعات حساس و مهم از قبیل شناسایی، اطلاعات مالی و اعتباری میباشند، و وقتی شناسایی لازم است، بررسی PKI یا زیرساخت کلید عمومی(Public Key Infrastructure) و کارتهای هوشمند بسیار مهم است.
مثلا در یک شرکت که دارای شعبهها، واحدها و بخشهای بسیاری است و کارکنان در آن به محدودهها و مکانهای مرتبط خود اجازه دسترسی دارند.
همچنین کارکنان به شبکه و سرورها برای انجام فعالیتهای خود و کارهای مختلف دسترسی خواهند داشت از قبیل ارسال نامه الکترونیکی، دسترسی به اینترنت، دسترسی به اطلاعات و بانکهای اطلاعاتی.
بنابراین کلیدها، کلمههای عبور و کدهای امنیتی مختلفی را کارکنان باید در اختیار داشته باشند و برای استفاده از رستوران شرکت و مکانهای رفاهی باید همیشه پول همراه خود داشته باشند.
میتوان با استفاده از کارتهای هوشمند چند منظوره پروسسوری (که سیستمعامل جاوا در آن اجازه این عملیات چندگانه را میدهد) کلیه این عملیات امنیتی و اعتباری را مدیریت نمود.
بنابراین شرکت باید یک سیستم مدیریت و گواهی دسترسی(CA, Certificate Authority) محلی فراهم نماید.
نمونه زیر یک ساختار ساده PKI را شبیه به آنچه در RFC۲۴۵۹ آمده نشان میدهد: - End entity: کاربر گواهیهای PKI یا/و کاربر سیستمی که موضوع یک گواهی دسترسی است - RA اجازه ثبت(RA, Registration Authority): یک سیستم اختیاری که CA برخی از توابع مدیریتی را به آن محول نموده است.
(در برخی از پیادهسازیها، جایی که کاربر خود را در سیستم ثبت مینماید) - CA (گواهی دسترسی) - Repository: یک سیستم یا مجموعهای از سیستمهای توزیع شده که گواهیها و لیستهای لغو گواهی (CLR, Certificate Revocation Lists) را در خود نگه میدارد و وسیلهای جهت توزیع و رساندن این گواهیها به موجودیتهای نهایی است.
کارتهای هوشمند محلی امن برای نگهداری اطلاعات حساس و مهم از قبیل شناسایی، اطلاعات مالی و اعتباری میباشند، و وقتی شناسایی لازم است، بررسی PKI یا زیرساخت کلید عمومی (Public Key Infrastructure) و کارتهای هوشمند بسیار مهم است.
لیستهای لغو گواهی (CLR, Certificate Revocation Lists) را در خود نگه میدارد و وسیلهای جهت توزیع و رساندن این گواهیها به موجودیتهای نهایی است.
3-5) کارتهای هوشمند چند منظوره : برای تحقق دولت الکرونیک، هر فرد نیاز به چندین کارت از انواع مذکور دارد؛ کارت مترو، بنزین، اتوبوس شهری، شهربازی، سلامت، شناسایی، گواهینامه، گذرنامه و انواع کارتهای بانکی و...
پیشبینی میشود برای تحقق دولت الکترونیک این تعداد به بیش از پانزده کارت برای هر نفر برسد.
یعنی هر فرد باید همزمان چندین کارت همراه خود داشته باشد که هر کارت توسط یک سازمان یا شرکت ارائه شده است.
شهروند برای تهیه و یا اصلاح هرکدام از آنها باید به محل صدور آن رفته و هزینهای جداگانه بپردازد.
این تعدد کارت مشکلاتی به همراه دارد از جمله: ▪ صرف هزینه جداگانه برای صدور هریک ▪ بالارفتن احتمال گم شدن یا سرقت کارت ▪ زحمت بیشتر شهروندان در حمل آنها و درنتیجه استقبال کمتر از آنها ▪ بالا رفتن مراجعات اداری شهروندان به ادارات و موسسات صادر کننده کارت ▪ سردرگمی شهروندان در به خاطر سپردن رمز هر کارت طرح تجمیع کارتهای مذکور راه حلی برای حل مشکلات فوق است و علاوه برآن باعث بالا رفتن ضریب ایمنی میشود؛ زیرا وقتی بهجای چندین کارت متعدد برای هرفرد دو یا سه کارت صادر شود: ▪ میتوان در طراحی و ساخت آن کارت تدابیر امنیتی بیشتری در نظر گرفت تا احتمال جعل و سوءاستفاده آنها کمتر شود.
▪ چون تعداد کارتهایی که هر نفر با خود حمل میکند اندک است احتمال گم شدن و یا فراموش شدن رمز آنها کمتر میشود.
برای تجمیع و ادغام کارتهایی که در عصر فناوری اطلاعات هر نفر میتواند داشته باشد و یکی از ملزومات دولت الکترونیک است، میتوان کارتهایی را که از حیث کارکرد در یک دسته قرار میگیرند را در هم ادغام کرد.
به عنوان مثال یک کارت هوشمند چندمنظوره درکاربردهای زیر استفاده میشود: ▪ به عنوان کارت شناسایی ملی و گواهینامه رانندگی ▪ برای نگهداری اطلاعات گذرنامه (بدون اینکه جایگزین گذرنامه شود) ▪ نگهداری اطلاعات و سوابق پزشکی افراد ▪ پرداخت عوارض بزرگراهها، هزینه سیستمهای حمل و نقل عمومی و غیره ▪ انجام تعاملات بانکی (استفاده از دستگاههای خودپرداز یاATM) ▪ پرداخت هزینه خریدهای مختصر