Passkeys are a secure and user-friendly approach to authentication that can also be used to create and securely store crypto wallets, thanks to their use of elliptic curve cryptography.
في هذا المنشور، سنغطي كيفية عمل مفاتيح المرور، ونستكشف مخاطر استخدام مفاتيح المرور لمحافظ العملات المشفرة، ونستكشف كيفية تمكين التجريد عن الحساب لاستخدام مفاتيح المرور عندما يتم دمجها مع العقود الذكية.
يعتبر تسجيل الدخول عبر المفاتيح السرية طريقة بسيطة وآمنة للمستخدمين لتسجيل الدخول إلى تطبيق دون الحاجة إلى تخزين كلمات مرور حساسة أو تذكر أي تفاصيل لتسجيل الدخول. بدلاً من ذلك، يقوم المستخدمون بإنشاء والوصول إلى الحسابات باستخدام طرق مألوفة مثل التحقق من الهوية الحيوية مثل تعرف الوجه أو بصمة الإصبع.
هذا يتيح للمستخدمين تسجيل الدخول بسهولة والتفاعل مع التطبيقات بطريقة معتمدة دون الحاجة إلى تخزين بيانات الاعتماد الحساسة؛ مما يوفر تجربة سلسة وأمان إضافي ضد اختراقات البيانات ونقاط الهجوم الشائعة مثل الصيد الاحتيالي.
على معظم الأجهزة، مثل iPhone، يتم تخزين مفاتيح المرور داخل الأجهزة المتخصصة المسماة الحصن الآمن؛ بيئة معزولة مخصصة لحماية البيانات الحساسة حتى لو تم اختراق المعالج الرئيسي.
تستخدم البواباتالتشفير العام الرئيسيلتوليد زوج مفتاح عام-خاص على جهاز المستخدم، يتكون من مفتاحين:
مثلمحافظ البلوكشين، يمكن استخدام المفتاح الخاص لمفتاح المرور لتوقيع الرسائل والمعاملات التي يمكن إرسالها لإجراء تغيرات في الحالة على سلسلة الكتل.
لتوقيع المعاملة بمفتاح مرور خاص، يتم إرسال المعاملة إلى الأجهزة الأمنية، حيث يتم توقيعها، ومن ثم يتم إخراج التوقيع الناتج. طوال هذه العملية، لا يحصل صاحب المفتاح الخاص أو مطور التطبيق على إمكانية الوصول إلى المفتاح الخاص؛ بل يتلقون فقط التواقيع المولدة.
يوفر ذلك أمانًا محسنًا للمستخدم، حيث أن المفتاح الخاص عادةً لا يتم تحميله في ذاكرة التطبيق، مما يقلل من مخاطر التعرض للهجمات المحتملة. على سبيل المثال، على الايفون، لا يمكن للمستخدم حتى الوصول إلى قيمة المفتاح السري ضمن إعداداته، حيث يتم إنشاء المفتاح وتخزينه في أجهزة مخصصة غير قابلة للوصول عن طريق الواجهة.
المفاتيح السرية ومحافظ العملات الرقمية يشتركان في نفس التقنية الأساسية لتشفير المنحنى البيضاوي لإنشاء أزواج المفتاح العام والخاص. يمكن لمطوري تطبيقات البلوكشين استخدام المفاتيح السرية لإنشاء محافظ في التطبيقات آمنة للمستخدمين بتجربة مستخدم قوية.
ومع ذلك، هناك اختلاف هام يدخل في تعقيد استخدام مفاتيح المرور لحسابات سلسلة الكتل؛ تستخدم مفاتيح المرور منحنى بيضوي مختلف عن حسابات سلسلة الكتل.
بينما تستخدم كل من Apple و Android و WebAuthn منحنى secp256r1 (AKA P-256) لمفاتيح المرور ، تستخدم حسابات blockchain المنحنى الإهليلجي secp256k1.
هذا يعني أن المعاملات الموقعة بواسطة المفتاح الخاص لتذييل الصفحة لا يتم فهمها (وبالتالي رفضها) من قبل سلاسل الكتل مثل إثيريوم أو أبستراكت. التوقع الافتراضي لسلاسل الكتل هو أن تكون المعاملة موقعة بواسطة زوج مفاتيح تم إنشاؤه على منحنى secp256k1.
نظرا لأن المحافظ العادية (EOA) يتم إنشاؤها على منحنى k1 ، فإن محافظ العقود الذكية مطلوبة ، حيث يمكن أن تتضمن منطقا مخصصا يتحقق من المعاملات الموقعة بواسطة المفاتيح الخاصة التي تم إنشاؤها بواسطة مفاتيح المرور قبل الإذن بتنفيذ المعاملة.
كان بيتكوين أول من اعتمد منحنى secp256k1 للعمليات التشفيرية، والذي حدد المعيار لاستخدام إيثيريوم وسلاسل أخرى معتمدة على EVM لاستخدام الاختلاف k1 من المنحنى للحسابات.
تفتقر النسخة k1 من المنحنى أيضًا إلى بعض الميزات مثل المعاملات الإضافية التي تجعل secp256r1 أكثر تعقيدًا قليلاً، مما يعني أن secp256k1 أكثر كفاءة حسابياً لإنشاء المفاتيح وإنشاء وتحقق التوقيع.
على الرغم من عدم وجود ثغرات مباشرة تم العثور عليها ، إلا أنه هناك أيضًا نظريات المؤامرة التي تفترض أن بيتكوين اختارت استخدام منحنى k1 على منحنى r1 المعتمد بشكل أكبر لتجنب أي إمكانية لوجود فتحة خلفية قد تكون تم إدخالها سراً من قبل وكالات حكومية مثل NSA ، نظرًا لتورطهم في تطوير المعايير التشفيرية المعتمدة من قبل NIST.
محافظ العقود الذكية (مثل تلك التي يدعمها حساب الجمعية الأصلي للمجرد) يمكن أن يحتوي على منطق تعسفي لتنفيذ EVM ؛ بما في ذلك التحقق من التوقيع للرسائل التي يتلقاها الموقع الموقعة بواسطة مفتاح خاص تم إنشاؤه على منحنى r1.
المكتبات مفتوحة المصدر مثل مدقق P256 مفتوح المصدر لدايموتم بناء بوابات للتحقق من التوقيعات على منحنى secp256r1 داخل العقود الذكية المكتوبة بلغة Solidity.
على الإيثيريوم، يعني هذا أنه يمكنك استخدام العقود الذكية المبنية باستخدام Gate.ioمعيار جمع حساب ERC-4337للتحقق من توقيع r1 لعملية المستخدم في الداخلvalidateUserOp
وظيفة محفظة العقد الذكي.
على النحو التجريدي، التجريبية الأصلية للحسابيتيح لمحافظ العقود الذكية تقديم المعاملات مع حقل التوقيع مضبوطًا كالرسالة الموقعة بواسطة المفتاح الخاص للمفتاح المروري. إذا كان الحساب الذي أرسل المعاملة عقدًا ذكيًا يتضمن منطقًا للتحقق من توقيعات r1 (في تحقق من المعاملة
عندما يتم تأكيد الوظيفة، يتم قبول المعاملة.
محافظ العقد الذكية تستخدم الكود (بشكل عقد ذكي) لإدارة والتحكم في وظائفها، مما يعني أنها يمكن أن تحتوي على أي ميزات مخصصة؛ بما في ذلك وحدات الاسترداد، وعدة موقعين معتمدين، وحدود الإنفاق، ومفاتيح الجلسة، والمزيد.
محافظ العقد الذكية تقدم مزيدًا من المرونة من المحافظ EOA (Externally Owned Accounts) التقليدية ونظرًا لأنها يمكن أن تتضمن رمز EVM التعسفي، لديها القدرة على التحقق من التواقيع (أي التفويض للمعاملات) من أزواج المفاتيح التي تم إنشاؤها على منحنى الرقم البياني r1.
نظرًا لأن التحقق من التوقيعات على منحنى r1 ليس أمرًا أصليًا في سلاسل الكتل مثل إيثيريوم أو Abstract، فإن القيام بهذا التحقق يتطلب الكثير من الحسابات، مما يؤدي إلى زيادة كبيرة في تكاليف الغاز للتحقق من توقيعات r1 بدلاً من توقيعات k1 (تكلفة تقريبية 100 مرة أكثر).
RIP-7212 (Rollup Improvement Proposal) proposes the addition of a precompiled smart contract to Ethereum L2s for more gas-efficient signature verification on the r1 curve. While this is not yet included on Ethereum, EVM-compatible scaling solutions such as Abstract have already implemented this and provide a 100x gas reduction for r1 signature verifications.
العيب في محافظ مفاتيح العبور هو أنها مرتبطة بنطاق واحد فقط. على سبيل المثال، إذا قمت بإنشاء محفظة على some-domain.com، فإن مفتاح العبور الخاص بك (وبالتالي محفظتك) قادر فقط على الاتصال بذلك النطاق النوعي.
هذا خيار تصميم مقصود لتجنب الهجمات الاحتيالية ، ومع ذلك ، يشكل عيبًا كبيرًا للمستخدمين الذين يقدرون الاحتفاظ بالأمان بأنفسهم ، حيث يرتبط محفظتك مباشرة بتطبيق واحد فقط ؛ وهذا يعني:
لهذه الأسباب، تعتبر محافظ passkey الأكثر ملائمة للمبالغ الصغيرة من المال أو لاستقطاب المستخدمين المبتدئين إلى تجاربهم الأولى في عالم العملات المشفرة حتى يصبحوا أكثر معرفة بمحافظ الاحتفاظ الذاتي.
هذا يعتمد على كيف تختار نسخ احتياطيًا لمفتاح المرور الخاص بك. هناك عدة خيارات لنسخ احتياطي لمفتاح المرور الخاص بك إلى السحابة (مثل مفتاح Apple Keychain) لتكون قابلة للوصول عبر الأجهزة الأخرى حتى لو فقدت الأصلية.
لا يمكن قراءة المفتاح الخاص على الجهاز في أي نقطة لأنه في الحجرة الآمنة. ومع ذلك ، إذا كان لديهم وصولًا إلى بيانات بيومترية ، فيمكنهم إجراء العمليات كما لو كانوا يتحكمون في مفتاح الوصول/المحفظة الخاصة بك.
لا، لا يتم إرسال بيانات البيومترية الخاصة بك إلى أي مكان، فهي تبقى على جهازك. يتم استخدام بياناتك البيومترية فقط لفتح مفتاح الوصول.
Passkeys are a secure and user-friendly approach to authentication that can also be used to create and securely store crypto wallets, thanks to their use of elliptic curve cryptography.
في هذا المنشور، سنغطي كيفية عمل مفاتيح المرور، ونستكشف مخاطر استخدام مفاتيح المرور لمحافظ العملات المشفرة، ونستكشف كيفية تمكين التجريد عن الحساب لاستخدام مفاتيح المرور عندما يتم دمجها مع العقود الذكية.
يعتبر تسجيل الدخول عبر المفاتيح السرية طريقة بسيطة وآمنة للمستخدمين لتسجيل الدخول إلى تطبيق دون الحاجة إلى تخزين كلمات مرور حساسة أو تذكر أي تفاصيل لتسجيل الدخول. بدلاً من ذلك، يقوم المستخدمون بإنشاء والوصول إلى الحسابات باستخدام طرق مألوفة مثل التحقق من الهوية الحيوية مثل تعرف الوجه أو بصمة الإصبع.
هذا يتيح للمستخدمين تسجيل الدخول بسهولة والتفاعل مع التطبيقات بطريقة معتمدة دون الحاجة إلى تخزين بيانات الاعتماد الحساسة؛ مما يوفر تجربة سلسة وأمان إضافي ضد اختراقات البيانات ونقاط الهجوم الشائعة مثل الصيد الاحتيالي.
على معظم الأجهزة، مثل iPhone، يتم تخزين مفاتيح المرور داخل الأجهزة المتخصصة المسماة الحصن الآمن؛ بيئة معزولة مخصصة لحماية البيانات الحساسة حتى لو تم اختراق المعالج الرئيسي.
تستخدم البواباتالتشفير العام الرئيسيلتوليد زوج مفتاح عام-خاص على جهاز المستخدم، يتكون من مفتاحين:
مثلمحافظ البلوكشين، يمكن استخدام المفتاح الخاص لمفتاح المرور لتوقيع الرسائل والمعاملات التي يمكن إرسالها لإجراء تغيرات في الحالة على سلسلة الكتل.
لتوقيع المعاملة بمفتاح مرور خاص، يتم إرسال المعاملة إلى الأجهزة الأمنية، حيث يتم توقيعها، ومن ثم يتم إخراج التوقيع الناتج. طوال هذه العملية، لا يحصل صاحب المفتاح الخاص أو مطور التطبيق على إمكانية الوصول إلى المفتاح الخاص؛ بل يتلقون فقط التواقيع المولدة.
يوفر ذلك أمانًا محسنًا للمستخدم، حيث أن المفتاح الخاص عادةً لا يتم تحميله في ذاكرة التطبيق، مما يقلل من مخاطر التعرض للهجمات المحتملة. على سبيل المثال، على الايفون، لا يمكن للمستخدم حتى الوصول إلى قيمة المفتاح السري ضمن إعداداته، حيث يتم إنشاء المفتاح وتخزينه في أجهزة مخصصة غير قابلة للوصول عن طريق الواجهة.
المفاتيح السرية ومحافظ العملات الرقمية يشتركان في نفس التقنية الأساسية لتشفير المنحنى البيضاوي لإنشاء أزواج المفتاح العام والخاص. يمكن لمطوري تطبيقات البلوكشين استخدام المفاتيح السرية لإنشاء محافظ في التطبيقات آمنة للمستخدمين بتجربة مستخدم قوية.
ومع ذلك، هناك اختلاف هام يدخل في تعقيد استخدام مفاتيح المرور لحسابات سلسلة الكتل؛ تستخدم مفاتيح المرور منحنى بيضوي مختلف عن حسابات سلسلة الكتل.
بينما تستخدم كل من Apple و Android و WebAuthn منحنى secp256r1 (AKA P-256) لمفاتيح المرور ، تستخدم حسابات blockchain المنحنى الإهليلجي secp256k1.
هذا يعني أن المعاملات الموقعة بواسطة المفتاح الخاص لتذييل الصفحة لا يتم فهمها (وبالتالي رفضها) من قبل سلاسل الكتل مثل إثيريوم أو أبستراكت. التوقع الافتراضي لسلاسل الكتل هو أن تكون المعاملة موقعة بواسطة زوج مفاتيح تم إنشاؤه على منحنى secp256k1.
نظرا لأن المحافظ العادية (EOA) يتم إنشاؤها على منحنى k1 ، فإن محافظ العقود الذكية مطلوبة ، حيث يمكن أن تتضمن منطقا مخصصا يتحقق من المعاملات الموقعة بواسطة المفاتيح الخاصة التي تم إنشاؤها بواسطة مفاتيح المرور قبل الإذن بتنفيذ المعاملة.
كان بيتكوين أول من اعتمد منحنى secp256k1 للعمليات التشفيرية، والذي حدد المعيار لاستخدام إيثيريوم وسلاسل أخرى معتمدة على EVM لاستخدام الاختلاف k1 من المنحنى للحسابات.
تفتقر النسخة k1 من المنحنى أيضًا إلى بعض الميزات مثل المعاملات الإضافية التي تجعل secp256r1 أكثر تعقيدًا قليلاً، مما يعني أن secp256k1 أكثر كفاءة حسابياً لإنشاء المفاتيح وإنشاء وتحقق التوقيع.
على الرغم من عدم وجود ثغرات مباشرة تم العثور عليها ، إلا أنه هناك أيضًا نظريات المؤامرة التي تفترض أن بيتكوين اختارت استخدام منحنى k1 على منحنى r1 المعتمد بشكل أكبر لتجنب أي إمكانية لوجود فتحة خلفية قد تكون تم إدخالها سراً من قبل وكالات حكومية مثل NSA ، نظرًا لتورطهم في تطوير المعايير التشفيرية المعتمدة من قبل NIST.
محافظ العقود الذكية (مثل تلك التي يدعمها حساب الجمعية الأصلي للمجرد) يمكن أن يحتوي على منطق تعسفي لتنفيذ EVM ؛ بما في ذلك التحقق من التوقيع للرسائل التي يتلقاها الموقع الموقعة بواسطة مفتاح خاص تم إنشاؤه على منحنى r1.
المكتبات مفتوحة المصدر مثل مدقق P256 مفتوح المصدر لدايموتم بناء بوابات للتحقق من التوقيعات على منحنى secp256r1 داخل العقود الذكية المكتوبة بلغة Solidity.
على الإيثيريوم، يعني هذا أنه يمكنك استخدام العقود الذكية المبنية باستخدام Gate.ioمعيار جمع حساب ERC-4337للتحقق من توقيع r1 لعملية المستخدم في الداخلvalidateUserOp
وظيفة محفظة العقد الذكي.
على النحو التجريدي، التجريبية الأصلية للحسابيتيح لمحافظ العقود الذكية تقديم المعاملات مع حقل التوقيع مضبوطًا كالرسالة الموقعة بواسطة المفتاح الخاص للمفتاح المروري. إذا كان الحساب الذي أرسل المعاملة عقدًا ذكيًا يتضمن منطقًا للتحقق من توقيعات r1 (في تحقق من المعاملة
عندما يتم تأكيد الوظيفة، يتم قبول المعاملة.
محافظ العقد الذكية تستخدم الكود (بشكل عقد ذكي) لإدارة والتحكم في وظائفها، مما يعني أنها يمكن أن تحتوي على أي ميزات مخصصة؛ بما في ذلك وحدات الاسترداد، وعدة موقعين معتمدين، وحدود الإنفاق، ومفاتيح الجلسة، والمزيد.
محافظ العقد الذكية تقدم مزيدًا من المرونة من المحافظ EOA (Externally Owned Accounts) التقليدية ونظرًا لأنها يمكن أن تتضمن رمز EVM التعسفي، لديها القدرة على التحقق من التواقيع (أي التفويض للمعاملات) من أزواج المفاتيح التي تم إنشاؤها على منحنى الرقم البياني r1.
نظرًا لأن التحقق من التوقيعات على منحنى r1 ليس أمرًا أصليًا في سلاسل الكتل مثل إيثيريوم أو Abstract، فإن القيام بهذا التحقق يتطلب الكثير من الحسابات، مما يؤدي إلى زيادة كبيرة في تكاليف الغاز للتحقق من توقيعات r1 بدلاً من توقيعات k1 (تكلفة تقريبية 100 مرة أكثر).
RIP-7212 (Rollup Improvement Proposal) proposes the addition of a precompiled smart contract to Ethereum L2s for more gas-efficient signature verification on the r1 curve. While this is not yet included on Ethereum, EVM-compatible scaling solutions such as Abstract have already implemented this and provide a 100x gas reduction for r1 signature verifications.
العيب في محافظ مفاتيح العبور هو أنها مرتبطة بنطاق واحد فقط. على سبيل المثال، إذا قمت بإنشاء محفظة على some-domain.com، فإن مفتاح العبور الخاص بك (وبالتالي محفظتك) قادر فقط على الاتصال بذلك النطاق النوعي.
هذا خيار تصميم مقصود لتجنب الهجمات الاحتيالية ، ومع ذلك ، يشكل عيبًا كبيرًا للمستخدمين الذين يقدرون الاحتفاظ بالأمان بأنفسهم ، حيث يرتبط محفظتك مباشرة بتطبيق واحد فقط ؛ وهذا يعني:
لهذه الأسباب، تعتبر محافظ passkey الأكثر ملائمة للمبالغ الصغيرة من المال أو لاستقطاب المستخدمين المبتدئين إلى تجاربهم الأولى في عالم العملات المشفرة حتى يصبحوا أكثر معرفة بمحافظ الاحتفاظ الذاتي.
هذا يعتمد على كيف تختار نسخ احتياطيًا لمفتاح المرور الخاص بك. هناك عدة خيارات لنسخ احتياطي لمفتاح المرور الخاص بك إلى السحابة (مثل مفتاح Apple Keychain) لتكون قابلة للوصول عبر الأجهزة الأخرى حتى لو فقدت الأصلية.
لا يمكن قراءة المفتاح الخاص على الجهاز في أي نقطة لأنه في الحجرة الآمنة. ومع ذلك ، إذا كان لديهم وصولًا إلى بيانات بيومترية ، فيمكنهم إجراء العمليات كما لو كانوا يتحكمون في مفتاح الوصول/المحفظة الخاصة بك.
لا، لا يتم إرسال بيانات البيومترية الخاصة بك إلى أي مكان، فهي تبقى على جهازك. يتم استخدام بياناتك البيومترية فقط لفتح مفتاح الوصول.