Syncseed هي وحدة مصادقة تستفيد من نظام الاستجابة للبذور المستند إلى البذور للتحقق من صحة المستخدم. يتم إنشاء البذور باستخدام CSPRNG لضمان عدم القدرة على التنبؤ. الآن ، يحتوي Syncseed أيضًا على نظام تبادل البذور ، والذي يمكن استخدامه في نظام الاتصالات من نظير إلى نظير من خلال سلطة موثوقة (TA).
تحتوي خوارزمية Syncseed الآن على وحدة إضافية - seed_exchange . تحتوي هذه الوحدة على ثلاثة اختلافات في حل لصالح الأقران الديناميكي إلى مصادقة الأقران باستخدام Syncseed ، والتي أصبحت ممكنة من خلال خوارزمية التبادل المزامنة (SEA). يرجى الرجوع إلى ReadMe ضمن syncseed/tests/Seed Exchange Example لمزيد من المعلومات.
لدمج المزامنة في مشروعك ، اتبع هذه الخطوات:
pip install syncseedجانب الخادم:
# Initialize Syncseed
from syncseed . syncseed import SyncseedGenerator
gen = SyncseedGenerator ()
# Authenticate a user
if gen . authenticated ( user_seed , seed_value ):
# Update the seed
new_seed = gen . update_seed ()
print ( "Authentication successful!" )
else :
print ( "Authentication failed." )جانب العميل:
# Initialize Syncseed
from syncseed . syncseed import SyncseedGenerator
gen = SyncseedGenerator ()
# [Load syncseed configuration to match that of the server...]
# Assume 'user_seed' is the user's seed value stored in a file or database
user_seed = 123456789
# Generate the challenge value to transmit
seed_value = gen . get_expected_seed_value ( user_seed )بالإضافة إلى عملية المصادقة الأساسية ، يوفر Syncseed آلية لزيادة تعزيز مقاومتها ضد هجمات القوة الغاشمة. يضيف طعن البذرة بشكل دوري طبقة إضافية من الأمان ، مما يجعلها أكثر صعوبة بالنسبة للجهات الفاعلة الخبيثة في التنازل عن بيانات اعتماد المستخدم.
الغرض من طفرة البذور هو تعطيل أي محاولة لتخمين أو التكرار بشكل منهجي من خلال مجموعات البذور المحتملة. عن طريق التحور الدوري للبذور ، يتم إحباط أطراف ثالثة في جهودها لاستغلال بذرة العميل المعرضة للخطر.
في بيئة الإنتاج ، فكر في دمج وظيفة mutate_seed التي توفرها المزامنة في سير العمل في التطبيق الخاص بك. تبدأ هذه الوظيفة طفرة في قيمة البذور الحالية ، مما ينتج عنه بذرة جديدة يمكن استخدامها في محاولات المصادقة اللاحقة.
إليك مثال على كيفية استخدام وظيفة mutate_seed :
import syncseed . syncseed as syncseed
# Initialize the syncseed generator
gen = syncseed . SyncseedGenerator ()
# Assume 'current_seed' is the current seed value you want to mutate
current_seed = 123456789
# Call the 'mutate_seed' function to perform a mutation on the seed
mutated_seed = gen . mutate_seed ( current_seed )
# Now 'mutated_seed' contains the result of the mutation
print ( f'Mutated Seed: { mutated_seed } ' )إن دمج طفرة البذور في استراتيجية أمان التطبيق الخاص بك يعزز متانة المزامنة ، مما يساهم في آلية مصادقة أكثر أمانًا.
تم مزامنة ضبطها لتطبيقك عن طريق ضبط خصائصه المختلفة:
seed_length : اضبط طول البذور المتزامنة.challenge_rounds : تحديد عدد جولات التحدي لتحسين الأمن.scramble_rounds : تكوين جولات التدافع لتحقيق التوازن بين الأمان والأداء.seed_value_lower_bound : اضبط الحد الأدنى لقيم البذور.seed_value_upper_bound : اضبط الحد الأعلى لقيم البذور.cha_cha_generator_rounds : اضبط عدد جولات مولد تشاتشا.للحصول على دليل أكثر تعمقا لنشر المزامنة ، راجع دليل النشر المزامنة
يوفر SyncSeed مرونة لتحسين الأداء بناءً على متطلبات محددة. اختبر وتحليل وقت التنفيذ بانتظام تحت تكوينات مختلفة لتحقيق توازن مثالي بين الأمان والأداء. ضمن مجلد syncseed/tests في المشروع ، ستجد برنامجًا لقياس الأداء لـ Syncseed. لا تتردد في تخصيص هذا البرنامج لتقييم التكوينات المختلفة. بالإضافة إلى ذلك ، يمكن تقييم أمان الخوارزمية باستخدام اختبار توليد الدورة ، المتوفر أيضًا في نفس المجلد. يتيح لك هذا الاختبار تحديد عدد البذور الفريدة التي يمكن أن يتم توليدها قبل أن تتشكل الدورة مع قيم البذور.
Syncseed هو جهد تعاوني ، يستفيد من ردود الفعل والمساهمات المجتمعية. يتم تقدير رؤى واقتراحاتك بشكل كبير في التحسين المستمر لوحدة المصادقة هذه. لا تتردد في إثارة القضايا أو اقتراح التحسينات أو المساهمة في المشروع.
هذا المشروع مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.
Kavin Muthuselvan
syncseed's github