خصائص المعرّف المشترك لـ Google-Vendor

الخلفية

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

لذلك، من المهم تذكُّر أنّ المعرّف المشترَك لا يشير إلى حساب Google (أو المستخدم أو أي كيان آخر في مساحة التخزين في Google) ولا إلى حساب المورّد/جهة الإصدار (أو أي كيان آخر). إنه يشير إلى الرابط بين هذين الاثنين.

خصائص المعرّفات المشتركة

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

لإجراء الدمج بين Google وشريك خارجي، من المهمّ أن تحتوي المعرّفات المشترَكة المستخدَمة على السمات التالية:

  1. أن يكون فريدًا عالميًا:يجب أن يشير هذا المعرّف المشترَك إلى رابط واحد فقط بين مستخدم Google وحساب جهة الإصدار. يجب ألا يكون هناك معرّف مشترك آخر لجهة الإصدار نفسها يحمل القيمة نفسها.
  2. تجنّب التخمين: تحمل هذه المعرّفات المشتركة إذنًا لاتخاذ إجراء نيابةً عن المستخدم، لذلك من المهم ألّا يتمكّن الطرف الثالث من تخمين قيمة المعرّف المشترَك.
  3. القابلية للإبطال: من المهم أن يتمكّن المستخدم من إبطال المعرّف المشترَك، ويجب أن يؤدي هذا الإبطال إلى حظر أي استخدام لقيمة المعرّف المشترَك في المستقبل. يتضمّن هذا الموقع الإلكتروني بعض السمات المرجعية التي تشمل ما يلي:
    • غير مستند إلى ملكية غير قابلة للتغيير لأي من الحسابَين: إذا استندت قيمة المعرّف المشترَك إلى ملكية غير قابلة للتغيير في حساب جهة الإصدار أو حساب Google، ستؤدي إعادة إنشاء معرّف مشترك تم إبطاله إلى القيمة نفسها لذلك المعرّف المشترَك (مما يؤدي إلى التراجع عن الإبطال)، وبالتالي يجب ألّا تكون قيمة المعرّف المشترَك عبارة عن رقم هاتف، ويجب ألّا تكون قيمة المعرّف المشترَك عبارة عن رقم هاتف، أو يجب ألّا تكون قيمة التجزئة ملكية خاصة برقم الهاتف.
    • يجب عدم استخدام <Google Account, Partner Account> فقط>: يجب أن تكون هناك قيمة أخرى (مثل الوقت) تتيح إبطالها.
  4. السماح بعدة روابط للحساب على كلا الجانبين: من المهم ألا يؤدي إنشاء قيمة المعرّف المشترك إلى استحالة ربط مستخدم واحد في Google بحسابات مصرفية متعددة أو ربط أكثر من حساب واحد على Google بحساب مصرفي واحد (على سبيل المثال، حساب رئيسي وحساب فرعي مرتبطين بحساب أحد الوالدين). وعلى غرار إمكانية الإبطال، يتميز هذا الإجراء ببعض النتائج الإجمالية:
    • ومرة أخرى، لا يستند ذلك إلى خاصية غير قابلة للتغيير لأي من الحسابَين: وإلا سيكون للمعرّف المشترك القيمة نفسها عندما يربط مستخدم Google واحد حسابات مصرفية متعددة (إذا كانت قيمة المعرّف المشترك تستند إلى حساب Google) أو في حال ربط حسابات Google متعددة بحساب مصرفي واحد (إذا كانت قيمة المعرّف المشترك تستند إلى ملكية حساب مصرفي)
  5. إطالة العمر: يكون المعرّف المشترك صالحًا فقط في سياق آمن (التكامل بين Google والمورّد الذي يستخدم وسائل حماية على مستوى الاتصال وعلى مستوى التطبيقات (مثل PGP وطبقة المقابس الآمنة المتبادلة وما إلى ذلك)، وبالتالي لا يحتاج إلى دورات قصيرة ليبقى آمنًا.) ما تفضّله Google هو أنّ المعرّفات المشتركة لا تنتهي صلاحيتها أبدًا، ولكن إذا تطلب المورّد انتهاء صلاحيتها، يجب أن تكون فترة زمنية طويلة (على سبيل المثال أكثر من سنة واحدة).

في ما يلي خصائص المعرّفات المشتركة الأخرى التي ننصح باستخدامها:

  1. Base64: يصبح نقل القيمة وتوضيحها في الدمج سهلاً عبر https.
  2. الحد الأدنى للطول: يُنصح باستخدام 27 رقمًا على الأقل (قبل ترميز Base64) لضمان توفُّر مساحة كبيرة على العنوان لتجنّب الاصطدام.

ماذا يمكن أن يحدث الخطأ؟

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

دراسات حالة حول المعرّفات المشتركة

دراسة الحالة رقم 1: إعادة تدوير أرقام الهواتف

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

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

دراسة الحالة رقم 2: The المعجون

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

دراسة الحالة رقم 3: The Bad Employee

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

دراسة الحالة رقم 4: The Rotation

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

وكجزء من عملية التغيير، تُعلِم Google جهة الإصدار بأنّ كل حساب مستخدم تعرّض للاختراق سيكون له معرّفان مشترَكان نشطان لفترة زمنية قصيرة أثناء عملية تنظيف قاعدة البيانات. ولكن جهة الإصدار لم تسمح للموقع رقم 4، وتخبر Google بأنّها تفرض قيودًا على أنّه لا يمكن تفعيل أكثر من معرّف مشترك واحد لحساب مستخدم معيّن. يؤدي هذا إلى دوران فوضوي للغاية مع شروط العرق.