واجهة برمجة تطبيقات حماية البيانات
واجهة برمجة تطبيقات حماية البيانات ( DPAPI ) هي واجهة برمجة تطبيقات تشفيرية بسيطة، متوفرة كمكون مدمج في نظام التشغيل Windows 2000 والإصدارات اللاحقة من أنظمة تشغيل Microsoft Windows . نظريًا، تُمكّن واجهة برمجة تطبيقات حماية البيانات من التشفير المتناظر لأي نوع من البيانات؛ عمليًا، يتمثل استخدامها الأساسي في نظام التشغيل Windows في إجراء تشفير متناظر للمفاتيح الخاصة غير المتناظرة، باستخدام سر المستخدم أو سر النظام كمصدر مهم للإنتروبيا. نُشر تحليل مفصل لآلية عمل DPAPI في عام 2011 بواسطة Bursztein وآخرون [ 1 ] .
بالنسبة لمعظم أنظمة التشفير ، يُعدّ " إدارة المفاتيح " أحد أصعب التحديات ، ويتمثل ذلك جزئيًا في كيفية تخزين مفتاح فك التشفير بشكل آمن. فإذا تم تخزين المفتاح كنص عادي ، فسيتمكن أي مستخدم لديه إمكانية الوصول إليه من الوصول إلى البيانات المشفرة. وإذا كان المفتاح المراد تشفيره، فسيلزم مفتاح آخر، وهكذا. تتيح واجهة برمجة تطبيقات حماية البيانات (DPAPI) للمطورين تشفير المفاتيح باستخدام مفتاح متماثل مُستمد من بيانات تسجيل دخول المستخدم، أو في حالة تشفير النظام، باستخدام بيانات مصادقة نطاق النظام.
تُخزَّن مفاتيح DPAPI المستخدمة لتشفير مفاتيح RSA الخاصة بالمستخدم في %APPDATA%\Microsoft\Protect\{SID}الدليل {SID}، حيث يُمثِّل {SID} مُعرِّف الأمان الخاص بذلك المستخدم. ويُخزَّن مفتاح DPAPI في نفس ملف المفتاح الرئيسي الذي يحمي المفاتيح الخاصة بالمستخدم. وعادةً ما يكون حجمه 64 بايت من البيانات العشوائية.
خصائص الأمان
لا يقوم DPAPI بتخزين أي بيانات دائمة لنفسه؛ بدلاً من ذلك، فإنه ببساطة يستقبل نصًا عاديًا ويعيد نصًا مشفرًا (أو العكس).
يعتمد أمان واجهة برمجة تطبيقات حماية البيانات (DPAPI) على قدرة نظام التشغيل ويندوز على حماية المفتاح الرئيسي ومفاتيح RSA الخاصة من الاختراق، وهو ما يعتمد في معظم سيناريوهات الهجوم بشكل كبير على أمان بيانات اعتماد المستخدم النهائي. يُشتق مفتاح التشفير/فك التشفير الرئيسي من كلمة مرور المستخدم باستخدام دالة PBKDF2 . [ 2 ] يمكن تشفير بعض الكائنات الثنائية الكبيرة للبيانات بطريقة تتضمن إضافة قيمة عشوائية (Salt ) و/أو اشتراط كلمة مرور خارجية يطلبها المستخدم (المعروفة أيضًا باسم "حماية المفتاح القوي"). يُعد استخدام القيمة العشوائية خيارًا خاصًا بكل تطبيق - أي أنه يخضع لسيطرة مطور التطبيق - ولا يمكن للمستخدم النهائي أو مسؤول النظام التحكم فيه.
يمكن منح صلاحيات الوصول المفوضة للمفاتيح باستخدام كائن COM+ . وهذا يمكّن خوادم الويب IIS من استخدام DPAPI.
مفاتيح النسخ الاحتياطي لـ Active Directory
عندما يكون جهاز كمبيوتر عضوًا في نطاق، توفر واجهة برمجة تطبيقات حماية البيانات (DPAPI) آلية احتياطية تسمح بإلغاء حماية البيانات في حال فقدان كلمة مرور المستخدم، وتُسمى هذه الآلية "تجوال بيانات الاعتماد". عند تثبيت نطاق جديد على وحدة تحكم النطاق، يتم إنشاء زوج من المفاتيح العامة والخاصة، مرتبط بواجهة برمجة تطبيقات حماية البيانات (DPAPI). عند إنشاء مفتاح رئيسي على محطة عمل العميل، يتواصل العميل عبر استدعاء RPC مصادق عليه مع وحدة تحكم النطاق لاسترداد نسخة من المفتاح العام للنطاق. يقوم العميل بتشفير المفتاح الرئيسي باستخدام المفتاح العام لوحدة تحكم النطاق. وأخيرًا، يخزن هذا المفتاح الرئيسي الاحتياطي الجديد في دليل AppData الخاص به، تمامًا كما هو الحال في تخزين المفاتيح الرئيسية التقليدية.
استخدام واجهة برمجة تطبيقات حماية البيانات (DPAPI) بواسطة برامج مايكروسوفت
على الرغم من عدم تطبيقها بشكل شامل في جميع منتجات مايكروسوفت، إلا أن استخدام واجهة برمجة تطبيقات حماية البيانات (DPAPI) قد ازداد مع كل إصدار جديد من نظام ويندوز. مع ذلك، لا تزال العديد من تطبيقات مايكروسوفت ومطوري الطرف الثالث تفضل استخدام أساليب الحماية الخاصة بها، أو أنها انتقلت مؤخرًا فقط إلى استخدام DPAPI. على سبيل المثال، استخدمت إصدارات إنترنت إكسبلورر من 4.0 إلى 6.0، وأوتلوك إكسبريس ، وإم إس إن إكسبلورر واجهة برمجة تطبيقات التخزين المحمي (PStore) القديمة لتخزين بيانات الاعتماد المحفوظة، مثل كلمات المرور وغيرها. أما إنترنت إكسبلورر 7، فيحمي الآن بيانات اعتماد المستخدم المخزنة باستخدام DPAPI. [ 3 ]
- كلمة مرور الصورة، ورمز PIN، وبصمة الإصبع في نظام التشغيل Windows 8
- تشفير نظام الملفات في نظام التشغيل ويندوز 2000 والإصدارات الأحدث
- تشفير المفتاح الرئيسي لخدمة تشفير البيانات الشفاف (TDE) في SQL Server [ 4 ]
- إنترنت إكسبلورر 7 ، سواء في الإصدار المستقل المتاح لنظام التشغيل ويندوز إكس بي أو في الإصدارات المدمجة المتاحة في نظامي التشغيل ويندوز فيستا وويندوز سيرفر 2008
- مايكروسوفت إيدج
- بريد ويندوز وبريد ويندوز لايف
- توقعات S/MIME
- خدمات معلومات الإنترنت لبروتوكول SSL/TLS
- عميل خدمات إدارة حقوق ويندوز الإصدار 1.1 والإصدارات الأحدث
- نظام التشغيل Windows 2000 والإصدارات الأحدث لبروتوكول EAP/TLS ( مصادقة VPN ) و802.1x ( مصادقة WiFi )
- نظام التشغيل Windows XP والإصدارات الأحدث لأسماء المستخدمين وكلمات المرور المخزنة [ 5 ] (المعروف أيضًا باسم مدير بيانات الاعتماد)
- .NET Framework 2.0 والإصدارات الأحدث لـ System.Security.Cryptography.ProtectedData [ 6 ]
- مصادقة Microsoft.Owin (Katana) بشكل افتراضي عند الاستضافة الذاتية (بما في ذلك مصادقة ملفات تعريف الارتباط ورموز OAuth ) [ 7 ] [ 8 ]
مراجع
- ↑ بورشتين، إيلي؛ بيكود، جان ميشيل (2010). "استعادة أسرار ويندوز وشهادات EFS دون اتصال بالإنترنت" . WoOT 2010. Usenix.
- ↑ "استعادة كلمة مرور ويندوز - تحليل المفتاح الرئيسي لـ DPAPI" . Passcape.com . تم الاطلاع عليه بتاريخ 2013-05-06 .
- ↑ ميخائيل فيلكر (8 ديسمبر 2006). "مخاوف إدارة كلمات المرور مع متصفحي إنترنت إكسبلورر وفايرفوكس، الجزء الأول" . SecurityFocus.com ، Symantec.com . تاريخ الاطلاع: 28 مارس 2010 .
- ↑ "التسلسل الهرمي للتشفير" . Msdn.microsoft.com . أبريل 2012. تم الاطلاع عليه بتاريخ 14 أكتوبر 2017 .
- ↑ "ما الجديد في مجال الأمان لنظامي التشغيل Windows XP Professional وWindows XP Home Edition" . Technet.microsoft.com . 11 سبتمبر 2009. تم الاطلاع عليه بتاريخ 14 أكتوبر 2017 .
- ↑ "فئة البيانات المحمية (System.Security.Cryptography)" . Msdn2.microsoft.com . تم الاطلاع عليه بتاريخ 14 أكتوبر 2017 .
- ↑ "خاصية CookieAuthenticationOptions.TicketDataFormat (Microsoft.Owin.Security.Cookies)" . تم الاطلاع عليه بتاريخ 15-01-2015 .
- ↑ "خاصية تنسيق رمز الوصول OAuthAuthorizationServerOptions (Microsoft.Owin.Security.OAuth)" . 27 أكتوبر 2015. تم الاطلاع عليه بتاريخ 26 نوفمبر 2018 .
روابط خارجية
- "Le fonctionnement de DPAPI par Processus Thief" (بالفرنسية). 2022-10-20. مؤرشفة من الأصلي بتاريخ 2022-10-20.
- ورقة بيضاء حول واجهة برمجة تطبيقات حماية البيانات في ويندوز (DPAPI) من مختبرات NAI
- تشفير البيانات باستخدام DPAPI (مؤرشف بتاريخ 18 مارس 2008 على موقع Wayback Machine)
- كيفية استخدام DPAPI (مخزن المستخدم) من ASP.NET 1.1 مع خدمات المؤسسة
- System.Security.Cryptography.ProtectedData في .NET Framework 2.0 والإصدارات الأحدث
- مناقشة استخدام بروتوكول MS BackupKey Remote Protocol من قِبل DPAPI لحماية أسرار المستخدم
- متجر ويندوز
- واجهات برمجة تطبيقات مايكروسوفت
- برامج التشفير
- تقنية أمان مايكروسوفت ويندوز
- ويندوز 2000
