বিশ্বস্ত TEE

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

ট্রাস্টি ARM এবং Intel প্রসেসরের সাথে সামঞ্জস্যপূর্ণ। ARM সিস্টেমে, Trusty ARM এর TrustZone ব্যবহার করে মূল প্রসেসরকে ভার্চুয়ালাইজ করে এবং একটি নিরাপদ TEE তৈরি করে। Intel এর ভার্চুয়ালাইজেশন প্রযুক্তি ব্যবহার করে Intel x86 প্ল্যাটফর্মেও অনুরূপ সহায়তা পাওয়া যায়।

বিশ্বস্ত ওভারভিউ ডায়াগ্রাম

চিত্র ১. বিশ্বস্ত ওভারভিউ ডায়াগ্রাম।

বিশ্বস্তের মধ্যে রয়েছে:

  • লিটল কার্নেল থেকে প্রাপ্ত একটি ছোট অপারেটিং সিস্টেম কার্নেল
  • সুরক্ষিত পরিবেশ এবং অ্যান্ড্রয়েডের মধ্যে ডেটা স্থানান্তর করার জন্য একটি লিনাক্স কার্নেল ড্রাইভার
  • কার্নেল ড্রাইভারের মাধ্যমে বিশ্বস্ত অ্যাপগুলির (অর্থাৎ, নিরাপদ কাজ এবং পরিষেবা) সাথে যোগাযোগ করার জন্য একটি অ্যান্ড্রয়েড ইউজারস্পেস লাইব্রেরি

দ্রষ্টব্য: Trusty এবং Trusty API পরিবর্তন সাপেক্ষে। Trusty API সম্পর্কে তথ্যের জন্য, Trusty API রেফারেন্স দেখুন।

ট্রাস্টির সুবিধা

অন্যান্য TEE অপারেটিং সিস্টেমগুলি ঐতিহ্যগতভাবে তৃতীয় পক্ষের বিক্রেতাদের দ্বারা বাইনারি ব্লব হিসাবে সরবরাহ করা হয় অথবা অভ্যন্তরীণভাবে তৈরি করা হয়। অভ্যন্তরীণ TEE সিস্টেম তৈরি করা বা তৃতীয় পক্ষের কাছ থেকে TEE লাইসেন্স করা চিপ-অন সিস্টেম (SoC) বিক্রেতা এবং OEM-এর জন্য ব্যয়বহুল হতে পারে। অবিশ্বস্ত তৃতীয় পক্ষের সিস্টেমের সাথে মিলিত আর্থিক খরচ অ্যান্ড্রয়েডের জন্য একটি অস্থির ইকোসিস্টেম তৈরি করে। Trusty তার অংশীদারদের তাদের TEE-এর জন্য একটি নির্ভরযোগ্য এবং বিনামূল্যের ওপেন-সোর্স বিকল্প হিসাবে সরবরাহ করা হয়। Trusty এমন একটি স্তরের স্বচ্ছতা প্রদান করে যা ক্লোজড-সোর্স সিস্টেমের সাথে সম্ভব নয়।

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

অ্যাপ এবং পরিষেবা

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

বিশ্বস্ত অ্যাপের ওভারভিউ

চিত্র ২। বিশ্বস্ত অ্যাপের ওভারভিউ।

থার্ড-পার্টি ট্রাস্টি অ্যাপস

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

ব্যবহার এবং উদাহরণ

মোবাইল ডিভাইসে TEE গুলি একটি আদর্শ হয়ে উঠছে। ব্যবহারকারীরা তাদের দৈনন্দিন জীবনের জন্য তাদের মোবাইল ডিভাইসের উপর আরও বেশি নির্ভর করছেন এবং সুরক্ষার প্রয়োজনীয়তা ক্রমশ বাড়ছে। TEE ছাড়া ডিভাইসের তুলনায় TEE সহ মোবাইল ডিভাইসগুলি বেশি নিরাপদ।

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

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

TEE-এর অন্যান্য ব্যবহারও রয়েছে, যেমন মোবাইল পেমেন্ট, নিরাপদ ব্যাংকিং, মাল্টিফ্যাক্টর প্রমাণীকরণ, ডিভাইস রিসেট সুরক্ষা, রিপ্লে-সুরক্ষিত স্থায়ী স্টোরেজ, নিরাপদ পিন এবং ফিঙ্গারপ্রিন্ট প্রক্রিয়াকরণ, এমনকি ম্যালওয়্যার সনাক্তকরণ।