مفتاح واجهة برمجة التطبيقات (API) هو رمز فريد تستخدمه واجهة برمجة التطبيقات لتحديد التطبيق أو التطبيق أو المستخدم الطالب. تُستخدم مفاتيح واجهة برمجة التطبيقات (API) لتتبع من يستخدم واجهة برمجة التطبيقات (API) والتحكم فيها وكيفية استخدامها. كما أنها تعمل أيضًا على مصادقة التطبيقات والترخيص لها، على غرار الطريقة التي تعمل بها الأنظمة مع أسماء المستخدمين وكلمات المرور. يمكن أن يكون مفتاح واجهة برمجة التطبيقات (API) مفتاحًا واحدًا أو مجموعة من المفاتيح المتعددة. يجب على المستخدمين اتباع أفضل الممارسات لتحسين الأمان العام ضد سرقة مفتاح API وتجنب العواقب المتعلقة بتعرض مفاتيح API الخاصة بهم للخطر.
API مقابل مفتاح API
لفهم ما هي مفاتيح API، يجب أن تفهم أولًا ما هي الـ API. واجهة برمجة التطبيقات أو API هي وسيط برمجي يسمح لبرنامجين أو أكثر بمشاركة المعلومات. على سبيل المثال، تتيح واجهة برمجة التطبيقات الخاصة بـ CoinMarketCap للتطبيقات الأخرى الحصول على بيانات العملات المشفرة واستخدامها، مثل السعر والحجم والقيمة السوقية.
قد يكون لمفتاح API أشكال مختلفة كثيرة—قد يكون مفتاحًا واحدًا أو مجموعة من عدة مفاتيح. تستخدم أنظمة مختلفة هذه المفاتيح للتحقق من هوية تطبيق ما وتفويضه بشكل مشابه لآليات تستخدم اسم المستخدم وكلمة المرور. يُستخدم مفتاح API من عميل الـ API للتحقق من هوية التطبيق الذي يقوم بإجراء الطلب، أي الذي يستدعي الـ API.
على سبيل المثال، إذا أرادت Binance Academy استخدام API الخاصة بـ CoinMarketCap، فسيتم إنشاء مفتاح API بواسطة CoinMarketCap واستخدامه للتحقق من هوية Binance Academy (عميل الـ API)، التي تطلب الوصول إلى الـ API. عندما تصل Binance Academy إلى API الخاصة بـ CoinMarketCap، يجب إرسال مفتاح API هذا إلى CoinMarketCap مع الطلب.
يجب استخدام مفتاح API هذا من قِبل Binance Academy فقط ولا ينبغي مشاركته أو إرسالِه إلى أي طرف ثالث. إن مشاركة مفتاح API هذا ستمنح طرفًا ثالثًا إمكانية الوصول إلى CoinMarketCap متحللًا بهوية Binance Academy. وبعبارة أخرى، ستتم معالجة أي إجراءات يقوم بها الطرف الثالث كما لو كانت من إجراءات Binance Academy.
يمكن أيضًا استخدام مفتاح API من واجهة API الخاصة بـ CoinMarketCap للتحقق مما إذا كان التطبيق مصرحًا له بالوصول إلى المورد المطلوب. بالإضافة إلى ذلك، يستخدم مالكو الـ API مفاتيح API لمراقبة أنشطة الـ API ومعلومات مثل نوع الطلبات وحجمها وحركة المرور.
ما هو مفتاح API؟
يُستخدم مفتاح API للتحكم في تتبع من يستخدم API معينة وكيف يتم استخدامها. قد تعني عبارة “مفتاح API” أشياء مختلفة بالنسبة لأنظمة مختلفة. تمتلك بعض الأنظمة كودًا واحدًا، بينما قد تمتلك أنظمة أخرى أكوادًا متعددة لِـ “مفتاح API” واحد.
وبالتالي، فإن “مفتاح API” عبارة عن رمز فريد أو مجموعة من الرموز الفريدة التي تستخدمها API للتحقق من هوية المستخدم أو التطبيق الذي يطلب الوصول وتفويضه. يتم استخدام بعض الرموز للمصادقة، بينما يتم استخدام رموز أخرى لإنشاء توقيعات تشفيرية وإثبات شرعية الطلب.
تُشار رموز المصادقة هذه غالبًا مجتمعةً إلى أنها “مفتاح API”، بينما تُسمّى الرموز المستخدمة للتوقيعات التشفيرية بأسماء متعددة، مثل “المفتاح السري” أو “المفتاح العام” أو “المفتاح الخاص”. يهدف إجراء المصادقة إلى تحديد الكيانات المعنية والتحقق من أنها هي بالفعل من يدّعون أنهم.
أما التفويض فمن ناحية أخرى فيحدد ما هي خدمات الـ API المسموح بالوصول إليها. وظيفة مفتاح API مشابهة لوظيفة اسم المستخدم وكلمة المرور؛ ويمكن أيضًا ربطه بموارد أمان أخرى لتحسين الأمان بشكل عام.
عادةً، يتم إنشاء كل مفتاح API لِكيان معيّن بواسطة مالك الـ API (مزيد من التفاصيل أدناه)، وكلما تم إجراء طلب إلى نقطة نهاية في الـ API—والتي تتطلب المصادقة أو التفويض أو كليهما—يتم استخدام المفتاح المقابل.
التوقيعات التشفيرية
تستخدم بعض مفاتيح API توقيعات رقمية (تشفيرية) كطبقة إضافية للتحقق. عندما يرغب مستخدم في إرسال بيانات محددة إلى API، يمكن إضافة توقيع رقمي تم إنشاؤه بواسطة مفتاح آخر إلى الطلب. باستخدام التشفير، يمكن لمالك الـ API التحقق مما إذا كانت هذه التوقيعة الرقمية تتطابق مع البيانات المرسلة.
التوقيعات المتناظرة وغير المتناظرة
يمكن توقيع البيانات المشتركة عبر API باستخدام مفاتيح تشفيرية، والتي تندرج ضمن الفئات التالية:
مفاتيح متناظرة
تتضمن هذه المفاتيح استخدام مفتاح سري لإجراء توقيع البيانات والتحقق من صحة التوقيع. مع المفاتيح المتناظرة، يتم عادةً إنشاء مفتاح API والمفتاح السري بواسطة مالك الـ API، ويجب استخدام نفس المفتاح السري من خدمة الـ API للتحقق من التوقيع. تتمثل أبرز مزايا استخدام مفتاح واحد في سرعة العملية والحاجة إلى قوة حوسبة أقل لتوليد التوقيع والتحقق منه. ومن الأمثلة الجيدة على المفتاح المتناظر HMAC.
مفاتيح غير متناظرة
تتضمن هذه المفاتيح استخدام مفتاحين: مفتاح خاص ومفتاح عام، وهما مختلفان لكن مرتبطان تشفيريًا. يتم استخدام المفتاح الخاص لإنشاء التوقيع، بينما يتم استخدام المفتاح العام للتحقق من التوقيع. يُنشئ مالك الـ API مفتاح API، لكن يتم إنشاء المفتاح الخاص والمفتاح العام بواسطة المستخدم. وللتحقق من التوقيع، يحتاج مالك الـ API إلى استخدام المفتاح العام فقط. لذلك يمكن أن يبقى المفتاح الخاص محليًا وسريًا.
تتمثل الميزة الرئيسية لاستخدام مفاتيح غير متناظرة في الأمان الأكبر الناتج عن فصل عملية إنشاء التوقيعات عن مفاتيح التحقق. يتيح ذلك للأنظمة الخارجية التحقق من التوقيعات حتى دون القدرة على إنشائها. ومن المزايا الأخرى أن بعض أنظمة التشفير غير المتناظر تدعم إضافة كلمة مرور إلى المفاتيح الخاصة. ومن الأمثلة الجيدة على ذلك مجموعة مفاتيح RSA.
هل مفاتيح API آمنة؟
مسؤولية مفتاح API تقع على عاتق المستخدم. مفاتيح API تشبه كلمات المرور ويجب التعامل معها بالقدر نفسه من الحذر. مشاركة مفتاح API تشبه مشاركة كلمة مرور، أي أنها ليست موصى بها لأنها ستعرّض حساب المستخدم للخطر.
تُستهدف مفاتيح API كثيرًا في الهجمات الإلكترونية لأنها يمكن استخدامها لتنفيذ عمليات قوية على الأنظمة، مثل طلب معلومات شخصية أو تنفيذ معاملات مالية. في الواقع، حدثت بالفعل حالات تمكن فيها قراصنة من مهاجمة قواعد بيانات أكواد على الإنترنت للسرقة مفاتيح API.
إن عواقب سرقة مفاتيح API قد تكون شديدة وقد تؤدي إلى خسائر مالية كبيرة. بالإضافة إلى ذلك، نظرًا لأن بعض مفاتيح API لا تحتوي على تاريخ انتهاء صلاحية، يمكن للمهاجمين استخدامها بشكل غير محدود بعد سرقتها، إلى أن يتم إلغاء صلاحية المفاتيح المعنية.
أفضل الممارسات عند استخدام مفاتيح API
نظرًا للوصول إلى بيانات حساسة وللضعف العام المرتبط بمفاتيح API، فإن الاستخدام الآمن لهذه المفاتيح بالغ الأهمية. عند استخدام مفاتيح API، يمكنك اتباع أفضل الممارسات التالية وتعزيز أمانك:
إذا أمكن، غيّر مفاتيح API بشكل متكرر. للقيام بذلك، يجب عليك حذف مفتاح API الحالي وإنشاء مفتاح جديد. يمكن إنشاء مفاتيح API وحذفها بسهولة في أنظمة مختلفة. وبالمثل، كما تتطلب بعض الأنظمة تغيير كلمة المرور كل 30 أو 90 يومًا، يجب عليك تغيير مفاتيح API بمعدل مماثل.
استخدم قائمة السماح بعناوين IP: عند إنشاء مفتاح API، حدّد قائمة عناوين IP المسموح لها باستخدام المفتاح (قائمة بيضاء لعناوين IP). كما يمكنك تحديد قائمة عناوين IP المحظورة (قائمة سوداء لعناوين IP). وبهذه الطريقة، حتى لو تم سرقة مفتاح API الخاص بك، فلن يمكن الوصول إليه من عنوان IP غير معترف به.
استخدم عدة مفاتيح API: إن امتلاك مفاتيح متعددة وتقسيم المسؤوليات بينها يقلل المخاطر، لأن أمانك لن يعتمد على مفتاح واحد يحمل العديد من الصلاحيات. كما يمكنك تحديد، لكل مفتاح، قوائم مختلفة من السماح لعناوين IP، مما يقلل المخاطر أكثر.
احفظ مفاتيح API بأمان: لا تخزّن مفاتيحك في مواقع عامة، أو على أجهزة عامة، أو بصيغتها النصية البسيطة الأصلية. بدلًا من ذلك، ولزيادة الأمان، احفظ كل مفتاح باستخدام التشفير أو عبر مدير كلمات مرور/مفاتيح وتأكد من عدم تعريضها للظهور عن طريق الخطأ.
لا تشارك مفاتيح API الخاصة بك. مشاركة مفتاح API تشبه مشاركة كلمة المرور الخاصة بك. عند القيام بذلك، تمنح الشخص الآخر نفس امتيازات المصادقة والتفويض التي لديك. يمكن سرقة مفتاح API الخاص بك واستخدامه لاختراق حسابك. يجب استخدام مفتاح API بينك وبين النظام الذي ينشئه فقط.
إذا تعرض مفتاح API الخاص بك للاختراق، فأنت بحاجة أولًا إلى تعطيله لتجنب المزيد من الضرر. إذا كانت هناك أي خسارة مالية، فقم بالتقاط لقطات شاشة لأهم المعلومات المتعلقة بالحادث، واتصل بالجهات المعنية، وسجّل بلاغًا رسميًا. هذه هي أفضل طريقة لزيادة فرصك في استعادة الأموال المفقودة.
اعتبارات ختامية
توفر مفاتيح API وظائف أساسية للمصادقة والتفويض، ويجب على المستخدمين إدارة مفاتيحهم وحمايتها بعناية. توجد العديد من الطبقات والجوانب المختلفة لضمان استخدام مفاتيح API بشكل آمن. بشكل عام، يجب التعامل مع مفتاح API على أنه كلمة مرور.
قراءات إضافية
مبادئ عامة للأمان
5 عمليات احتيال شائعة للعملات المشفرة وكيفية تجنبها
