নিরাপত্তা

ভল্টটি কীভাবে তৈরি করা হয়েছে এবং তা ভাঙলে কী পাওয়া যাবে।

সর্বশেষ হালনাগাদ 21 সেপ্টেম্বর 2026 · অ্যাসিওরডঅথ, সার্কেলরোল এলএলসি দ্বারা

এটি হল একটি সর্বজনীন বিবরণ, যেখানে বলা হয়েছে AssuredAuth কীভাবে আপনার রাখা টু-ফ্যাক্টর সিক্রেট, পাসওয়ার্ড এবং কার্ডগুলিকে সুরক্ষিত রাখে। এটি এমনভাবে লেখা হয়েছে যাতে একজন নিরাপত্তা-সচেতন পাঠক অ্যাপটির সাথে এবং প্রকাশিত টেস্ট ভেক্টরগুলির সাথে প্রতিটি দাবি যাচাই করে নিতে পারেন (যা hello@assuredauth.com-এ অনুরোধের ভিত্তিতে যেকোনো পর্যালোচকের জন্য উপলব্ধ)। এখানে কেবল সত্য কথাই বলা হয়েছে, এর বেশি কিছু নয়: এখানকার কোনো কিছুই আক্রমণ-প্রতিরোধী হওয়ার দাবি করে না, এবং শতাংশের হিসাবে কোনো কিছুর প্রতিশ্রুতিও দেওয়া হয় না।

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

একটি সমস্যা জানান: hello@assuredauth.com. শেষে 'দুর্বলতা জানানো' অংশটি দেখুন।

1. কী এনক্রিপ্ট করা হয়েছে, কী দিয়ে

ডেটাফোনেকী
দ্বি-উপাদান গোপনীয়তা (TOTP/HOTP/Steam সিড) ফোনেকীচেইন (iOS) / অ্যান্ড্রয়েড কীস্টোর-সমর্থিত স্টোর কীপ্ল্যাটফর্মের হার্ডওয়্যার-সংযুক্ত কী; ডাটাবেস রো-তে শুধুমাত্র একটি রেফারেন্স (secretRef) থাকে, কখনোই সিড (seed) থাকে না।
পাসওয়ার্ড (পাসওয়ার্ডের মান, নোট) ফোনেসিলড রো: AES-256-GCM, প্রতিটি মানের জন্য একটি র‍্যান্ডম 96-বিট ননস কীএকটি র‍্যান্ডম 256-বিট ডেটা কী, যা নিজেই §2-এ উল্লিখিত হার্ডওয়্যার কী দ্বারা আবৃত।
কার্ড (নম্বর, মেয়াদ, কার্ডে থাকা নাম, সিভিসি) ফোনেপাসওয়ার্ডের মতোই একই সীলমোহর; CVC ঐচ্ছিক এবং এটি কেবল প্রবেশ করালেই সংরক্ষিত হয়। কীএকই ডেটা কী
মেটাডেটা (পরিষেবার নাম, ব্যবহারকারীর নাম, আইকন, সাজানোর ক্রম) ফোনেঅ্যাপটির ডাটাবেস (সুইফটডেটা / রুম) কীঅপারেটিং সিস্টেমের ফাইল এনক্রিপশন দ্বারা সুরক্ষিত; অ-গোপনীয় হিসাবে গণ্য।
ব্যাকআপ ফাইল (.authbackup) ফোনেআপনি যেখানেই রাখুন না কেন: ফাইল, আইক্লাউড ড্রাইভ, গুগল ড্রাইভ অ্যাপ ডেটা ফোল্ডার, একটি শেয়ার শীট কীআপনার পাসফ্রেজ থেকে প্রাপ্ত একটি কী (§3)। অ্যাপল এবং গুগল সিল করা ফাইলটি পায় এবং অন্য কিছু নয়।
Watch / Wear সঙ্গী অ্যাপ ফোনেঘড়ির নিজস্ব কীচেইন / এনক্রিপ্টেডশেয়ারডপ্রেফারেন্সেস কীওয়াচ প্ল্যাটফর্মের কী-গুলো; প্ল্যাটফর্মের পেয়ারড-ডিভাইস চ্যানেলের মাধ্যমে স্থানান্তরিত হয়।
ডেস্কটপ এক্সটেনশন ট্র্যাফিক (অনুরোধে এককালীন কোড) ফোনেসংরক্ষণ করা হয় না; এন্ড-টু-এন্ড এনক্রিপ্টেড এনভেলপ হিসেবে প্রেরণ করা হয় কীপ্রতি পেয়ারিং-এর জন্য একটি X25519 কী পেয়ার, প্রাইভেট কী কীচেইন / কীস্টোরে থাকে; রিলে শুধুমাত্র সাইফারটেক্সট দেখতে পায়।

ডায়াগনস্টিকস-এর এমন কোনো মেথড নেই যা সিক্রেট গ্রহণ করে। কোনো অ্যানালিটিক্স ইভেন্টে ভল্ট ফিল্ড থাকে না। কোনো বিল্ডেই ভল্ট থেকে কোনো ভ্যালু কখনো লগে লেখা হয় না।

2. প্রতিটি প্ল্যাটফর্মে কী-গুলো কোথায় থাকে

আইওএস। ডেটা কী-টি সিকিওর এনক্লেভের (kSecAttrTokenIDSecureEnclave) ভিতরে তৈরি একটি কী দ্বারা আবৃত থাকে, যার অ্যাক্সেস কন্ট্রোল .privateKeyUsage + .userPresence এবং অ্যাক্সেসিবিলিটি …ThisDeviceOnly। এটি অ্যাপের শেয়ার্ড কীচেইন অ্যাক্সেস গ্রুপে থাকে, যাতে অটোফিল এক্সটেনশন একই কী ব্যবহার করতে পারে। অ্যাপ, ব্যাকআপ বা ডিবাগার দ্বারা এনক্লেভ থেকে প্রাইভেট কী-টি পড়া যায় না; ব্যবহারকারী উপস্থিত থাকলেই (ফেস আইডি, টাচ আইডি বা ডিভাইসের পাসকোড) এনক্লেভ এটি ব্যবহার করতে সম্মত হয়। ThisDeviceOnly-এর অর্থ হলো, ফোনের কোনো আইক্লাউড বা আইটিউনস ব্যাকআপে এই কী-টি থাকে না; রিস্টোর করা ফোন একটি খালি ভল্ট দিয়ে শুরু হয় এবং আপনার ব্যাকআপ ফাইল ও পাসফ্রেজ চায়। পাসকোডবিহীন একটি ফোন .userPresence কী অ্যাক্সেস করতে পারে না (এনক্লেভ এটি তৈরি করতে অস্বীকার করে), এবং সিমুলেটরটিও নকশা অনুযায়ী একই পথ অনুসরণ করে (এর প্রেজেন্স প্রম্পটটি একটি অ্যালার্ট, যার উত্তর কোনো টেস্টই দিতে পারে না): সেখানে ডেটা কী-টি একটি সাধারণ ডিভাইস-অনলি কীচেইন আইটেম — যা প্রতিটি ব্যাকআপের বাইরে থাকে, ফোন লক থাকা অবস্থায় অপাঠ্য থাকে, কিন্তু কোনো দ্বিতীয় প্রম্পট আসে না — এবং সিকিউরিটি স্ক্রিনে ঠিক এটাই বলা থাকে ও একটি পাসকোড সেট করার পরামর্শ দেওয়া হয়।

অ্যান্ড্রয়েড। ডেটা কী-টি একটি AndroidKeyStore AES-256 কী দ্বারা আবৃত থাকে, যা StrongBox-এ তৈরি করা হয় যখন ডিভাইসটিতে একটি কী থাকে (অন্যথায় TEE)। এতে setUserAuthenticationRequired(true) ফ্ল্যাগ, বায়োমেট্রিক বা ডিভাইস ক্রেডেনশিয়ালের পরে 30-সেকেন্ডের প্রমাণীকরণ বৈধতা, setUnlockedDeviceRequired(true) ফ্ল্যাগ এবং setInvalidatedByBiometricEnrollment(true) ফ্ল্যাগগুলো চালু রাখা হয়। শেষের ফ্ল্যাগটি অপ্রয়োজনীয় নয়, বরং এটি একটি সাধারণ বিষয়: অ্যান্ড্রয়েড এটি শুধুমাত্র সেইসব কী-এর ক্ষেত্রে প্রয়োগ করে যেগুলোর প্রতিটি ব্যবহারে বায়োমেট্রিক প্রয়োজন হয়। তাই, ডিভাইস ক্রেডেনশিয়াল অনুমোদিত থাকা এই 30-সেকেন্ডের কী-টির ক্ষেত্রে এটি কোনো পরিবর্তন আনে না — অপরিচিত ব্যক্তির হস্তক্ষেপ রোধ করার কারণ হলো, এনরোল করার জন্য পিন প্রয়োজন হয় এবং স্ক্রিন লক সরিয়ে ফেললে কী-টি স্থায়ীভাবে অকার্যকর হয়ে যায়। কীস্টোর কী-গুলো রপ্তানিযোগ্য নয় এবং অ্যান্ড্রয়েডের ক্লাউড ব্যাকআপ থেকে বাদ দেওয়া হয়। একটি অ্যাপ তার নিজস্ব ভিউতে যে ডোমেইনের নাম দেয় (webDomain), সেটি শুধুমাত্র একটি পরিচিত ব্রাউজার থেকে গৃহীত বলে গণ্য হয়; অন্য কোনো প্যাকেজ থেকে গৃহীত হলে, সেটিকে অবশ্যই সেই প্যাকেজের জন্য সিস্টেম দ্বারা যাচাইকৃত একটি ডোমেইন (Digital Asset Links) হতে হবে, কারণ যেকোনো অ্যাপ যেকোনো ডোমেইন দাবি করতে পারে।

একটি চুরি হওয়া ডাটাবেস ফাইলের জন্য এর অর্থ কী। SQLite ফাইল এবং সিল করা সারিগুলো সাইফারটেক্সট। এগুলো খোলার চাবিটি ফাইলটি যে ফোন থেকে এসেছে তার নিরাপত্তা হার্ডওয়্যারে থাকে এবং ফাইলের সাথে এটি কপি করা যায় না। অফলাইনে অনুমান করার মতো কিছুই নেই: ডেটা কী-টি র‍্যান্ডম, কোনো ব্যক্তির বেছে নেওয়া কোনো কিছু থেকে এটি তৈরি হয় না।

3. ব্যাকআপ ফাইল

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

ফাইলটি JSON ফরম্যাটে এবং যেকোনো টেক্সট এডিটরে পড়া যায়; শুধু সাইফারটেক্সটটিই দুর্বোধ্য। পাঁচ বছর পর, অ্যাপটি চলে যাওয়ার পর, কেউ যদি ফাইলটি খুঁজে পায়, তবে সে দেখতে পাবে এটি ঠিক কীভাবে সিল করা হয়েছিল এবং OpenSSL বা যেকোনো Argon2 লাইব্রেরি দিয়ে এটি খুলতে পারবে।

ফরম্যাট ভি1 (1.0 সংস্করণে অন্তর্ভুক্ত, পাঠযোগ্য থাকে)

{
  "format": "authbackup",
  "version": 1,
  "kdf": "PBKDF2-HMAC-SHA256",
  "rounds": 600000,
  "salt": "<base64, 16 bytes>",
  "cipher": "AES-256-GCM",
  "nonce": "<base64, 12 bytes>",
  "ciphertext": "<base64>",
  "tag": "<base64, 16 bytes>"
}
ধাপবাইট
keyPBKDF2-HMAC-SHA256(passphrase as UTF-8, salt, 600000 rounds, 32 bytes)
aadUTF-8("authbackup:1:600000:") ‖ salt (কাঁচা সল্ট বাইট, বেস64 নয়)
ciphertext, tagAES-256-GCM(key, nonce, plaintext, aad); ট্যাগ 16 বাইট, আলাদাভাবে সংরক্ষিত
plaintextUTF-8 JSON, কীগুলো সাজানো: {"accounts":[…],"exportedAt":"…Z","passwords":[…],"version":1}

সামঞ্জস্যতা সংক্রান্ত নোট: অ্যান্ড্রয়েড 1.0 v1-এর একটি ভ্যারিয়েন্ট লিখেছিল — যেখানে kdf ছোট হাতের অক্ষরে থাকতো, কোনো ট্যাগ কী (সাইফারটেক্সটের সাথে যুক্ত 16-বাইটের ট্যাগ) বা কোনো অতিরিক্ত ডেটা থাকতো না। উভয় প্ল্যাটফর্মই সেই ফাইলগুলো পড়া চালিয়ে যাচ্ছে (যখন ট্যাগ অনুপস্থিত থাকে: শেষ 16 বাইট বিভক্ত করে, খালি AAD দিয়ে ফাইলটি খোলে; এবং kdf-কে কেস-ইনসেনসিটিভভাবে তুলনা করে) এবং উভয়ই এখন শুধু উপরের লেআউটটি লেখে।

ফরম্যাট ভি2 (বর্তমান; নতুন ব্যাকআপের জন্য ডিফল্ট)

{
  "format": "authbackup",
  "version": 2,
  "kdf": "Argon2id",
  "memoryKiB": 65536,
  "passes": 3,
  "lanes": 1,
  "salt": "<base64, 16 bytes>",
  "cipher": "AES-256-GCM",
  "nonce": "<base64, 12 bytes>",
  "ciphertext": "<base64>",
  "tag": "<base64, 16 bytes>"
}
ধাপবাইট
keyArgon2id(version 0x13, passphrase as UTF-8, salt, m = 65536 KiB, t = 3, p = 1, tagLength 32, no secret, no associated data)
aadUTF-8("authbackup:2:argon2id:65536:3:1:") ‖ salt
ciphertext, tagAES-256-GCM(key, nonce, plaintext, aad); ট্যাগ 16 বাইট, আলাদাভাবে সংরক্ষিত
plaintextUTF-8 JSON, কীগুলো সাজানো: {"accounts":[…],"cards":[…],"exportedAt":"…Z","passwords":[…],"version":2}

Argon2id হলো রেফারেন্স C ইমপ্লিমেন্টেশন (phc-winner-argon2, CC0), যা উভয় প্ল্যাটফর্মেই উপলব্ধ। একটি বর্তমান ফোনে ৬৪ MiB ডেটা এবং ৩টি পাসের জন্য প্রায় এক সেকেন্ড সময় লাগে এবং যেকোনো হার্ডওয়্যারে প্রতিটি অনুমানের জন্য সেই পরিমাণ মেমরি ও সময় ব্যয় হয় — এই বৈশিষ্ট্যটি GPU রিগের ক্ষেত্রে PBKDF2-এর নেই, এবং এই কারণেই v2-এর অস্তিত্ব রয়েছে। একটি রিডার অজানা কী-গুলো উপেক্ষা করে, তাই একটি v2 বডি দেওয়া হলে একটি v1 রিডার কখনোই কার্ডগুলো দেখতে পায় না।

প্রমাণ

তিনটি টেস্ট-ভেক্টর ফাইল (ব্যাকআপ v1, ব্যাকআপ v2 এবং Argon2id) একটি তৃতীয় ইমপ্লিমেন্টেশন দ্বারা তৈরি করা হয়, যা উভয় অ্যাপ থেকে স্বাধীন (PBKDF2 এবং AES-GCM-এর জন্য Node-এর OpenSSL, এবং একটি WebAssembly Argon2id যা তৈরির সময় রেফারেন্স ইমপ্লিমেন্টেশনের প্রকাশিত উত্তরের সাথে মিলিয়ে দেখা হয়)। প্রতিটি ফাইলে পাসফ্রেজ, সল্ট, ননস, প্লেইনটেক্সট, ডিরাইভড কী, AAD, প্রত্যাশিত সাইফারটেক্সট ও ট্যাগ এবং সম্পূর্ণ ফাইলটি থাকে। iOS এবং Android-এর ইউনিট টেস্টগুলো একই ফাইলগুলো পড়ে এবং একই বাইটগুলো অ্যাসার্ট করে — সুতরাং, একটি প্ল্যাটফর্মে সিল করা একটি ব্যাকআপ যে অন্য প্ল্যাটফর্মে খুলবে, তা প্রমাণিত, অনুমান করা নয়, এবং তিনটির মধ্যে মিল থাকা মানে একই ভুলের দুটি অনুলিপি নয়। একটি সহযোগী টুল সেই একই তৃতীয় ইমপ্লিমেন্টেশন ব্যবহার করে ফোনটির লেখা একটি ফাইল খোলে এবং উপরের নিয়মগুলো অনুযায়ী হেডারটি পরীক্ষা করে (ঠিক ফরম্যাটের কী-গুলো, তাই কোনো হিন্ট বা নাম থাকতে পারবে না; ১৬-বাইট সল্ট, ১২-বাইট ননস, ১৬-বাইট ট্যাগ আলাদাভাবে সংরক্ষিত; ভার্সন ২ ঠিক ৬৪ MiB / ৩ / ১ আকারের; ভুল পাসফ্রেজ প্রত্যাখ্যান করা হয়েছে); স্বয়ংক্রিয় iOS রানটি সিমুলেটরে একটি ফাইল লেখে এবং সেভাবেই সেটি খোলে, এবং সিমুলেটরের অ্যাপ কন্টেইনার, অ্যাপ গ্রুপ কন্টেইনার ও কিচেইন ডেটাবেসে UTF-8 এবং UTF-16 ফরম্যাটে প্রতিটি সিডেড পাসওয়ার্ড এবং কার্ড নম্বর খোঁজে (কোনো ফলাফল পাওয়া যায়নি)।

4. হুমকি মডেল

পরিস্থিতিতাদের যা আছেতারা যা পায়
হারিয়ে যাওয়া বা চুরি হওয়া ফোন, লক হয়ে গেছে তাদের যা আছেডিভাইসটি, ডাটাবেস ফাইল, সিল করা সারিগুলি তারা যা পায়সাইফারটেক্সট। র‍্যাপিং কী-টি সিকিওর এনক্লেভ / স্ট্রংবক্সে থাকে এবং ডিভাইস লক ও একটি নতুন বায়োমেট্রিক বা পাসকোড দেওয়ার পরেই এটি মুক্ত হয়। দূর থেকে ফোন ওয়াইপ করলে (ফাইন্ড মাই / ফাইন্ড মাই ডিভাইস) এর সাথে কী মেটেরিয়ালটিও নষ্ট হয়ে যায়।
চুরি হওয়া ব্যাকআপ ফাইল তাদের যা আছেক্লাউড অ্যাকাউন্ট, ইমেল বা ল্যাপটপের .authbackup ফাইল তারা যা পায়কমপক্ষে ১২ অক্ষরের একটি পাসফ্রেজ থেকে প্রাপ্ত কী-এর অধীনে একটি AES-256-GCM বডি, সাথে প্রতি-ফাইল সল্ট এবং ৬৪ MiB × ৩ পাসে (v2) Argon2id অথবা ৬০০,০০০ রাউন্ডে (v1) PBKDF2। কোনো হিন্ট, ইউজারনেম বা অ্যাকাউন্ট লিস্ট স্পষ্টভাবে দেখা যাবে না। প্রতিটি অনুমানের জন্য সম্পূর্ণ ডেরিভেশনটি করতে হবে; কোনো শর্টকাট নেই। এখানে একটি শক্তিশালী পাসফ্রেজই হলো সম্পূর্ণ সুরক্ষা, এবং অ্যাপটি শীটে এই কথাটিই বলে।
স্ক্রিন আনলক থাকা অবস্থায় ডিভাইসটি চুরি হয়েছে। তাদের যা আছেআপনার হাতে একটি ফোন, আনলক করা তারা যা পায়কোড তালিকা। ভল্ট (পাসওয়ার্ড, কার্ড) অ্যাপ লকের পিছনে থাকে এবং অটো-লক টাইমার অনুযায়ী (অবিলম্বে / 1 মিনিট / 5 মিনিট) পুনরায় লক হয়ে যায়; ডিক্রিপ্ট করা মানটি মেমোরিতে কেবল ততক্ষণই থাকে যতক্ষণ স্ক্রিনে তা দেখা যায়। অ্যাপটি খোলা থাকা অবস্থাতেও অটোফিল এবং প্লেইন-টেক্সট এক্সপোর্টের জন্য নতুন করে বায়োমেট্রিক ডেটা চাওয়া হয়। যদি এই বিষয়টি নিয়ে আপনি চিন্তিত হন, তবে "অবিলম্বে" বিকল্পটি দিয়ে অ্যাপ লক চালু করুন।
একই ফোনে ক্ষতিকর অ্যাপ তাদের যা আছেঅন্য অ্যাপের স্যান্ডবক্স, ক্লিপবোর্ড, অ্যাক্সেসিবিলিটি বা ওভারলে কৌশল তারা যা পায়এটি আমাদের ফাইল পড়তে পারে না (প্ল্যাটফর্ম স্যান্ডবক্সিং) বা আমাদের কী ব্যবহার করতে পারে না (কী-টি আমাদের সাইনিং আইডেন্টিটি এবং ব্যবহারকারীর উপস্থিতির সাথে সংযুক্ত)। কপিগুলো 30 সেকেন্ড পর ক্লিপবোর্ড থেকে মুছে যায়; অ্যান্ড্রয়েডে কপিটিকে সংবেদনশীল হিসেবে চিহ্নিত করা হয় এবং ক্লিপবোর্ড হিস্ট্রি থেকে বাদ দেওয়া হয়। অ্যান্ড্রয়েডে ভল্ট স্ক্রিনগুলো FLAG_SECURE হিসেবে সেট করা হয় (কোনো স্ক্রিনশট নেওয়া যায় না, স্ক্রিন রেকর্ডিং করা যায় না, সুইচারে ফাঁকা থাকে); iOS-এ সুইচারের থাম্বনেইল ফাঁকা হয়ে যায়। অ্যান্ড্রয়েডে অটোফিল শুধুমাত্র সেইসব অ্যাপের জন্য উপলব্ধ, যেগুলোকে সিস্টেম সংরক্ষিত ডোমেইনের (ডিজিটাল অ্যাসেট লিঙ্ক) সাথে মিলিয়ে যাচাই করেছে, তাই কোনো সাদৃশ্যপূর্ণ অ্যাপকে আপনার পাসওয়ার্ড দেওয়া হয় না।
ফিশিং পেজ তাদের যা আছেএমন একটি সাইট যা দেখতে আপনার সেভ করা সাইটটির মতো। তারা যা পায়কোনো কিছুই পূরণ হয় না। মেলানো হয় নিবন্ধনযোগ্য ডোমেইনের মাধ্যমে (পাবলিক সাফিক্স তালিকা, যা অ্যাপের সাথে বান্ডেল করা এবং আপডেট করা হয়): login.example.com এবং example.com মেলে, কিন্তু example.com.evil.net এবং examp1e.com মেলে না। অ্যাপের ভেতরের ব্রাউজারও একইভাবে মেলায় এবং শুধুমাত্র সেই ফ্রেমে পূরণ করে যা অনুরোধ করেছে, এবং পূরণের মুহূর্তে সেই ফ্রেমের নিজস্ব অরিজিনের সাথে পুনরায় যাচাই করে নেয়; যে হোস্টের নিজস্ব কোনো নিবন্ধনযোগ্য ডোমেইন নেই — যেমন একটি আইপি অ্যাড্রেস, বা লোকাল নেটওয়ার্কে শুধু একটি নাম — সেটি হুবহু মেলে এবং এর চেয়ে শিথিল কিছু নয়। iOS অটোফিল অ্যাপলের অ্যাসোসিয়েটেড-ডোমেইন চেক যুক্ত করে। একটি পাসওয়ার্ড যা আপনাকে হাতে লিখে একটি সাদৃশ্যপূর্ণ ডোমেইনে পেস্ট করতে হয়, তা এখনও একটি ঝুঁকি; অ্যাপটি সেই ঝুঁকি দূর করতে পারে না, কেবল সাহায্য করা এড়িয়ে যেতে পারে।
আমাদের নিজস্ব সার্ভার তাদের যা আছে— তারা যা পায়কোনো ভল্ট সার্ভার নেই। AssuredAuth-এর কোনো অ্যাকাউন্ট, সাইন-ইন ব্যবস্থা এবং আপনার ভল্টের কোনো কপি নেই, তাই আমাদের দিকে আপনার এমন কিছুই নেই যা চুরি বা হ্যাক করা যেতে পারে। সার্ভার-সাইডে দুটি জিনিস চলে, যার কোনোটিই ভল্টকে স্পর্শ করে না: ডেস্কটপ এক্সটেনশনের জন্য একটি রিলে মেইলবক্স, যা এন্ড-টু-এন্ড এনক্রিপ্টেড এনভেলপ সংরক্ষণ করে (এককালীন কোড, যা পড়া হয়ে গেলে মুছে ফেলা হয়; রিলে-র কোনো কী থাকে না), এবং ঐচ্ছিক প্রাইভেট কানেকশনের এক্সিট সার্ভারগুলো, যেগুলো ট্র্যাফিক বহন করে এবং কোনো অ্যাক্সেস লগ রাখে না।
একটি সমন বা সরকারি অনুরোধ তাদের যা আছেআমাদের উদ্দেশ্যে প্রেরিত আইনি প্রক্রিয়া তারা যা পায়হস্তান্তর করার মতো কিছুই নেই: আমাদের কাছে কোনো ভল্ট, চাবি, পাসফ্রেজ বা ব্যাকআপ নেই। আমাদের একথা বলতে বাধ্য করা যেতে পারে; কিন্তু যার অস্তিত্বই নেই, তা দেখাতে আমরা বাধ্য হতে পারি না।

5. ক্লিপবোর্ড, স্ক্রিনশট এবং মেমরি

6. অটোফিল: কী পূরণ হয়, এবং কী হয় না

কোথায়পাসওয়ার্ডকার্ড
iOS: সাফারি এবং অ্যাপস (অটোফিল এক্সটেনশন) পাসওয়ার্ডহ্যাঁ, এক্সটেনশনে (LAContext) নতুন করে ফেস আইডি / টাচ আইডি / পাসকোড যোগ করার পর, এবং শুধুমাত্র সেই নিবন্ধনযোগ্য ডোমেইনের জন্য যেখানে এন্ট্রিটি সংরক্ষণ করা হয়েছিল, অ্যাপের জন্য অ্যাপলের সংশ্লিষ্ট-ডোমেইন যাচাই প্রক্রিয়া সহ। কার্ডনা, সাফারিতে কার্ড অটোফিল শুধুমাত্র অ্যাপলের নিজস্ব; কার্ড স্ক্রিনে লেখা থাকে "অ্যাসিওরডঅথ ব্রাউজারে এবং কপির মাধ্যমে পূরণ হয়" এবং এর বাইরে আর কোনো প্রতিশ্রুতি দেয় না।
অ্যান্ড্রয়েড: অ্যাপস এবং ক্রোম (অটোফিলসার্ভিস) পাসওয়ার্ডহ্যাঁ, প্রতি-ডেটাসেট প্রমাণীকরণ: সিস্টেমটি পূরণ করার আগে বায়োমেট্রিক প্রম্পট দেখায়; অ্যাপ প্যাকেজটি তখনই মেলে যখন ডিজিটাল অ্যাসেট লিঙ্কস এটিকে সংরক্ষিত ডোমেনের সাথে সংযুক্ত করে। কার্ডহ্যাঁ, ক্রেডিট কার্ড নম্বর, ক্রেডিট কার্ডের মেয়াদ* এবং ক্রেডিট কার্ড নিরাপত্তা কোডের ইঙ্গিতগুলো একই বায়োমেট্রিক গেটে দেওয়া হয়।
অ্যাসিওরডঅথ ব্রাউজার (উভয় প্ল্যাটফর্ম) পাসওয়ার্ডহ্যাঁ, নিবন্ধনযোগ্য ডোমেইনের মাধ্যমে — এমন একটি হোস্ট যার নিজের কোনোটির সাথে হুবহু মিল নেই — অনুরোধ করা ফ্রেমে, এবং পূরণ করার আগে বায়োমেট্রিক। কার্ডহ্যাঁ, ক্ষেত্র সনাক্তকরণের মাধ্যমে, পূরণ করার আগে বায়োমেট্রিক।
কপি বোতাম পাসওয়ার্ডঅ্যাপ লকের পিছনে, 30-সেকেন্ডের ক্লিপবোর্ড কার্ডনম্বর, মেয়াদ, সিভিসি (একই নিয়ম)

সদৃশ কোনো হোস্টের মাধ্যমে কিছুই পূরণ হয় না। বায়োমেট্রিক ছাড়া কিছুই পূরণ হয় না।

7. যা কখনো ঘটে না

কোনো ভল্ট সার্ভার নেই। ভল্ট ফিল্ড আছে এমন কোনো অ্যানালিটিক্স নেই। কনফার্ম শিট এবং নতুন বায়োমেট্রিক ছাড়া প্লেইন-টেক্সট এক্সপোর্ট করা যাবে না। ভল্ট স্ক্রিনে কোনো থার্ড-পার্টি SDK লোড করা যাবে না। ভল্ট স্ক্রিনের কোনো স্ক্রিনশট নেওয়া যাবে না। কোনো পাসফ্রেজ হিন্ট নেই। কোনো বিল্ডেই ভ্যালু লগ করা যাবে না।

8. যা থেকে আমরা রক্ষা পেতে পারি না

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

9. পর্যালোচনার অবস্থা

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

10. যেখানে জিনিসপত্র চলে

ভল্টের কোনো কিছুই ফোন থেকে বাইরে যায় না, কিন্তু এর আশেপাশের কিছু জিনিস অন্য লোকের মেশিনে চলে। এই হলো সেই তালিকা এবং প্রতিটিতে কী আছে; ডেটা প্রবাহ সম্পর্কে বিস্তারিত https://assuredauth.com/privacy-এ থাকা গোপনীয়তা নীতিতে বর্ণনা করা আছে।

প্রতিটিতে তার লাইনে যা বলা আছে তাই থাকে এবং ভল্ট থেকে কিছুই থাকে না। যখন পণ্যটি পরিবর্তিত হয়, তখন তালিকাটিও পরিবর্তিত হয় এবং এই বিভাগটিও তার সাথে বদলে যায়।

দুর্বলতা রিপোর্ট করা

এখানে বর্ণিত কোনো কিছুতে আপনি যদি কোনো দুর্বলতা খুঁজে পান বলে মনে করেন, তাহলে "Security" বিষয় লিখে hello@assuredauth.com-এ ইমেল করুন। অনুগ্রহ করে প্ল্যাটফর্ম, অ্যাপ সংস্করণ এবং ধাপগুলো উল্লেখ করুন; আপনার নিজের ডেটা ব্যবহার করে করা একটি প্রমাণই যথেষ্ট, এবং আমরা অনুরোধ করছি যে আপনি যেন অন্য কারো ডেটার সাথে এটি পরীক্ষা না করেন। আমরা কোনো PGP কী প্রদান করি না; যদি কোনো রিপোর্ট সাধারণ ইমেলের মাধ্যমে পাঠানো উপযুক্ত না হয়, তাহলে প্রথম বার্তাতেই তা জানান এবং আমরা অন্য কোনো উপায়ের ব্যবস্থা করব।

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

আওতাভুক্ত: iOS এবং Android অ্যাপ, ওয়াচ অ্যাপ, ডেস্কটপ এক্সটেনশন, assuredauth.com এবং এর API। আওতা বহির্ভূত: স্বয়ং অ্যাপ স্টোর এবং গুগল প্লে, উপরে তালিকাভুক্ত প্রোভাইডারগণ, যেকোনো ব্যক্তির সোশ্যাল ইঞ্জিনিয়ারিং, এবং ডিনায়াল অফ সার্ভিস।

এই মুহূর্তে কোনো পুরস্কার নেই। রিপোর্টের উত্তরে একটি সমাধান ও ধন্যবাদ জানানো হয়, টাকা দেওয়া হয় না।