پایگاه خبری راه پرداخت دارای مجوز به شماره ۷۴۵۷۲ از وزارت فرهنگ و ارشاد اسلامی و بخشی از «شبکه عصر تراکنش» است. راه پرداخت فعالیت خود را از دوم اردیبهشتماه ۱۳۹۰ شروع کرده و اکنون پرمخاطبترین رسانه ایران در زمینه فناوریهای مالی، بانکداری و پرداخت و استارتآپهای فینتک است.
راهکارهایی جهت پایین آوردن احتمال تقلب در سوئیچ PSP
جهت پایین آوردن احتمال بروز تقلب در سوئیچ میتوان راهکارهایی را بکار برد ولی پیش از بررسی این راهکارها بهتر است در ابتدا توضیحاتی در ارتباط با وظایف سوئیچ PSP و نحوه انجام این وظایف داده شود.
وظایف نرم افزار سوئیچ PSP
وظیفه نرم افزار سوئیچ شرکت ارائه دهنده خدمات پرداخت (PSP) به صورت خلاصه عبارت است از:
۱- دریافت تراکنش ارسال شده از طرف پایانههای فروشگاهی منصوبه
۲- بررسی اصالت پیغام دریافتی از پایانه
۳- ثبت اطلاعات لازم جهت پیگیریهای آتی در صورت بروز مغایرت
۴- ارسال اطلاعات دریافت شده برای سوئیچ بانک به منظور دریافت اجازه انجام تراکنش
۵- ارسال پاسخ دریافتی از سوئیچ بانک به پایانه فروشگاهی
تمامی این وظایف میبایست با لحاظ نمودن تمامی مسائل امنیتی به منظور جلوگیری از افشاء اطلاعات دارنده کارت و بروز تقلب توسط افراد دیگر، انجام پذیرد. بدین منظور لازم است برخی از اطلاعات ارسالی رمز نگاری شده و برخی از اطلاعات حساس (ولی غیر لازم برای پیگیریهای آتی) در سوئیچ شرکت PSP ذخیره نگردد.
اطلاعات حساس دارنده کارت
در بین اطلاعات ارسال شده از طرف پایانه فروشگاهی دو فیلد اطلاعاتی مهم و حساس وجود دارد. این دو فیلد عبارتند از Track ۲ کارت و پین دارنده کارت. دلیل حساست این اطلاعات امکان تولید مجدد کارت با استفاده از Track ۲ و انجام تراکنش با کارت کپی شده با استفاده از پین دارنده کارت میباشد.
مکانیزم رمز نگاری و توزیع کلید
طبق استانداردهای مطرح در سیستمهای پرداخت الکترونیکی لازم است که اطلاعات پین مشتری در هیچ یک از مراحل تا رسیدن به بانک صادر کننده کارت بصورت بدون رمز قابل رویت نباشد و همچنین برای تایید اصالت پیغام دریافت شده از پایانه میبایست از مکانیزم ایجاد و بررسی MAC (مخفف Message Authentication Code) استفاده نمود. برای انجام این موارد لازم است بین پایانههای فروشگاهی و سوئیچ PSP و همچنین بین سوئیچ PSP و سوئیچ بانک از مکانیزمهای رمز نگاری استفاده نمود. استاندارد متداول رمز نگاری مورد استفاده در سیستمهای پرداخت الکترونیکی DES و یا ۳DES میباشد.
همانگونه که ملاحظه گردید دو ناحیه امنیتی (Security Zone) مرتبط با شرکت PSP وجود دارد، یک ناحیه بین پایانه و سوئیچ PSP و ناحیه دیگر بین دو سوئیچ. لذا دو مجموعه کلید باید وجود داشته باشد که هر مجموعه باید کلیدهایی برای MAC و PIN Block را دارا باشد. از آنجا که DES و یا ۳DES هر دو از روشهای رمز نگاری متقارن میباشند در هر ناحیه امنیتی فرستنده و گیرنده باید کلید یکسانی را در اختیار داشته باشند. تولید و نگهداری کلیدهای مربوط به ناحیه امنیتی بین پایانه و سوئیچ PSP بر عهده PSP میباشد و تولید کلیدهای ناحیه دیگر مربوط به بانک میباشد اما با توجه به متقارن بودن استاندارد رمز نگاری، نگهداری امن آن در سوئیچ PSP بعهده PSP میباشد.
انواع مکانیزم توزیع کلید
برای توزیع کلیدها میتوان از دو روش توزیع ایستا (Static) و یا توزیع پویا (Dynamic) استفاده نمود.
توزیع ایستا
در این روش کلیدهای عملیاتی پس از تولید باید بصورت دستی در هر دو طرف ناحیه امنیتی در دستگاه مربوطه Inject گردد. کاملا مشخص است که با استفاده از این روش امنیت بسیار پایین میآید زیرا شخص وارد کننده کلید را بصورت بدون رمز مشاهده مینماید. برای بالا بردن امنیت این روش گاهی اوقات از کلیدهای دو قسمتی و یا سه قسمتی استفاده میشود که این قسمتها توسط افراد مختلفی در دستگاه مربوطه Inject میگردد.
توزیع پویا
در این روش برای هر ناحیه یک کلید Master به روش ایستا تعریف میشود ولی کلیدهای کاری توسط سوئیچ و با استفاده از مکانیزم Dynamic Key Exchange در بازههای زمانی مختلف بصورت رمز شده با کلید Master برای دستگاه دیگر ارسال میشود.
انواع ابزار رمزنگاری
برای انجام رمزنگاری از یکی ازدو ابزار سخت افزاری و یا نرم افزاری استفاده میشود. ابزار سخت افزاری مورد استفاده در سیستمهای پرداخت الکترونیکی را HSM مینامند.
این ابزار دو وظیفه را بر عهده دارد:
۱- انجام عملیات رمز نگاری
۲- در اختیار قرار دادن روشی برای نگهداری امن کلیدهای مورد نیاز جهت رمز نگاری
ابزار رمزنگاری نرم افزاری
در این حالت یک نرم افزار وظایف گفته شده را بر عهده دارد. روتینهای نرم افزاری که توسط برنامه نویس توسعه دهنده سوئیچ پیاده سازی شدهاند وظیفه انجام رمز نگاری اطلاعات و یا خارج کردن آنها از رمز را بر عهده دارند. از آنجا که معمولا کلیدها باید در بانک اطلاعاتی نگهداری گردند جهت جلوگیری از رویت کلیدهای بدون رمز، این نرم افزار وظیفه رمز کردن کلیدها را با استفاده از یک کلید دیگر که عمدتا بصورت Hardcode در درون نرم افزار تعبیه شده است را بر عهده دارد.
ابزار رمزنگاری سخت افزاری
در این حالت یک سخت افزار خاص که دارای استانداردهای امنیتی بین المللی میباشد وظایف گفته شده را بر عهده دارد. تمامی عملیات رمز نگاری و یا خارج کردن از رمز اطلاعات در درون آن انجام میشود. برای ایجاد محیط امن جهت ذخیره سازی کلیدها نیز معمولا این ابزار یک کلید اولیه دارد که یک بار در زمان نصب و شخصی سازی آن و در شرایط ویژهای توسط مدیران ارشد سازمان مربوطه وبصورت چند قسمتی ایجاد میگردد و از آن پس تمامی کلیدهای ایجاد شده توسط آن و یا Inject شده در آن با این کلید رمز میگردد و سپس در بانک اطلاعاتی ذخیره میشود.
رمز نگاری در ناحیه امنیتی اول
در این ناحیه که بین پایانه فروشگاهی و سوئیچ PSP میباشد، کلیدها توسط سوئیچ PSP تعیین شده و میباید در سوئیچ و پایانه فروشگاهی Inject شود. همانگونه که گفته شد برای ذخیره سازی آن در محیط سوئیچ از یکی از دو روش نرم افزاری و یا سخت افزاری استفاده میشود. برای انتقال کلید به پایانههای فروشگاهی نیز روشهای مختلفی استفاده میشود که برخی از آنها عبارتند از:
۱- قرار دادن کلید بصورت Hardcode در برنامه تهیه شده
۲- Inject کلید بصورت دستی توسط کارشناس
۳- Inject کلید توسط TMS ۴- Inject کلید با استفاده از کارتهای هوشمند
لازم به یاد آوری است که کلید منتقل شده با توجه به استفاده از روش ایستا / پویا به ترتیب کلید عملیاتی / Master میباشد. این کلید طبق استاندارد باید در یک ناحیه امن و غیر قابل دسترس در داخل پایانه ذخیره گردد.
رمز نگاری در ناحیه امنیتی دوم
در این ناحیه که بین سوئیچ PSP و بانک میباشد کلیدها توسط سوئیچ بانک ایجاد شده و میبایست در سوئیچ PSP بصورت امن ذخیره گردد. در این ناحیه امنیتی نیز با توجه به اینکه از روش ایستا / پویا برای توزیع کلید استفاده نمودهایم کلیدهای عملیاتی / Master بصورت چند قسمتی و با استفاده از ابزار رمز نگاری ذخیره میگردد.
عملیات انجام شده در سوئیچ در زمان دریافت تراکنش از پایانه
زمانی که تراکنش از پایانه به سوئیچ ارسال میشود، پین دارنده کارت با استفاده از کلید عملیاتی توافق شده با سوئیچ رمز شده و در پیغام ارسالی قرار میگیرد. برای اطمینان از عدم تغییر اطلاعات در مسیر ارسال پیغام به سوئیچ نیز با استفاده از کلید عملیاتی دیگری MAC برای پیغام محاسبه و به همراه اطلاعات ارسال میگردد. سوئیچ PSP پس از دریافت پیغام با استفاده از MAC ارسالی عملیات بررسی اصالت پیغام دریافتی را انجام میدهد. در صورت عدم وجود مشکل باید برخی از این اطلاعات جهت امکان پیگیریهای آتی ذخیره و سپس اطلاعات جهت دریافت مجوز انجام تراکنش به بانک ارسال گردد. از جمله اطلاعاتی که باید ارسال شود Track۲ و PIN Block میباشد. PIN Block در واقع همان پین دارنده کارت است که توسط پایانه به رمز درآمده است. با توجه به تغییر ناحیه امنیتی، سوئیچ PSP موظف است PIN Block را از حالت «رمز شده با کلید بین پایانه و سوئیچ PSP» به حالت «رمز شده بین سوئیچ PSP و بانک» تغییر دهد. این عملیات که PIN Translation نام دارد با استفاده از ابزار رمز نگاری انجام میشود.
سوئیچ پس از انجام تغییرات مورد نیاز در فرمت اطلاعات آنها را برای سوئیچ بانک ارسال مینماید و پس از دریافت پاسخ آن را جهت تصمیم گیری برای انجام یا عدم انجام تراکنش به پایانه ارسال مینماید.
مخاطرات امنیتی که منجر به بروز تقلب میشود و روشهای جلوگیری از آن
هدف از مکانیزمهای امنیتی مورد استفاده در سیستمهای پرداخت الکترونیکی، پایین آوردن امکان تقلب و انجام تراکنش بدون اطلاع دارنده کارت و عدم افشاء اطلاعات وی میباشد. تقلب در صورتی به وقوع میپیوندد که پین دارنده کارت افشاء شود و همچنین امکان کپی کارت وی توسط اشخاص دیگر ایجاد گردد. با توجه به مطالب گفته شده مشخص است که برای افشاء پین مشتری ابتدا بایست به PIN Block دسترسی پیدا کرد و سپس با استفاده از کلید مورد استفاده جهت ایجاد آن، پین دارنده کارت را از آن استخراج نمود. برای جلوگیری از این اتفاق میتوان راهکارهای ذیل را در نظر گرفت:
۱- درهیچ یک از مراحل دریافت و ارسال پیغام، نباید PIN Block در سوئیچ (بانک اطلاعاتی و فایلهای Log) ذخیره گردد.
۲- برای جلوگیری از دسترسی به کلید مورد استفاده جهت تولید PIN Block، در مواردی که کلیدها باید در پایانه و یا سوئیچ Inject شود استفاده از ابزاری مثل کارت هوشمند و یا مکانیزمی جهت جلوگیری از دسترسی شخص وارد کننده کلید به تمامی اطلاعات پیشنهاد میگردد.
۳- استفاده از مکانیزم توزیع کلید پویا و تغییر رمزهای عملیاتی در بازههای زمانی مناسب.
۴- استفاده از ابزار رمز نگاری سخت افزاری جهت جلوگیری از دسترسی برنامه نویس به کلیدها و یا پین از رمز خارج شده در مرحله PIN Translation
جهت جلوگیری از کپی غیر مجاز کارت نیز بهترین کار ممکن عدم ثبت کامل آن در سوئیچ (بانک اطلاعاتی و فایلهای Log) میباشد. مثلا میتوان تنها بخشی از شماره کارت شامل ۶ رقم سمت چپ (BIN) و ۴ رقم سمت راست را ذخیره نمود و یا اینکه در صورت نیاز سوئیچ بانک به آن در زمان ارسال تراکنش Reversal، تمامی اطلاعات Track ۲ را بصورت رمز شده در سوئیچ ذخیره نمود.
در خاتمه لازم به ذکر است بسیاری از راهکارهای ارائه شده، در استانداردهای امنیتی مطرح در نظر گرفته شدهاند ولی نکته مهمی که نباید از آن غافل شد رعایت نکات ایمنی در توزیع کلیدها در پایانههای فروش و سوئیچ میباشد.
اگر تمام نکات پیشنهاد شده در استانداردها رعایت شود ولی قسمتهای مختلف کلیدها در اختیار یک نفر قرار گیرید، کلید بصورت یک قسمتی، بدون رمز و با پست الکترونیکی برای PSP ارسال شود، مکانیزم Dynamic Key Exchange مورد استفاده قرار نگیرد و… حتی با استفاده از ابزار HSM امکان افشاء اطلاعات بسادگی وجود دارد.
مصطفی عرب – مدیر فناوری اطلاعات شرکت تجارت الکترونیک دی