এপিআই কী এবং গোপন কী কীভাবে কাজ করে? আমি যদি আমার অ্যাপ্লিকেশন এবং গোপন কীগুলি অন্য কোনও অ্যাপ্লিকেশনে পাস করতে পারি তবে এটি কি সুরক্ষিত হবে?


136

আমি এপিআই কী এবং গোপন কীগুলি কীভাবে কাজ করে তা নিয়ে ভাবতে শুরু করছি। মাত্র 2 দিন আগে আমি অ্যামাজন এস 3 এর জন্য সাইন আপ করেছিলাম এবং এস 3 ফক্স প্লাগইন ইনস্টল করেছি । তারা আমাকে আমার অ্যাক্সেস কী এবং গোপনীয় অ্যাক্সেস কী উভয়ের জন্য জিজ্ঞাসা করেছিল, যার উভয়ই অ্যাক্সেসের জন্য আমাকে লগইন করতে হবে।

সুতরাং আমি ভাবছি, তারা যদি আমার গোপন চাবিটি জিজ্ঞাসা করে তবে তাদের অবশ্যই এটি ঠিক কোথাও সংরক্ষণ করা উচিত? মূলত আমার ক্রেডিট কার্ডের নম্বর বা পাসওয়ার্ড জিজ্ঞাসা করা এবং এটি তাদের নিজস্ব ডাটাবেসে সংরক্ষণ করার মতো জিনিস নয়?

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

উত্তর:


90

মূলত এখানে কী রূপরেখা দেওয়া হয়েছে তা বিশদভাবে জানাচ্ছি ।

এটি এখানে কীভাবে কাজ করে তা এখানে রয়েছে: আসুন আমরা বলি যে আমাদের একটি ফাংশন রয়েছে যা শূন্য থেকে নয় এর মধ্যে একটি সংখ্যা নেয়, তিনটি যোগ করে এবং ফলাফল যদি দশের চেয়ে বেশি হয় তবে দশটি বিয়োগ করে। সুতরাং চ (2) = 5, চ (8) = 1, ইত্যাদি। এখন, আমরা অন্য একটি ফাংশন করতে পারি, এটিকে চ 'বলতে পারি, এটি পিছনের দিকে যায়, তিনটির পরিবর্তে সাত যোগ করে। f '(5) = 2, চ' (1) = 8, ইত্যাদি

এটি দ্বিমুখী ফাংশনের উদাহরণ এবং এর বিপরীত। তাত্ত্বিকভাবে, কোনও গাণিতিক ক্রিয়াকলাপ যা একটি জিনিসকে অন্যটিতে ম্যাপ করে তা বিপরীত হতে পারে। বাস্তবে, যদিও আপনি এমন একটি ফাংশন তৈরি করতে পারেন যা এর ইনপুটটিকে এত ভালভাবে স্ক্র্যাম করে যে এটি বিপরীত করা অবিশ্বাস্যরকম কঠিন।

একটি ইনপুট নেওয়া এবং একমুখী ফাংশন প্রয়োগ করাটিকে "হ্যাশিং" ইনপুট বলা হয় এবং তাদের সিস্টেমে অ্যামাজন যা সঞ্চয় করে তা আপনার গোপনীয় কীটির একটি "হ্যাশ"। SHA1 এই ধরণের "একমুখী" ফাংশনের উদাহরণ, এটি আক্রমণগুলির বিরুদ্ধেও কঠোর হয়।

HMAC ফাংশন প্রতিষ্ঠিত হ্যাশ ফাংশন উপর তৈরী করে লেখার একটা স্ট্রিং এ প্রমাণীকৃত করতে একটি পরিচিত চাবি ব্যবহার করতে। এটি এর মতো কাজ করে:

  • আপনি আপনার অনুরোধের পাঠ্য এবং আপনার গোপন কীটি নিয়েছেন এবং এইচএমএসি ফাংশনটি প্রয়োগ করেন।
  • আপনি আপনার অনুরোধে সেই প্রমাণীকরণ শিরোনাম যুক্ত করুন এবং এটি আমাজনে প্রেরণ করুন।
  • অ্যামাজন তাদের গোপন কীটির অনুলিপিটি সন্ধান করে এবং আপনি যে পাঠ্যটি প্রেরণ করেছেন এবং এইচএমএসি ফাংশনটি প্রয়োগ করে।
  • যদি ফলাফলটি মেলে, তারা জানে যে আপনার কাছে একই গোপন কী রয়েছে।

এটির ও পিকেআইয়ের মধ্যে পার্থক্য হ'ল এই পদ্ধতিটি আপনার টিউমার এবং অ্যামাজনের সার্ভারগুলির মধ্যে ন্যূনতম সংখ্যক বিনিময়কে অনুমতি দেয়, তাই বিশুদ্ধ RE

মূলত আমার ক্রেডিট কার্ডের নম্বর বা পাসওয়ার্ড জিজ্ঞাসা করা এবং এটি তাদের নিজস্ব ডাটাবেসে সংরক্ষণ করার মতো জিনিস নয়?

হ্যাঁ, যদিও কেউ এস 3 এর দ্বারা ক্ষতি করতে পারে তা আপনার অ্যাকাউন্টটি সঞ্চার করার মধ্যে সীমাবদ্ধ বলে মনে হচ্ছে।

তাদের কতটা গোপনীয় হওয়া দরকার? এই অ্যাপ্লিকেশনগুলি কি গোপন কীগুলি ব্যবহার করে এটি কোনওভাবে সংরক্ষণ করছে?

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

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


14
"একটি ইনপুট নেওয়া এবং একমুখী ফাংশন প্রয়োগ করাটিকে" হ্যাশিং "ইনপুট বলা হয়, এবং অ্যামাজন তাদের সিস্টেমে যা সঞ্চয় করে তা আপনার গোপনীয় কীটির একটি" হ্যাশ "- যদি অ্যামাজন আপনার গোপন কীটির একটি হ্যাশ সঞ্চয় করে রাখে তবে এটি কীভাবে হয় তাদের পাঠানো পাঠ্যটি কি অ্যামাজনের পক্ষে সম্ভব?
ফ্রাঙ্কলিন

21
প্রথমে আপনি "অ্যামাজন তাদের সিস্টেমে কী সঞ্চয় করে তা আপনার গোপনীয় কীটির" হ্যাশ "এবং তারপরে" অ্যামাজন তাদের গোপন কীটির অনুলিপিটি দেখায় "। এগুলি একে অপরের বিরোধিতা বলে মনে হচ্ছে। আমি বিশ্বাস করি প্রথম বিবৃতিটি ভুল।
শান

3
এই ইউআরএলটি অ্যামাজন এস 3 অথ বাস্তবায়নের আরও বিশদ জানায় - ডকস.অওস.আমাজোন.com
আমাজোনএস

10
"তাত্ত্বিকভাবে, কোনও গাণিতিক ক্রিয়াকলাপ যা কোনও জিনিসকে অন্যের কাছে মানচিত্র দেয় তা বিপরীত হতে পারে" - এটি সত্য নয়, হ্যাশ ফাংশনগুলির উদাহরণ। এটি প্রদর্শিত খুব সহজ। আসুন আমাদের বলুন যে আমাদের একটি ফাংশন রয়েছে যা মানের সংখ্যার (a = 1, b = 2, c = 3 ইত্যাদি) ভিত্তিতে শব্দগুলিকে সংখ্যায় পরিণত করে into উদাহরণস্বরূপ "এসও" হবে 18 + 14 = 32. সুতরাং আমরা এসও কে 32-এ পরিবর্তিত করেছি তবে আমি যদি এই ফাংশনটি কারও কাছে প্রকাশ করি এবং তাকে 32 নম্বর দিই তবে সে জানার কোনও উপায় নেই যে আমাদের মূল শব্দটি "এসও" ছিল বা না "জেডএফ" (26 + 6) বা অন্যান্য কয়েকটি সম্ভাবনার মধ্যে একটি
লিও

1
@ যে সিনসোয়েট লিঙ্ক করেছেন সেই ডকুমেন্ট অনুসারে, অ্যামাজন অবশ্যই এটির একটি হ্যাশ নয়, আপনার গোপন কীটি সংরক্ষণ করে। বস্তুত, এটা দেখে মনে হচ্ছে শুধুমাত্র যাই হোক না কেন HMAC ফাংশন ভিতরে ঘটে যাওয়া হ্যাশ
কুরলিনেটর

7

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

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

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


2
ব্যক্তিগত কী দরকার নেই লিঙ্ক এখন নষ্ট হয়ে গেছে।
সেতজমোড়া

2008 থেকে লিঙ্ক ইন্টারনেট wayback মেশিনে একটি কপি নির্দেশিত আপডেট @Joset
oligofren থেকে

1

এডাব্লুএস তাদের নিজস্ব কাস্টম প্রমাণীকরণ আলগোরিদিম ডিজাইন করেছে। v4 2014 সালে প্রকাশিত হয়েছিল Details বিশদগুলি এখানে বর্ণিত হয়েছে: প্রমাণীকরণের অনুরোধগুলি (AWS স্বাক্ষর সংস্করণ 4) । একটি প্রধান বিষয় হ'ল অনুরোধটি গোপনের সাথেই স্বাক্ষরিত হয় না, তবে একটি স্বাক্ষর কী দিয়ে তৈরি করা হয় যা গোপন ব্যবহার করে উত্পন্ন হয়। এটি স্বাক্ষর করার জন্য HMAC-SHA256 ব্যবহার করে।

স্বাক্ষর জেনারেশন

অসমমিতিক কীগুলি ব্যবহার করা আরও নিরাপদ হবে যেহেতু এডাব্লুএস কেবল গোপনীয়তার পরিবর্তে একটি পাবলিক কী সঞ্চয় করে, যা ব্যবহারকারী এবং এডাব্লুএস উভয়ই সংরক্ষণ করে।

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