কী 0, পিয়ার পাবলিক কী
আনকম্প্রেসড X9.62 পাবলিক-কী বাইট (P-256-এর জন্য 33 বাইট)। ফোন এটি ব্যবহার করে এনক্রিপ্টেড টানেল প্রতিষ্ঠা করে।
স্ট্যান্ডার্ড · FIDO CTAP 2.2 হাইব্রিড (পাসকি QR)
শুধুমাত্র যদি QR দেখাচ্ছে এমন ডিভাইসে আপনি নিজেই এইমাত্র পাসকি সাইন-ইন শুরু করে থাকেন। অন্য কেউ যদি QR তৈরি করে থাকে, কোনো অপরিচিত ব্যক্তি, একজন "হেল্পডেস্ক" এজেন্ট, একটি টেক-সাপোর্ট কল, তাহলে আপনার ফোনে সেটি স্ক্যান করলে তা আপনাকে নয়, তাদেরকেই আপনার অ্যাকাউন্টে সাইন ইন করিয়ে দেয়। প্রোটোকলের ওপেন স্ট্যান্ডার্ড (FIDO CTAP 2.2 হাইব্রিড) মজবুত; হুমকিটি হলো কে আগে "পাসকি দিয়ে সাইন ইন করুন" বোতামটি চাপলো তা ঘিরে সোশ্যাল ইঞ্জিনিয়ারিং।
একটি পাসকি হলো একটি ক্রেডেনশিয়াল, একটি পাবলিক/প্রাইভেট কী জোড়া, যা আপনার একটি ডিভাইসের সাথে বাঁধা। আপনি যদি আপনার ফোনে example.com-এর জন্য একটি পাসকি নিবন্ধন করে থাকেন, তবে শুধুমাত্র আপনার ফোনই example.com-এর লগইন চ্যালেঞ্জে সাইন করতে পারে।
আপনি যখন আপনার ফোনে সাইন ইন করছেন তখন এটি ঠিকঠাক কাজ করে। কিন্তু আপনি যখন এমন একটি ল্যাপটপে সাইন ইন করছেন যেখানে ওই সাইটের জন্য কোনো পাসকি নেই, তখন কী হয়? আপনি পারেন:
অপশন 3 হলো যা FIDO CTAP 2.2 "হাইব্রিড" সংজ্ঞায়িত করে। QR হলো বুটস্ট্র্যাপ, এটি আপনার ফোনের জন্য Bluetooth Low Energy-র মাধ্যমে ল্যাপটপ খুঁজে পেতে, একটি একবারের সুরক্ষিত টানেল প্রতিষ্ঠা করতে এবং WebAuthn অনুষ্ঠানটি প্রক্সি করতে যথেষ্ট তথ্য বহন করে।
URI দেখতে এরকম:
FIDO:/0123456789012345678901234567890123456789...
দশমিক অঙ্কগুলো হলো একটি CBOR ম্যাপের base10 এনকোডিং। base10 ডিকোড + CBOR পার্স করার পর, ম্যাপটিতে পূর্ণসংখ্যা কী থাকে:
আনকম্প্রেসড X9.62 পাবলিক-কী বাইট (P-256-এর জন্য 33 বাইট)। ফোন এটি ব্যবহার করে এনক্রিপ্টেড টানেল প্রতিষ্ঠা করে।
10 বাইট র্যান্ডম ডেটা। এই নির্দিষ্ট QR শনাক্ত করে; BLE বিজ্ঞাপন এর একটি হ্যাশ সম্প্রচার করে যাতে ফোন সঠিক ল্যাপটপ খুঁজে পায়।
0 = make-credential (নতুন পাসকি নিবন্ধন), 1 = get-assertion (সাইন ইন), 2 = discoverable-credential।
যে HTTPS হোস্ট সরাসরি BLE পৌঁছানো না গেলে (যেমন NAT-এর ওপারে) দুটি ডিভাইসের মধ্যে টানেল প্রক্সি করে। সাধারণত একটি ভেন্ডর-পরিচালিত সার্ভার যেমন cable.ua5v.com (Google) বা cable.auth.com (Apple/MS)।
QR তৈরি হওয়ার সময় seconds-since-epoch। রিপ্লে সুরক্ষার জন্য ব্যবহৃত, ফোন কয়েক মিনিটের বেশি পুরোনো একটি QR মানতে অস্বীকার করে।
বুলিয়ান। ল্যাপটপ ফোনকে প্যাসিভ স্টেট-কিপিং-এ অংশ নিতে চায় কিনা তা নির্দেশ করে (বেশিরভাগ ক্ষেত্রে ক্রেডেনশিয়াল-এনিউমারেশন ফ্লো-র জন্য প্রাসঙ্গিক)।
প্রোটোকলটি ক্রিপ্টোগ্রাফিকভাবে নিখুঁত। Bluetooth প্রক্সিমিটি চেক বাস্তব এবং আক্রমণটিকে আপনার শারীরিকভাবে কাছে থাকা ব্যক্তির মধ্যে সীমাবদ্ধ রাখে। তাহলে এটি কীভাবে ভুল হয়?
শুরু করা-র সময় সোশ্যাল ইঞ্জিনিয়ারিং-এর মাধ্যমে। আক্রমণকারী তাদের ল্যাপটপে আপনার অ্যাকাউন্টে একটি পাসকি সাইন-ইন শুরু করে। তাদের ল্যাপটপ একটি FIDO QR দেখায়। তারা কোনোভাবে সেই QR আপনার সামনে নিয়ে আসে:
আপনি যদি স্ক্যান করেন, আপনার ফোন আপনার পাসকি স্বাক্ষর আক্রমণকারীর ল্যাপটপের ব্রাউজারে প্রক্সি করে। আপনার যে সাইটের জন্য পাসকি আছে সেটি মনে করে আপনি সাইন ইন করেছেন। আক্রমণকারী এখন আপনার অ্যাকাউন্টে লগ ইন।
লক্ষ্য করুন প্রক্সিমিটি চেক সাহায্য করে না, আক্রমণকারী শারীরিকভাবে উপস্থিত। QR-এর বিষয়বস্তু সাহায্য করে না, সেগুলো ক্রিপ্টোগ্রাফিকভাবে বৈধ। লগইন গন্তব্য সাহায্য করে না, এটি সঠিক সাইট যার জন্য আপনার পাসকি আছে। একমাত্র যা সাহায্য করে তা হলো পরিস্থিতি চিনতে পারা: আপনার নিজের ডিভাইসে "সাইন ইন" ক্লিক করে নিজে তৈরি করেননি এমন কোনো FIDO QR আপনার কখনোই স্ক্যান করা উচিত নয়।
আপনি যখন আমাদের স্ক্যানারে একটি FIDO QR ড্রপ করেন, তখন রায় দেখায়:
cable.ua5v.com, Apple-এর টানেল সার্ভার, ইত্যাদি)?হুমকি শ্রেণি সর্বদা সন্দেহজনক, প্রোটোকল ভাঙা বলে নয় বরং নিরাপত্তার সিদ্ধান্তটি প্রাসঙ্গিক এবং স্ক্যানার জানতে পারে না কে "সাইন ইন" চেপেছে। রায়ের প্রকাশ আপনাকে ঠিক সেটাই বলে: "স্ক্যান করলে এমন একটি সাইন-ইন সম্পন্ন হয় যা কেউ অন্য একটি ডিভাইসে শুরু করেছে। আপনি যদি নিজে এইমাত্র কোনো লগইন শুরু না করে থাকেন, প্রত্যাখ্যান করুন।"
নিরাপদ: আপনি আপনার ল্যাপটপে বসলেন, আপনার ব্যাংক বা ইমেইল সাইট খুললেন, "পাসকি দিয়ে সাইন ইন করুন" ক্লিক করলেন, এবং আপনার ল্যাপটপ QR দেখালো। আপনি ফোন তুলে নিয়ে QR স্ক্যান করেন, প্রক্সিমিটি প্রম্পট অনুমোদন করেন। হয়ে গেল।
নিরাপদ নয়: আপনি ছাড়া অন্য কেউ সাইন-ইন শুরু করেছে। এর মধ্যে রয়েছে ফোনে কথা বলা যে কেউ, রিমোট-সাপোর্ট কলে থাকা যে কেউ, আপনাকে QR ইমেইল করা যে কেউ, আপনাকে "আপনার পরিচয় যাচাই করার QR" দেখানো যে কেউ, এবং এমন কোনো জায়গার যেকোনো QR যা আপনার নিজের সদ্য-প্রদর্শিত ডিভাইস নয়।
আপনি যদি নিশ্চিত না হন যে কোনো QR আপনার নিজের শুরু করা সাইন-ইন থেকে এসেছে কিনা, তাহলে মূল ডিভাইসে সাইন-ইন বাতিল করুন (ব্রাউজার ট্যাব বন্ধ করুন), তারপর আপনি যে ডিভাইসটি ব্যবহার করতে চেয়েছিলেন সেখানে নতুন করে শুরু করুন। আসল FIDO QR শুধু ~10 মিনিট বৈধ থাকে, পুনরায় শুরু করলে যেকোনো ইন-ফ্লাইট সেশন মুছে যায় এবং হুমকিটি অসম্ভব হয়ে পড়ে।
ছবিটি ড্রপ করুন অথবা FIDO: URI পেস্ট করুন। রায় অপারেশন, টানেল সার্ভার, টাইমস্ট্যাম্প এবং একটি কঠোর সতর্কবার্তা দেখায় যে আপনি নিজে সাইন-ইন শুরু না করলে প্রত্যাখ্যান করুন।