تخزين شهادات X509 في قاعدة البيانات - نعم أم لا؟

StackOverflow https://stackoverflow.com/questions/174149

  •  05-07-2019
  •  | 
  •  

سؤال

أجد نفسي بحاجة إلى تخزين شهادات المفتاح العام، وشهادة مفتاح خاص واحدة لتطبيق داخلي.

اقترح أحد أعضاء فريقنا تخزين شهادات X509 في قاعدة البيانات، بدلاً من تخزينها في مخزن شهادات Windows، كما كنا نفعل حتى الآن.أنا لا أحب إعادة اختراع العجلة، لكن علي على الأقل أن أفكر في الفكرة.فهذا يعني إبقاء بياناتنا أكثر مركزية، وهو أمر جيد، على ما أعتقد.

العوائق الأولية التي يمكنني رؤيتها هي:

  • لا يزال المفتاح الخاص بحاجة إلى تخزينه في مكان ما، ولا أعرف ما إذا كان إدراجه في جدول "المفتاح العام" فكرة جيدة.لا أحب فكرة إعداد جدول لعنصر واحد أيضًا.ربما مجرد الاحتفاظ بالمفتاح الخاص كملف محلي؟(ملف .pfx، على سبيل المثال).
  • قوائم الإلغاء.ربما يتعين علينا إعداد عملية للتعامل مع المفاتيح العامة الملغاة.

ليس لدي الكثير من الخبرة مع شهادات X509، لذا سؤالي هو:هل هناك أي مشاكل أخرى من المحتمل أن نواجهها عند تخزين شهادات المفتاح العام في قاعدة بيانات، بدلاً من استخدام مخزن شهادات Windows؟

ومن الجدير بالذكر أن هذا التطبيق سيتم طرحه على العديد من خوادم عملاء الأعمال، لذا فإن الاحتفاظ بجميع البيانات في مكان واحد سيجعل عمليات النسخ الاحتياطي أسهل.أوه، ويتم تطوير التطبيق الداخلي المعني باستخدام لغة C#.

شكرًا!

هل كانت مفيدة؟

المحلول

ما هو الغرض من طلبك؟

إذا كنت تتعامل مع كل التشفير في تطبيقك، ويمكنك الرجوع إلى ملف PKCS#12 cert + مفتاح خاص، فمن المحتمل أن يكون اتباع مسار قاعدة البيانات أمرًا جيدًا.

إذا كنت بحاجة إلى استخدام Windows Crypto API للوصول إلى الشهادات، فمن المحتمل أنك ستحتاج إلى الاستمرار في استخدام مخزن الشهادات المدمج.يمكنك الحصول على بعض المزايا هنا حيث يمكنك حماية المفتاح الخاص على جهاز خارجي، مثل البطاقة الذكية أو وحدة أمان الأجهزة (HSM).

ستحتاج إلى التأكد من بذل جهد كبير لحماية المفتاح الخاص إذا كنت تقوم بتخزين كل شيء على القرص المحلي.تأكد من استخدام عبارة مرور قوية واستخدم أفضل الممارسات لحماية عبارة المرور هذه في تطبيقك.

نصائح أخرى

سأكون مترددًا في نقل المفتاح الخاص إلى أي مكان آخر ما لم يكن ذلك ضروريًا حقًا.ليس مطلوبًا إذا كان المفتاح مستخدمًا للتوقيع وسيكون مطلوبًا فقط إذا كان المفتاح مستخدمًا لفك التشفير وترغب في أرشفته للمستقبل.وحتى في هذه الحالة، سيكون المرجع المصدق الذي أصدر الشهادة قادرًا بشكل عام على التعامل مع الأرشفة والاسترداد.وهذا بالتأكيد هو الحال بالنسبة لمراجع التصديق الأكثر شهرة مثل Microsoft وenttrust.

إذا كان يجب عليك تخزينه، فقم بتشفيره باستخدام AES ومفتاح يمكنك حمايته إما في HSM (وحدة أمان الأجهزة) أو على البطاقة الذكية.لا تترك هذا المفتاح في نص عادي (في ملف أو في السجل).

قد ترغب أيضًا في حماية هذا المفتاح أثناء النقل بين موقع إنشائه وقاعدة البيانات المركزية.SSL أو VPN وما إلى ذلك

يتم نشر قوائم الإبطال بواسطة المرجع المصدق في معظم البيئات، عادةً إلى LDAP أو الدليل أو كليهما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top