আমি কি এফপিজিতে কোনও (দুর্বল) এনট্রপি উত্সটি বাস্তবায়ন করতে পারি?


12

আমি মূল্যায়ন এবং প্রোটোটাইপিংয়ের জন্য এফপিজিএতে আইওটি প্ল্যাটফর্মের সাথে কাজ করছি। আমাকে টিএলএসের জন্য সহায়তা সরবরাহ করতে হবে এবং এর জন্য আমার একটি এনট্রপি উত্স প্রয়োজন।

আমি বুঝতে পারি যে সত্য র্যান্ডম শব্দের উত্সগুলি এফপিজিএ-তে বেশ বিশেষজ্ঞ (এমনকি ব্যবহারিক হলেও), যেহেতু ডিভাইসটির কার্য সম্পাদন প্রায়শই বেশ ভাল (এবং কোনও কোণার-কেস প্যারামিটারগুলি খুঁজে পাওয়া শক্ত) তবে আমি কোনও ছদ্ম-র্যান্ডম সিকোয়েন্স জেনারেটর বাস্তবায়ন করতে পারি সমস্যা।

আমার কাছে কেবলমাত্র কয়েকটি স্ট্যান্ডার্ড আই / ও চ্যানেল রয়েছে (uart, I2C, ইত্যাদি), দেখে মনে হচ্ছে এমন কিছুই নেই যে এটি কোনও PRBS বীজ সরবরাহ করতে পারে - সম্ভবত কোনও অডিও এডিসি ইনপুট ব্যতীত। এফপিজিএতে এন্ট্রপি উত্পন্ন করার জন্য কি কোনও নির্ভরযোগ্য কৌশল আছে যা আমি বিবেচনা করা উচিত?

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

এটি ঠিক আছে যদি আমি শেষ করা এনট্রপি উত্সটি সঠিকভাবে ক্রিপ্টো-সুরক্ষিত না হয় (যেহেতু এটি কেবল প্রোটোটাইপিংয়ের জন্য) তবে আমি ব্যয়-মানের ট্রেড-অফ বুঝতে চাই।

উত্তর:


6

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

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

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

প্রাথমিক এনট্রপি ইঞ্জেকশনটি উত্পাদন চলাকালীন বা ডিভাইসটি সেট আপ করার সময় ঘটতে পারে। সাধারণত এই জিনিসগুলি একটি পিসির সংযোগের সাথে ঘটে যা ডিভাইসের পক্ষ থেকে এন্ট্রপি তৈরি করতে পারে।


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