واجهة برمجة تطبيقات التشفير من مايكروسوفت

واجهة برمجة تطبيقات التشفير الخاصة بمنصة مايكروسوفت ويندوز (المعروفة أيضًا باسم CryptoAPI أو Microsoft Cryptography API أو MS-CAPI أو CAPI ) هي واجهة برمجة تطبيقات مضمنة في أنظمة تشغيل مايكروسوفت ويندوز ، توفر خدمات تمكّن المطورين من تأمين تطبيقات ويندوز باستخدام التشفير . وهي عبارة عن مجموعة من المكتبات المرتبطة ديناميكيًا ، توفر طبقة تجريدية تعزل المبرمجين عن الشيفرة المستخدمة لتشفير البيانات. تم تقديم واجهة برمجة تطبيقات التشفير لأول مرة في ويندوز 95 OSR2 [ 1 ] وويندوز NT 4.0 [ 2 ] ، وتم تحسينها في الإصدارات اللاحقة.

يدعم CryptoAPI كلاً من التشفير باستخدام المفتاح العام والتشفير باستخدام المفتاح المتناظر ، مع العلم أن المفاتيح المتناظرة الدائمة غير مدعومة. ويتضمن وظائف لتشفير البيانات وفك تشفيرها، وللمصادقة باستخدام الشهادات الرقمية . كما يتضمن وظيفة مولد أرقام عشوائية زائفة آمنة تشفيرياً : CryptGenRandom .

يعمل CryptoAPI مع عدد من مزودي خدمات التشفير (CSPs ) المثبتة على الجهاز. تُعدّ مزودات خدمات التشفير هي الوحدات التي تقوم بعملية تشفير وفك تشفير البيانات من خلال تنفيذ وظائف التشفير. قد يُوفر مُصنّعو وحدات أمان الأجهزة (HSMs) مزود خدمة تشفير متوافق مع أجهزتهم.

واجهة برمجة تطبيقات التشفير: الجيل التالي

يُقدّم نظام التشغيل Windows Vista تحديثًا لواجهة برمجة تطبيقات التشفير (Crypto API) يُعرف باسم Cryptography API: Next Generation ( CNG ). يتميّز هذا التحديث بتحسينات في هيكلة واجهة برمجة التطبيقات، مما يسمح بتشغيل نفس الوظائف باستخدام نطاق واسع من خوارزميات التشفير، ويتضمن عددًا من الخوارزميات الأحدث التي تُشكّل جزءًا من حزمة برامج التشفير ( Suite B) التابعة لوكالة الأمن القومي الأمريكية (NSA) . [ 3 ] كما يتميّز CNG بالمرونة، حيث يدعم دمج واجهات برمجة تطبيقات تشفير مخصصة في بيئة تشغيل CNG. مع ذلك، لا تزال موفرات تخزين مفاتيح CNG لا تدعم المفاتيح المتناظرة. [ 4 ] يعمل CNG في كلٍ من وضع المستخدم ووضع النواة ، ويدعم جميع خوارزميات CryptoAPI. يوجد موفر Microsoft الذي يُنفّذ CNG في ملف Bcrypt.dll.

يدعم نظام CNG أيضًا تشفير المنحنيات الإهليلجية ، الذي يُعدّ أكثر كفاءة من RSA نظرًا لاستخدامه مفاتيح أقصر لتحقيق نفس مستوى الأمان المطلوب. [ 5 ] تتكامل واجهة برمجة تطبيقات CNG مع النظام الفرعي للبطاقات الذكية من خلال تضمين وحدة موفر خدمة التشفير الأساسية للبطاقات الذكية (Base CSP) التي تغلف واجهة برمجة تطبيقات البطاقات الذكية. كل ما على مصنعي البطاقات الذكية فعله هو جعل أجهزتهم متوافقة مع هذه الوحدة، بدلًا من توفير حلٍّ جديد كليًا.

يُضيف CNG أيضًا دعمًا لـ Dual_EC_DRBG ، [ 6 ] وهو مُولِّد أرقام شبه عشوائية مُعرَّف في NIST SP 800-90A، والذي قد يُعرِّض المستخدم للتنصت من قِبل وكالة الأمن القومي الأمريكية لاحتوائه على ثغرة أمنية ، ما لم يتذكَّر المُطوِّر توليد نقاط أساسية جديدة باستخدام مُولِّد أرقام شبه عشوائية آخر آمن تشفيريًا أو مُولِّد أرقام عشوائية حقيقي ، ثم نشر البذرة المُولَّدة لإزالة الثغرة الأمنية لوكالة الأمن القومي. كما أنه بطيء جدًا. [ 7 ] ولا يُستخدم إلا عند طلبه صراحةً.

يستبدل CNG أيضًا مولد الأرقام العشوائية الزائفة الافتراضي بـ CTR_DRBG باستخدام AES كخوارزمية تشفير، لأن مولد الأرقام العشوائية السابق، المحدد في معيار FIPS 186-2 الذي تم استبداله، يعتمد إما على DES أو SHA-1 ، وكلاهما تم اختراقه. [ 8 ] يُعد CTR_DRBG أحد الخوارزميتين في NIST SP 800-90 اللتين أقرهما شناير ، والأخرى هي Hash_DRBG. [ 7 ]

انظر أيضاً

مراجع