سؤال

في تطبيق الويب الخاص بي ، أصل إلى مفتاح خاص يتم تخزينه في Java Keystore. أود أن أعرف ما هي أفضل طريقة/موصى بها لتخزين كلمة المرور لمفتاح Keystore والمفتاح الخاص.

لقد فكرت في استخدام ملف الخصائص ولكن هذا لا يبدو آمنًا للغاية للاستخدام في بيئة الإنتاج (تخزين كلمة المرور في ملف نصي عادي). أيضًا ، لا يعد ترميز كلمة المرور في الكود الخاص بي خيارًا أرغب في الترفيه.

شكرًا.

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

المحلول

يمكنك استخدام ملف الخصائص كما تذكر فقط كلمة المرور للحصول على كلمة مرور Security Salt الإضافية. يحصل هذا على مسألة الاضطرار إلى الاحتفاظ بكلمة مرور في نص عادي. يمكنك بعد ذلك استخدام كلمة مرور MD5 أو SHA1 لتجزئة ذلك ، والاختيار الشخصي.

نصائح أخرى

هذه مشكلة صعبة التمهيد. بعض الخيارات:

  • اطلب من تطبيقك مطالبة المستخدم بإلغاء قفل keystore (غير ودود للغاية ، ولكن ممكن)

  • قم بتخزين كلمة المرور في ملف قراءة المالك فقط (0400) واستخدم ذلك لإلغاء قفل Keystore. يتعين على المهاجم اقتحام الخادم الخاص بك لقراءة الملف. يبدو أن هذه هي التقنية الأكثر استخدامًا على نطاق واسع
  • استخدم HSM
  • باستخدام شيء مثل Hashicorp Vault (ولكن لديه أيضًا مشكلة bootstrapping أيضًا).
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top