আমি কীভাবে এমকিউটিটি নেটওয়ার্কে 2 এফএ ব্যবহার করতে পারি?


12

আমি যদি ব্রোকারের সাথে কোনও নতুন ডিভাইস সংযোগ করি তবে আমি কীভাবে 2 এফএ (দুটি ফ্যাক্টর প্রমাণীকরণ) ব্যবহার করব?

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

ডিভাইসগুলি কেবল প্রথম সংযোগে প্রমাণীকরণ করা উচিত এবং সার্ভারটি "পুরাতন" ক্লায়েন্টদের মনে রাখে যদি তা বোঝা যায়।

ধারণাটি অস্বাভাবিক বা অনুপযুক্ত - এটি যদি খারাপ ধারণা হয় তবে দয়া করে আমাকে কারণগুলি দিন।


তুমি বলতে পারো মনে করি আপনি কিভাবে একটি ডিভাইস কাজ করতে পারে 2FA যেহেতু এটা এক ডিভাইস?
গফালাইট

@ গৌফালাইট উদাহরণস্বরূপ যখন আমি একটি নতুন ডিভাইস ইনস্টল করি, আমাকে নিজে একটি কী সরবরাহ করতে হবে (উদাহরণস্বরূপ একটি আরএফআইডি ট্যাগ দ্বারা) যা প্রমাণীকরণের সময় ব্যবহৃত হবে। সফ্টওয়্যার 2 এফএ হিসাবে, আমি জানি না যে আমার বাড়িতে এমন কোনও সেবা তৈরি করা যেতে পারে যেখান থেকে নতুন ডিভাইসগুলি নরম টোকেনগুলির জন্য অনুরোধ করতে পারে, একটি ব্যক্তিগত কী সার্ভারের মতো কিছু।
বেনস কৌলিকস

উত্তর:


8

আপনার একটি ব্রোকার প্রক্সি বা একটি ওয়েবসভার দরকার ...

প্রথম সব, আপনি একেবারে নির্দিষ্ট বিষয় 2FA ব্যবহার সম্পাদন করতে (আপনার ব্রোকার সাথে সংযুক্ত একটি প্রমাণীকরণ সেবা কোথাও প্রয়োজন /auth/RFID, ...)। এটি ক্লায়েন্টকে তথ্য প্রকাশের অনুমতি দেয় (নীচে দেখুন)।

আমি এখানে প্রথম সমস্যাটি দেখতে পাচ্ছি যে এই বিষয়ে সাবস্ক্রাইব করা কেউই এই বিষয়ের তথ্য পড়তে পারে, তবে আপনি বিষয়গুলি লক করতে পারেন !

এর পরে আপনি (বল) বলতে পারেন সব আপনার টু তথ্য প্রকাশ করা ডিভাইসের /proxy/mytopic। এমকিটিটি-র ক্লায়েন্টআইডি বৈশিষ্ট্যের সাহায্যে, লেখক পরিষেবাটি এই বিষয়টি থেকে প্রেরিত বার্তাগুলি কোনও প্রমাণীকরণকারী ডিভাইস থেকে আগত কিনা যাচাই করতে পারে যা আগে 2 এফএ ব্যবহার করেছিল এবং তারপরে পেডলোডে ডিভাইসের /proxyout/mytopicআইডি দিয়ে ডিভাইসের পক্ষে তার নিজস্ব বার্তা প্রকাশ করবে।

সমস্যা এখন ডিভাইসের যে জন্য চেক করা হয় পারেন , বার্তা recieve যদি তারা প্রমাণীকৃত কারণ, ভাল, MQTT সব সম্পর্কে ভর প্রকাশন হয়। প্রমাণীকরণের ডিভাইসগুলির কাছে অনুমোদিত ডিভাইসের একটি তালিকা থাকা উচিত এবং তারা সংবর্ধনার জন্য যোগ্য কিনা তা খতিয়ে দেখা উচিত। আবার, পেডলোড এনক্রিপশন এবং ডিক্রিপশন ডিভাইস-সাইড ...

আমি মনে করি আমার সমাধানটি এমকিউটিটি ক্ষমতার চেয়ে খুব বেশি ওভারকিল। সুতরাং আপনার একটি সকেট বা একটি ওয়েব সার্ভার ব্যবহার করা উচিত ...


দেরিতে সাড়া পাওয়ার জন্য @ টিম 3 ইন দুঃখিত। এত কিছুর পরেও 2,5 বছর আগে দেওয়া একটি উত্তর ছিল ... সম্ভবত জিনিসগুলি পরিবর্তিত হয়েছে এবং এটি কেবল একটি সাধারণ স্থাপত্যের প্রস্তাব ছিল। আপনি কি নিজের সমাধান দিয়ে একটি পোকা করেছেন?
গফালাইট

আমি এটা পরিকল্পনা আছে। আপনি কি এটি পর্যালোচনা করতে পারবেন?
টিম 3 ই

7

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

ওএএসআইএস এমকিউটিটি কমিটির নথি পৃষ্ঠায় আপনি অনুমানের বর্তমান কার্যকরী খসড়া দেখতে পারেন ।


5

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

যদি প্রমাণীকরণ হয় তবে দ্বিতীয় ফ্যাক্টরটি বাস্তবায়নের জন্য সর্বোত্তম উপায়টি হ'ল অন্য ফ্যাক্টরের সাথে একটি কাস্টম সংযোগ বার্তা প্রেরণ করা উচিত। এই ক্ষেত্রে সংযোগ বার্তা প্রমাণীকরণের দ্বিতীয় ফ্যাক্টর সাফল্য বা ব্যর্থতার উল্লেখ করা উচিত। সুতরাং, ব্রোকার এবং ক্লায়েন্টের নির্দিষ্টকরণের উপরে এবং তার উপরে কাস্টম বার্তাগুলি প্রয়োগ করা উচিত।


4

এমকিউটিটি নেটওয়ার্কে 2 এফএ অর্জনের জন্য আমি প্রমাণীকরণের জন্য নিম্নলিখিত পরিষেবা তৈরি করেছি যা ব্রোকারের সাথে সংযুক্ত রয়েছে।

  1. আইডি যাচাইকারী
  2. টোকেন জেনারেটর
  3. টোকেন ভেরিফায়ার

SSL / TLS উপর দালাল MQTT ক্লায়েন্ট সংযুক্ত করে, এটি প্রথম নিজস্ব আইডি প্রকাশ যখন DEVICE_ID বিষয়, আইডি সত্যনিরূপক যাচাই এটা খাঁটি ক্লায়েন্ট যে এবং তারপর টোকেন জেনারেটর প্রার্থনা যা একটি টোকেন উত্পন্ন এবং লক বিষয়ে টোকেন প্রকাশ device_token

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

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


3
এটি কীভাবে সুরক্ষিত হয় যে কেবলমাত্র সঠিক ক্লায়েন্ট টোকেন পান?
হেলমার

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

@ হেলমার আপনি কি এখানে আপনার মন্তব্য যুক্ত করতে চান? আমি আমার সমাধান সম্পর্কে প্রত্যেকের মতামত প্রশংসা করব।
টিম 3 ই

2
হ্যাঁ, তবে সমস্ত টোকেন প্রতিক্রিয়া দেখতে আমাকে '#' এ সাবস্ক্রাইব করা বন্ধ করার কী আছে
হার্ডিলব

@ হার্ডিলব যে বিষয়গুলিতে টোকেন প্রতিক্রিয়া রয়েছে সেগুলিকে গৌফালাইট উল্লিখিত হিসাবে লক করা আছে। সুতরাং কেবল চালিত ডিভাইসই দেখতে পাবে। নিবন্ধকরণ পর্যায়ে ডিভাইসগুলি নির্দিষ্ট বিষয়ের সাথে আবদ্ধ হয় এবং প্রতিটি ডিভাইস টোকেন প্রতিক্রিয়াগুলির জন্য পৃথক বিষয় বরাদ্দ করে।
টিম 3 ই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.