আমি কীভাবে অ্যাপ এবং আইওটি ডিভাইসের মধ্যে যোগাযোগ সুরক্ষা করব?


18

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

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

সম্পাদনা: হ্যাঁ, আমরা বর্তমানে যোগাযোগগুলি এনক্রিপ্ট করছি এবং যখন ডিভাইসটি আমাদের সার্ভারের সাথে যোগাযোগ করে তখন এইচটিটিপিএস ব্যবহার করি।


এইচটিটিপিএস ব্যবহার করবেন? আপনি উভয় ডিভাইস কোডিং করছেন? জোড়া লাগানো?
মাওগ বলছেন মনিকা


2
@ মাওগ যতদূর আমি সচেতন এইচটিটিপিএস ব্লুটুথের জন্য প্রযোজ্য নয় (বা কমপক্ষে, কোনও আদর্শিক / বুদ্ধিমানের দিক থেকে নয়)।
স্বর্ণলোকস

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

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

উত্তর:


13

আপনার ডিভাইসটি যথেষ্ট সুরক্ষিত রয়েছে তা নিশ্চিত করতে আমার কাছে বেশ কয়েকটি টিপস রয়েছে:

  1. ব্লুটুথ যোগাযোগে কিছু এনক্রিপশন যুক্ত করুন। আমি এনক্রিপশন কীগুলি এয়ার অফ করে রাখার পরামর্শ দেব। উদাহরণস্বরূপ, আপনি ব্যবহারকারীকে মোবাইল অ্যাপের প্রারম্ভিক সেটআপে ডিভাইসে থাকা একটি কিউআর কোডটি স্ক্যান করতে বলতে পারেন, অ্যাপ্লিকেশনটির প্রাথমিক সেটআপে, সম্ভবত কোনও এএস কী দিয়ে? আপনার উপর এটি হ'ল সরল পাঠ্যের সাহায্যে বাতাসে পাসওয়ার্ড সংক্রমণ হওয়া কাউকে দেখতে বাধা দেওয়া।
  2. যদি আপনি পারেন তবে আপনার চয়ন করা এনক্রিপশন অ্যালগরিদমের ইসিবি (সিবিসি ব্যবহার করুন) মোড থেকে দূরে থাকুন, কারণ এটি সংক্রমণিত ডেটাতে কিছু তথ্য দিতে পারে। এখানে আরও তথ্য পাওয়া যাবে
  3. ব্লুটুথ ডেটা ট্রান্সমিশনে, কিছু অনন্য আইডি অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করুন, যাতে বার্তাটি পুনরাবৃত্তি করতে না পারে (উদাহরণস্বরূপ, আপনি একটি টাইমস্ট্যাম্প অন্তর্ভুক্ত করতে পারেন)। আপনি কিছু টিওটিপি-মতো সিস্টেম প্রয়োগ করতে পারেন।
  4. ডিভাইসে একটি পোর্ট রাখুন যা এটিকে সহজেই ফ্ল্যাশ করতে দেয়, যাতে আপনি বুঝতে পারেন যে সফ্টওয়্যারটির একটি বাগ রয়েছে (এবং কোনও কারণে আপনি এটি ওটিএ আপডেট করতে পারবেন না), ডিভাইসটি কোনও ব্যয়বহুল পেপারওয়েট নয়, কেবল একটি ডিভাইস এটি একটি পিসি প্লাগ ইন করা এবং নতুন সফ্টওয়্যার ফ্ল্যাশ করা প্রয়োজন।
  5. অতিরিক্ত: এটি নিশ্চিত করার জন্য যে দুর্বৃত্ত রুট শংসাপত্রের সাথে (সম্ভবত স্ব-জারি করা এবং ক্লায়েন্ট ডিভাইসে ইনস্টল করা) আপনার সার্ভার যোগাযোগগুলিতে বাধা দিতে পারে না, এইচটিটিপিএস শংসাপত্রটি যাচাই করুন। এখানে অ্যান্ড্রয়েডের জন্য জিজ্ঞাসা করার জন্য এখানে একটি এসও রয়েছে, আপনাকে অবশ্যই আইওএসের জন্য অনুরূপ সংস্থানগুলি সন্ধান করতে সক্ষম হতে হবে

এছাড়াও, আপনি যদি নিজের ডিভাইসটি সুরক্ষিত করতে ক্রিপ্টোলজি এবং এনক্রিপশন সম্পর্কে আরও জানতে চান তবে এটি (ফ্রি) ইবুকটি দেখুন । এটি এনক্রিপশন অ্যালগরিদমের ভাল এবং খারাপ বাস্তবায়ন সম্পর্কে অনেক কথা বলে এবং আপনার পণ্য সুরক্ষায় আপনাকে সহায়তা করা উচিত। (দ্রষ্টব্য 1: দয়া করে, দয়া করে আপনার নিজস্ব অ্যালগরিদম তৈরি করবেন না Note দ্রষ্টব্য 2: আমি ক্রিপ্টো 101 বা lvh এর সাথে অনুমোদিত নই))


2
“পারলে ইসিবি থেকে দূরে থাকুন”। না, খারাপ পরামর্শ। অ্যাক্সেসযোগ্য পরামর্শ হ'ল "ইসিবি কখনই ব্যবহার করবেন না", তবে এটি এখনও অসম্পূর্ণ। আরও ভাল উত্তর বলবে যে আপনি যদি নিজের কোডটিতে সিবিসি বর্ণগুলি টাইপ করেন তবে আপনি এটি ভুল করছেন । বিশেষত এইএস-সিবিসি যোগাযোগের অখণ্ডতা বা সত্যতা নিশ্চিত করে না।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

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

13

যদি আপনার শেষ-থেকে-শেষ টিসিপি থাকতে পারে তবে প্রান্ত থেকে টু এন্ড টিএলএস ব্যবহার করুন (যেমন এইচটিটিপিএস সহ)।

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

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

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

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

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

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

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