ডাইজেস্ট প্রমাণীকরণ কী?


101

সরল পাঠ্য হিসাবে শংসাপত্রগুলি প্রেরণ ছাড়া ডাইজেস্ট প্রমাণীকরণ বেসিক প্রমাণীকরণের চেয়ে আলাদা কীভাবে?


1
@Gumbo দ্বারা গ্রেট ব্যাখ্যা এখানে ডান: stackoverflow.com/a/5288679/591487
inorganik

2
এমন কিছু যা আপনার কখনও ব্যবহার করা উচিত নয়। ট্রানজিটে পাসওয়ার্ড সুরক্ষিত করে না এবং সরল পাসওয়ার্ডগুলি সরলরূপে সঞ্চয় করতে প্রয়োজন।
CodeInChaos

2
ডাইজেস্ট এনক্রিপ্ট করা ট্র্যাফিকের জন্য বেসিক প্রমাণীকরণের চেয়ে ভাল ইন ট্রানজিট সুরক্ষা সরবরাহ করে তবে এটি দুর্বল। পরিবর্তে এসএসএল / টিএলএসের সাথে একত্রে বেসিক লেখার ব্যবহার করা অনেক বেশি নিরাপদ, কারণ এইভাবে আপনি সার্ভারে পাসওয়ার্ডগুলি এনক্রিপ্টড রাখতে পারবেন।
rustyx

উত্তর:


179

মূল পার্থক্য হ'ল এর জন্য প্লেইন্টেক্সটে তারের জুড়ে ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রেরণের দরকার নেই। এটি পুনরায় প্লে-আক্রমণগুলি থেকেও অনাক্রম্য, কারণ এটি সার্ভার থেকে এককালীন নম্বর ব্যবহার করে।

সার্ভার ক্লায়েন্টকে এক সময়ের ব্যবহারের নম্বর দেয় (একটি ননস) যা এটি ব্যবহারকারীর নাম, রাজ্য, পাসওয়ার্ড এবং ইউআরআই অনুরোধের সাথে একত্রিত হয়। একটি হ্যাশ কী তৈরি করতে ক্লায়েন্ট একটি MD5 হ্যাশিং পদ্ধতির মাধ্যমে এই সমস্ত ক্ষেত্র চালায়।

এটি ব্যবহারকারীর নাম এবং রাজ্যটির সাথে প্রমাণীকরণের চেষ্টা করার সাথে সার্ভারে এই হ্যাশ কীটি প্রেরণ করে।

সার্ভার-সাইড একই পদ্ধতিতে একটি হ্যাশকি তৈরি করতে ব্যবহৃত হয়, কেবল ব্রাউজারে টাইপ করা পাসওয়ার্ড ব্যবহার না করে সার্ভারটি তার ব্যবহারকারী ডিবি থেকে ব্যবহারকারীর জন্য প্রত্যাশিত পাসওয়ার্ডটি সন্ধান করে। এটি এই ব্যবহারকারীর নামের জন্য সঞ্চিত পাসওয়ার্ডটি সন্ধান করে, একই অ্যালগরিদমের মধ্য দিয়ে চলে এবং ক্লায়েন্ট যা প্রেরণ করেছে তার সাথে এটির তুলনা করে। যদি তারা মেলে তবে অ্যাক্সেস অনুমোদিত হয়, অন্যথায় এটি 401 অননুমোদিত (কোনও লগইন বা ব্যর্থ লগইন নয়) বা 403 নিষিদ্ধ (অ্যাক্সেস অস্বীকৃত) প্রেরণ করতে পারে।

ডাইজেস্ট প্রমাণীকরণ আরএফসি 2617 এ মানিক করা হয়েছেউইকিপিডিয়ায় এটির একটি সুন্দর ওভারভিউ রয়েছে :

আপনি এটি এরকমভাবে ভাবতে পারেন:

  1. ক্লায়েন্ট অনুরোধ করে
  2. ক্লায়েন্ট সার্ভার এবং একটি 401 প্রমাণীকরণের অনুরোধ থেকে একটি নেক ফিরিয়ে দেয়
  3. ক্লায়েন্ট নিম্নলিখিত প্রতিক্রিয়া অ্যারে (ব্যবহারকারী নাম, ক্ষেত্র, জেনারেট_এমডি 5_কি (ননস, ব্যবহারকারীর নাম, রাজ্য, ইউআরআই, পাসওয়ার্ড_জিভেন_বি_উজার_টো_ ব্রাউজার)) প্রেরণ করে) (হ্যাঁ, এটি খুব সরলিকৃত)
  4. সার্ভারটি ব্যবহারকারীর নাম এবং রাজত্ব গ্রহণ করে (প্লাস্টিক এটি ইউআরআইয়ের অনুরোধ করছে তা জানে) এবং এটি ব্যবহারকারীর জন্য পাসওয়ার্ডটি সন্ধান করে। তারপরে এটি জেনারেট_এমডি 5_কি (ননস, ইউজার নেম, রিয়েলম, ইউআরআই, পাসওয়ার্ড_আই_হ্যাভ_এই_এই_ ব্যবহারকারী_ইন_মি_ডিবি) এর নিজস্ব সংস্করণটি করে এবং করে
  5. এটি জেনারেট_এমডি 5 () এর আউটপুটটির সাথে তুলনা করে যা এটি ক্লায়েন্টের সাথে প্রেরণকৃতটির সাথে পাওয়া যায়, যদি তারা ক্লায়েন্টের সাথে মেলে তবে সঠিক পাসওয়ার্ডটি প্রেরণ করা হয়েছে। যদি তারা পাসওয়ার্ডের সাথে মেলে না তবে ভুল ছিল।

সুন্দর ব্যাখ্যা। উইন্ডোজ ব্যবহারকারীর জন্য ব্যবহারকারীর নাম এবং পিডাব্লুডি? তারা কোথা থেকে উত্পন্ন হয়?
সফটওয়্যারগীক

ব্যবহারকারীরা ব্রাউজারে যা কিছু টাইপ করুন। সেই ব্যবহারকারীর জন্য পাসওয়ার্ডের জন্য সার্ভারটি যা সঞ্চয় করেছে তা পাসওয়ার্ডের সাথে মিলিয়ে নেওয়া দরকার। আপনার ওয়েব উইন্ডোজ পাসওয়ার্ড নয় এটি সেই ওয়েব অ্যাপ্লিকেশনটির সাথে সুনির্দিষ্ট কিছু না হওয়ার সম্ভাবনা বেশি। এটি ওয়েব অ্যাপ্লিকেশনকে কীভাবে একসাথে রাখা হয়েছে তার উপর নির্ভর করে।
ইয়ান সি

14
এই উত্তরটি 6 বছরের পুরানো, তবে আমি অনুমান করি যে এখন পর্যন্ত সমস্ত সুরক্ষা-সচেতন সিস্টেমগুলি লবণাক্ত-হ্যাশ ফর্ম্যাটে পাসওয়ার্ডগুলি সঞ্চয় করে। ডাইজেস্ট অনুমোদন অসম্ভব করে তোলে ডাটাবেস থেকে মূল পাসওয়ার্ড প্রাপ্ত করার জন্য কোনও নেই, এবং কোনও পদ্ধতিও হওয়া উচিত নয়।
রামন ডি ক্লিন

3
যদি ব্যবহারকারীর নাম এবং পাসওয়ার্ডের ডাইজেস্ট হ্যাশ সরল পাসওয়ার্ডের পরিবর্তে ডিবিতে সংরক্ষণ করা হয় তবে ডাইজেস্ট অ্যাথ ব্যবহার করতে পারবেন এখনও রামোন্ডক্লিন
করাকেস

1
@ ব্লুবোকসার আমার মনে হয় কারাকয়েসের অর্থ হ'ল একটি সরল পাসওয়ার্ড ব্যবহার করার পরিবর্তে ব্যবহারকারীর নাম এবং তার পাসওয়ার্ড উভয়কেই একত্রিত করার ফলে একটি হ্যাশ সাইন আপ করার সময় এবং প্রমাণীকরণের আগে ক্লায়েন্টের পক্ষে গণনা করা উচিত। এটি পাসওয়ার্ডের একটি হ্যাশ দিয়েও করা যেতে পারে।
লোগো_উইটার

14

শংসাপত্রগুলির একটি হ্যাশ তারের মাধ্যমে প্রেরণ করা হয়।

HA1 = MD5(username:realm:password)

উইকিপিডিয়ায় এই বিষয়ে একটি দুর্দান্ত নিবন্ধ রয়েছে


ক্লায়েন্ট থেকে সার্ভারে? আপনি দয়া করে ইন্টারঅ্যাকশন জন্য পদক্ষেপ প্রদান করতে পারেন? উইকিপিডিয়া নিবন্ধটি ভাল তবে আমার আরও ভাল ব্যাখ্যা বা উদাহরণ দরকার।
সফটওয়্যারগীক

হ্যাঁ ক্লায়েন্ট হ্যাশ মান উত্পন্ন করে সার্ভারে প্রেরণ করবে। উইকিপিডিয়া নিবন্ধটি প্রোটোকলটি বিশদে বর্ণনা করেছে, আমি আপনাকে আরও তথ্যের জন্য উল্লেখ করার পরামর্শ দিচ্ছি।
ফিলিপ ফৌরি

1

শংসাপত্রগুলির হ্যাশ এইচএ 1 পাওয়ার একমাত্র উপায় হ'ল পাসওয়ার্ডটি জানা। সার্ভার HA1 জানে তবে এটি তৈরি হওয়া পাসওয়ার্ডটি নয়। যদি এইচএ 1 কোনও আক্রমণকারীকে জানত তবে এটি সিস্টেমে যেতে পারে। সুতরাং এটি তারের মাধ্যমে প্রেরণ করা হয় না। ননস ইত্যাদির উপর ভিত্তি করে আরও একটি হ্যাশ এটি করার আগে করা হয় এবং এটি অবশ্যই সার্ভারে করা অনুরূপ গণনার সাথে একমত হতে হবে। সুতরাং, যতক্ষণ না সার্ভার HA1 ব্যক্তিগত রাখে ততক্ষণ সিস্টেম নিরাপদ।


এটি ডাইজেস্ট প্রমাণীকরণের ব্যাখ্যা, যেখানে পাসওয়ার্ডটি সরল পাঠ্যে প্রেরণ করা হয় না (যা বেসিক
আথের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.