একটি এভিআর / আরডুইনোতে কোড সুরক্ষিত করা এবং আপডেটগুলি সরবরাহ করা


9
  1. বিপরীত প্রকৌশল থেকে কোনও এভিআর ভিত্তিক ডিভাইসে কোড ফ্ল্যাশ করা সুরক্ষার সর্বোত্তম উপায় কী?
  2. কোডটি প্রকাশ না করেই শেষ ব্যবহারকারীদের নিজেরাই ফ্ল্যাশ করার আপডেট সরবরাহ করার সহজ উপায় কী? (এটি কি কোনও বুটলোডার সহ যা কোনও এনক্রিপ্ট করা চিত্র ডিক্রিপ্ট করে?)

ডিআরএম প্রচার করার জন্য আমাকে শিখা করবেন না, আমি উন্মুক্ত প্ল্যাটফর্মের পক্ষে - আমি কীভাবে এটি কাজ করব তা জানতে আগ্রহী।


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

উত্তর:


9

প্রথম:

চিপটিতে এমন ফিউজ রয়েছে যা বাইরের সরঞ্জামগুলিকে চিপের বাইরে পড়া পড়া থেকে বিরত রাখতে সেট করা যেতে পারে। আপনার ডেটাশিট এবং / অথবা প্রোগ্রামার ডকুমেন্টেশনে সুরক্ষা ফিউজগুলি সন্ধান করুন।

এটি নিখুঁত নয়, তবে এটি আপনাকে সাধারণ আক্রমণ থেকে রক্ষা করে।

দ্বিতীয়ত:

আপনি নিরাপদে ফার্মওয়্যারটি ডাউনলোড করতে পারবেন না। AVR সুরক্ষিত অঞ্চলগুলিকে স্ব-প্রোগ্রাম করতে পারে না:

http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf

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


3
ফিউজ যদি বিট নিখুঁত না হয় তবে কী ধরণের এটাক্ট এটিকে বাইপাস করতে পারে?

1
@ অজ্ঞাতনামা - রাসায়নিকভাবে চিপের প্রচ্ছদ এচিং করে এবং সিলিকনটি দেখতে, ইন্টারফেস করতে এবং সম্পাদনা করতে ইলেক্ট্রন মাইক্রোস্কোপ, লেজার এবং মাইক্রোপ্রোব ব্যবহার করে। কমপক্ষে $ 500 ব্যয় করতে হবে, তবে স্ট্র্যাব ডিভাইসে যে কোনও কাজের স্ট্র্যাব লাগিয়েছে তার চেয়ে কম সস্তা হতে পারে।
কেভিন ভার্মির

@ কেভিনভির্মির আপনার অর্থ কি $ 500? আমার থেকে মনে হচ্ছে এটি এর চেয়ে অনেক বেশি ব্যয়বহুল হবে।
নিকহাল্ডেন

অ্যাডাম, একটি ত্রুটি হয়েছিল, তাই আমি আমার মন্তব্যটি মুছে ফেলেছি
হুল্কিংকেটস

3

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

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


1

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


1
আমি মনে করি @ অ্যাডাম ডেভিস যা বলছে তা হ'ল যদি আপনি কোনও বুটলোডার (এমনকি আপনার লেখা একটি) ব্যবহার করেন তবে আপনি লট বিট সুরক্ষিত অঞ্চলগুলি প্রোগ্রাম করতে পারবেন না। সুতরাং, আপনি যদি নিজের এনক্রিপ্ট করা বুটলোডারটি লিখে থাকেন তবে আপনি চিপটি পড়া থেকে আটকাতে পারবেন না (সংখ্যা 1)। লিঙ্ক এবং ডেটাশিটটি যাই হোক না কেন, তা থেকে মনে হচ্ছে এটি।
লু

যদি বুটলোডার এবং কোডটি এনক্রিপ্ট করা হয় তবে এটি দ্বিতীয় সমস্যার সমাধান করবে, যদি তিনি কোনও সুরক্ষিত পর্যাপ্ত এনক্রিপশন ব্যবহার করেন তবে প্রথম সমস্যাটি প্রায় সমাধান করা হবে। (ইউসির গতি বোতল ঘাড় হতে পারে)।
রিক_2047

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