*** সতর্কতা অনুসারে কীভাবে আমি এনক্রিপশন পরিবর্তন করব: অবহিত কী ডেরাইভেশন ব্যবহৃত হয়েছে


16

যখন আমি কোনও ফাইল এনক্রিপ্ট করি বা ডিক্রিপ্ট করি *** WARNING : deprecated key derivation used. Using -iter or -pbkdf2 would be better.

এর অর্থ কী, আমার পদ্ধতিগুলি কীভাবে পরিবর্তন করা উচিত তা আমি বুঝতে পারি না। তুমি কি আমাকে সাহায্য করবে? আমি সাথে এনক্রিপ্ট openssl des3 <input >output.des3এবং ডিক্রিপ্ট openssl des3 -d <input.des3 >output

পরিবেশ সম্পর্কে

উবুন্টু 18.10

~$ openssl version OpenSSL 1.1.1 11 Sep 2018


1
একটি এনক্রিপশন পদ্ধতি হিসাবে 3DES অবসর গ্রহণ করা হচ্ছে। সতর্কবার্তাটি কেবল আপনাকে অন্য একটি পদ্ধতি ব্যবহার করার পরামর্শ দিচ্ছে , আরও তথ্যের জন্য সম্ভবত ক্রিপ্টো.স্ট্যাকেক্সচেঞ্জ / প্রশ্নগুলি / 51629/… দেখুন।
guiverc

1
যে ত্রুটিটি কোনও ধরণের সিফারের ক্ষেত্রে ঘটে। আপনাকে এনক্রিপ্ট এবং ডিক্রিপ্ট উভয় আদেশেই -pbkdf2 যুক্ত করতে হবে।
ড্যানিয়েল ডেলাফিয়োর

দুঃখিত, তবে আপনি কীভাবে আদেশগুলি -pbkdf2 যুক্ত করবেন তার উদাহরণ দিতে পারেন? কীভাবে এটি যুক্ত করা উচিত তা আমি বুঝতে পারি না।
টমি পোলাক

1
আপনার উদাহরণে, আপনাকে কেবল করা openssl des3 -e -pbkdf2 < input > output.des3এবং করা দরকার openssl des3 -d -pbkdf2 < input.des3 > output। আমি প্রথম মন্তব্যের সাথেও একমত হয়েছি যে আপনার 3DES (DES 1977 এর পরিবর্তে) এর পরিবর্তে অন্য একটি ব্লক সাইফার ব্যবহার করা উচিত, এটি করার একটি সহজ উপায় হ'ল aes256আপনি বর্তমানে des3এই কমান্ডগুলিতে যেখানে আছেন সেখানে অদলবদল করা , AES ব্যবহার করার জন্য ( 256-বিট এইএস বর্তমান সুরক্ষা মানদণ্ডগুলি পূরণ করে)।
জোয়েলহারদী

ধন্যবাদ! এখন এটি কাজ করে এবং aes256 ব্যবহার করে সতর্কতা ছাড়াই। সুতরাং প্রশ্নের উত্তর দেওয়া হয়।
টমি পোলাক

উত্তর:


12

ওপেনএসএসএল-এর দুটি প্রধান এবং সাম্প্রতিক সংস্করণের স্নোপসিসের সাথে তুলনা করে আমাকে ম্যান পৃষ্ঠাগুলি উদ্ধৃত করি।

ওপেনএসএসএল 1.1.0

openssl enc -ciphername [-help] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]

ওপেনএসএসএল 1.1.1

openssl enc -cipher [-help] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-rand file...] [-writerand file] [-engine id]

স্পষ্টতই কিছু বৃহত্তর পার্থক্য রয়েছে, যথা: এই প্রশ্নটি বিবেচনা করে, এই দুটি সুইচটি 1.1.0 এ অনুপস্থিত রয়েছে:

  • pbkdf2

  • iter


আপনার কাছে এখন দুটি বিকল্প রয়েছে। হয় সতর্কতা উপেক্ষা করুন বা আপনার এনক্রিপশন কমান্ডকে এমন কিছুতে সামঞ্জস্য করুন:

openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -salt -in InputFilePath -out OutputFilePath

এই সুইচগুলি যেখানে:

  • -aes-256-cbcআপনার সর্বোচ্চ সুরক্ষার জন্য যা ব্যবহার করা উচিত বা 128-বিট সংস্করণ, 3DES (ট্রিপল ডিইএস) কিছু সময় আগে পরিত্যক্ত হয়ে গেছে , দেখুন ট্রিপল ডিইএস 2017 সালে এনআইএসটি দ্বারা অবচিত করা হয়েছে , যখন এএসএস সমস্ত আধুনিক সিপিইউ দ্বারা প্রচুর পরিমাণে ত্বরান্বিত হয়; আপনার সিপিইউতে উদাহরণ হিসাবে ব্যবহারের জন্য এইএস-এনআই নির্দেশিকা রয়েছে কিনা তা আপনি কেবল যাচাই করতে পারেন grep aes /proc/cpuinfo; জয়, জয়

  • -md sha512 SHA-256 এর তুলনায় SHA-2 ফাংশন পরিবারের দ্রুততমতম রূপটি এটি আরও কিছুটা নিরাপদ হতে পারে; জয়, জয়

  • -pbkdf2: পিবিকেডিএফ 2 (পাসওয়ার্ড ভিত্তিক কী ডেরিভেশন ফাংশন 2) অ্যালগরিদম ব্যবহার করুন

  • -iter 100000 ম্যান পৃষ্ঠাটি উদ্ধৃত করে পাসওয়ার্ডের জন্য পুনরাবৃত্তির ডিফল্ট গণনাটিকে ওভাররাইড করছে:

    এনক্রিপশন কীটি প্রাপ্ত করার জন্য পাসওয়ার্ডে প্রদত্ত সংখ্যার পুনরাবৃত্তি ব্যবহার করুন। উচ্চ মানগুলি ফলাফল ফাইলটিকে নিষ্ঠুর করার জন্য প্রয়োজনীয় সময় বাড়ায়। এই বিকল্পটি পিবিকেডিএফ 2 অ্যালগরিদমটি কী অর্জন করতে সক্ষম করে।


1
তারপরে, কীভাবে এটি ডিক্রিপ্ট করবেন openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -salt -in InputFilePath -out OutputFilePath
l mingzhi

1
কেবলমাত্র -dআদেশটি যুক্ত করে:openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -salt -d -in InputFilePath
এডুয়ার্ড ইট্রিচ

1
আমি নিশ্চিত যে এই পরামর্শ সঙ্গে কয়েকটি সমস্যা আছে। অনুযায়ী en.wikipedia.org/wiki/Key_derivation_function যদি আপনি চান ধীরতম কী শিক্ষাদীক্ষা আলগোরিদিম বৈকল্পিক। অন্য কথায় SHA512 ব্যবহার করবেন না অনুযায়ী en.wikipedia.org/wiki/PBKDF2 in the year 2000 the recommended minimum number of iterations was 1000, but the parameter is intended to be increased over time as CPU speeds increase - তাই কোথাও 10,000 মধ্যে এবং 100,000 বদলে পুনরাবৃত্তিও 1000. বলতে চাই
oskarpearson

@oskarpearson সত্য, আমি এখনই এটি পড়েছি। উত্তর আপডেট করা হচ্ছে।
লিনাক্সসিকিউরিটিফ্রেক

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