সুরক্ষিত নিশ্চিতকরণ বাস্তবায়ন

বিবেচনা

অ্যান্ড্রয়েড সুরক্ষিত নিশ্চিতকরণের অখণ্ডতা নিশ্চিত করতে নিম্নলিখিত বিবেচনাগুলি অবশ্যই সমাধান করা উচিত৷ যদি এই বিবেচনাগুলি সন্তোষজনকভাবে সমাধান করা না যায়, সুরক্ষিত নিশ্চিতকরণ ডিভাইসে প্রয়োগ করা যাবে না।

লিনাক্স কার্নেল বিবেচনা

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

ফার্মওয়্যার বিবেচনা

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

ইনপুট বিবেচনা

এই নির্বাচিত ইনপুট পদ্ধতি দ্বারা উত্পন্ন ইনপুট ইভেন্টগুলি সুরক্ষিত নিশ্চিতকরণ ডায়ালগে পৌঁছে না দেওয়া নিশ্চিত করতে একটি নিরাপদ ইনপুট পদ্ধতি চয়ন করুন যদি না ব্যবহারকারী সেই ডায়ালগ সক্রিয় থাকাকালীন ইভেন্টটি তৈরি করে৷

শারীরিক হার্ডওয়্যার

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

স্পর্শ নিয়ামক বিবেচনা

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

প্রত্যাশিত আচরণ

বাধা

যদি কোনো ইনকামিং ফোন কল বা পাওয়ার ইভেন্টের কারণে সিস্টেম নিশ্চিতকরণ সেশনে বাধা দেয়, তাহলে HAL কে অবশ্যই ResponseCode::Aborted রিপোর্ট করতে হবে। অ্যাপগুলি onCanceled() কলব্যাক পায় এবং জানে যে ব্যবহারকারী একটি ক্রিয়া বেছে নেননি৷ অ্যালার্মের সেশনটি বাতিল করার দরকার নেই তবে ব্যবহারকারীকে অবহিত করতে হবে। ডায়ালগ সক্রিয় থাকাকালীন কোনো ধরনের বিজ্ঞপ্তি ওভারলে অনুমোদিত নয়৷

ইনপুট গ্রেস পিরিয়ড

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

পর্দা ঘূর্ণন

পোর্ট্রেট হল একমাত্র বাধ্যতামূলক মোড, এবং স্ক্রিন ঘূর্ণন সমর্থিত নয়। স্ক্রিন ঘূর্ণন একটি আপোষহীন সিস্টেমে অপব্যবহারের সম্ভাবনাকে অনুমতি দেয়, যেমন বিভ্রান্তিকর বোতাম বসানো বা বডি টেক্সট ম্যানিপুলেশন।

বডি টেক্সট রেন্ডারিং ব্যর্থতা

অতিরিক্ত ননডিসপ্লেড ডেটা এবং CBOR হেডার তথ্য সহ বডি টেক্সটের জন্য 6144 (0x1800) বাইটের একটি হার্ড বাউন্ডারি রয়েছে। উপরন্তু, একটি নরম সীমানা আছে যা অবশ্যই প্রয়োগ করা উচিত। যদি উপস্থাপিত বার্তাটি উপলব্ধ স্ক্রীন স্পেসে সম্পূর্ণরূপে ফিট না হয়, তাহলে নিশ্চিত করুন যে সুরক্ষিত নিশ্চিতকরণ বাতিল হয়ে যায় এবং লেনদেন বাতিল করা হয়। যদি MessageSize সর্বোচ্চ অনুমোদিত আকার অতিক্রম করে, তাহলে আপনার বাস্তবায়নকে অবশ্যই UIErrorMessageTooLong promptUserConfirmation ফেরত দিতে হবে।

এপিআই কল পাওয়ার পর বডি টেক্সট ফরম্যাট করা সবচেয়ে ভালো অভ্যাস। বডি টেক্সট অবশ্যই ব্যবহারকারীকে সম্পূর্ণ দেখাতে হবে।

সেকেন্ডারি ডিসপ্লে

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