كيف قمنا بتحميل بطاقة مصرفية من iPhone إلى سلسلة مفاتيح



في كل عام ، يبدي المزيد والمزيد من الشركات اهتمامًا بالمشاريع المتعلقة بإنترنت الأشياء ( IoT ). 



في هذه المقالة ، سأتحدث عن منصة إنترنت الأشياء التي أنشأناها ، وكيفية تحميل البطاقات المصرفية في أجهزة يمكن ارتداؤها ، واستكشاف إمكانات إطار عمل Core NFC iOS ، ومخطط الاحتيال المحتمل باستخدام الهواتف الذكية مع NFC.



يمكن أن تكون هذه المقالة مفيدة لمديري المنتجات والتقنيين ومطوري iOS ومهندسي ضمان الجودة الذين يشاركون في مدفوعات الهاتف المحمول ، بالإضافة إلى أي شخص مهتم بتكنولوجيا fintech لتوسيع آفاقهم.



مرحبا هبر!



اسمي مكسيم. أقوم بالتنمية الصناعية منذ عام 2005. أعمل في Wallet منذ عام 2013 ، ومنذ عام 2015 أساعد أعمال الشركة في تطوير خدمات fintech جديدة كرئيس لقسم.



في Wallet ، أطلق فريقنا العديد من المنتجات المبتكرة. هذه واحدة من أولى البطاقات المصرفية الافتراضية بالكامل في العالم في هاتف ذكي مع إمكانية الدفع بدون تلامس (قبل عام من إطلاق Apple Pay في روسيا وقبل وقت طويل من إطلاق Apple Card) ، وبطاقة النقل الأولى ، وأول بطاقة معجبين ، وأول بطاقة حرم جامعي في هاتف ذكي. ...



في العام الماضي ، أطلقنا مع Mastercard خدمة Wallet Payهي الخدمة الوحيدة في العالم التي تعمل ، بخلاف نظيراتها ، بغض النظر عن الشركة المصنعة للهواتف الذكية أو نظام التشغيل. على سبيل المثال ، تعمل Pay Wallet على هواتف Huawei الذكية التي تفتقر إلى خدمات Google.



شكر وتقدير



كوليا عشانين ، التي شجعتني على كتابة المقال وساعدتني أثناء تحضيره للنشر.



ساشا بريماك ، التي أجرى البحث الموصوف في المقالة تحت إشرافي.



أيضا ، شكرا جزيلا

لمشاركتكم ودعمكم : كاتيا توركينا ، أنطون دافيدوف ، ليشا إرشوف ، داشا ألكسينكو



منصة إنترنت الأشياء



في الوقت الحالي ، أعمل أنا وفريقي على إطلاق منصة إنترنت الأشياء التي ستكون قادرة على استكمال وتوسيع التجربة الحالية لاستخدام خدمة الدفع وتنفيذ الدفع (وخدمات تحديد الهوية الأخرى) في تلك الأشياء التي نحملها معنا عادة - ما يسمى بالأجهزة القابلة للارتداء. 



إنترنت الأشياء هو مفهوم للأشياء المادية المألوفة المجهزة بتقنيات للتفاعل مع البيئة الخارجية أو مع بعضها البعض. 



في هذا المفهوم ، يتم إعادة بناء حالات الاستخدام المألوفة للأشياء من خلال الأتمتة.



من الأمثلة على الأجهزة القابلة للارتداء الساعات الذكية وأساور اللياقة البدنية والخواتم وسلاسل المفاتيح.



إذا ارتدى شخص ما في وقت سابق خاتمًا بسبب الجمال أو الرمزية ، الآن ، في مفهوم إنترنت الأشياء ، تعمل الخاتم كأداة للدفع ، وتمرير للتحكم في الوصول، جهاز التحكم عن بعد للأجهزة الذكية الأخرى ، إلخ. وبالتالي ، تظهر حالات استخدام ملائمة جديدة للأشياء المألوفة.



الأشياء الذكية هي الآن اتجاه عالمي. يتضح هذا من خلال البيانات الإحصائية التي تم جمعها من قبل وكالات العالم المختلفة (انظر الروابط في نهاية المقال). 



في هذه المقالة ، أريد استخدام مثال بحثنا في تطوير منصة إنترنت الأشياء لإخبارك بالمهام التي يعمل بها اتجاه التكنولوجيا المالية لتطبيق Wallet ، وما هي المشكلات التي نواجهها ، وكيف نستخدم تقنيات مجربة في صناعة البطاقات لإنشاء منتجات جديدة.



بادئ ذي بدء ، سأصف بإيجاز وبكلمات بسيطة التقنيات التي تعتمد عليها منصتنا. إذا كنت مهتمًا بقراءة المزيد عن هذه التقنيات ، فستكون هناك روابط في نهاية المقالة. 



  1. , Secure Element — , 5-20 . , -, , - , . , SIM-, . ( ).



    , — . , .
  2. GlobalPlatform Card Specification — , .
  3. TSM  (Trusted Service Manager) — . .
  4. EMV — ( ), . , - , , .


فيما يلي السيناريوهات الرئيسية لتفاعل الهاتف الذكي مع الجهاز نفسه ، والتي وضعناها في منصتنا (في جميع السيناريوهات ، يتحكم المستخدم في الجهاز القابل للارتداء من خلال واجهة تطبيق الهاتف الذكي على الهاتف الذكي): 



السيناريو الأول هو التفاعل مع الأجهزة النشطة القابلة للارتداء. تسمى الأجهزة القابلة للارتداء بالأجهزة النشطة التي تحتوي على بطاريتها الخاصة (على سبيل المثال ، بطارية). كقاعدة عامة ، يحتوي الشيء على نظام تشغيل خاص به وهناك وحدة BLE للاتصال بالهاتف الذكي. توفر الشركة المصنعة للجهاز SDK ومفاتيح الوصول للتفاعل مع عنصر الأمان. 



هذه هي الطريقة التي تعمل بها جميع الساعات الذكية وأساور اللياقة البدنية المزودة بوظيفة الدفع بدون تلامس. كل شيء بسيط وواضح - نحن نأخذه ونفعله. 



السيناريو الثاني أكثر إثارة للاهتمامهو التفاعل مع الأجهزة السلبية القابلة للارتداء. تسمى الأجهزة القابلة للارتداء بالأجهزة المنفعلة التي لا تحتوي على بطاريتها الخاصة. يتم تشغيل هذه الأجهزة بواسطة مجال مغناطيسي خارجي يجب وضعها فيه. يمكن أن يكون هذا هو المجال الكهرومغناطيسي لقارئ طرفي لا تلامس أو هوائي NFC للهاتف الذكي. لذلك ، يمكن تسمية البطاقات المصرفية غير التلامسية بأمان بالأجهزة القابلة للارتداء السلبية. 



تكمن المشكلة في أنك تحتاج إلى تحميل بطاقتك المصرفية في جهاز غير فعال يمكن ارتداؤه من تطبيق على هاتفك الذكي.



نحن (بشروط) نكسر هذا السيناريو حسب نوع الهواتف الذكية:



  1. أي هواتف ذكية بدون تقنية NFC
  2. هاتف Android الذكي مع NFC
  3. iPhone مع NFC


بالنسبة للنوع الأول ، سنستخدم قارئًا خارجيًا موجودًا في محطات تخصيص خاصة. باختصار ، فإن محطة التخصيص وتطبيق الهاتف الذكي متصلان بنفس الواجهة الخلفية ، والتي تزامن كلا العميلين. يتم تحميل الرمز المميز من خلال محطة التخصيص ، ويرى المستخدم النتيجة في واجهة تطبيق الهاتف المحمول.



يمكن أن يكون تنفيذ محطة التخصيص مختلفًا: يمكن أن يكون الهاتف الذكي نفسه للمستخدم متصلًا بقارئ بطاقة ذكية خارجي عبر BLE أو USB ، أو يمكن أن يكون جهازًا خارجيًا مستقلًا (جهاز كمبيوتر كامل مع قارئ متصل به ، والوصول إلى الإنترنت وبرامج التحكم) ...



بالنسبة للنوع الثاني (Android مع NFC) التنفيذ واضح. في هذه الحالة ، يمكن استخدام الهاتف الذكي كمحطة ، وتشغيل الجهاز السلبي من هوائي NFC وتحميل رمز البطاقة المصرفية فيه.



في بحثنا ، سوف أصف بالتفصيل كيف عملنا على النوع الثالث من الهواتف الذكية (أجهزة iPhone مع NFC). كأجهزة يمكن ارتداؤها ، استخدمنا المفاتيح الرئيسية من ISBC ، الشريك الذي نطلق معه البرنامج التجريبي.



الغرض من الدراسة



هل يمكننا تمكين مستخدم iOS Wallet من تحميل بطاقته المصرفية في جهاز يمكن ارتداؤه عن طريق توصيله بجهاز iPhone؟



بمعنى آخر:



  1. يقوم المستخدم في تطبيق "Wallet" بإدخال بيانات بطاقته المصرفية
  2. يميل المستخدم إلى جهاز يمكن ارتداؤه على الجزء الخلفي من iPhone
  3. يتم تحميل البطاقة المصرفية في الجهاز القابل للارتداء


وفقًا لذلك ، تتمثل المهمة الفنية في تحديد ما إذا كان من الممكن تحميل بطاقة مصرفية في عنصر أمان خارجي (عنصر آمن) باستخدام جهاز iPhone عادي وهوائي NFC الخاص به ، عبر بروتوكول ISO / IEC 7816 (T = CL). 



مهام إضافية:



  1. احصل على ATR (Answer To Reset) للرقاقة دون إزالتها من القارئ
  2. احصل على UID (المعرف الفريد) للشريحة


يمكن أن تكون هذه البيانات مفيدة لأنها غالبًا ما تستخدم لتحديد الشريحة في أنظمة مزود الخدمة وتنويع المفاتيح من البيانات الحساسة لتطبيقات الشريحة.



ما لدينا:



  • iPhone 8 مع iOS 13.5
  • اختبار جهاز يمكن ارتداؤها - الموجودة في قاعدة المفتاح ISBC مع رقاقة متكاملة JCOP 3 EMV P60 والتطبيقات المحملة من NXP :

    PPSE والصغير الذي ينفذ M / رقاقة المسبق - بطاقة مواصفات الدفع وv1.1 وتخزين البيانات.
  • مفاتيح من شريحة مجال أمان المُصدر.


القرار



في البداية ، سنحلل المهمة الرئيسية ، أي سنحدد الخطوات اللازمة لتحويل سلسلة مفاتيح عادية تمامًا (حسنًا ، تقريبًا) إلى وسيلة دفع كاملة:



  1. إنشاء اتصال بين الشريحة ووحدة NFC بجهاز iPhone
  2. تركيب تطبيقات Mastercard M / Chip Advance و PPSE الصغيرة على الرقاقة
  3. إضفاء الطابع الشخصي على التطبيقات 


إنشاء اتصال



هنا سنتحدث عن ميزات إطار عمل Core NFC المُضاف في iOS 13.

بالمناسبة ، في iOS 14 لم تحدث تغييرات كبيرة فيما يتعلق بموضوع المقالة ، لذلك كل ما تم وصفه مناسب لها.



لذلك ، في الإصدار الثالث عشر من نظام التشغيل Apple ، أصبح من الممكن ليس فقط قراءة البيانات من علامات NFC ، كما كان الحال في iOS 12 (ولكن ليس قبل iOS 11 ، قبله ، كان التفاعل عبر NFC ممكنًا فقط داخل Apple Pay) ، ولكن أيضًا لكتابتها ، و يمكنك أيضًا التواصل بلغة أوامر APDU بأي شريحة تتوافق مع أحد المعايير التالية:





للقيام بذلك ، تمت إضافة فئتين جديدتين إلى Core NFC : NFCNDEFReaderSession و NFCTagReaderSession .



الأول يستخدم للتفاعل مع علامات NDEF ، والثاني يستخدم لكل شيء آخر ، على التوالي.



في حالتنا، وهذا هو عبارة عن شريحة التي تدعم مواصفات بطاقة GlobalPlatform 2.2.1 و معيار ISO / IEC 7816 ، وهو ما يعني أننا سوف تستخدم الدرجة الثانية.



توضح الوثائق ما عليك القيام به (إلى جانب كتابة الكود بالطبع) لبدء الاتصال بالشريحة وفقًا لمعيار ISO 7816:





ولكن يوجد أدناه قيد مثير للاهتمام: نريد فقط "الشعور" به ، بعد أن تعلمنا ما يعنيه بالضبط. أضف سطرًا ، على سبيل المثال "السماح باتصال NFC" لمفتاح NFCReaderUsageDescription في ملف info.plist . كما أنه يعمل مع أي قيمة أخرى لهذا المفتاح. 



Important

Core NFC doesn't support payment-related Application IDs.













[هنا ، في العمود الموجود على اليسار ، ليس المفتاح نفسه ، ولكن في وصفه ، يخفي XCode الأسماء الرسمية]



بعد ذلك ، إذا أردنا التفاعل مع الشريحة كما هو الحال مع جهاز ISO / IEC 7816 ، فعندئذٍ في قيمة المفتاح com.apple.developer.nfc.readersession. iso7816.select-identifiers  تحدد قائمة المعرفات لجميع التطبيقات الصغيرة (معرف التطبيق أو AID) ، والتي سيتفاعل معها التطبيق.                          





يجدر التوضيح هنا أن هذه المعرفات ليست مجرد مجموعة عشوائية من الأحرف.

هذه عبارة عن سلاسل سداسية عشرية تحتوي على معلومات حول التطبيق الذي تم تعيينها له.



يمكن أن يتراوح طول معرّفات AID من 5 إلى 16 بايت (حرفان في كل سطر = بايت واحد). تتكون من جزأين ، الأول يحدد موفر التطبيق (بالنسبة لماستركارد هو "A000000004") ، والثاني يوضح نوع المنتج الذي يقدمه هذا المزود (بالنسبة لمنتج يسمى "Mastercard" فهو "1010" ، وعلى سبيل المثال ، بالنسبة لـ Maestro فهو "3060 "). 



بالإضافة إلى ذلك ، يلزم أحيانًا وضع معلومات إضافية في AID ، على سبيل المثال ، إذا كان هناك تطبيقان متطابقان من نفس المزود على الشريحة ، ولكن لبنوك مختلفة. لهذا هناك دعم للمساعدات الطويلة (أو المساعدة الموسعة). طالما أن طول AID لا يتجاوز 16 بايت ، يمكنك كتابة أي شيء عليه. على سبيل المثال ، أخذنا Mastercard AID وفي النهاية أضفنا "TEST" إليها ، النتيجة: "A0000000041010BB5445535401".



AID الوحيد الموجود خارج القائمة هو "325041592E5359532E444446303101".

في الواقع ، هذا هو المعتاد (فقط بتنسيق ست عشري) ، كما يقولون ، سلسلة نصية عادية "2PAY.SYS.DDF01". هذا هو AID PPSE ، وهو ليس تطبيق دفع صغير في حد ذاته. يحتوي فقط على بيانات البيئة التي تتطلبها تطبيقات الدفع.



تثبيت التطبيقات الصغيرة



لتثبيت تطبيقات صغيرة على شريحة ، فأنت بحاجة إلى اتصال آمن (بروتوكول القناة الآمنة أو SCP) ؛ فعلنا ذلك خلف الكواليس باستخدام قارئ PC / SC عادي ومنصة Cardsmobile TSM.



ومع ذلك ، حتى إذا لم يكن لديك أي منها ، فلا يزال بإمكانك محاولة تثبيت التطبيق الصغير الخاص بك على شريحة - شريحة افتراضية فقط.



ستحتاج إلى أي IDE مع دعم JCOP Shell ومحاكي JavaCard ، على سبيل المثال هذا .



قم بإنشاء مشروع فارغ ، وحدد AID المطلوب (على سبيل المثال 0000000000) وقم بتشغيله.



ثم نفهم الخطوات:



  1. / card

    Get ATR ، أرسل SELECT بدون معرف حتى يتم تحديد Card Manager ؛





  2. auth

    , ;



  3. ls ()

    , /;





  4. install [packageAID] [appletAID] [instanceAID]

    :



    packageAID — (Module), , «0000000000»

    appletAID — (Load File), , «000000000000»

    instanceAID — , , , «A0000000041010»;





  5. ls

    , :







في الواقع ، يعد تخصيص التطبيق الصغير أمرًا بسيطًا للغاية ؛ كل ما هو مطلوب هو تحميل بيانات الدفع المطلوبة فيه. للقيام بذلك ، حدد التطبيق الصغير باستخدام الأمر SELECT بواسطة AID الخاص به ، وقم بإنشاء اتصال آمن وأرسل التطبيق الصغير المحدد أوامر STORE DATA مع البيانات الموجودة بالداخل.



الآن دعنا نعود إلى قائمة AIDs في ملف info.plist - ما سبب الحاجة إليها ، وكيف تختار Core NFC بالضبط التطبيق الصغير الذي تريد التفاعل معه؟



تبدو هكذا:



  1. يمر البرنامج من خلال القائمة من أعلى إلى أسفل ؛
  2. لكل AID ، يقوم بإنشاء أمر SELECT وإرساله ؛
  3. وAID من التطبيق الصغير الأولى التي أجاب "9000" (حالة استجابة ناجحة، وهنا لائحة من جميع الردود الممكنة ) هو مكتوب في initialSelectedAID مجال ل كائن من NFCISO7816Tag نوع ، التي وضعت في مجموعة من رقائق الكشف عن


@available(iOS 13.0, *)

public protocol NFCISO7816Tag : NFCNDEFTag, __NFCTag {

   /**

    * @property initialSelectedAID The Hex string of the application identifier (DF name) selected by the reader when the tag is discovered.

    *                              This will match one of the entries in the «com.apple.developer.nfc.readersession.iso7816.select-identifiers»

    *                              in the Info.plist.

    */

   @available(iOS 13.0, *)

   var initialSelectedAID: String { get }


علاوة على ذلك ، يمكنك تحديد أي كائن من المصفوفة ، واستخدام طريقة sendCommand لإرسال أوامر APDU إلى التطبيق الصغير المحدد.



الآن دعنا نتحدث عن هذا القيد:

 

Core NFC doesn't support payment-related Application IDs.


أي أن Core NFC لا يدعم معينات الدفع ، أي معينات مكافحة الإيدز التي تعمل بها محطات الدفع.



بالطبع ، يمكنك إضافة AID للدفع إلى قائمة info.plist ، لكن Core NFC ستتجاهله ولن ترسل SELECT له (بالمناسبة ، إليك قائمة بجميع معينات AID المستخدمة ). هذه هي الطريقة التي تحمي بها Apple تقنية Apple Pay الخاصة بها ، مما يمنع مطوري الطرف الثالث من الوصول إلى أي من وظائف الدفع الخاصة بـ iPhone (وكل ما يتعلق بها).



الحلول



أول ما يتبادر إلى الذهن هو ما إذا كان من الممكن الإضافة إلى info. لا تقم بإدراج AID الخاص بتطبيق الدفع الصغير ، ولكن AID Card Manager (Card Manager هو مجموعة من الخدمات داخل نظام تشغيل الشريحة التي تدير البطاقة ، وهي المسؤولة عن الإدارة والأمن) ، بحيث ثم أرسل له أمر التحديد يدويًا باستخدام AID الخاص بالبرنامج الصغير المطلوب؟



لقد عثرنا هنا على المأزق الأول - لا يسمح Core NFC بإرسال أمر SELECT يحتوي على AID غير مسجل في info.plist .



حسنًا ، أضفنا A0000000041010 ، ولكن هذا أيضًا فشل - لا يسمح Core NFC بإرسال أمر SELECT يحتوي على AID للدفع ، بغض النظر عما إذا كان في info.plist أم لا.



دعونا نرى كيف يعمل تقييد المعرف.



في info.plist حددنا المساعدات التالية:



1. A000000001510000                        	- GlobalPlatform Card Manager AID
2. 325041592E5359532E444446303101      - Proximity Payment System Environment (PPSE) 
3. A0000000041010                             	- Mastercard Credit/Debit (Global)
4. A00000000401                                 	- Mastercard PayPass
5. A00000000410101213                    	- Mastercard Credit
6. A00000000410101215                    	- Mastercard Credit
7. A00000000410101214                    	-   AID                 
8. A00000000410101216                    	-   AID 
9. A0000000041010121F                    	-   AID 
10. A0000000041010BB5445535401 	        -   Long AID
11. A0000000041010BB5445535405 	        -   Long AID
12. A000000004101FBB5445535401 	        -    AID                
13. A000000004101F1213                    	-    AID                 
14. A00000000F1010                             	-    AID
15. A0000000040F                                     -    AID


قمنا بتثبيت 14 تطبيقًا للدفع بمساعدات مختلفة (العناصر 2-11 - معينات الدفع) ، وحاولنا إرسال أوامر Card Manager SELECT مع كل من هذه المساعدات.



أجاب العدد ١٢-١٥ .  



اتضح أن القيد مفروض على بادئة AID معينة ، والتي يحدد وجودها ما إذا كان معرّف الدفع أم لا.



إنه لأمر مؤسف ، لكن هذه الطريقة لم تعد صالحة.



خيار التخصيص الثاني الذي توفره GlobalPlatform هو أمر التثبيت [للتخصيص ].





يتم إرساله إلى Card Manager ويحتوي على AID الخاص بالتطبيق الصغير الذي يحتاج إلى تخصيص.



ثم يمكنك إرسال أوامر STORE DATA إلى Card Manager ، والتي ستعيد توجيهها إلى التطبيق الهدف.



لكن هناك قيد واحد. لكي يدعم التطبيق الصغير هذا النوع من التخصيص ، يجب أن ينفذ واجهة org.globalplatform.Application .



Card Manager ، إلى أمر التثبيت [للتخصيص] باستخدام Mastercard Credit / Debit (Global) AID ، الذي تم تعيينه لبرنامج M / Chip Advance الصغير من NXP ، استجاب بالخطأ "6985" (شروط الاستخدام غير مستوفاة) ،



مما يعني أنك بحاجة إلى التحقق مما إذا كانت تطبق سواء كانت واجهة التطبيق .



للقيام بذلك ، كتبنا تطبيقًا وهميًا بسيطًا ينفذ هذه الواجهة. كما هو متوقع ، أجاب على "9000" على INSTALL [للتخصيص].



ولكن عندما تمت إزالة التطبيق من الواجهات التي ينفذها التطبيق ، بدأ في الاستجابة لهذا الأمر "6985" ، كما هو الحال مع التطبيق الصغير M / Chip Advance.



وبالتالي ، فإن المشكلة تكمن على وجه التحديد في أن تطبيق NXP لا ينفذ الواجهة اللازمة لطريقة التخصيص هذه. هذه الطريقة تختفي أيضًا.



مهام إضافية



  1. الحصول على UID الخاص بالرقاقة

    يمكن القيام بذلك بطريقة بسيطة للغاية.

    في بداية جلسة NFC ، تبحث الوحدة عن الرقائق ، معرّفات AID الخاصة بالتطبيقات الصغيرة المسجلة في info.plist ، وتضيفها إلى مصفوفة.

    بعد ذلك يمكنك الحصول على أي منها من هناك ، وإذا كان نوعه هو NFCISO7816Tag ، فهو يحتوي على حقل معرف يحتوي على UID الخاص بالرقاقة.



    /**
      * @discussion The hardware UID of the tag.
    */
    var identifier: Data { get }


  2. الحصول على شريحة ATR ولكن يبدو أن Core NFC لا يمكنه استقبال ATR ، لأنه لا توجد أدوات منفصلة لذلك في إطار العمل ، ولا يمكنك الحصول على ATR باستخدام أوامر APDU .



الاستنتاجات



ماذا يوجد في المحصلة النهائية؟



  1. ISO/IEC 7816 ( UID), Core NFC;
  2. , Apple ;
  3. , , iPhone, , Application — ;
  4. , AID — .


للإجابة على السؤال المطروح في البداية ، هل يمكننا منح مستخدم Wallet الفرصة لتحميل بطاقته المصرفية في مفتاح التشغيل عن طريق توصيله بجهاز iPhone - لا ، هذا غير ممكن بعد.



كجزء من المهمة ، قررنا استخدام قارئ BLE خارجي لتحميل رمز البطاقة المصرفية من iPhone إلى جهاز يمكن ارتداؤه غير نشط.



نأمل ، في المستقبل ، أن تقوم Apple بتوسيع قدرات NFC Core لإنجاز هذا ومجموعة من مهام الترميز والدفع الأخرى في تطبيقات الطرف الثالث. ومع ذلك ، تشير الأخبار الأخيرة إلى أنه من غير المحتمل أن يحدث هذا في المستقبل القريب.



أحد الآثار الجانبية للدراسة



أثناء العمل ، وُلد مخطط احتيال محتمل لا يمكن إعادة إنتاجه باستخدام هواتف Apple الذكية ، ولكن من الممكن تمامًا تنفيذه من خلال هاتف ذكي يعمل بنظام Android مع دعم NFC وتقنية Host Card Emulation.



الخلاصة هي: 



  • سيتم استخدام أول هاتف ذكي كمحطة طرفية ، أي أنه سيتصل بالبطاقات المصرفية ويتفاعل مع تطبيقات الدفع الخاصة بهم ،
  • الهاتف الذكي الثاني - كوسيلة للدفع (عند الخروج سيبدو كأنه دفع منتظم باستخدام هاتف ذكي).


باستخدام هذا المخطط ، يمكنك إنشاء بطاقة مصرفية سلسلة - هاتف ذكي - هاتف ذكي - محطة دفع ، وهي:



  1. أول هاتف ذكي متصل بأي بطاقة مصرفية ؛
  2. يتم تطبيق الثانية على محطة الدفع ؛
  3. يحاكي الهاتف الذكي الثاني بطاقة مصرفية عن طريق إرسال أوامر APDU التي يرسلها الجهاز إلى الهاتف الذكي الأول ؛
  4. ينقل الهاتف الذكي الأول هذه الأوامر إلى البطاقة المصرفية المرفقة ، وينقل ردودها إلى الهاتف الذكي الثاني ؛
  5. ينقل الهاتف الذكي الثاني الردود المستلمة إلى الجهاز ؛
  6. تم السداد.


وهذا يعني أنه من المحتمل أن يضع المحتال هاتفًا ذكيًا في جيبك ويدفع ثمن الشراء. كن حذرا!



لتجنب الوقوع ضحية لمثل هذا المخطط الاحتيالي ، يمكنك ، على سبيل المثال ، تحويل البطاقات المصرفية إلى هاتفك الذكي وعدم حمل البلاستيك معك.



بدلا من الاستنتاج



حاولت كتابة المقال بلغة بسيطة ، دون التعمق في مصطلحات مجال الموضوع. في ذلك ، وصفت أحد المشاريع المبتكرة التي نعمل عليها ، وهو مجال الموضوع ودراسة صغيرة للإمكانيات الجديدة لإطار عمل iOS Core NFC.



نرحب بأي ملاحظات: أسئلة ، مراجعات ، تعليقات ، إضافات ، نقد بناء.



روابط مفيدة



إذا كنت مهتمًا بالموضوع الموصوف في المقالة ، فإليك عدة روابط لدراسة أكثر تفصيلاً أدناه:



  1. كتاب من تأليف آي إم غولدوفسكي " بطاقات المعالجات الدقيقة المصرفية "

  2. ترميز الدفع لمفهوم EMV

  3. مقالات مع تحليل لسوق إنترنت الأشياء: 




All Articles