گسترش اینترنت و ارتباطات دیجیتال بی سیم به سرعت شیوۀ ارتباط انسانها با یکدیگر را تغییر داد .
امروزه به علت اینکه جهان در حال ارتباطات هر چه بیشتر است روش تجارت از شکل رو در رو به داد و ستد online تکامل یافته که با چند عمل کلیک موس در خانه و محیط کار انجام می گیرد .
ظهور تجارت الکترونیک نه تنها باعث بروز تجارت و داد و ستد جدید شده بلکه یک فرصت بزرگ برای صنعت به وجود آورده تا دسترسی به مشتریان و معرفی خدمات جدید را داشته باشند .
موفقیت فروشگاههای تجارت الکترونیک متکی بر اعتمادی است که این فروشگاهها طی سالها تجارت و داد و ستد رو در رو به دست آورده اند .
همچنین علت دیگر موفقیت آنها در تکنولوژی ساده ایست که برای خریداران به وجود آورده اند .
امنیت و قابلیت حمل کارتهای هوشمند استفادۀ ساده و راحت و قابل اعتماد بودن و بی خطری این کارتها را تضمین می کند .
دنیای کامپیوتر روز به روز در حال پیشرفت است و همه روزه تکنولوژی جدید با حجم و قیمت کمتری نسبت به تکنولوژی های پیشین توسط شرکتهای مختلف ارائه می شود .
آنچه در ادامه ارائه شده است نمونه ای از تکنولوژی نو با حجم کم ولی با امکانات بسیار و پر کار برد کارت های هوشمند می باشد .
در این پروژه ابتدا به معرفی سخت افزار و امکانات کارت های هوشمند ، همچنین نحوۀ ارتباط و پروتکل های ارتباطی بین کارت و کارت خوان و بسته نرم افزاری شامل مشخصات ماشین مای تعبیه شده برای این سخت افزارها می پردازیم و سپس به اصل موضوع پروژه که ایجاد یک سیستم ذخیره و بازیابی اطلاعات در قالب رکودهای اطلاعاتی روی محیط کارتهای هوشمند جارا است پرداخته شده است .
در این پروژه هدف بر این است که رکوردهای اطلاعاتی با تنوع تایپ در فیلدهای آن در محیط کارتهای هوشمند جادا قبل ذخیره و بازیابی باشد .
فصل اول :
Smart card ( کارت هوشمند ):
سایز این کارتها دقیقاً به اندازۀ کارتهیا اعتباری است .
یک کارت هوشمند اطلاعات را در یک مدار الکترونیکی که در قطعۀ سیلیکونی لحاط شده در پلاستیک به عنوان بدنه ، قرار دارد ، ذخیره و پردازش می کند .
کارت هوشمند یک کامپیوتر قابل حمل و تغییر یافته است .
بر خلاف کارتهای نوار مغناطیسی ف کارتهای هوشمند هم حامل اطلاعات دست و هم قدرت پردازش بر روی آنها را دارد .
بنابراین ، در هنگام انتقال اطلاعات احتیاج به دسترسی به پایگاه داده remote نیست .
تاریخچه ای کوتاه :
ایدۀ یکپارچگی یک مدار پیچیده و یک کارت پلاستیکی برای بار اول توسط دو مخترع المانی مطرح شد .
جرج دتلوف و هلمات گروتراپ ( سال 1968)
بعدها جواز ثبت اختراع آلمانی برای اختراعشان گرفتند در اواخر دهۀ هفتاد میلادی ف CII – Honeywell – Bull برای اولین بار به تکنولوژی کارتهای هوشمند جنبۀ تجاری داد و کارتهای ریز پردازنده ای را معرفی کرد .
کارتهیا هوشمند اولیه در روایل دهۀ هشتاد در فرانسه و آلمان ازمایش شد .
در ابتدا از کارتهای هوشمند برای کارت پیش پرداز تلفن و کارتهای بانکی پرداختی – دریافتی امن استفاده می شد .
این موفقیت کارتهای هوشمند پتانسیل بالای کارتهای هوشمند در برابر انعطاف پذیری و دستکاری شدن را اثبات کرد .
اخیرا ، به علت پیشرفت در فن آوی ساخت chip و روش رمز نگاری جدید کارتهای هوشمند بسیار قدرتمند شده است .
این کارتها امروز پول را به صورت الکترونیکی رسیده می کنند و جایگزین پولهای کاغذی شده اند .
همچنین می توانند اطلاعات پزشکی و سلامت افراد را در خود ذخیره و حفظ کنند .
این کارتها از دسترسی غیر مجاز به کابلها و Broadcast جلوگیری می کنند و باعث پیشرفت امنیت تلفن های بی سیم شده اند .
امروزه این کارتها در اروپا و اسیا بسیار پر کاربرد است به علت همه گیر شدن برنامه هایی نظیر GSM و استفاده از کارتهای بانکی .
کارتهای هوشمند برای اولین بار به فروشگاههای امریکا در سال 1990 راه یافت .
مزایا
علاقه به کارتهای هوشمند به علت مزایایی است که این کارتها دارند .
یکی از مزایای آن قدرت حساب کردن و شمارش درون ساختاری آن است .
امنیت ، قابل حمل بودن وابسته سادگی استفاده از آن از دیگر مزایای آن است .
پردازشگر ، حافظۀ و ورودی و خروجی در داخل یک مدار محاط شده در کارت پلاستیکی هستند .
کارتهای هوشمند در برابر حملات مقاوم هستند زیرا مستقل از آسیب های گستردۀ منابع هستند .
به طور کلی نفوذ به اطلاعات کارت هوشمند بسیار سخت تر از نود به یک کامپیوتر خانگی است .
مزیت دیگر کارتهای هوشمند در قابل حمل بودن ذاتی آن است .
شما می توانید یک کارت هوشمند را در کیف پول خود قرار دهید .
به همین علت کارت هوشمند هر جا که به ان نیاز است در دسترس است حتی اگر کارت خوان از مکانی به مکان دیگر منتقل شود کار با کارت هوشمند بسیار ساده است .
برای این کار ، قرار دادن کارت در یک دستگاه گیرندۀ کارت و خارج کردن کارت از دستگاه وقتی کار تمام شد تمام کاری است که باید انجام شود .
کاربردها :
کارت های هوشمند اغلب برای ذخیرۀ اطلاعات و اطمینان از امنیت انتقال مورد استفاده قرار می گیرند .
در زیر نمونه هایی از کاربردهای آن را می آوریم :
1- در صنعت ارتباط دور برد .
(Telecommunication Indastry)
2- در صنعت کارهای بانکی و پرداخت.
3- استفاده از این کارت به جای بلیط در صنعت حمل و نقل و مسافرتهای شهری و بین شهری
3- استفاده از این کارت به جای بلیط در صنعت حمل و نقل و مسافرتهای شهری و بین شهری 4- در اینترنت 5- در محیطهای بسته مانند شرکتها ، دانشگاهها و ...
کارتهای هوشمند اگر به مقبولیت بیشتری دست یابند ، در آینده در جیب تمام افراد می توان آنها را یافت .
به کار بردن جاوا در کارت های هوشمند: تکنولوژی جاوا کارتها راه کارهایی را در جهت رفع اشکالات در جهت پذیرش کارتهای هوشمند پیشنهاد می دهد .
جاوا کارت به کارتهای هوشمند و دیگر دستگاههای با حافظۀ محدود این اجازه را می دهد تا برنامه های خود را به زبان جاوا در این کارتها اجرا کنند .
در حقیقت تکنولوژی جاوا کارت این امکان را به کارت هوشمند می دهد تا با استفاده از مزایای زبان جاوا امنیت را بالا برده و بتوان از خاصیت چند کاربرد بودن کارتهای هوشمند استفاده کرد مزایای تکنولوژی کارت جاوا: برای پیشرفت کاربرد کارتهای هوشمند می توان از مزایای تکنولوژی کارت جاوا که در زیر آمده است استفاده نمود .
سادگی گسترش برنامه ها : زبان جاوا گسترش برنامه های کارتهای هوشمند را ساده می کند .
از این زبان به جای برنامه نویسی بر روی 5051 و 6805 می توان استفاده کرد .
همچنین به علت ویژگی مجزا بودن بنرامه های به زبان جاوا از platform وابستگی به سیستم از بین می رود .
امنیت : امنیت همواره یکی از المانهای مهم مرود بررسی در کارتهای هوشمند بوده است .
جاوا ویزگی امنیتی درون ساختاری دارد که مناسب محیط کارتهای هوشمند است .
برای فعال سطح دسترسی به متدها و متغیرها به طور شدیدی تحت کنترل است .
به علاوه Applet های جاوا کارت توسط دیواره آتش اپلت کاملا از هم مجزا هستند بنابراین راه کاری وجود دارد که از application هایی که سعی در خراب کردن برنامه های دیگر دارند جلوگیری به عمل آورده شود .
استقلال سخت افزاری : تکنولوژی جاوا کارت از نوع سخت افزار مورد استفاده جدا شده است .
این تکنولوژی بر روی تمام پردازشگرهای کارت هوشمند ( از جمله 8 بیتی ، 16 بیتی یا 32 بیتی ) قابل اجرا است .
اپلت های کارت جاوا بر بیرونی ترین لایه plarform نوشته می شود بنابراین از سخت افزار مستقل هستند .
قدرت ذخیره و کنترل چند برنامه در یک زمان : یک کارت هوشمند می تواند میزبان چند اپلت باشد به طور مثال برنامه بهداشت و سلامت یک فرد ، برنامه تشخیص هویت فرد و ..
را در خود داشته باشد .
به علت مکانیزم fire wall جاوا کارتها ، اپلت ها قادر به دسترسی به یکدیگر نیستند مگر اینکه اجازه صریح داشته باشند .
وقتی یک کارت ذخیره شد مقادیر درونی آن ثابت نخواهد بود بلکه برنامه های جدیدی می توان در ان بارگذاری کرد .
سازگاری با استانداردهای کارت های هوشمند موجود: تکنولوژی کارت هوشمند جاوا بر مبنای استاندارد بین المللی کارت هوشمند یعنی ISO 7816 است .
بنابراین می تواند سیستم های کارت هوشمند و برنامه های آن را که با ISO 7816 سازگارند حمایت کند .
تاریخچه ای کوتاه از تکنولوژی کارت جاوا : API های جاوا کارت برای اولین بار در نوامبر 1996 توسط گروه مهندسی در اوستین تگزاس معرفی شدند .
آنها در پی این بودند که بتوانند کارت هوشمند را پیشرفته تر کنند و برنامه های آن را قابل گسترش کنند در عین اینکه امنیت در کارت حفظ شود .
آنها خیلی زود دریافتند که برنامه نویسی به زبان جاوا راه حل این مشکل است .
این گروه پیش نویس اولیه ای را پینشهاد کردند برای API های کارت جاوا و اولین کمپانی کارت هوشمند دارای گواهی نامۀ مجاز شدند .
چند ماه بعد Bull و Gemplus هم به این گروه پیوستند تا در ساخت کارت جاوا همکاری کنند .
در اببتدا نسخۀ 1.0 جاوا تولید و بعد از مدت کوتاهی نسخه 2.0 آن با حمایت sun micro system به بازار آمد .
نسخۀ نهایی کارت جاوا یعنی نسخۀ 2.1 در مارس 1999 با سه ویژگی خاص معرفی شد 1) ویژگی API مخصوص کارت جاوای 2.1 .
2) زمان اجرای کارت جاوای 2.1 3) خاصیت ماشین مجازی کارت جاوای 2.1 .
این نسخه مبتنی بر نسخۀ 2.0 بود با این تفاوت که زمان اجرا run time ان بسیار بالاتر از استاندارد بوده ویژگی اصلی این نسخه این است که معماری ماشین مجازی جاوا را به طور صریح شناخته و در خود تعریف کرده است .
فصل 2 تکنولوژی کارت جاوا تکنولوژی کارت جاوا این امکان را به برنامه می دهد تا به زبان برنامه نویسی جاوا نوشته شوند تا بر روی کارت های هوشمند یا وسیلۀ با حافظۀ محدود اجرا شوند .
این فصل کلیاتی در مورد تکنولوژی کارت جاوا و در مورد معماری سیستم و اجزای ان می دهد .
کلیات معماری : کارتهای هوشمند یکی از ساختارهای کامپیوتری کوچک است که امروزه مورد استفاده قرار می گیرد .
ساختار حافظۀ این کارتها به صورت یک کیلو بایت RAM و 16 کیلو بایت EEPROM و 24 کیلو بایت ROM است .
مهمترین چالش تکنولوژی طراحی کارت جاوا مناسب بودن نرم افزار سیستمی جاوا در کارت هوشمند است .
راه حل آن نیز این است که فقط از یک زیر مجموعه از ویژگی های زبان جاوا استفاده شود و یک مدل جداگانه برای پیاده سازی ماشین مجازی جاوا به کار برده شود .
ماشین مجازی کارت جدا به دو قسمت تقسیم می شود : اولین قسمت روی off – card اجرا می شود و قسمت دیگر روی on-card قسمتی از پردازش task ها که محدود به اجرا در زمان runtime نیستند مثل بارگذاری کلاسها یا شفافیت و پیوند اطلاعات link یا بهینه سازی به ماشین مجازی جاوا اختصاص یافته اند .
که بر روی off-card اجرا می شود جای که منابع معمولا اهمیت زیادی ندارند.
کارت هوشمند با کامپیوترهای خانگی از چند نظر متفاوتند .
علاوه بر اینکه زبان جاوا را نیز حمایت می کند ، یک محیط run time یی را به وجود می اورد که حافظه و نحوه ارتباط و امنیت و مدل اجرای برنامه های کابردی را نیز حمایت می کند .
محیط اجرای run time کارت جاوا با استاندارد ISO 7816 بین الملی کارت هوشمند مطابقت دارد .
مهم ترین خاصیت محیط run time کارت جاوا این است که برنامه های کاربردی را از سیستم کارت هوشمند مجزا کرده است .
به علت معماری مجزای ماشین مجازی این plat form بین کارت هوشمند و محیط کامپیوتر تقسیم شده هم از بعد مکان و هم زمان .
که شامل 3 بخش می شود و هر بخش در قالب یک مشخصه بیان می شود.
مشخصۀ ماشین مجازی کارت جاوای (JCVM) 2.1 یک زیر مجموعه از زبان جاوا و تعاریف ماشین مجازی را شامل می شود که مناسب Application های کارت هوشمند است .
مشخصه محیط اجرای کارت جاوای (JCRE) 2.1 که رفتار و مشخصات زمان اجرای کارت جاوا را مشخص می کند ، شامل مدیریت حافظه ، مدیریت برنامه و دیگر ویژگی های زمان اجرا می شود .
مشخصۀ واسط برنامه نویس برنامه ها (API) در نسخۀ کارت جاوای 2.1 یک مجموعه از core و package های قابل گسترش جاوا و کلاسها را برای نوشتن برنامه های کارت هوشمند تعریف می کند.
فصل آخر : هدف از انجام این پروژه ایجاد یک سیستم ذخیره و بازیابی اطلاعات در قالب