কোনও পাঠ্য এনক্রিপ্ট করতে কীভাবে ssh-rsa পাবলিক কী ব্যবহার করবেন?


55

সুতরাং, পরিস্থিতিটি হ'ল: আমি দেওয়া বব, আমি এলিসের জন্য কিছু বার্তা এনক্রিপ্ট করতে চাই। আমার কাছে কেবলমাত্র সর্বজনীন কী তার ssh-rsaid_rsa.pub এর মতো:

SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAQEAyb + + qaZLwgC7KAQJzYikf3XtOWuhlMXVv2mbTKa5dp0sHPRd2RaYnH8ZRkt7V8bjqct1IHGCuxI8xyoEp4at3FHe6j9RfWiarc1ldLUCmTtryI0GGpRs6Zpvqdtpcq / 1NCIYtUQAvsImyEFCtqmB2suDo1ZSllZQ0x9TCKHdCANYIOeaniuFzR57POgE3vxk / r6PO24oy8BIWqxvi29r0n1LUigVBJ7CmMHuzb4 / + + i1v6PxV1Lqnj6osPP9GpXpsh8kLUCby / KcmcryWNdSP0esyCdDxkA5hlIuk8qL1vzsyPluUQuc0BEHu6nuw8WQlCF1mFFxcpJL + + MhWEr01WIIw == sikachu@Sikachus-Notebook.local

সুতরাং, এই পাবলিক কীটি ব্যবহার করে কোনও স্ট্রিং এনক্রিপ্ট করার কোনও উপায় রয়েছে যাতে সে তার ব্যক্তিগত কীটি id_rsa(থেকে উত্পন্ন ssh-keygen) বার্তা ডিক্রিপ্ট করার জন্য ব্যবহার করতে পারে ?

(আমি জানি যে আপনি .pemকী জোড় ফাইল ব্যবহার করছেন এখনই এটি সম্ভব । আপনি যদি আমাকে এটির ফর্ম্যাটটিতে কীভাবে রূপান্তর করতে পারেন তা যদি আমাকে দেখাতে পারেন তবে opensslতা দুর্দান্তও হবে!)

ধন্যবাদ!


5
আপনি এলিস সত্যিই তদন্ত করা উচিত জন্য gpg ... gnupg.org ; ডি
Tink

4
হাহাহাহা! যাইহোক, আমার যে ssh-rsa
দৃশ্যটি

উত্তর:


71

আপনার ssh পাবলিক কীটিকে PEM ফর্ম্যাটে রূপান্তর করা সম্ভব (যে 'ওপেনসেল আরএসটল' এটি পড়তে পারে):

উদাহরণ:

ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PKCS8 > id_rsa.pem.pub

'MyMessage.txt' ধরে নেওয়া আপনার বার্তা যা সর্বজনীন-কী এনক্রিপ্ট করা উচিত।

তারপরে আপনার বার্তাটি ওপেনএসএল আরসটল এবং আপনার রূপান্তরিত পিইএম পাবলিক-কী দিয়ে সাধারণত এনক্রিপ্ট করুন যেমন আপনি সাধারণত করবেন:

openssl rsautl -encrypt -pubin -inkey id_rsa.pem.pub -ssl -in myMessage.txt -out myEncryptedMessage.txt

ফলাফলটি 'myEncryptedMessage.txt' এ আপনার এনক্রিপ্ট হওয়া বার্তা

অ্যালিসের ব্যক্তিগত কী দিয়ে ডিক্রিপ্ট করার জন্য আপনার কাজের পরীক্ষা করতে:

openssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in myEncryptedMessage.txt -out myDecryptedMessage.txt

5
আমি এটিকে একটি স্ক্রিপ্টে জড়িয়েছি যা গিটহাব থেকে ব্যবহারকারীদের পাবলিক কী টানবে। github.com/twe4ked/catacomb
twe4ked

এটি আমার পক্ষে কাজ করে না। আমার ssh-keygenকোন -mবিকল্প নেই। (আমি কীভাবে এর সংস্করণটির জন্য ssh-keygen জিজ্ঞাসা করতে পারি তা বুঝতে পারি না)) কাজের -mসাথে প্রতিস্থাপন করা -t, তবে তারপরে opensslআমাকে "পাবলিক কী লোড করতে অক্ষম" বলে। স্ট্যাকওভারফ্লো . com/ প্রশ্নগুলি / 18285294/ … দেখুন ।
জেসন গ্রস

1
জেসন যেমন ম্যাক্সওএস ম্যাভেরিক্সে রয়েছে তেমন সমস্যা। কীজেন সক্ষম কী জেনারেশনের জন্য -t এর সাথে প্রতিস্থাপিত হয়েছে।
রবার্ট খ্রিস্টান

8
নোট করুন যে ফাইলটি যথেষ্ট ছোট হলে এটি কাজ করে। যেমন 200 বাইট। দেখুন stackoverflow.com/questions/7143514/...
h__

1
@ হি যা বলেছিল তা প্রতিধ্বনিত করে, এটি কেবল তখনই কাজ করে যদি ইনপুট ফাইলটি ছোট হয় (লাইনটি কোথাও 254 বাইটের কাছাকাছি হয়, অন্যথায় এটি "আরএসএ রুটিনগুলি দেবে: আরএসএ_প্যাডিং_এডিডি_এসএসভিভি 23: কী আকারের জন্য ডেটা খুব বড়: / সোর্সক্যাচি / ওপেনএসএস0098-52.20) 0 2 / src / crypto / rsa / rsa_ssl.c: 73 "ত্রুটি
ডিভি

1

করার জন্য একটি ব্যবহার করে দেখুন ssh-খিলান এটা SSH-RSA সার্বজনিক কী ব্যবহার এনক্রিপ্ট করতে এবং SSH-RSA ব্যক্তিগত কী "একটি খিলান তৈরি" "খিলান দৃশ্যে বিষয়বস্তু" ডিক্রিপ্ট করতে


-3

এটি কেন এমন দুর্দান্ত স্পষ্ট উপায় যা আপনার নিজের ক্রিপ্টো রোলিংয়ের প্রয়োজন হয় না।

অ্যালিস এসফেসটিস এ্যালিস@bobserver.com যা কেবলমাত্র অ্যাকাউন্ট অ্যাকাউন্টের জন্য পাবলিক কী প্রমাণীকরণের অনুমতি দেওয়ার জন্য সেটআপ করা হয়েছে। Ssh এর বৈশিষ্ট্যগুলি দুর্দান্তভাবে নিশ্চিত করে যে কেবলমাত্র এলিস অ্যাটমিটিকেট করতে পারে। এমনকি মধ্য আক্রমণে একজন ব্যর্থ ব্যক্তি (যেহেতু আপনি ssh1 অক্ষম করে এবং সঠিক সেটিংসের প্রতি জোর ধরেছেন) ব্যর্থ হয়ে গেছে) ডিএইচ ব্যবহার করে প্রাথমিক যোগাযোগটি এলিস এবং বব উভয়ের জন্যই পরিচিত একটি মান তৈরি করে তবে মাঝের কোনও পুরুষের কাছে নয় এবং এটি প্রমাণীকরণের জন্য ব্যবহার করা যেতে পারে কোনও উত্তর বা এমআইটিএম আক্রমণে যোগাযোগের সামগ্রীগুলি দেখতে পাবে না।

সুতরাং আপনার বাক্সে এলিস sftp রাখুন এবং ফাইলটি ডাউনলোড করুন।


9
ওপেনসেল কীভাবে আপনার নিজের ক্রিপ্টো রোলিং ব্যবহার করছে?
সেএমসি 13

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

এই পদ্ধতিতে ববকে অ্যালিসের উপর নির্ভর করা বা ববসরবার ডটকমকে লক আউট করার প্রয়োজন হয় যাতে অ্যালিস দূষিত কিছু করতে না পারে।
mwfearnley

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

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