অধিবেশনটির "গোপন" বিকল্পটি কী?


111

আমি ক্রিপ্টোগ্রাফি সম্পর্কে কিছুই জানি না। আমি ভাবছিলাম অধিবেশন গোপনীয়তা কী?

আমি কোড এর মতো দেখতে পাচ্ছি:

app.use(express.session({
  store: mongoStore({
    url: app.set('db-uri')
  }),
  secret: 'topsecret'
}));

রহস্য কী এবং আমি কি এটি পরিবর্তন করব?

উত্তর:


83

হ্যাঁ, আপনার এটি পরিবর্তন করা উচিত। সংযোগে একটি সেশন সিক্রেট হ্যাশ গণনা করার জন্য সহজভাবে ব্যবহৃত হয় । স্ট্রিং ব্যতীত অধিবেশন অ্যাক্সেস মূলত "অস্বীকৃত" হবে। কটাক্ষপাত কানেক্ট ডক্স , যে একটি সামান্য বিট সাহায্য করা উচিত।


43
আপনি কেবল এটি পরিবর্তন করতে পারবেন না, তবে এটি পরিবর্তন করা উচিত।
মাইকেল মায়ার

1
@ মিশেলমিয়ার, কতবার?
এফআরডি

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

7
১.১১.০.২০১৮ সাল থেকে @ মিশেলমিওর এক্সপ্রেস-সেশন গোপন ঘূর্ণন সমর্থন করে। দস্তাবেজগুলি থেকে: "যদি গোপনীয়তার একটি অ্যারে সরবরাহ করা হয় তবে সেশন আইডি কুকিতে সাইন ইন করতে কেবল প্রথম উপাদান ব্যবহার করা হবে, যখন অনুরোধে স্বাক্ষরটি যাচাই করার সময় সমস্ত উপাদান বিবেচনা করা হবে।" ( বিশদগুলির জন্য এক্সপ্রেস / সেশন # 127 দেখুন ))
ওল্ফগ্যাং

এটি কি স্বাক্ষরিত কুকি হিসাবে একই, যদি হ্যাঁ .. আপনার কি এটি করা দরকার:res.cookie('name', 'value', {signed: true})
মুহাম্মদ উমার

22

এই গোপনীয়তাটি HMAC এর সাথে অধিবেশন হ্যাশ করতে ব্যবহৃত হয়:

https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L256

এরপরে গোপনীয়তা সহ হ্যাশের বিরুদ্ধে ফিঙ্গারপ্রিন্ট পরীক্ষা করে অধিবেশনটি হাইজ্যাকিংয়ের বিরুদ্ধে সুরক্ষিত থাকবে:

https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L281-L287


3
যদিও হ্যাশটি সেশন হাইজ্যাকিংয়ের বিরুদ্ধে সুরক্ষা দেয়? আক্রমণকারীর যদি সেশন কুকি থাকে তবে তাদেরও কি হ্যাশ নেই? যদি আক্রমণকারীর কুকি না থাকে তবে কীভাবে গোপন হ্যাশটি অনুমান করা আরও কঠিন করে তোলে (বনাম কেবলমাত্র দীর্ঘতর এলোমেলো সেশনের আইডি থাকা)?
স্টুয়ার্ট পি। বেন্টলে

8
গোপনীয়তা হ্যাশের জন্য একটি লবণ, এটি কারও পক্ষে কেবল কঠিন করে তোলে: ১. একটি ফিশড কুকি ডিক্রিপ্ট করুন, ২. কোনও ব্যবহারকারীর ছদ্মবেশ ধারণ করে একটি সেশনকে বোকা বানান, যেহেতু গোপনীয়তা (লবণের) তারা থাকতে পারে না একটি সঠিক সেশন আইডি উত্পাদন।
mattdlockyer

7
এই লিঙ্কগুলি উভয়ই 3 বছরের পুরানো উত্তর হওয়ার কারণে অবৈধ।
ট্রাইসিস

5
@ ম্যাটডলকায়ার এটি সেশন হাইজ্যাকিংয়ের বিরুদ্ধে আপনাকে রক্ষা করে না। এবং আক্রমণকারী কেন একটি কুকি ডিক্রিপ্ট করার চেষ্টা করবে? যদি আক্রমণকারীর কুকি থাকে তবে সেশনটি শেষ না হওয়া পর্যন্ত তার ইতিমধ্যে সম্পূর্ণ অ্যাক্সেস রয়েছে। আমার মানে এটি কুকিতে লোকেরা তাদের ব্যবহারকারীর পাসওয়ার্ড সংরক্ষণ করার মতো নয়, এটি হাস্যকর। এবং jwt এর মতো জিনিসগুলি প্রায় সবসময় এড়ানো উচিত।
ফোরামিন

একটি অধিবেশন গোপনের উদ্দেশ্য সম্পর্কে মিশ্র উত্তর রয়েছে বলে মনে হয়। কেউ কেউ বলেছে যে এটি অধিবেশন হাইজ্যাকিং থেকে রক্ষা করে অন্যরা তাতে একমত নন। কেউ কি ব্যাখ্যা করতে পারে যে এই হ্যাশ তৈরির আসল উদ্দেশ্য কী? অবিকল, এটি কীসের জন্য এটি একটি হ্যাশ গণনা করছে?
নবীন

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