القائمة

شرح CVV: ما الغرض من رمز أمان البطاقة

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

تاريخ النشر

  • بيانات اختبار
  • المدفوعات
  • رمز الأمان

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

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

ما هو رمز الأمان وأين يطبع

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

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

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

عائلة الشبكة طول الرمز موضع الطباعة
Visa و Mastercard و UnionPay وشبكات أخرى ثلاثة أرقام ظهر البطاقة
شبكة تصدر بطاقات بأربعة أرقام أربعة أرقام وجه البطاقة

لماذا يكون الرمز ثلاثة أرقام في بعض البطاقات وأربعة في غيرها؟

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

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

ما الذي يثبته الرمز وما الذي لا يثبته؟

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

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

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

لماذا تمنع قواعد البطاقات حفظ الرمز؟

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

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

وفي المراجعة، قلما تبدو حالات الفشل خيارات متعمدة:

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

كل واحد منها إخفاق في الامتثال، ولا يبدو أي منها كذلك وقت كتابته.

كيف تملأ حقل رمز الأمان دون أخطاء

معظم الصعوبة هنا متعلقة بالكتابة لا بالأمان، والحالات الحرجة متوقعة بما يكفي لتصمم لها:

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

للمطورين: إبقاء الرمز خارج السجلات والتخزين

الانضباط الهندسي هنا انضباط بالطرح. فأسلم تعامل مع بيانات المصادقة الحساسة هو ألا تكون موجودة في النظام في أي لحظة غير لحظة التفويض.

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

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

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

البطاقات التجريبية ورموزها النائبة

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

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

الخطوات التالية

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

تابع القراءة

أدلة منشئ أرقام بطاقات ائتمان وهمية (بطاقات اختبار)