مفتاح واجهة برمجة التطبيقات (API) هو رمز فريد تستخدمه واجهة برمجة التطبيقات (API) لتحديد المستخدم أو التطبيق المتصل. تُستخدم مفاتيح واجهة برمجة التطبيقات لتتبع من يستخدم واجهة برمجة التطبيقات والتحكم فيها وكيفية استخدامها، بالإضافة إلى مصادقة التطبيقات والترخيص لها - على غرار كيفية عمل أسماء المستخدمين وكلمات المرور. يمكن أن يأتي مفتاح API في شكل مفتاح واحد أو مجموعة من المفاتيح المتعددة. يجب على المستخدمين استخدام مفاتيح API بشكل صحيح لتحسين أمانهم العام ضد سرقة مفتاح API وتجنب العواقب ذات الصلة باختراق مفاتيح API الخاصة بهم.
التمييز بين API ومفتاح API
لفهم ما هو مفتاح API، يجب أولاً أن تفهم ما هو API. واجهة برمجة التطبيقات أو API (Application programming interface) هي برنامج وسيط يسمح لتطبيقين أو أكثر بمشاركة المعلومات. على سبيل المثال: تتيح واجهة برمجة التطبيقات في CoinMarketCap للتطبيقات الأخرى استرداد واستخدام بيانات العملات الرقمية، مثل السعر والحجم والقيمة السوقية.
يمتلك مفتاح API أنواعًا متعددة — قد يكون مفتاحًا واحدًا أو مجموعة من عدة مفاتيح. تستخدم الأنظمة المختلفة هذه المفاتيح للتحقق ومنح صلاحية لتطبيق ما، بطريقة مشابهة لاستخدام اسم المستخدم وكلمة المرور. يُستخدم مفتاح API الذي يستخدمه تطبيق العميل للتحقق من تطبيق يستدعي API.
على سبيل المثال، إذا أرادت Binance Academy استخدام API الخاص بـ CoinMarketCap، فسيقوم CoinMarketCap بإنشاء مفتاح API واستخدامه للتحقق من هوية Binance Academy (تطبيق API) التي تطلب حق الوصول إلى API. عندما تتصل Binance Academy بواجهة API في CoinMarketCap، سيتم إرسال مفتاح API هذا إلى CoinMarketCap مع الطلب.
يجب أن يستخدم هذا المفتاح فقط من قِبل Binance Academy ولا ينبغي مشاركته أو إرساله إلى أي شخص آخر. إن مشاركة مفتاح API هذا ستسمح لطرف ثالث بالوصول إلى CoinMarketCap بصفة Binance Academy، وستظهر جميع أفعال الطرف الثالث كما لو كانت صادرة من Binance Academy.
يمكن أيضًا أن تستخدم واجهة CoinMarketCap API هذا المفتاح للتحقق مما إذا كان التطبيق مسموحًا له بالوصول إلى الموارد المطلوبة. بالإضافة إلى ذلك، يستخدم مالكو 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 المحظورة (قائمة الحظر). وبهذه الطريقة، حتى إذا تم سرقة مفتاح API الخاص بك، فلن يمكن الوصول إليه بواسطة عنوان IP غير مُعرّف.
استخدام عدة مفاتيح API: وجود عدة مفاتيح وتقسيم المسؤوليات بينها يقلل من مخاطر الأمان، لأن أمانك لن يعتمد على مفتاح واحد فقط يمنح صلاحيات كثيرة. يمكنك أيضًا تعيين قوائم سماح مختلفة لعناوين IP لكل مفتاح، مما يقلل المخاطر بشكل إضافي.
احفظ مفتاح API بشكل آمن: لا تقم بتخزين مفتاحك في أماكن عامة، أو على أجهزة مشتركة، أو بتنسيق نص عادي كما هو في الأصل. بدلاً من ذلك، قم بتخزين كل مفتاح باستخدام التشفير أو مدير أسرار لتحسين الأمان، واحرص على عدم تعريضه عن طريق الخطأ للمكشوف.
لا تشارك مفاتيح API الخاصة بك. إن مشاركة مفاتيح API تشبه مشاركة كلمات المرور الخاصة بك. عند القيام بذلك، فإنك تمنح الطرف الآخر صلاحية المصادقة والترخيص للقيام بعمليات مماثلة لما تقوم به أنت. وإذا تم اختراقها، فقد يتم سرقة مفتاح API الخاص بك واستخدامه للوصول إلى حسابك. يجب استخدام مفتاح API فقط بينك وبين النظام الذي أنشأ المفتاح.
إذا تم اختراق مفتاح API الخاص بك، فقم بإيقافه أولاً لتجنب أي أضرار إضافية. وإذا حدثت أي خسائر مالية، فقم بالتقاط لقطات شاشة لبيانات المعلومات الرئيسية المتعلقة بالحادث، واتصل بالجهات المعنية، وقدّم تقريرًا للشرطة. هذه هي أفضل طريقة لزيادة فرص استرداد أي أموال قد تكون قد ضاعت.
الخلاصة
يوفّر مفتاح API وظائف المصادقة والترخيص الأساسية، ويجب على المستخدمين إدارة مفاتيحهم وحمايتها بعناية. توجد خطوات وجوانب عديدة لضمان الاستخدام الآمن لمفاتيح API. بشكل عام، يجب أن تتعامل مع مفتاح API باعتباره كلمة مرور لحسابك.
اقرأ المزيد:
مبادئ الأمان العامة
5 أشكال شائعة من الاحتيال في العملات الرقمية وكيفية تجنبها
