ডাইজেস্ট এবং বেসিক প্রমাণীকরণের মধ্যে পার্থক্য কী?


196

ডাইজেস্ট এবং বেসিক প্রমাণীকরণের মধ্যে পার্থক্য কী ?



ডাইজেস্ট প্রমাণীকরণের কি সার্ভারের পাসওয়ার্ড জেনে বা যাচাইয়ের জন্য ব্যাকএন্ডে ডাইজেস্ট ফরোয়ার্ড করা দরকার?
ম্যাসিমো

উত্তর:


195

ডাইজেস্ট অথেনটিকেশন একটি হ্যাশ ফাংশন প্রয়োগ করে একটি এনক্রিপ্ট করা আকারে শংসাপত্রগুলি যোগাযোগ করে: ব্যবহারকারীর নাম, পাসওয়ার্ড, একটি সার্ভার সরবরাহ নন মূল্য, HTTP পদ্ধতি এবং অনুরোধযুক্ত ইউআরআই।

যদিও বেসিক প্রমাণীকরণ অ-এনক্রিপ্টড বেস 64 এনকোডিং ব্যবহার করে।

অতএব, বেসিক অথেনটিকেশনটি সাধারণত তখন ব্যবহার করা উচিত যেখানে ট্রান্সপোর্ট লেয়ার সুরক্ষা যেমন https সরবরাহ করা হয়।

দেখুন বোঝায় যা RFC-2617 সব রক্তাক্ত বিস্তারিত জানার জন্য।


1
কিভাবে মৌলিক প্রমাণীকরণ এনক্রিপ্ট করা হয় না? আমি এই ওয়েবসাইটটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডের ডেটা বেসড64 ডেকোড.অর্গ
ডট ফ্রিল্যান্সার

65
এনকোডিং এবং এনক্রিপ্ট করা একই জিনিস নয়। আপনি সেই সাইটটি ব্যবহার করে শংসাপত্রগুলি ডিকোড করতে সক্ষম হলেন তা প্রমাণ করে যে সেগুলি এনক্রিপ্ট করা হয়নি।
অ্যান্ডি 14

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

1
@ এবং "শংসাপত্রগুলি ডিকোড" বলতে আপনার অর্থ কী? হ্যাশ শংসাপত্রগুলি ডিকোড করা যায় না ...
আলেকজান্ডার সুর্যাপেল

8
ডান, এবং মৌলিক লেখক হ্যাশ শংসাপত্র ব্যবহার করে না, সেগুলি বেস 64 এনকোডড।
অ্যান্ডি

112

HTTP বেসিক অ্যাক্সেস প্রমাণীকরণ

  • পদক্ষেপ 1 : ক্লায়েন্ট তথ্যের জন্য একটি অনুরোধ করে, সরল পাঠ্যে সার্ভারে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রেরণ করে
  • পদক্ষেপ 2 : সার্ভারটি পছন্দসই তথ্য বা ত্রুটির সাথে সাড়া দেয়

বেসিক অথেনটিকেশনটি আমাদের ক্রিপ্টোগ্রাফিক স্ট্রিং তৈরি করতে বেস 64 এনকোডিং (এনক্রিপশন নয়) ব্যবহার করে যার মধ্যে ব্যবহারকারীর নাম এবং পাসওয়ার্ডের তথ্য রয়েছে। এইচটিটিপি বেসিকটি এসএসএলে প্রয়োগ করার দরকার নেই, তবে আপনি যদি তা না করেন তবে এটি মোটেই নিরাপদ নয়। সুতরাং আমি এটি ছাড়া ব্যবহার করার ধারণা বিনোদন করতে যাচ্ছি না।

পেশাদাররা:

  • এটি কার্যকর করা সহজ, সুতরাং আপনার ক্লায়েন্ট বিকাশকারীদের করতে কম কাজ হবে এবং বিতরণ করতে কম সময় লাগবে, তাই বিকাশকারীরা আপনার এপিআই ব্যবহার করতে চান
  • ডাইজেস্টের বিপরীতে, আপনি যে কোনও এনক্রিপশন পদ্ধতি যেমন পাসওয়ার্ডগুলিকে আরও সুরক্ষিত করে সার্ভারে পাসওয়ার্ড সংরক্ষণ করতে পারেন
  • তথ্য পাওয়ার জন্য সার্ভারে কেবল একটি কল প্রয়োজন, ক্লায়েন্টকে আরও জটিল প্রমাণীকরণের পদ্ধতির চেয়ে কিছুটা দ্রুত করে তোলে

কনস:

  • এসএসএল বেসিক এইচটিটিপি-র তুলনায় ধীরে ধীরে তাই ক্লায়েন্টদের কিছুটা ধীর হয়ে যায়
  • আপনার যদি ক্লায়েন্টগুলির নিয়ন্ত্রণ না থাকে এবং সার্ভারকে এসএসএল ব্যবহার করতে বাধ্য করতে না পারেন তবে কোনও বিকাশকারী এসএসএল ব্যবহার করতে না পারে, যার ফলে সুরক্ষা ঝুঁকির সৃষ্টি হয়

সংক্ষেপে - যদি আপনার ক্লায়েন্টদের নিয়ন্ত্রণ থাকে বা তারা এসএসএল ব্যবহার করে তা নিশ্চিত করতে পারে, এইচটিটিপি বেসিক একটি ভাল পছন্দ। কেবলমাত্র একটি অনুরোধ করার গতিতে এসএসএলের স্লোতা বাতিল করা যেতে পারে

বেসিক প্রমাণীকরণের সিনট্যাক্স

Value = username:password
Encoded Value =  base64(Value)
Authorization Value = Basic <Encoded Value> 
//at last Authorization key/value map added to http header as follows
Authorization: <Authorization Value>

এইচটিটিপি ডাইজেস্ট অ্যাক্সেস প্রমাণীকরণ
ডাইজেস্ট অ্যাক্সেস প্রমাণীকরণ ক্রিপ্টোগ্রাফিক ফলাফল উত্পন্ন করতে হ্যাশিং (অর্থাত্ ডাইজেস্ট মানে ছোট ছোট টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো কাটা) ব্যবহার করে into HTTP ডাইজেস্ট অ্যাক্সেস প্রমাণীকরণ প্রমাণীকরণের আরও জটিল ফর্ম যা নীচের হিসাবে কাজ করে:

  • পদক্ষেপ 1 : একটি ক্লায়েন্ট একটি সার্ভারে একটি অনুরোধ প্রেরণ করে
  • ধাপ ২ : সার্ভারটি একটি বিশেষ কোডের সাথে সাড়া দেয় (যাকে a বলা হয়)অর্থাত্ এন উম্বার কেবল একবার ব্যবহার করা হয়েছে ), আরেকটি স্ট্রিং রিয়েলম (একটি হ্যাশ) উপস্থাপন করে এবং ক্লায়েন্টকে প্রমাণীকরণ করতে বলে
  • পদক্ষেপ 3 : ক্লায়েন্ট এই ননসটি এবং ব্যবহারকারীর নাম, পাসওয়ার্ড এবং রাজ্যের একটি এনক্রিপ্ট করা সংস্করণ (একটি হ্যাশ) এর সাথে সাড়া দেয়
  • পদক্ষেপ 4 : ক্লায়েন্টের হ্যাশটি ব্যবহারকারীর নাম, পাসওয়ার্ড এবং রাজ্যের নিজের হ্যাশের সাথে মেলে বা না থাকলে একটি ত্রুটি সার্ভারটি অনুরোধ করা তথ্যের সাথে সাড়া দেয়

পেশাদাররা:

  • কোনও ইউজারনেম বা পাসওয়ার্ড সরল প্লেসে সার্ভারে প্রেরণ করা হয় না, এটি কোনও এসএসটি-র মাধ্যমে প্রেরিত নয় এমন একটি এইচটিটিপি বেসিক অনুরোধের চেয়ে আরও নিরাপদ কোনও নন-এসএসএল সংযোগ তৈরি করে। এর অর্থ এসএসএল প্রয়োজন নেই, যা প্রতিটি কল কিছুটা দ্রুত করে তোলে

কনস:

  • প্রয়োজনীয় প্রতিটি কলের জন্য, ক্লায়েন্টকে এইচটিটিপি বেসিকের তুলনায় প্রক্রিয়াটি কিছুটা ধীরে ধীরে তৈরি করতে হবে এবং 2 টি করা উচিত
  • এইচটিটিপি ডাইজেস্ট হ'ল ম্যান-ইন-মধ্য-নিরাপত্তা আক্রমণে ঝুঁকির মধ্যে রয়েছে যার মূলত এটি হ্যাক হতে পারে
  • এইচটিটিপি ডাইজেস্ট শক্তিশালী পাসওয়ার্ড এনক্রিপশন ব্যবহার প্রতিরোধ করে, এর অর্থ সার্ভারে থাকা পাসওয়ার্ডগুলি হ্যাক হতে পারে

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

তবে আপনার ক্লায়েন্টদের যদি আপনার নিয়ন্ত্রণ না থাকে তবে তারা এসএসএল ছাড়াই বেসিক প্রমাণীকরণের চেষ্টা করতে পারে যা ডাইজেস্টের চেয়ে অনেক কম সুরক্ষিত।

আরএফসি 2069 ডাইজেস্ট অ্যাক্সেস প্রমাণীকরণ সিনট্যাক্স

Hash1=MD5(username:realm:password)
Hash2=MD5(method:digestURI)
response=MD5(Hash1:nonce:Hash2)

আরএফসি 2617 ডাইজেস্ট অ্যাক্সেস প্রমাণীকরণ সিনট্যাক্স

Hash1=MD5(username:realm:password)
Hash2=MD5(method:digestURI)
response=MD5(Hash1:nonce:nonceCount:cnonce:qop:Hash2)
//some additional parameters added 

উত্স এবং উদাহরণ

পোস্টম্যানকে নীচের মত দেখাচ্ছে:

এখানে চিত্র বর্ণনা লিখুন

বিঃদ্রঃ:

  • বেসিক এবং ডাইজেস্ট স্কিম প্রমাণীকরণ একটি ব্যবহারকারী নাম এবং একটি গোপন ব্যবহার করে নিবেদিত হয়।
  • বিয়ারার স্কীম অনুমোদনের একটি টোকেন ব্যবহার নিবেদিত।

1
আপনার ওয়েব সার্ভারে আপনি কি ক্লায়েন্টের নিয়ন্ত্রণ না থাকলেও আপনি সমস্ত HTTP অনুরোধের জন্য কেবল https এ পুনঃনির্দেশ করতে পারেন?
কুল

আরও আমি এটি সম্পর্কে চিন্তা করি তবে আমি আপনার পয়েন্টটি দেখতে পাচ্ছি। ধরে নিই যে তারা HTTP এর মাধ্যমে শংসাপত্র জমা দিয়েছিল এবং আপনার সাইটে আপনাকে পুনর্নির্দেশ করতে পারে তবে তারা যদি কোনও দূষিত সাইটে আঘাত করে তবে আপনি সহায়তা করতে পারবেন না।
10

3
কেন, ডাইজেস্টের সাহায্যে আপনি ডাটাবেসে সংরক্ষণ করার আগে আপনার পাসওয়ার্ডটি এনক্রিপ্ট করতে পারবেন না এবং এটি বের করার সময়, এটি ডিক্রিপ্ট করবেন?
পেপিরো

যদিও নির্বাচিত উত্তরটি প্রশ্নের ঘনিষ্ঠ, তবে আমি এই উত্তরটি পছন্দ করি কারণ এটি আমাদের অবিশ্রুত উত্তর দেয় pros
coder0h1t

1
@ 10 কুল একবার আপনি HTTP- র মাধ্যমে ওয়েবসাইটটি হিট করলে, অনেক দেরি হয়ে গেছে ... দুর্ভাগ্যক্রমে। ব্যবহারকারী: পাসটি ইতিমধ্যে তারের উপর পরিষ্কারভাবে প্রেরণ করা হয়েছে, এমনকি যদি আপনাকে ঠিক পরে httpS এ পাঠানো হয়।
জুলিয়েন

41

আসুন আমরা দুটি এইচটিটিপি প্রমাণীকরণের মাধ্যমে পার্থক্যটি দেখতে Wiresharkপারি (প্রেরিত বা প্রাপ্ত প্যাকেট বিশ্লেষণের সরঞ্জাম)।

1. এইচটিপি বেসিক প্রমাণীকরণ

মৌলিক

ওয়েব-সার্ভারের অনুরোধ অনুসারে ক্লায়েন্টটি সঠিক ব্যবহারকারীর নাম: পাসওয়ার্ড টাইপ করার সাথে সাথে , শংসাপত্রগুলি সঠিক হলে ওয়েব-সার্ভারটি ডাটাবেসে পরীক্ষা করে এবং উত্সটিতে অ্যাক্সেস দেয়।

প্যাকেটগুলি কীভাবে প্রেরণ এবং গৃহীত হয় তা এখানে:

এখানে চিত্র বর্ণনা লিখুন প্রথম প্যাকেটে ক্লায়েন্টটি উত্সটিতে POST পদ্ধতি ব্যবহার করে শংসাপত্রগুলি পূরণ করে - lab/webapp/basicauth। সার্ভারের জবাবগুলি HTTP প্রতিক্রিয়া কোড 200 এর সাথে ফিরিয়ে দেয় , অর্থাত্, ব্যবহারকারীর নাম: পাসওয়ার্ডটি সঠিক ছিল।

এইচটিটিপি প্যাকেটের বিস্তারিত

এখন, Authorizationশিরোনামে এটি দেখায় যে এটি বেসিক অনুমোদনের পরে কিছু এলোমেলো স্ট্রিং রয়েছে his এই স্ট্রিংটি শংসাপত্রগুলির (এনকোনাল সহ ) এনকোডড (বেস 64) সংস্করণ admin:aadd

ঘ। এইচটিপি ডাইজেস্ট প্রমাণীকরণ (আরএফসি 2069)

এ পর্যন্ত আমরা দেখেছি বেসিক প্রমাণীকরণ পাঠায় ব্যবহারকারীর নাম: পাসওয়ার্ড ডাইজেস্ট প্রমাণীকরণ .কিন্তু নেটওয়ার্কের মাধ্যমে প্লেইন একটি পাঠায় হ্যাশ পাসওয়ার্ড হ্যাশ অ্যালগরিদম ব্যবহার করে।

এখানে প্যাকেটগুলি ক্লায়েন্টের দ্বারা করা অনুরোধগুলি এবং সার্ভার থেকে প্রতিক্রিয়া দেখাচ্ছে showing

পরিপাক করা

সার্ভারের দ্বারা অনুরোধ করা শংসাপত্রগুলি ক্লায়েন্টের সাথে সাথে টাইপ করার সাথে সাথে পাসওয়ার্ডটি responseএকটি অ্যালগরিদম ব্যবহার করে রূপান্তরিত হয় এবং তারপরে সার্ভারে প্রেরণ করা হয়, যদি ক্লায়েন্টের দেওয়া সার্ভার ডাটাবেসটির একই প্রতিক্রিয়া থাকে তবে সার্ভারটি সংস্থানটিতে অ্যাক্সেস দেয় , অন্যথায় ক 401 ত্রুটি।

বিস্তারিত ডাইজেস্ট অথের প্যাকেট উপরে Authorization, responseস্ট্রিং এর মান ব্যবহার করে গণনা করা হয় Username, Realm, Password, http-method,URI এবং Nonceছবিতে দেখানো হিসাবে:

প্রতিক্রিয়া অ্যালগরিদম (কলোন অন্তর্ভুক্ত করা হয়েছে)

সুতরাং, আমরা দেখতে পাচ্ছি যে এটি হ্যাশিং (এমডি 5 এনক্রিপশন) জড়িত হওয়ায় ডাইজেস্ট প্রমাণীকরণটি আরও সুরক্ষিত, সুতরাং প্যাকেট স্নিফার সরঞ্জামগুলি পাসওয়ার্ডকে স্নিগ্ধ করতে পারে না যদিও বুনিয়িক আথে সঠিক পাসওয়ার্ডটি ওয়্যারশার্কে প্রদর্শিত হয়েছিল।


6
চার্টের জন্য এটি আরও তথ্যবহুল এবং কুডোস হওয়ায় এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
মাক

তবে ওয়্যারশার্কে আপনি কেবল এইচটিপি প্রোটোকল ব্যবহার করে প্যাকেটগুলি স্নিগ্ধ করছেন? আপনি যদি https প্রোটোকল ব্যবহার করতেন?
জনআরডিওরোজিও

এইচটিটিপি বা এইচটিপিএস শুঁকবে কিনা তা ওয়্যারশার্ক দ্বারা সিদ্ধান্ত নেওয়া হয় না। এটি ওয়েব-সার্ভার যা প্রোটোকল দিয়ে কনফিগার করা হয়েছে।
BoRRis

1
আজেবাজে কথা. বেসিক অথথটি কেবল এইচটিটিপিএস-এর মাধ্যমে ব্যবহার করা। সুতরাং আসল তুলনাটি এইচটিটিপিএসের তুলনায় বেসিক অ্যাথ বনাম এইচটিটিপিএসের তুলনায় ডাইজেস্ট অথ। ওয়েবসাইটগুলি আজকাল তাদের সমস্ত ট্র্যাফিক এনক্রিপ্ট করছে হিসাবে দেখা হচ্ছে, আপনি সম্ভবত এইচটিটিপিএসের উপর বেসিক অথ ব্যবহার করতে পারেন।
গিলি

-3

বেসিক প্রমাণীকরণ ব্যবহারের ভিত্তি ক্রিপ্টোগ্রাফিক স্ট্রিং তৈরির জন্য বেস 64 এনকোডিং যা ব্যবহারকারীর নাম এবং পাসওয়ার্ডের তথ্য রয়েছে।

ডাইজেস্ট অ্যাক্সেস প্রমাণীকরণ ক্রিপ্টোগ্রাফিক ফলাফল উত্পন্ন করতে হ্যাশিং পদ্ধতি ব্যবহার করে


1
বেস 64 এনকোডিং ক্রিপ্টোগ্রাফিক নয়।
টমাস সোবাইক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.