امنیت در پرداخت الکترونیک: تفاوت میان نسخهها
(←مقدمه) |
|||
(۱۰ نسخهٔ میانی ویرایش شده توسط یک کاربر دیگر نشان داده نشد) | |||
خط ۱۲: | خط ۱۲: | ||
امنیت از نقطه نظرات مختلف می تواند متفاوت باشد. با این حال چند موضع کلی در زمینه امنیت در تراکنش وجود دارد که می بایست از هر دو سوی خریدار و فروشنده مورد توجه قرار گیرند. | امنیت از نقطه نظرات مختلف می تواند متفاوت باشد. با این حال چند موضع کلی در زمینه امنیت در تراکنش وجود دارد که می بایست از هر دو سوی خریدار و فروشنده مورد توجه قرار گیرند. | ||
[[پرونده:Figure1.jpg|بیقاب|وسط|400px]] | |||
== بررسی ادبیات موضوع == | == بررسی ادبیات موضوع == | ||
==== تهدیدات امنیتی در تراکنش الکترونیکی ==== | |||
به صورت سنتی از بعد امنیت داده، چهار هدف مد نظر قرار می گیرند. آنها محرمانگی، صحت، دسترس پذیری و مسوولیت پذیری هستند. هر سیستم تراکنش الکترونیکی از منظر این موارد با تهدید روبرو هستند: | |||
* '''تهدید محرمانگی''' | |||
از دیدگاه مشتری در صورت ذخیره cookie ها بر روی سرور و همچنین امکان بررسی و یا تغییر پروفایل بدون اطلاع وی تهدیدی در این زمینه است. از دیدگاه فروشنده، عدم اطمینان از اینکه تنها افراد دارای صلاحیت به اطلاعات شخصی دسترسی دارند وجو دارد. در یک انتقال داده بدون محافظ، داده ها می توانند توسط هر شخصی که به آنها دسترسی پیدا کند خوانده شوند. | |||
* '''تهدید صحت''' | |||
در سمت مشتری ممکن است صحت اطلاعات توسط نرم افزارهایی مانند تروجانها دستکاری شود. در سمت فروشنده نیز مهاجم می تواند اطلاعات فروش را دستکاری کند. در زمان انتقال نیز داده ها می توانند تغییر یایند. | |||
* '''تهدید دسترس پذیری''' | |||
دسترس پذیری کامپیوتر مشتری می تواند از طریق نرم افزارهایی مانند ویروسها به خطر بیفتد. همچنین مهاجمین می توانند از طریق حمله های مختلف، دسترسی به فروشنده مختل کنند. | |||
* '''تهدید مسوولیت پذیری''' | |||
هرکدام از مشتری و فروشنده با استفاده از تکنیکهای جعل می توانند اطلاعات شناسایی غلطی را به طرف مقابل ارسال نمایند. | |||
برخی دیگر ازتکنیکهای موجود برای امن سازی فرایند تراکنش برخط==== | |||
معروفترین تکنیهای استفاده شده برای امن سازی تراکنش الکترونیکی موارد زیر هستند: | |||
# تراکنش الکترونیکی امن (SET) | |||
# لایه امن سوکت (SSL) | |||
# سرویس احراز هویت پرداخت کننده | |||
هر کدام از این روشها دارای مزایا و معایبی می باشد. مهمترین معایب این تکنیکها عبارتند از: | |||
# ضعیف در برابر انواع حملات | |||
# بیشتر بودن تعداد منفعت های مورد نظر و پیش بینی شده از تعداد واقعی | |||
# امنیت کمتر و هزینه بالاتر | |||
# نیازمند نرم افزار ویژه بر روی دستگاه کاربر | |||
== بدنه تحقیق == | == بدنه تحقیق == | ||
===ارتقاء امنیت با استفاده از ویژگیهای بیومتریک=== | |||
در تمامی مدلهای تراکنشهای برخط، موضوع اصلی امنیت است. کلیه تراکنشها می بایست در برابر حمله های مختلف مقاوم باشند. استفاده از ویژگیهای بیومتریک روش مناسبی برای جلوگیری از بسیاری از مشکلات امنیتی است. ویژگیهای بیومتریک مانند اثر انگشت، عنبیه، صورت، کف دست، صدا و دست خط، موارد منحصر بفردی برای هر فرد هستند که می توانند برای امنیت بیشتر به کار روند. با این وجود، همین ویژگیها، خود می توانند سبب بروز انواع دیگری از حملات شوند. برای حل این مشکل روش جدیدی بر مبنای اثر انگشت ارایه شده است. | |||
با رشد سریع تجارت الکترونیک موضوع حفظ حریم خصوصی و محافظت از داده ها بسیار بیشتر مورد توجه محققین امور امنیتی قرار گرفته است. یک سیستم احراز هویت قوی می بایست از ویژگیهای بیومتریک (که نشان دهنده قدرت بدن انسان هستند) استفاده نماید. | |||
'''اثر انگشت به عنوان سیستم بررسی بیومتریک''' | |||
اثر انگشت سالهاست که به عنوان یکی از راههای احراز هویت مورد استفاده قرار می گیرد. در بین تمامی ویژگیهای بیومتریک، اثر انگشت از سطح بالای قابلیت اطمینان برخوردار است. به طور معمول سیستمهای ارایه کننده تایید از طریق اثر انگشت به میزان بالایی قابل اطمینان هستند، ضمن اینکه سنسورهای تشخیص اثر انگشت نیز به راحتی در ابزارهای مختلف جاسازی می شوند. به دلایلی که ذکر شد احراز هویت بر مبنای اثر انگشت در بسیاری از نرم افزارهای تجاری مورد استفاده قرار می گیرند. | |||
'''بیومتریک های چند وجهی''' | |||
بیومتریکهای چند وجهی مکانیسم جدید امنیتی است که در آن از چند ویژگی رفتاری و یا فیزیولوژیکی برای ثبت نام، شناسایی و تشخیص استفاده می شود. به دلیل استفاده بسیاری از سیستمهای بیومتریک از مدل یک وجهی، که در آنها تنها بر یک بخش برای شناسایی استفاده می شود، نیاز مبرمی به بیومتریک چند وجهی وجود دارد. به طور معمول سیستم های یک وجهی دارای نرخ عدم پذیرش بالا و دوام پایینی هستند. این موارد در سیستم های چند وجهی که از دو یا چند منبع برای شناسایی استفاده می کنند برطرف می شود. ضمن اینکه سیستمهای چند وجهی به علت استفاده از ویژگیهای بیومتریک مستقل که سبب راندمان بالاتری می شوند، قابلیت اعتماد بالاتری دارند. همچنین این سیستمها با توجه به نحوه عملکردشان که در هر لحظه یکی از ویژگیهای بیومتریک را از کاربر درخواست می کنند (این موضوع تنها توسط یک انسان زنده قابل انجام است)، سبب جلوگیری از کلاهبرداری می شوند. با وجود پیچیدگی بالای پیاده سازی در این سیستمها، با این وجود استفاده از آنها در سیستمهای پرداخت الکترونیکی به علت ایجاد اعتماد بالاتر ترجیح داده می شود. | |||
'''نقطه ضعفهای سیستم تک وجهی''' | |||
با وجود اینکه سیستم یک وجهی توانسته است برخی از مشکلات امنیتی را بر طرف نماید، با این حال این سیستم نیز در برابر یک سری از حملات آسیب پذیر است. | |||
[[پرونده:Figure2.jpg|بیقاب|وسط|800px]] | |||
'''سیستم پیشنهادی''' | |||
در این سیستم مدلی از تراکنش برخط ارایه می گردد که به کاربر اطمینان می دهد داده های حساس تنها توسط ارایه دهنده کارت قابل رویت خواهد بود. در مدلهای فعلی برای انجام تراکنش می بایست اثر انگشت شخص به همراه رمز وجود داشته باشد. در سیستم جدید به کاربرانی که قصد انجام تراکنش برخط دارند کارت جدیدی (که می بایست توسط مشتری درخواست شود) به همراه نرم افزار داده می شود. این نرم افزار با استفاده از تولید تصویر خاصی به نام B-PASS (Biometric-based Personal Authentication using Steganography Scheme) عمل احراز هویت و تکمیل تراکنش را انجام می دهد. این تصویر خاص حاوی اطلاعات ویژه مشتری است که برای تکمیل تراکنش به آن نیاز دارد. ایده این طرح از اینجا ناشی می شود که به جای استفاده از دو عامل اثر انگشت و رمز از عامل B-PASS نیز در کنار آنها استفاده می شود. در این حالت در صورت دستیابی مهاجم به اطلاعات اثر انگشت و رمز مشتری به علت نداشتن اطلاعات B-PASS قادر به انجام تراکنش نخواهد بود. | |||
[[پرونده:Figure3.jpg|بیقاب|وسط|400px]] | |||
در سیستم جدید از دو تکنیک به طور همزمان استفاده می شود. در تکنیک اول از اثر انگشت به عنوان یک ویژگی شخصی برای احراز هویت استفاده می شود. در تکنیک دوم که از الگوریتم Steganography برای مخفی سازی داده ها استفاده می شود، ابتدا اطلاعات کارت رمز نگاری شده و سپس همراه با اطلاعات اثر انگشت به صورت کاملا امن در یک تصویر خاص جاسازی می شود به گونه ای که تنها در صورت داشتن کلید امنیتی امکان بازگشایی آن وجود داشته باشد. | |||
'''مراحل انجام کار''' | |||
'''گام اول: درخواست کارت B-PASS''' | |||
* مشتری درخواست کارت B-PASS را برای انجام تراکنش برخط ارایه می کند. | |||
* مراحل تهیه تصویر B-PASS | |||
** مشتری اطلاعات اثر انگشت و رمز خود را ارایه می کند. | |||
** رمز در اثر انگشت جاسازی می شود و به صورت stego fingerprint ارایه می شود. | |||
** ارایه دهنده کارت، شماره کارت و تاریخ اعتبار کارت را ارایه می کند. | |||
** جزییات کارت با استفاده از الگوریتم RSA رمز می شود. | |||
** داده رمز نگاری شده به همراه stego fingerprint به صورت باینری با یکدیگر پیوند خورده و برای ایجاد تصویری جدید B-PASS استفاده می شوند. | |||
** در پایان تصویر B-PASS تولید شده در نرم افزار بارگذاری می شوند. | |||
** کارت بدهی/ اعتباری به همراه اسکنر اثر انگشت و نرم افزار بارگذاری شده بر روی آن تحویل مشتری می گردد. | |||
[[پرونده:Figure4.jpg|بیقاب|وسط|800px]] | |||
'''گام دوم: استفاده از B-PASS در تراکنش''' | |||
* برای تکمیل خرید، از دارنده کارت درخواست می شود که اطلاعات کارت به همراه تاریخ انقضاء را اعلام کند (به شیوه معمول) و یا تصویر معتبر B-PASS را بارگذاری کند. برای تولید B-PASS، دارنده کارت باید از نرم افزاری که ارایه دهنده کارت در اختیار او قرار داده است استفاده نماید. | |||
* نرم افزار برای شناسایی دارنده کارت، اثر انگشت وی را درخواست می کند. رمز مشتری نیز از تصویر اثر انگشت (که رمز در آن جاسازی شده است) استخراج می شود. از مقایسه اثر انگشت (حاوی رمز) دارنده کارت با تصویر B-PASS اولیه که ارایه کننده کارت تولید کرده است، عملیات احراز هویت انجام می شود. در صورت موفقیت آمیز بودن این مرحله از کاریر خواسته می شود که مقدار عددی تراکنش را وارد کند و پس از آن تصویر B-PASS جدید تولید می گردد. | |||
* نرم افزار یک برچسب معتبرسازی که حاوی مقدار تراکنش و شماره سریال تراکنش است را تولید و به تصویر اضافه می کند. | |||
* تصویر B-PASS معتبر جدید می بایست در سایت فروشنده بارگذاری شود. | |||
'''گام سوم: مرحله شناسایی''' | |||
* مشتری از فروشنده درخواست انجام تراکنش برخط می کند. | |||
* فروشنده از مشتری درخواست تصویر B-PASS می کند. | |||
* مشتری اثر انگشت، رمز و اطلاعات کارت را ارایه می کند. | |||
* اثر انگشت اصلی، رمز و داده کارت رمزگشایی شده از تصویر خام B-PASS استخراج می شود. | |||
* اطلاعات وارد شده از طرف مشتری و اطلاعات استخراج شده از B-PASS با یکدیگر مقایسه می شوند. | |||
* در صورت تطبیق اطلاعات، تصویر B-PASS معتبر به همراه شماره تراکنش و برچسب تراکنش توسط نرم افزار تولید می شود. | |||
* تصویر B-PASS جدید را مشتری از نرم افزار دریافت می کند. | |||
* مشتری B-PASS جدید را به فروشنده ارسال می کند. | |||
* فروشنده B-PASS دریافتی را از طریق ارایه کننده کارت تایید می کند. | |||
* ارایه کننده کارت اطلاعات مشتری را از داخل B-PASS استخراج می کند. | |||
* جزییات کارت مشتری با اطلاعات موجود در پایگاه داده مقایسه می شود. | |||
* پس از تایید مشتری توسط ارایه دهنده کارت، پاسخ مناسب به فروشنده ارسال می گردد. | |||
* در پایان فروشنده انجام تراکنش موفق را به مشتری اطلاع رسانی می کند. | |||
[[پرونده:Figure5.jpg|بیقاب|وسط|800px]] | |||
'''مباحث امنیتی''' | |||
سیستم تراکنشی جدید موارد امنیتی زیر را حل می کند: | |||
* تصویر B-PASS تنها توسط صاحب آن قابل استفاده است. به دلیل اینکه فرایند احراز هویت قبل اجازه به کاربر برای استفاده از نرم افزار انجام می شود. در نتیجه با از دست دادن B-PASS و یا نرم افزار، خطری کاربر را تهدید نخواهد کرد. | |||
* ارایه B-PASS به فروشنده ریسکی نخواهد داشت به دلیل اینکه فروشنده هیچگونه دیدی نسبت به شماره کارت واقعی و تاریخ انقضاء آن ندارد. ضمن اینکه هر گونه حمله به سرورهای فروشنده بلا استفاده خواهد بود به دلیل اینکه تصاویر تهیه شده تنها برای یک بار معتبر خواهند بود. | |||
* تلاش برای کپی B-PASS نیز بی ثمر خواهد بود به دلیل اینکه هر B-PASS بایستی دارای برچسب تراکنش یکتا باشد که تنها توسط دارنده کارت قابل ایجاد خواهد بود. | |||
سیستم جدید اهداف امنیتی زیر را نیز برآورده می کنند: | |||
* محرمانگی: سیستم جدید از استفاده غیرمجاز B-PASS با استفاده احراز هویت کاربر با اثرانگشت جلوگیری می کند. | |||
* صحت: هرگونه حمله به سیستم سبب کنسل شدن تراکنش می شود. | |||
* دسترس پذیری: به دلیل اینکه دارنده کارت عملا نرم افزار را همراه خود خواهد داشت، در هر زمان و مکانی قادر به انجام تراکنش خواهد بود. | |||
* مسوولیت پذیری: مراحل احراز هویت به فروشنده اطمینان می دهد که خریدار واقعی است در مقابل به علت عدم امکان سوء استفاده از B-PASS توسط فروشنده، خریدار نگران فروشنده تقلبی نیست. ضمن اینکه در این سیستم خریدار اطلاعات حساس خود را بر روی بستر اینترنت ارسال نمی کند. | |||
[[پرونده:Figure6.jpg|بیقاب|وسط|800px]] | |||
[[پرونده:Figure7.jpg|بیقاب|وسط|800px]] | |||
===ارتقاء امنیت با حذف فیزیکی کارت=== | |||
در ایده ارایه شده، فرایند جدیدی برای تراکنش طراحی شده است که در آن مشتری کالای مورد نظر خود را بدون استفاده از اطلاعات کارت از فروشنده خریداری می کند. در این فرایند مشتری پیغامی را برای خرید به بانک خود ارسال می کند، در عین حال اطلاعات نام بانک و نام شعبه (بدون شماره حساب) را به فروشنده ارسال می کند. فروشنده بدون تغییر در این اطلاعات، آنها را به در قالب درخواست به بانک خود ارسال می کند. بانک فروشنده درخواست را به بانک مشتری ارسال نموده و بانک مشتری این موضوع را به صورت SMS به اطلاع مشتری می رساند. در صورت تایید مشتری، انتقال وجه انجام شده و این موضوع به اطلاع فروشنده و مشتری رسانده می شود. | |||
استفاده از اطلاعات کارت به دلیل اینکه شامل اطلاعات کامل حساب می باشند دارای امنیت نیست که این مساله با حذف کارت در فرایند جدید حذف می شود. در این فرایند جدید به جای ارتباط مشتری و فروشنده، حسابهای بانکی با یکدیگر در ارتباط خواهند بود. در این حالت فروشنده و مشتری باید دارای | |||
حساب بانکی و آدرس ایمیل معتبر باشند. | |||
[[پرونده:Figure8.jpg|بیقاب|وسط|800px]] | |||
'''گام اول: مشتری درخواست خرید کالا را ثبت می کند''' | |||
در گام اول مشتری پس از انتخاب کالای مورد نظر خود اطلاعات لازم مانند نام، آدرس، ایمیل و شماره تماس خود را در سایت فروشنده ثبت می کند. | |||
'''گام دوم: واگذاری اطلاعات بانکی خریدار به فروشنده''' | |||
در این گام، فروشنده یک Purchase ID یکتا تولید کرده و آن را از طریق SMS و یا ایمیل به اطلاع مشتری می رساند. در پاسخ، مشتری اطلاعات بانکی خود شامل نام بانک و شعبه را به فروشنده ارسال می کند. فروشنده اطلاعات دریافتی را برای بانک خود فورارد می کند. همچنین فروشنده درخواست خود برای انجام تراکنش بین فروشنده و خریدار را به بانک ارسال می کند. | |||
Purchase ID از پنج بخش تشکیل شده است. | |||
[[پرونده:Figure9.jpg|بیقاب|وسط|800px]] | |||
'''گام سوم: انتقال اطلاعات به بانک خریدار و جستجو برای اطلاعات حساب بانکی خریدار''' | |||
در این گام ابتدا مشتری از طریق ایمیل و یا SMS اطلاعات خرید خود را با Purchase ID به بانک خود ارسال می کند. بانک از طریق آدرس ایمیل مشتری و یا شماره موبایل وی (که برای هر مشتری یکتا خواهد بود) اطلاعات حساب را استخراج می کند. در این گام خریدار قبل از شروع تراکنش، قصد خرید خود را به بانک اطلاع رسانی می کند. | |||
'''گام چهارم: ارایه درخواست بانک فروشنده به بانک خریدار برای انتقال وجه''' | |||
در این گام بانک فروشنده اطلاعات لازم همانند Purchase ID، نام بانک، نام شعبه و نام مشتری را به همراه درخواست انتقال وجه به بانک خریدار ارسال می کند. | |||
'''گام پنجم: بررسی صحت اطلاعات توسط بانک خریدار''' | |||
بانک خریدار صحت اطلاعات را از طریق Purchase ID دریافت شده از سوی خریدار و فروشنده بررسی می کند. سپس بانک خریدار Purchase ID را به همراه یک عدد 6 رقمی یکتا (به عنوان کد امنیتی) از طریق SMS و ایمیل جهت تایید برای مشتری ارسال می کند. | |||
'''گام ششم: تایید مشتری''' | |||
مشتری تاییدیه خود را با ارسال مجدد Purchase ID و کد امنیتی از طریق ایمیل و یا SMS به بانک خود اعلام می کند. | |||
'''گام هفتم: انتقال وجه بین بانک خریدار و فروشنده''' | |||
پس از تایید مشتری برای انتفال وجه، بانک خریدار کل وجه مورد نظر را از حساب خریدار به حساب فروشنده منتقل می کند. | |||
'''گام هشتم: تایید انجام موفق تراکنش به خریدار''' | |||
بانک خریدار با ارسال ایمیل و SMS به خریدار، انجام تراکنش موفق را به وی اطلاع رسانی می کند. | |||
'''گام نهم: تایید انجام تراکنش به فروشنده''' | |||
بانک فروشنده با ارسال ایمیل و SMS به فروشنده، انجام تراکنش موفق و انتقال پول به حساب وی را اطلاع رسانی می کند. | |||
[[پرونده:Figure10.jpg|بیقاب|وسط|800px]] | |||
===ارتقاء امنیت با استفاده از پروتکل امن=== | |||
در شیوه جدید که بر مبنای سه روش موجود طراحی شده است لایه امنیتی اضافه برای محافظت از دارنده کارت و فروشنده دیده شده است. | |||
در تراکنشهای B2C کارت اعتباری یکی از پر استفاده ترین روش های تراکنشهای تجارت الکترونیکی اینترنتی است. طبق آمار 36 درصد استفاده کنندگان از خرید اینترنتی از روش امن برای انجام تراکنش و انتقال اطلاعات کارت استفاده می کنند. این آمار برای روشهای دیگر کمتر است. مسلم است که استفاده از کارت اعتباری و بدهی اولین راه برای مشتریان در جهت خرید کالا و سرویس برخط است و انتقال اطلاعات کارت یک تهدید اولیه برای آنها به حساب می آید. سیستم پرداخت الکترونیک مزایایی همچون صرفه جویی در زمان، کارایی بالا و افزایش سرعت را به همراه دارد. در عین حال ریسک انجام این نوع تراکنش نیز وجود دارد که باید به ان توجه شود. | |||
هدف از طراحی پروتکل جدید ایجاد توانایی در ارایه کننده کارت برای احراز هویت دارنده کارت مستقل از شخص ثالث است که سبب ارتقاء امنیت در این نوع از تراکنش می شود. در این روش جریان جدیدی برای تراکنش دیده شده است که شامل دارنده کارت، فروشنده، دروازه پرداخت و صادر کننده کارت است و به بخشهای مختلف اجازه می دهد تا خود را به یکدیگر بشناسانند و اطلاعات را به شیوه امن و با استفاده از گواهی دیجیتال رد و بدل کنند. البته در این پروتکل، دارنده کارت نیازی به داشتن گواهی دیجیتال ندارد. | |||
'''نیازمندیهای امنیتی در پرداخت الکترونیک''' | |||
* محرمانگی اطلاعات | |||
* صحت اطلاعات | |||
* احراز هویت | |||
* عدم انکار | |||
'''نیازمندیهای لازم برای پیاده سازی سمت کاربر نهایی''' | |||
* قابلیت استفاده: | |||
سیستم مورد استفاده می بایست توسط کاربر براحتی قابل نصب و استفاده بوده و استفاده از آن پیچیده نباشد. در عین حال فروشنده نیز انتظار دارد سیستمی که در اختیار می گیرد توجه کافی به موارد امنیتی کرده باشد. | |||
* انعطاف پذیری: | |||
در یک سیستم پرداخت، کاربر باید بتواند امور مربوطه را از مکانهای مختلف انجام دهد و محدودیتی در این زمینه نباید داشته باشد. در این حالت کاربر استفاده کننده از این سرویس و فروشنده فراهم کننده آن خواهد بود. | |||
هزینه قابل قبول: با توجه به اینکه خریدار و فروشنده علاقمند به پرداخت هزینه اضافه برای استفاده از سرویسها نیستند، لذا هزینه پیاده سازی و استفاده از سرویس باید معقول و قابل قبول برای کابران آن باشد. | |||
* قابلیت اطمینان: | |||
به دلیل استفاده از داده حساس، سیستم باید برای استفاده کنندگان آن قابل اطمینان باشد. | |||
* در دسترس پذیری: | |||
این سیستم باید در زمان نیاز در دسترس باشد. | |||
* سرعت تراکنش: | |||
سرعت انجام تراکنش باید مورد قبول کاربران آن باشد. | |||
* قابلیت همکاری: | |||
این نوع از سیستم بایستی دارای قابلیت همکاری بین پلت فرم های مختلف، نرم افزارهای سمت سرور و web browser های مختلف را داشته باشد. در این حالت است که امکان استفاده از طی وسیعی از کاربران فراهم می گردد. | |||
پروتکلهای امن تجارت الکترونیک به عنوان یکی از راههای تامین موارد ذکر شده بالا شناخته می شوند. به عنوان نمونه پروتکلهای SL/TLS و 3D Security هستند. این پروتکلها بستر رمزنگاری را برای انجام تراکنشهای برخط فراهم می کنند که سبب عدم امکان خواندن اطلاعات در زمان انتقال می شوند. با این حال امروزه مشخص شده است که این پروتکل ها نیز دارای نقاط ضعفی هستند و آنگونه تاکنون تصور می شده است امنیت ما را تامین نمی کنند. | |||
راهکارهای امنیتی که تاکنون در تجارت الکترونیک مطرح بوده است بر پایه فشرده سازی و رمزنگاری شکل گرفته است. با این حال و در شرایط جاری که با گسترش تکنولوژی ها و توسعه نرم افزارها هستیم، این رویکرد نیز باید تغییر یافته و شکل دیگری به خود بگیرد. | |||
پروتکل SSL که امروزه بسیار مورد استفاده قرار می گیرد با استفاده از رمز نگاری اطلاعات بین web browser و web server سعی در برقراری امنیت تراکنش می کند. با این حال مشکل اصلی SSL، توانایی فروشنده در ذخیره اطلاعات حساس دارنده کارت و عدم جلوگیری از انکار است. | |||
پروتکل SET برای رفع مشکلات SSL در احراز هویت کاربر و محافظت از داده های حساس ایجاد گردید . SET می تواند صحت اطلاعات، محرمانگی و احراز هویت مشتری و فروشنده را تامین نماید. با این هزینه پیاده سازی و استفاده از این روش برای هر دو طرف تراکنش قابل ملاحظه است، ضمن اینکه این پروتکل نیز از مشکل انکار جلوگیری نمی کند. | |||
برای این حل این مشکل شرکت VISA اقدام به معرفی 3D Security نمود که بر پایه ارایه اطلاعات کنترلی بیشتر بنا نهاده شده است. در این روش مشتری موظف به تایید تراکنش با استفاده از ارایه داده مخفی و توافق شده با بانک در زمان انجام تراکنش است. | |||
در پروتکل جدید ارایه شده نشان خواهیم داد که چگونه نیازمندیهای امنیتی تجارت الکترونیک که بر پایه دروازه پرداخت و گواهی دیجیتال بنا نهاده شده است، تامین خواهند شد. | |||
ایده اصلی این پروتکل طراحی پروتکل امن و کارآمد برای محافظت از تراکنشهای پرداخت در برابر کلاهبرداری ها بدون نیاز به درگیر کردن شخص یا سازمان ثالث می باشد. این پروتکل تامین کننده مسایل مربوط به محرمانگی، صحت، احراز هویت و عدم انکار خوهد بود. | |||
در این پروتکل که با نام پرداخت الکترونیک امن (SEP) نامگذاری می شود، سعی شده است از پیچیدگیهای موجود در سیستم های فعلی جلوگیری نماید. برای جلوگیری از پیچیدگی در پیگیری مطالب از نامگذاری های زیر استفاده شده است: | |||
C : Cardholder | |||
M : Merchant | |||
PG : Payment Gateway | |||
IB : Issuer Bank or Cardholder Bank | |||
CA: Certificate authority | |||
Vshop : Virtual Shopping Site | |||
PAN: Card Number | |||
CVV2: Card Verification Value or Crypto (three digits) | |||
ExD: Expiry date of the card | |||
OI: Order Information | |||
PI: Payment Instructions | |||
OIMD: OI Message Digest | |||
PIMD: PI Message Digest | |||
POMD: Payment Order Message Digest | |||
K: Symmetric key generated randomly | |||
Kum: Public key of merchant | |||
Kupg: Public key of payment gateway | |||
Kuis: Public key of issuer bank | |||
Krm: Private key of merchant | |||
Krpg: Private key of payment gateway | |||
Kris: Private key of issuer bank | |||
S: Sign | |||
E: Encrypt | |||
D: Decrypt | |||
V: Verify signature | |||
H: Hash | |||
(علامت)||: Concatenation | |||
(علامت)#: Disconnect | |||
Eq: Equal | |||
پروتکل ما از بخشهای زیر تشکیل شده است: | |||
* Certificate Authority | |||
* Card Holder | |||
* Merchant | |||
* Payment Gateway | |||
* Issuer Ban | |||
* Interbank Financial Network | |||
نحوه ارتباطات در شکل زیر نشان داده شده است. | |||
[[پرونده:Figure11.jpg|بیقاب|وسط|800px]] | |||
نحوه انجام کار به صورت گامهای زیر تعریف می گردد: | |||
'''گام اول: فرایند ثبت نام''' | |||
بخشهای فروشنده، دروازه پرداخت و بانک صادر کننده کارت بایستی پیش از ورود، از طریق یک CA اقدام به ثبت نام و دریافت گواهینامه دیجیتال نمایند. در مقابل، دارنده کارت نیز باید از طریق بانک صادر کننده کارت خود اقدام به دریافت رمز عبور نماید. | |||
'''گام دوم: درخواست خرید''' | |||
* دارنده کارت لیست خرید خود را آماده کرده و با فروشنده بر روی قیمت مورد نظر توافق کرده است. پس دارنده کارت، Local ID خود و یک عبارت تصادفی جدید را برای فروشنده می فرستد. این موضوع برای ارایه گواهینامه دیجیتال فروشنده و گواهی رمزنگاری پرداخت به دارنده کارت است. | |||
* دارنده کارت مقدار OI (اطلاعات خرید) و PI (اطلاعات پرداخت) رمز شده و امضای دوگانه را تولید می کند. امضای دوگانه با استفاده از کلید متقارن که به صورت تصادفی تولید شده است رمز می شود. در این حالت از دارنده کارت درخواست گواهی نمی شود. | |||
[[پرونده:Figure12.jpg|بیقاب|وسط|800px]] | |||
* دارنده کارت درخواست خرید را آماده کرده و به فروشنده ارسال می کند. | |||
* فروشنده کلید متقارت را استخراج کرده، OI را پردازش نموده و PI رمز شده را به دروازه پرداخت ارسال می کند. | |||
[[پرونده:Figure13.jpg|بیقاب|وسط|800px]] | |||
'''گام سوم: درخواست مجوز''' | |||
* فروشنده پس از امضاء و ارسال درخواست مجوز به دروازه پرداخت، کلید متقارن K1 را که برای امضای دوگانه استفاده شده است ارسال می کند. درخواست مجوز با کلید تضادفی رمز می شود. دروازه پرداخت امضای دوگانه با شناسایی کرده و PI را می گیرد. | |||
[[پرونده:Figure14.jpg|بیقاب|وسط|400px]] | |||
* دروازه پرداخت مجوز و PI را از طریق شبکه امن مالی بین بانکی به بانک صادرکننده ارسال می کند. | |||
[[پرونده:Figure15.jpg|بیقاب|وسط|800px]] | |||
'''گام چهارم: پاسخ مجوز''' | |||
* بانک صادر کننده پس از بررسی PI و مجوز، کنترلهای خود را برای بررسی اجازه دارنده کارت برای انجام این تراکنش انجام می دهد. | |||
* بانک صادر کننده پاسخ درخواست مجوز و گواهینامه دیجیتال خود را از طریق شبکه امن مالی بین بانکی به دروازه پرداخت ارسال می کند. پاسخ مجوز شامل کد پاسخ و کد اجرا می باشد. کد پاسخ بیانگر تایید یا عدم تایید درخواست مجوز یوده و کد اجرا نشان دهنده درخواست از دارنده کارت برای احراز هویت و ورود کلمه عبور است. هدف از انجام این گام ارایه گواهی دیجیتال بانک به دارنده کارت است. | |||
[[پرونده:Figure16.jpg|بیقاب|وسط|800px]] | |||
* دروازه پرداخت اقدام به امضاء و ارسال پاسخ مجوز و گواهی بانک صادر کننده به فروشنده می کند. | |||
[[پرونده:Figure17.jpg|بیقاب|وسط|800px]] | |||
* در صورتی که کد اجرا برابر Y باشد (که یعنی خریدار باید احراز هویت گردد)، درخواست احراز هویت را به همراه گواهی بانک صادر کننده و تعدادی داده مربوط به مجوز به خریدار ارسال می کند. | |||
[[پرونده:Figure18.jpg|بیقاب|وسط|800px]] | |||
'''گام پنجم: درخواست احراز هویت دارنده کارت''' | |||
* دارنده کارت گواهی بانک صادر کننده را بررسی کرده و کلمه عبور شخصی خود را که با کلید متقارن رمز کرده است ارسال می کند. | |||
[[پرونده:Figure19.jpg|بیقاب|وسط|800px]] | |||
* فروشنده پس از بررسی داده های مجوز، کلمه عبور رمز شده را به دروازه پرداخت ارسال می کند. | |||
[[پرونده:Figure20.jpg|بیقاب|وسط|800px]] | |||
* دروازه پرداخت داده های مجوز را بررسی کرده و کلمه عبور رمز شده را برای تایید به بانک صادر کننده انتقال می دهد. صادر کننده کلمه عبور کارت را بررسی می کند. | |||
[[پرونده:Figure21.jpg|بیقاب|وسط|800px]] | |||
'''گام ششم: پاسخ احراز هویت دارنده کارت و پرداخت نهایی''' | |||
* صادر کننده پس از تایید هویت دارنده کارت و اطمینان از سازگاری مجوز موجود برای دارنده کارت با درخواست وی، اقدام به بستانکار نمودن حساب مشتری نموده و پاسخ پرداخت را به دروازه پرداخت می فرستد. | |||
[[پرونده:Figure22.jpg|بیقاب|وسط|800px]] | |||
* در نهایت دروازه پرداخت پاسخ پرداخت را به فروشنده ارسال کرده و وی پس از بررسی آن اقدام به ارسال کالاها به دارنده کارت می نماید. | |||
[[پرونده:Figure23.jpg|بیقاب|وسط|800px]] | |||
SEP و محرمانگی اطلاعات: در هر مرحله، برای رمزنگاری داده پرداخت الکترونیک از یک کلید رمزنگاری تصادفی استفاده می شود که سبب جلوگیری از دسترسی غیرمجاز به داده های در حال انتقال می گردد. | |||
SEP و احراز هویت: | |||
* دارنده کارت، فروشنده و بانک صادرکننده را احراز هویت می کند. | |||
* فروشنده، دروازه پرداخت و بانک صادر کننده را احراز هویت می کند. | |||
* دروازه پرداخت، فروشنده و بانک صادر کننده را احراز هویت می کند. | |||
* بانک صادرکننده، دارنده کارت را احراز هویت می کند. | |||
* SEP و صحت اطلاعات: با استفاده از MAC بر مبنای الگوریتمهای استاندارد hash که برای هر پیغام تولید و ارسال می گردد، صحت اطلاعات تامین می گردد. | |||
== نتیجه گیری == | == نتیجه گیری == | ||
حوزه امنیت در تجارت الکترونیک خصوصا پرداخت الکترونیک بسیار گسترده است. این حوزه شامل تمامی بخشهای مرتبط مانند احراز هویت، صحت، دسترس پذیری، کنترل دسترسی، مجوزها، شبکه و پروتکل می شود. در گزارش ارایه شده، سعی گردیده است علاوه بر بررسی تهدیدات موجود در حوزه های مختلف این موضوع، در سه حوزه راه حلهای ارایه شده بررسی گردد. | |||
در حوزه احراز هویت راهی ارایه گردیده است که در آن از ویژگی بیومتریک مانند اثر انگشت به شیوه ای متفاوت از آنچه تاکنون استفاده می شود، بهره بداری گردد. در بخش امنیت کارت، با ارایه راهکار، سعی در حذف کارت به صورت فیزیکی شده است که تاثیر بسزایی در ارتقاء امنیت در پرداخت می نماید. در نهایت با ارایه پروتکلی جدید سعی شده است با استفاده از گواهی دیجیتال و احراز هویت عناصر موجود در انجام تراکنش، امنیت آن ارتقاء یابد. | |||
== مراجع == | == مراجع == |
نسخهٔ کنونی تا ۱۱ نوامبر ۲۰۱۸، ساعت ۰۹:۲۷
چکیده
تجارت الکترونیکی یا کسب و کار الکترونیکی شامل خرید و فروش کالا و خدمات بر بستر شبکه های کامپیوتری مانند اینترنت می باشد. با گسترش تجارت الکترونیکی، پرداخت الکترونیک گام بسیار مهمی در این سیستم بوده و به شکل فراگیری مورد استفاده قرار می گیرد. لذا امنیت آن برای کاربران بسیار مهم بوده و می بایست در حد مطلوب برقرار گردد. با این حال امنیت تراکنش ها در پرداخت الکترونیک مشکل بوده و پوشیدگی اطلاعات در زمان انتشار بر روی شبکه به سختی حاصل می شود.
پرداخت الکترونیکی در تراکنشهایی مانند خرید برخط، بانکداری برخط، بلیط الکترونیکی و غیره مورد استفاده قرار گرفته و خریدار، کالا یا سرویس را با استفاده از کارت بانکی و یا کارت اعتباری از فروشنده می خرد. تراکنشهای الکترونیکی می بایست به گونه ای امن باشند که از خطر حملاتی مانند replay attack، circumvention، repudiation و covert acquisition در امان باشند.
روشهای ارتقاء امنیت در این حوزه خارج از پارامترهای اصلی مانند Authentication و Authorization و Integrity نخواهد بود. یکی از راههای افزایش امنیت در انجام تراکنشهای برخط حذف نقاط ضعف مانند کارت بانکی و یا اعتباری می باشد که اطلاعات خریدار را شامل شده و انتشار آن بر بستر شبکه می تواند سبب بروز مشکل برای خریدار گردد. یکی دیگر از راهها طراحی و پیاده سازی روشهای ارتقاء امنیت برای ابزارهای موجود است مانند استفاده از مشخصات biometric کاربر در زمان استفاده از کارت بانکی در زمان انجام تراکنش. توجه به زیرساخت مورد استفاده مانند شبکه و استفاده از پروتکلهای امنیتی نیز می تواند سبب ارتقاء امنیت و ایجاد آسودگی خاطر بیشتر کاربران گردد.
مقدمه
تجارت الکترونیک عبارتی است که برای انواع کسب و کار مربوط به سرویس خرید و فروش کالا و خدمات در فضای اینترنت استفاده می شود. سیستم تراکنش برخط روش پرداختی است که انتقال وجه را بر بستر انتقال وجه الکترونیکی انجام می دهد. در این سیستم مشتری کالا را از فروشنده با استفاده از اطلاعات کارت بدهی و یا کارت اعتباری انجام می دهد. این سیستم تراکنش برخط به علت انتقال اطلاعات کارت مشتری بر بستر اینترنت (که احتمال سوء استفاده از آن وجود دارد)، امن نیست. در دنیای اینترنت کنونی نرخ استفاده از تراکنشهای مالی برخط روز به روز در حال افزایش است. طبق پیش بینی گارتنر، در سال 2014، 80 درصد پرداختها به صورت الکترونیکی انجام خواهد شد که این رقم در سال 2015 به 90 درصد خواهد رسید. بدون شک این شرایط فشار بیشتری را بر مدیرانی که این نوع از راه حلها را ارایه می دهند وارد خواهد کرد. همانطوری که در حال حاضر ما بر اساس اعتماد و امنیت عمل می کنیم در آینده این موضوع نیازمند چالش پیچیده خواهد بود که نیازمند فرهنگ امنیت در بین بخشهای مختلف درگیر در موضوع در کل دنیا خواهد داشت. پرداخت الکترونیک بخش مهمی از کسب و کار الکترونیک را تشکیل می دهد که امنیت آن می بایست تامین شود. روشهایی همانند SET، SSL/TLS و 3D Security مواردی هستند که در این خصوص معرفی شده اند. SET به علت نوع پیاده سازی با پرداخت الکترونیکی به صورت کامل سازگاری ندارد. امنیت از نقطه نظرات مختلف می تواند متفاوت باشد. با این حال چند موضع کلی در زمینه امنیت در تراکنش وجود دارد که می بایست از هر دو سوی خریدار و فروشنده مورد توجه قرار گیرند.
بررسی ادبیات موضوع
تهدیدات امنیتی در تراکنش الکترونیکی
به صورت سنتی از بعد امنیت داده، چهار هدف مد نظر قرار می گیرند. آنها محرمانگی، صحت، دسترس پذیری و مسوولیت پذیری هستند. هر سیستم تراکنش الکترونیکی از منظر این موارد با تهدید روبرو هستند:
- تهدید محرمانگی
از دیدگاه مشتری در صورت ذخیره cookie ها بر روی سرور و همچنین امکان بررسی و یا تغییر پروفایل بدون اطلاع وی تهدیدی در این زمینه است. از دیدگاه فروشنده، عدم اطمینان از اینکه تنها افراد دارای صلاحیت به اطلاعات شخصی دسترسی دارند وجو دارد. در یک انتقال داده بدون محافظ، داده ها می توانند توسط هر شخصی که به آنها دسترسی پیدا کند خوانده شوند.
- تهدید صحت
در سمت مشتری ممکن است صحت اطلاعات توسط نرم افزارهایی مانند تروجانها دستکاری شود. در سمت فروشنده نیز مهاجم می تواند اطلاعات فروش را دستکاری کند. در زمان انتقال نیز داده ها می توانند تغییر یایند.
- تهدید دسترس پذیری
دسترس پذیری کامپیوتر مشتری می تواند از طریق نرم افزارهایی مانند ویروسها به خطر بیفتد. همچنین مهاجمین می توانند از طریق حمله های مختلف، دسترسی به فروشنده مختل کنند.
- تهدید مسوولیت پذیری
هرکدام از مشتری و فروشنده با استفاده از تکنیکهای جعل می توانند اطلاعات شناسایی غلطی را به طرف مقابل ارسال نمایند.
برخی دیگر ازتکنیکهای موجود برای امن سازی فرایند تراکنش برخط==== معروفترین تکنیهای استفاده شده برای امن سازی تراکنش الکترونیکی موارد زیر هستند:
- تراکنش الکترونیکی امن (SET)
- لایه امن سوکت (SSL)
- سرویس احراز هویت پرداخت کننده
هر کدام از این روشها دارای مزایا و معایبی می باشد. مهمترین معایب این تکنیکها عبارتند از:
- ضعیف در برابر انواع حملات
- بیشتر بودن تعداد منفعت های مورد نظر و پیش بینی شده از تعداد واقعی
- امنیت کمتر و هزینه بالاتر
- نیازمند نرم افزار ویژه بر روی دستگاه کاربر
بدنه تحقیق
ارتقاء امنیت با استفاده از ویژگیهای بیومتریک
در تمامی مدلهای تراکنشهای برخط، موضوع اصلی امنیت است. کلیه تراکنشها می بایست در برابر حمله های مختلف مقاوم باشند. استفاده از ویژگیهای بیومتریک روش مناسبی برای جلوگیری از بسیاری از مشکلات امنیتی است. ویژگیهای بیومتریک مانند اثر انگشت، عنبیه، صورت، کف دست، صدا و دست خط، موارد منحصر بفردی برای هر فرد هستند که می توانند برای امنیت بیشتر به کار روند. با این وجود، همین ویژگیها، خود می توانند سبب بروز انواع دیگری از حملات شوند. برای حل این مشکل روش جدیدی بر مبنای اثر انگشت ارایه شده است.
با رشد سریع تجارت الکترونیک موضوع حفظ حریم خصوصی و محافظت از داده ها بسیار بیشتر مورد توجه محققین امور امنیتی قرار گرفته است. یک سیستم احراز هویت قوی می بایست از ویژگیهای بیومتریک (که نشان دهنده قدرت بدن انسان هستند) استفاده نماید.
اثر انگشت به عنوان سیستم بررسی بیومتریک
اثر انگشت سالهاست که به عنوان یکی از راههای احراز هویت مورد استفاده قرار می گیرد. در بین تمامی ویژگیهای بیومتریک، اثر انگشت از سطح بالای قابلیت اطمینان برخوردار است. به طور معمول سیستمهای ارایه کننده تایید از طریق اثر انگشت به میزان بالایی قابل اطمینان هستند، ضمن اینکه سنسورهای تشخیص اثر انگشت نیز به راحتی در ابزارهای مختلف جاسازی می شوند. به دلایلی که ذکر شد احراز هویت بر مبنای اثر انگشت در بسیاری از نرم افزارهای تجاری مورد استفاده قرار می گیرند.
بیومتریک های چند وجهی
بیومتریکهای چند وجهی مکانیسم جدید امنیتی است که در آن از چند ویژگی رفتاری و یا فیزیولوژیکی برای ثبت نام، شناسایی و تشخیص استفاده می شود. به دلیل استفاده بسیاری از سیستمهای بیومتریک از مدل یک وجهی، که در آنها تنها بر یک بخش برای شناسایی استفاده می شود، نیاز مبرمی به بیومتریک چند وجهی وجود دارد. به طور معمول سیستم های یک وجهی دارای نرخ عدم پذیرش بالا و دوام پایینی هستند. این موارد در سیستم های چند وجهی که از دو یا چند منبع برای شناسایی استفاده می کنند برطرف می شود. ضمن اینکه سیستمهای چند وجهی به علت استفاده از ویژگیهای بیومتریک مستقل که سبب راندمان بالاتری می شوند، قابلیت اعتماد بالاتری دارند. همچنین این سیستمها با توجه به نحوه عملکردشان که در هر لحظه یکی از ویژگیهای بیومتریک را از کاربر درخواست می کنند (این موضوع تنها توسط یک انسان زنده قابل انجام است)، سبب جلوگیری از کلاهبرداری می شوند. با وجود پیچیدگی بالای پیاده سازی در این سیستمها، با این وجود استفاده از آنها در سیستمهای پرداخت الکترونیکی به علت ایجاد اعتماد بالاتر ترجیح داده می شود.
نقطه ضعفهای سیستم تک وجهی
با وجود اینکه سیستم یک وجهی توانسته است برخی از مشکلات امنیتی را بر طرف نماید، با این حال این سیستم نیز در برابر یک سری از حملات آسیب پذیر است.
سیستم پیشنهادی
در این سیستم مدلی از تراکنش برخط ارایه می گردد که به کاربر اطمینان می دهد داده های حساس تنها توسط ارایه دهنده کارت قابل رویت خواهد بود. در مدلهای فعلی برای انجام تراکنش می بایست اثر انگشت شخص به همراه رمز وجود داشته باشد. در سیستم جدید به کاربرانی که قصد انجام تراکنش برخط دارند کارت جدیدی (که می بایست توسط مشتری درخواست شود) به همراه نرم افزار داده می شود. این نرم افزار با استفاده از تولید تصویر خاصی به نام B-PASS (Biometric-based Personal Authentication using Steganography Scheme) عمل احراز هویت و تکمیل تراکنش را انجام می دهد. این تصویر خاص حاوی اطلاعات ویژه مشتری است که برای تکمیل تراکنش به آن نیاز دارد. ایده این طرح از اینجا ناشی می شود که به جای استفاده از دو عامل اثر انگشت و رمز از عامل B-PASS نیز در کنار آنها استفاده می شود. در این حالت در صورت دستیابی مهاجم به اطلاعات اثر انگشت و رمز مشتری به علت نداشتن اطلاعات B-PASS قادر به انجام تراکنش نخواهد بود.
در سیستم جدید از دو تکنیک به طور همزمان استفاده می شود. در تکنیک اول از اثر انگشت به عنوان یک ویژگی شخصی برای احراز هویت استفاده می شود. در تکنیک دوم که از الگوریتم Steganography برای مخفی سازی داده ها استفاده می شود، ابتدا اطلاعات کارت رمز نگاری شده و سپس همراه با اطلاعات اثر انگشت به صورت کاملا امن در یک تصویر خاص جاسازی می شود به گونه ای که تنها در صورت داشتن کلید امنیتی امکان بازگشایی آن وجود داشته باشد.
مراحل انجام کار
گام اول: درخواست کارت B-PASS
- مشتری درخواست کارت B-PASS را برای انجام تراکنش برخط ارایه می کند.
- مراحل تهیه تصویر B-PASS
- مشتری اطلاعات اثر انگشت و رمز خود را ارایه می کند.
- رمز در اثر انگشت جاسازی می شود و به صورت stego fingerprint ارایه می شود.
- ارایه دهنده کارت، شماره کارت و تاریخ اعتبار کارت را ارایه می کند.
- جزییات کارت با استفاده از الگوریتم RSA رمز می شود.
- داده رمز نگاری شده به همراه stego fingerprint به صورت باینری با یکدیگر پیوند خورده و برای ایجاد تصویری جدید B-PASS استفاده می شوند.
- در پایان تصویر B-PASS تولید شده در نرم افزار بارگذاری می شوند.
- کارت بدهی/ اعتباری به همراه اسکنر اثر انگشت و نرم افزار بارگذاری شده بر روی آن تحویل مشتری می گردد.
گام دوم: استفاده از B-PASS در تراکنش
- برای تکمیل خرید، از دارنده کارت درخواست می شود که اطلاعات کارت به همراه تاریخ انقضاء را اعلام کند (به شیوه معمول) و یا تصویر معتبر B-PASS را بارگذاری کند. برای تولید B-PASS، دارنده کارت باید از نرم افزاری که ارایه دهنده کارت در اختیار او قرار داده است استفاده نماید.
- نرم افزار برای شناسایی دارنده کارت، اثر انگشت وی را درخواست می کند. رمز مشتری نیز از تصویر اثر انگشت (که رمز در آن جاسازی شده است) استخراج می شود. از مقایسه اثر انگشت (حاوی رمز) دارنده کارت با تصویر B-PASS اولیه که ارایه کننده کارت تولید کرده است، عملیات احراز هویت انجام می شود. در صورت موفقیت آمیز بودن این مرحله از کاریر خواسته می شود که مقدار عددی تراکنش را وارد کند و پس از آن تصویر B-PASS جدید تولید می گردد.
- نرم افزار یک برچسب معتبرسازی که حاوی مقدار تراکنش و شماره سریال تراکنش است را تولید و به تصویر اضافه می کند.
- تصویر B-PASS معتبر جدید می بایست در سایت فروشنده بارگذاری شود.
گام سوم: مرحله شناسایی
- مشتری از فروشنده درخواست انجام تراکنش برخط می کند.
- فروشنده از مشتری درخواست تصویر B-PASS می کند.
- مشتری اثر انگشت، رمز و اطلاعات کارت را ارایه می کند.
- اثر انگشت اصلی، رمز و داده کارت رمزگشایی شده از تصویر خام B-PASS استخراج می شود.
- اطلاعات وارد شده از طرف مشتری و اطلاعات استخراج شده از B-PASS با یکدیگر مقایسه می شوند.
- در صورت تطبیق اطلاعات، تصویر B-PASS معتبر به همراه شماره تراکنش و برچسب تراکنش توسط نرم افزار تولید می شود.
- تصویر B-PASS جدید را مشتری از نرم افزار دریافت می کند.
- مشتری B-PASS جدید را به فروشنده ارسال می کند.
- فروشنده B-PASS دریافتی را از طریق ارایه کننده کارت تایید می کند.
- ارایه کننده کارت اطلاعات مشتری را از داخل B-PASS استخراج می کند.
- جزییات کارت مشتری با اطلاعات موجود در پایگاه داده مقایسه می شود.
- پس از تایید مشتری توسط ارایه دهنده کارت، پاسخ مناسب به فروشنده ارسال می گردد.
- در پایان فروشنده انجام تراکنش موفق را به مشتری اطلاع رسانی می کند.
مباحث امنیتی
سیستم تراکنشی جدید موارد امنیتی زیر را حل می کند:
- تصویر B-PASS تنها توسط صاحب آن قابل استفاده است. به دلیل اینکه فرایند احراز هویت قبل اجازه به کاربر برای استفاده از نرم افزار انجام می شود. در نتیجه با از دست دادن B-PASS و یا نرم افزار، خطری کاربر را تهدید نخواهد کرد.
- ارایه B-PASS به فروشنده ریسکی نخواهد داشت به دلیل اینکه فروشنده هیچگونه دیدی نسبت به شماره کارت واقعی و تاریخ انقضاء آن ندارد. ضمن اینکه هر گونه حمله به سرورهای فروشنده بلا استفاده خواهد بود به دلیل اینکه تصاویر تهیه شده تنها برای یک بار معتبر خواهند بود.
- تلاش برای کپی B-PASS نیز بی ثمر خواهد بود به دلیل اینکه هر B-PASS بایستی دارای برچسب تراکنش یکتا باشد که تنها توسط دارنده کارت قابل ایجاد خواهد بود.
سیستم جدید اهداف امنیتی زیر را نیز برآورده می کنند:
- محرمانگی: سیستم جدید از استفاده غیرمجاز B-PASS با استفاده احراز هویت کاربر با اثرانگشت جلوگیری می کند.
- صحت: هرگونه حمله به سیستم سبب کنسل شدن تراکنش می شود.
- دسترس پذیری: به دلیل اینکه دارنده کارت عملا نرم افزار را همراه خود خواهد داشت، در هر زمان و مکانی قادر به انجام تراکنش خواهد بود.
- مسوولیت پذیری: مراحل احراز هویت به فروشنده اطمینان می دهد که خریدار واقعی است در مقابل به علت عدم امکان سوء استفاده از B-PASS توسط فروشنده، خریدار نگران فروشنده تقلبی نیست. ضمن اینکه در این سیستم خریدار اطلاعات حساس خود را بر روی بستر اینترنت ارسال نمی کند.
ارتقاء امنیت با حذف فیزیکی کارت
در ایده ارایه شده، فرایند جدیدی برای تراکنش طراحی شده است که در آن مشتری کالای مورد نظر خود را بدون استفاده از اطلاعات کارت از فروشنده خریداری می کند. در این فرایند مشتری پیغامی را برای خرید به بانک خود ارسال می کند، در عین حال اطلاعات نام بانک و نام شعبه (بدون شماره حساب) را به فروشنده ارسال می کند. فروشنده بدون تغییر در این اطلاعات، آنها را به در قالب درخواست به بانک خود ارسال می کند. بانک فروشنده درخواست را به بانک مشتری ارسال نموده و بانک مشتری این موضوع را به صورت SMS به اطلاع مشتری می رساند. در صورت تایید مشتری، انتقال وجه انجام شده و این موضوع به اطلاع فروشنده و مشتری رسانده می شود.
استفاده از اطلاعات کارت به دلیل اینکه شامل اطلاعات کامل حساب می باشند دارای امنیت نیست که این مساله با حذف کارت در فرایند جدید حذف می شود. در این فرایند جدید به جای ارتباط مشتری و فروشنده، حسابهای بانکی با یکدیگر در ارتباط خواهند بود. در این حالت فروشنده و مشتری باید دارای حساب بانکی و آدرس ایمیل معتبر باشند.
گام اول: مشتری درخواست خرید کالا را ثبت می کند
در گام اول مشتری پس از انتخاب کالای مورد نظر خود اطلاعات لازم مانند نام، آدرس، ایمیل و شماره تماس خود را در سایت فروشنده ثبت می کند.
گام دوم: واگذاری اطلاعات بانکی خریدار به فروشنده
در این گام، فروشنده یک Purchase ID یکتا تولید کرده و آن را از طریق SMS و یا ایمیل به اطلاع مشتری می رساند. در پاسخ، مشتری اطلاعات بانکی خود شامل نام بانک و شعبه را به فروشنده ارسال می کند. فروشنده اطلاعات دریافتی را برای بانک خود فورارد می کند. همچنین فروشنده درخواست خود برای انجام تراکنش بین فروشنده و خریدار را به بانک ارسال می کند. Purchase ID از پنج بخش تشکیل شده است.
گام سوم: انتقال اطلاعات به بانک خریدار و جستجو برای اطلاعات حساب بانکی خریدار
در این گام ابتدا مشتری از طریق ایمیل و یا SMS اطلاعات خرید خود را با Purchase ID به بانک خود ارسال می کند. بانک از طریق آدرس ایمیل مشتری و یا شماره موبایل وی (که برای هر مشتری یکتا خواهد بود) اطلاعات حساب را استخراج می کند. در این گام خریدار قبل از شروع تراکنش، قصد خرید خود را به بانک اطلاع رسانی می کند.
گام چهارم: ارایه درخواست بانک فروشنده به بانک خریدار برای انتقال وجه
در این گام بانک فروشنده اطلاعات لازم همانند Purchase ID، نام بانک، نام شعبه و نام مشتری را به همراه درخواست انتقال وجه به بانک خریدار ارسال می کند.
گام پنجم: بررسی صحت اطلاعات توسط بانک خریدار
بانک خریدار صحت اطلاعات را از طریق Purchase ID دریافت شده از سوی خریدار و فروشنده بررسی می کند. سپس بانک خریدار Purchase ID را به همراه یک عدد 6 رقمی یکتا (به عنوان کد امنیتی) از طریق SMS و ایمیل جهت تایید برای مشتری ارسال می کند.
گام ششم: تایید مشتری
مشتری تاییدیه خود را با ارسال مجدد Purchase ID و کد امنیتی از طریق ایمیل و یا SMS به بانک خود اعلام می کند.
گام هفتم: انتقال وجه بین بانک خریدار و فروشنده
پس از تایید مشتری برای انتفال وجه، بانک خریدار کل وجه مورد نظر را از حساب خریدار به حساب فروشنده منتقل می کند.
گام هشتم: تایید انجام موفق تراکنش به خریدار
بانک خریدار با ارسال ایمیل و SMS به خریدار، انجام تراکنش موفق را به وی اطلاع رسانی می کند.
گام نهم: تایید انجام تراکنش به فروشنده
بانک فروشنده با ارسال ایمیل و SMS به فروشنده، انجام تراکنش موفق و انتقال پول به حساب وی را اطلاع رسانی می کند.
ارتقاء امنیت با استفاده از پروتکل امن
در شیوه جدید که بر مبنای سه روش موجود طراحی شده است لایه امنیتی اضافه برای محافظت از دارنده کارت و فروشنده دیده شده است.
در تراکنشهای B2C کارت اعتباری یکی از پر استفاده ترین روش های تراکنشهای تجارت الکترونیکی اینترنتی است. طبق آمار 36 درصد استفاده کنندگان از خرید اینترنتی از روش امن برای انجام تراکنش و انتقال اطلاعات کارت استفاده می کنند. این آمار برای روشهای دیگر کمتر است. مسلم است که استفاده از کارت اعتباری و بدهی اولین راه برای مشتریان در جهت خرید کالا و سرویس برخط است و انتقال اطلاعات کارت یک تهدید اولیه برای آنها به حساب می آید. سیستم پرداخت الکترونیک مزایایی همچون صرفه جویی در زمان، کارایی بالا و افزایش سرعت را به همراه دارد. در عین حال ریسک انجام این نوع تراکنش نیز وجود دارد که باید به ان توجه شود.
هدف از طراحی پروتکل جدید ایجاد توانایی در ارایه کننده کارت برای احراز هویت دارنده کارت مستقل از شخص ثالث است که سبب ارتقاء امنیت در این نوع از تراکنش می شود. در این روش جریان جدیدی برای تراکنش دیده شده است که شامل دارنده کارت، فروشنده، دروازه پرداخت و صادر کننده کارت است و به بخشهای مختلف اجازه می دهد تا خود را به یکدیگر بشناسانند و اطلاعات را به شیوه امن و با استفاده از گواهی دیجیتال رد و بدل کنند. البته در این پروتکل، دارنده کارت نیازی به داشتن گواهی دیجیتال ندارد.
نیازمندیهای امنیتی در پرداخت الکترونیک
- محرمانگی اطلاعات
- صحت اطلاعات
- احراز هویت
- عدم انکار
نیازمندیهای لازم برای پیاده سازی سمت کاربر نهایی
- قابلیت استفاده:
سیستم مورد استفاده می بایست توسط کاربر براحتی قابل نصب و استفاده بوده و استفاده از آن پیچیده نباشد. در عین حال فروشنده نیز انتظار دارد سیستمی که در اختیار می گیرد توجه کافی به موارد امنیتی کرده باشد.
- انعطاف پذیری:
در یک سیستم پرداخت، کاربر باید بتواند امور مربوطه را از مکانهای مختلف انجام دهد و محدودیتی در این زمینه نباید داشته باشد. در این حالت کاربر استفاده کننده از این سرویس و فروشنده فراهم کننده آن خواهد بود. هزینه قابل قبول: با توجه به اینکه خریدار و فروشنده علاقمند به پرداخت هزینه اضافه برای استفاده از سرویسها نیستند، لذا هزینه پیاده سازی و استفاده از سرویس باید معقول و قابل قبول برای کابران آن باشد.
- قابلیت اطمینان:
به دلیل استفاده از داده حساس، سیستم باید برای استفاده کنندگان آن قابل اطمینان باشد.
- در دسترس پذیری:
این سیستم باید در زمان نیاز در دسترس باشد.
- سرعت تراکنش:
سرعت انجام تراکنش باید مورد قبول کاربران آن باشد.
- قابلیت همکاری:
این نوع از سیستم بایستی دارای قابلیت همکاری بین پلت فرم های مختلف، نرم افزارهای سمت سرور و web browser های مختلف را داشته باشد. در این حالت است که امکان استفاده از طی وسیعی از کاربران فراهم می گردد.
پروتکلهای امن تجارت الکترونیک به عنوان یکی از راههای تامین موارد ذکر شده بالا شناخته می شوند. به عنوان نمونه پروتکلهای SL/TLS و 3D Security هستند. این پروتکلها بستر رمزنگاری را برای انجام تراکنشهای برخط فراهم می کنند که سبب عدم امکان خواندن اطلاعات در زمان انتقال می شوند. با این حال امروزه مشخص شده است که این پروتکل ها نیز دارای نقاط ضعفی هستند و آنگونه تاکنون تصور می شده است امنیت ما را تامین نمی کنند.
راهکارهای امنیتی که تاکنون در تجارت الکترونیک مطرح بوده است بر پایه فشرده سازی و رمزنگاری شکل گرفته است. با این حال و در شرایط جاری که با گسترش تکنولوژی ها و توسعه نرم افزارها هستیم، این رویکرد نیز باید تغییر یافته و شکل دیگری به خود بگیرد.
پروتکل SSL که امروزه بسیار مورد استفاده قرار می گیرد با استفاده از رمز نگاری اطلاعات بین web browser و web server سعی در برقراری امنیت تراکنش می کند. با این حال مشکل اصلی SSL، توانایی فروشنده در ذخیره اطلاعات حساس دارنده کارت و عدم جلوگیری از انکار است.
پروتکل SET برای رفع مشکلات SSL در احراز هویت کاربر و محافظت از داده های حساس ایجاد گردید . SET می تواند صحت اطلاعات، محرمانگی و احراز هویت مشتری و فروشنده را تامین نماید. با این هزینه پیاده سازی و استفاده از این روش برای هر دو طرف تراکنش قابل ملاحظه است، ضمن اینکه این پروتکل نیز از مشکل انکار جلوگیری نمی کند.
برای این حل این مشکل شرکت VISA اقدام به معرفی 3D Security نمود که بر پایه ارایه اطلاعات کنترلی بیشتر بنا نهاده شده است. در این روش مشتری موظف به تایید تراکنش با استفاده از ارایه داده مخفی و توافق شده با بانک در زمان انجام تراکنش است.
در پروتکل جدید ارایه شده نشان خواهیم داد که چگونه نیازمندیهای امنیتی تجارت الکترونیک که بر پایه دروازه پرداخت و گواهی دیجیتال بنا نهاده شده است، تامین خواهند شد.
ایده اصلی این پروتکل طراحی پروتکل امن و کارآمد برای محافظت از تراکنشهای پرداخت در برابر کلاهبرداری ها بدون نیاز به درگیر کردن شخص یا سازمان ثالث می باشد. این پروتکل تامین کننده مسایل مربوط به محرمانگی، صحت، احراز هویت و عدم انکار خوهد بود. در این پروتکل که با نام پرداخت الکترونیک امن (SEP) نامگذاری می شود، سعی شده است از پیچیدگیهای موجود در سیستم های فعلی جلوگیری نماید. برای جلوگیری از پیچیدگی در پیگیری مطالب از نامگذاری های زیر استفاده شده است:
C : Cardholder
M : Merchant
PG : Payment Gateway
IB : Issuer Bank or Cardholder Bank
CA: Certificate authority
Vshop : Virtual Shopping Site
PAN: Card Number
CVV2: Card Verification Value or Crypto (three digits)
ExD: Expiry date of the card
OI: Order Information
PI: Payment Instructions
OIMD: OI Message Digest
PIMD: PI Message Digest
POMD: Payment Order Message Digest
K: Symmetric key generated randomly
Kum: Public key of merchant
Kupg: Public key of payment gateway
Kuis: Public key of issuer bank
Krm: Private key of merchant
Krpg: Private key of payment gateway
Kris: Private key of issuer bank
S: Sign
E: Encrypt
D: Decrypt
V: Verify signature
H: Hash
(علامت)||: Concatenation
(علامت)#: Disconnect
Eq: Equal
پروتکل ما از بخشهای زیر تشکیل شده است:
- Certificate Authority
- Card Holder
- Merchant
- Payment Gateway
- Issuer Ban
- Interbank Financial Network
نحوه ارتباطات در شکل زیر نشان داده شده است.
نحوه انجام کار به صورت گامهای زیر تعریف می گردد: گام اول: فرایند ثبت نام بخشهای فروشنده، دروازه پرداخت و بانک صادر کننده کارت بایستی پیش از ورود، از طریق یک CA اقدام به ثبت نام و دریافت گواهینامه دیجیتال نمایند. در مقابل، دارنده کارت نیز باید از طریق بانک صادر کننده کارت خود اقدام به دریافت رمز عبور نماید.
گام دوم: درخواست خرید
- دارنده کارت لیست خرید خود را آماده کرده و با فروشنده بر روی قیمت مورد نظر توافق کرده است. پس دارنده کارت، Local ID خود و یک عبارت تصادفی جدید را برای فروشنده می فرستد. این موضوع برای ارایه گواهینامه دیجیتال فروشنده و گواهی رمزنگاری پرداخت به دارنده کارت است.
- دارنده کارت مقدار OI (اطلاعات خرید) و PI (اطلاعات پرداخت) رمز شده و امضای دوگانه را تولید می کند. امضای دوگانه با استفاده از کلید متقارن که به صورت تصادفی تولید شده است رمز می شود. در این حالت از دارنده کارت درخواست گواهی نمی شود.
- دارنده کارت درخواست خرید را آماده کرده و به فروشنده ارسال می کند.
- فروشنده کلید متقارت را استخراج کرده، OI را پردازش نموده و PI رمز شده را به دروازه پرداخت ارسال می کند.
گام سوم: درخواست مجوز
- فروشنده پس از امضاء و ارسال درخواست مجوز به دروازه پرداخت، کلید متقارن K1 را که برای امضای دوگانه استفاده شده است ارسال می کند. درخواست مجوز با کلید تضادفی رمز می شود. دروازه پرداخت امضای دوگانه با شناسایی کرده و PI را می گیرد.
- دروازه پرداخت مجوز و PI را از طریق شبکه امن مالی بین بانکی به بانک صادرکننده ارسال می کند.
گام چهارم: پاسخ مجوز
- بانک صادر کننده پس از بررسی PI و مجوز، کنترلهای خود را برای بررسی اجازه دارنده کارت برای انجام این تراکنش انجام می دهد.
- بانک صادر کننده پاسخ درخواست مجوز و گواهینامه دیجیتال خود را از طریق شبکه امن مالی بین بانکی به دروازه پرداخت ارسال می کند. پاسخ مجوز شامل کد پاسخ و کد اجرا می باشد. کد پاسخ بیانگر تایید یا عدم تایید درخواست مجوز یوده و کد اجرا نشان دهنده درخواست از دارنده کارت برای احراز هویت و ورود کلمه عبور است. هدف از انجام این گام ارایه گواهی دیجیتال بانک به دارنده کارت است.
- دروازه پرداخت اقدام به امضاء و ارسال پاسخ مجوز و گواهی بانک صادر کننده به فروشنده می کند.
- در صورتی که کد اجرا برابر Y باشد (که یعنی خریدار باید احراز هویت گردد)، درخواست احراز هویت را به همراه گواهی بانک صادر کننده و تعدادی داده مربوط به مجوز به خریدار ارسال می کند.
گام پنجم: درخواست احراز هویت دارنده کارت
- دارنده کارت گواهی بانک صادر کننده را بررسی کرده و کلمه عبور شخصی خود را که با کلید متقارن رمز کرده است ارسال می کند.
- فروشنده پس از بررسی داده های مجوز، کلمه عبور رمز شده را به دروازه پرداخت ارسال می کند.
- دروازه پرداخت داده های مجوز را بررسی کرده و کلمه عبور رمز شده را برای تایید به بانک صادر کننده انتقال می دهد. صادر کننده کلمه عبور کارت را بررسی می کند.
گام ششم: پاسخ احراز هویت دارنده کارت و پرداخت نهایی
- صادر کننده پس از تایید هویت دارنده کارت و اطمینان از سازگاری مجوز موجود برای دارنده کارت با درخواست وی، اقدام به بستانکار نمودن حساب مشتری نموده و پاسخ پرداخت را به دروازه پرداخت می فرستد.
- در نهایت دروازه پرداخت پاسخ پرداخت را به فروشنده ارسال کرده و وی پس از بررسی آن اقدام به ارسال کالاها به دارنده کارت می نماید.
SEP و محرمانگی اطلاعات: در هر مرحله، برای رمزنگاری داده پرداخت الکترونیک از یک کلید رمزنگاری تصادفی استفاده می شود که سبب جلوگیری از دسترسی غیرمجاز به داده های در حال انتقال می گردد. SEP و احراز هویت:
- دارنده کارت، فروشنده و بانک صادرکننده را احراز هویت می کند.
- فروشنده، دروازه پرداخت و بانک صادر کننده را احراز هویت می کند.
- دروازه پرداخت، فروشنده و بانک صادر کننده را احراز هویت می کند.
- بانک صادرکننده، دارنده کارت را احراز هویت می کند.
- SEP و صحت اطلاعات: با استفاده از MAC بر مبنای الگوریتمهای استاندارد hash که برای هر پیغام تولید و ارسال می گردد، صحت اطلاعات تامین می گردد.
نتیجه گیری
حوزه امنیت در تجارت الکترونیک خصوصا پرداخت الکترونیک بسیار گسترده است. این حوزه شامل تمامی بخشهای مرتبط مانند احراز هویت، صحت، دسترس پذیری، کنترل دسترسی، مجوزها، شبکه و پروتکل می شود. در گزارش ارایه شده، سعی گردیده است علاوه بر بررسی تهدیدات موجود در حوزه های مختلف این موضوع، در سه حوزه راه حلهای ارایه شده بررسی گردد.
در حوزه احراز هویت راهی ارایه گردیده است که در آن از ویژگی بیومتریک مانند اثر انگشت به شیوه ای متفاوت از آنچه تاکنون استفاده می شود، بهره بداری گردد. در بخش امنیت کارت، با ارایه راهکار، سعی در حذف کارت به صورت فیزیکی شده است که تاثیر بسزایی در ارتقاء امنیت در پرداخت می نماید. در نهایت با ارایه پروتکلی جدید سعی شده است با استفاده از گواهی دیجیتال و احراز هویت عناصر موجود در انجام تراکنش، امنیت آن ارتقاء یابد.
مراجع
- An Approach of Secured Ecommerce Transaction Model without Using Credit or Debit Card, Nilanjan Das and Ramkrishna Das, 2013
- Enhancing E-Payment Security through Biometric Based Personal Authentication Using Steganography Scheme, Balasubramanian Chelliah and S. Geetha, 2014
- Design, implementation, and performance analysis of a secure payment protocol in a payment gateway centric model, Jesús Téllez Isaac · Sherali Zeadally, 2013
- A Secure Electronic Payment Protocol Design and Implementation, Houssam El Ismaili ,Hanane Houmani ,Hicham Madroumi, 2015
- Comparison of E-payment of the B2C E-commerce in China from the Security and Trust Perspective, YingHua Zhang and RenXiang Wang, 2014
- The Research and Application of the Fingerprint Key based USB-Key Pin Number Protection System, Yu Lu, Zhong Liang, Chen Yue, 2015