WebCrypto
ক্লায়েন্ট-সাইড (ব্রাউজার) জাভাস্ক্রিপ্টে ক্রিপ্টোগ্রাফি নিয়ে উদ্বেগগুলি নীচে বিস্তারিত রয়েছে। এই উদ্বেগগুলির মধ্যে একটিও কিন্তু ওয়েবক্রিপটো এপিআই- তে প্রযোজ্য না , যা এখন যুক্তিসঙ্গতভাবে সমর্থনযোগ্য ।
অফলাইন অ্যাপ্লিকেশনটির জন্য আপনাকে অবশ্যই একটি সুরক্ষিত কীস্টোর ডিজাইন এবং প্রয়োগ করতে হবে।
পাশে: আপনি যদি নোড.জেএস ব্যবহার করেন তবে বিল্টিন ক্রিপ্টো এপিআই ব্যবহার করুন ।
নেটিভ-জাভাস্ক্রিপ্ট ক্রিপ্টোগ্রাফি (প্রাক-ওয়েবক্রিপ্টো)
আমি অনুমান করি যে প্রাথমিক উদ্বেগ হ'ল localStorage
আপনার সাইটের কম্পিউটার পড়তে শারীরিক অ্যাক্সেস সহ এমন কেউ কেউ আছেন এবং আপনি সেই অ্যাক্সেস আটকাতে ক্রিপ্টোগ্রাফি করতে চান।
কারও কাছে শারীরিক অ্যাক্সেস থাকলে আপনি অন্য আক্রমণগুলিতেও উন্মুক্ত এবং পড়ার চেয়ে খারাপ। এর মধ্যে রয়েছে (তবে সীমাবদ্ধ নয়): কীলগার, অফলাইন স্ক্রিপ্ট পরিবর্তন, স্থানীয় স্ক্রিপ্ট ইনজেকশন, ব্রাউজার ক্যাশে বিষ এবং ডিএনএস পুনঃনির্দেশগুলি ire এই আক্রমণগুলি কেবল তখনই কার্যকর হয় যখন ব্যবহারকারী মেশিনটিকে আপস করার পরে এটি ব্যবহার করে। তবুও, এই জাতীয় দৃশ্যে শারীরিক অ্যাক্সেসের অর্থ আপনার বড় সমস্যা রয়েছে।
সুতরাং মনে রাখবেন যে মেশিনটি চুরি হয়ে গেলে সীমিত দৃশ্য যেখানে স্থানীয় ক্রিপ্টো মূল্যবান।
এমন গ্রন্থাগার রয়েছে যা পছন্দসই কার্যকারিতা বাস্তবায়িত করে, যেমন স্ট্যানফোর্ড জাভাস্ক্রিপ্ট ক্রিপ্টো লাইব্রেরি । অন্তর্নিহিত দুর্বলতা রয়েছে, যদিও (@ ইরাকমেক্সেলের উত্তর থেকে লিঙ্কটিতে উল্লেখ করা হয়েছে):
- এন্ট্রপি / এলোমেলো সংখ্যা উত্পন্নকরণের অভাব;
- সুরক্ষিত কীস্টোরের অভাব যেমন স্থানীয়ভাবে সংরক্ষণ করা থাকে বা সার্ভারে সঞ্চিত থাকে (যা অফলাইনে অ্যাক্সেস বার করে) যদি ব্যক্তিগত কী অবশ্যই পাসওয়ার্ড-সুরক্ষিত থাকতে পারে;
- নিরাপদে মুছে ফেলার অভাব;
- সময় বৈশিষ্ট্য অভাব।
এই দুর্বলতাগুলির প্রতিটিই একটি বিভাগের ক্রিপ্টোগ্রাফিক সমঝোতার সাথে মিলে যায়। অন্য কথায়, আপনার নামের সাথে "ক্রিপ্টো" থাকতে পারে, এটি অনুশীলনের জন্য কঠোরতার চেয়ে কম হবে one
যা যা বলা হচ্ছে, বাস্তব জরিপটি যেমন "জাভাস্ক্রিপ্ট ক্রিপ্টো দুর্বল, এটি ব্যবহার করবেন না" তেমন তুচ্ছ নয়। এটি একটি প্রস্তাব নয়, কঠোরভাবে একটি সতর্কতামূলক বিষয় নয় এবং এর জন্য আপনাকে উপরের দুর্বলতাগুলির প্রকাশ, আপনার যে ভেক্টরগুলির মুখোমুখি এবং তার ব্যয় এবং ব্যর্থতার ক্ষেত্রে প্রশমন বা বীমা করার জন্য আপনার ক্ষমতা পুরোপুরি বুঝতে হবে: জাভাস্ক্রিপ্ট ক্রিপ্টো, ইন এর দুর্বলতা সত্ত্বেও, আপনার এক্সপোজার হ্রাস করতে পারে তবে কেবল সীমিত প্রযুক্তিগত ক্ষমতা সহ চোরদের বিরুদ্ধে। তবে, আপনার ধারণা করা উচিত জাভাস্ক্রিপ্টের ক্রিপ্টোর কোনও দৃ determined়প্রতিজ্ঞ এবং সক্ষম আক্রমণকারী যারা এই তথ্যটিকে লক্ষ্যবস্তু করছে তার বিরুদ্ধে কোনও মূল্য নেই। কিছু এতগুলি দুর্বলতা বাস্তবায়নের অন্তর্নিহিত বলে জানা গেলে ডেটাটিকে "এনক্রিপ্ট করা" বলা ভুল হিসাবে বিবেচনা করবে Some অন্য কথায়, আপনি আপনার প্রযুক্তিগত এক্সপোজারকে প্রান্তিকভাবে হ্রাস করতে পারবেন তবে আপনি প্রকাশ থেকে আপনার আর্থিক এক্সপোজারকে বাড়িয়ে তুলবেন। অবশ্যই প্রতিটি পরিস্থিতি আলাদা। এবং আর্থিক সংস্পর্শে প্রযুক্তিগত এক্সপোজার হ্রাস করার বিশ্লেষণটি ক্ষুদ্র হয় না। এখানে একটি বর্ণনামূলক উপমা:অন্তর্নিহিত ঝুঁকি সত্ত্বেও কিছু ব্যাঙ্কের দুর্বল পাসওয়ার্ডের প্রয়োজন হয় , কারণ তাদের দুর্বল পাসওয়ার্ডগুলি থেকে ক্ষতির মুখোমুখি হওয়া শক্তিশালী পাসওয়ার্ডকে সমর্থন করার ক্ষেত্রে শেষ ব্যবহারকারী ব্যয়ের চেয়ে কম is
You আপনি যদি শেষ অনুচ্ছেদটি পড়েন এবং ভাবেন "ব্রায়ান নামের ইন্টারনেটের কিছু লোক বলে যে আমি জাভাস্ক্রিপ্ট ক্রিপ্টো ব্যবহার করতে পারি ", জাভাস্ক্রিপ্ট ক্রিপ্টো ব্যবহার করবেন না।
প্রশ্নের বর্ণিত ব্যবহারের ক্ষেত্রে ব্যবহারকারীদের স্থানীয় পার্টিশন বা হোম ডিরেক্টরি এনক্রিপ্ট করার এবং শক্তিশালী পাসওয়ার্ড ব্যবহার করার জন্য এটি আরও বোধগম্য মনে হবে। এই ধরণের সুরক্ষা সাধারণত ভালভাবে পরীক্ষিত, ব্যাপকভাবে বিশ্বস্ত এবং সাধারণভাবে উপলব্ধ।