الخلاصة

  • يقترح RFC 972 للخوادم التي تختار تطبيقه ست كلمات من ثمانية محارف قابلة للنطق بدرجة معقولة؛ يختار المستخدم واحدة أو يطلب مجموعة أخرى.
  • يربط النص تنوع الكلمات ببذرة العشوائية، ويفضل بذرة واحدة للنظام تُحدَّث بعد كل طلب، ويرفض الاعتماد على وقت الساعة. للخدمة صورتان عبر TCP وUDP على المنفذ 129.

تخيل موظفاً يمد إليك صينية عليها ست كلمات مرور. اقرأها، اختر ما تستطيع تذكره، أو اطلب صينية جديدة. هذا المشهد اللطيف هو واجهة بروتوكول مولد كلمات المرور الذي كتبه F. Wancho في يناير 1986. لكن المطبخ وراء الصينية يحمل السؤال الأصعب: هل تتغير الوصفة فعلاً بعد كل زبون؟

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

للناتج مواصفات محددة: ست «كلمات» طول كل منها ثمانية محارف، يفصل بينها CRLF. تحاول خوارزمية متعددة المستويات أن تجعل نطقها ممكناً، وتوجد نسخة FORTRAN-77 يمكن لمديري الأنظمة دراستها. يأخذ الإنسان حق الاختيار بين الست أو طلب دفعة ثانية. هذه مساحة مفيدة للذاكرة البشرية، لكنها لا تكشف كيف صُنعت الخيارات المعروضة.

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

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

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