গুগল পণ্য অ্যাপ্লিকেশন স্বচ্ছতা

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

হুমকি মডেল

স্বচ্ছতা ব্যবস্থা ব্যবহার করে সরবরাহ শৃঙ্খল আক্রমণ শনাক্ত করা যায় এবং এর মাধ্যমে তা প্রতিরোধ করা সম্ভব। আমরা কয়েকটি উদাহরণের মাধ্যমে বিষয়টি ব্যাখ্যা করছি।

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

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

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

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

দাবিদার মডেল

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

  • GoogleApp দাবি করা হচ্ছে : (আমি, গুগল, দাবি করছি যে $hashApp হলো $googleApp জন্য), যেখানে:
    • $hashApp হলো $googleApp এর একটি নির্দিষ্ট সংস্করণের প্যাকেজ ফাইলের ( স্প্লিট APK এবং APEX প্যাকেজ সহ) একটি ক্রিপ্টোগ্রাফিক হ্যাশ (যেমন SHA256)।
    • $googleApp হলো একটি অ্যান্ড্রয়েড প্যাকেজ ( APK বা APEX ), যা গুগলের তৈরি ও বিতরণ করা কোনো অ্যাপ বা পণ্যকে গঠন করে।

যাঁর কাছে $googleApp এর একটি কপি আছে, তিনি এই দাবিটি যাচাই করতে পারেন এবং আমরা যাচাইকরণ পৃষ্ঠায় এই প্রক্রিয়াটি বিস্তারিতভাবে বর্ণনা করেছি।

লগ বিষয়বস্তু

যখন গুগল কোনো APK বা APEX প্যাকেজের নতুন সংস্করণ প্রকাশ করে, তখন এটি গুগল প্রোডাক্ট অ্যাপ্লিকেশন ট্রান্সপারেন্সি লগ- এ একটি সংশ্লিষ্ট এন্ট্রি যোগ করে।

এই লগের প্রতিটি এন্ট্রিতে চারটি মেটাডেটা থাকে:

  1. গুগল স্বাক্ষরিত প্যাকেজের APK বা APEX ফাইলের হ্যাশ। এটি সম্পূর্ণ ফাইলটির SHA256 ডাইজেস্টের একটি হেক্স স্ট্রিং।
  2. পূর্ববর্তী হ্যাশের প্রকারের বিবরণ। এটি একটি স্ট্রিং।
  3. প্যাকেজের নাম । এটি একটি স্ট্রিং।
  4. প্যাকেজটির সংস্করণ নম্বর ( versionCode )। এটি একটি অশূন্য পূর্ণসংখ্যা।

একটি লগ এন্ট্রির ফরম্যাট হলো চারটি তথ্যকে একটি নিউলাইন ( \n ) ক্যারেক্টারের মাধ্যমে সংযুক্ত করা, যা নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

hash\nhash_description\npackage_name\npackage_version\n

যেহেতু একটি গুগল পণ্য APK বা APEX ফাইল হিসেবে বিতরণ করা যেতে পারে, তাই হ্যাশ বিবরণটি SHA256(APK) বা SHA256(APEX) হিসেবে সেট করা হয়। এটি প্রতিটি ফাইলের বিষয়বস্তুর ব্যাপক কভারেজ প্রদান করে এবং ব্যবহারকারীদের জন্য এই পরিমাপটি পাওয়া সহজ করে তোলে।

বাস্তুতন্ত্রের চিত্র

Verifiable Log Ecosystem Diagram

,

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

হুমকি মডেল

স্বচ্ছতা ব্যবস্থা ব্যবহার করে সরবরাহ শৃঙ্খল আক্রমণ শনাক্ত করা যায় এবং এর মাধ্যমে তা প্রতিরোধ করা সম্ভব। আমরা কয়েকটি উদাহরণের মাধ্যমে বিষয়টি ব্যাখ্যা করছি।

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

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

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

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

দাবিদার মডেল

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

  • GoogleApp দাবি করা হচ্ছে : (আমি, গুগল, দাবি করছি যে $hashApp হলো $googleApp জন্য), যেখানে:
    • $hashApp হলো $googleApp এর একটি নির্দিষ্ট সংস্করণের প্যাকেজ ফাইলের ( স্প্লিট APK এবং APEX প্যাকেজ সহ) একটি ক্রিপ্টোগ্রাফিক হ্যাশ (যেমন SHA256)।
    • $googleApp হলো একটি অ্যান্ড্রয়েড প্যাকেজ ( APK বা APEX ), যা গুগলের তৈরি ও বিতরণ করা কোনো অ্যাপ বা পণ্যকে গঠন করে।

যাঁর কাছে $googleApp এর একটি কপি আছে, তিনি এই দাবিটি যাচাই করতে পারেন এবং আমরা যাচাইকরণ পৃষ্ঠায় এই প্রক্রিয়াটি বিস্তারিতভাবে বর্ণনা করেছি।

লগ বিষয়বস্তু

যখন গুগল কোনো APK বা APEX প্যাকেজের নতুন সংস্করণ প্রকাশ করে, তখন এটি গুগল প্রোডাক্ট অ্যাপ্লিকেশন ট্রান্সপারেন্সি লগ- এ একটি সংশ্লিষ্ট এন্ট্রি যোগ করে।

এই লগের প্রতিটি এন্ট্রিতে চারটি মেটাডেটা থাকে:

  1. গুগল স্বাক্ষরিত প্যাকেজের APK বা APEX ফাইলের হ্যাশ। এটি সম্পূর্ণ ফাইলটির SHA256 ডাইজেস্টের একটি হেক্স স্ট্রিং।
  2. পূর্ববর্তী হ্যাশের প্রকারের বিবরণ। এটি একটি স্ট্রিং।
  3. প্যাকেজের নাম । এটি একটি স্ট্রিং।
  4. প্যাকেজটির সংস্করণ নম্বর ( versionCode )। এটি একটি অশূন্য পূর্ণসংখ্যা।

একটি লগ এন্ট্রির ফরম্যাট হলো চারটি তথ্যকে একটি নিউলাইন ( \n ) ক্যারেক্টারের মাধ্যমে সংযুক্ত করা, যা নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

hash\nhash_description\npackage_name\npackage_version\n

যেহেতু একটি গুগল পণ্য APK বা APEX ফাইল হিসেবে বিতরণ করা যেতে পারে, তাই হ্যাশ বিবরণটি SHA256(APK) বা SHA256(APEX) হিসেবে সেট করা হয়। এটি প্রতিটি ফাইলের বিষয়বস্তুর ব্যাপক কভারেজ প্রদান করে এবং ব্যবহারকারীদের জন্য এই পরিমাপটি পাওয়া সহজ করে তোলে।

বাস্তুতন্ত্রের চিত্র

Verifiable Log Ecosystem Diagram

,

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

হুমকি মডেল

স্বচ্ছতা ব্যবস্থা ব্যবহার করে সরবরাহ শৃঙ্খল আক্রমণ শনাক্ত করা যায় এবং এর মাধ্যমে তা প্রতিরোধ করা সম্ভব। আমরা কয়েকটি উদাহরণের মাধ্যমে বিষয়টি ব্যাখ্যা করছি।

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

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

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

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

দাবিদার মডেল

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

  • GoogleApp দাবি করা হচ্ছে : (আমি, গুগল, দাবি করছি যে $hashApp হলো $googleApp জন্য), যেখানে:
    • $hashApp হলো $googleApp এর একটি নির্দিষ্ট সংস্করণের প্যাকেজ ফাইলের ( স্প্লিট APK এবং APEX প্যাকেজ সহ) একটি ক্রিপ্টোগ্রাফিক হ্যাশ (যেমন SHA256)।
    • $googleApp হলো একটি অ্যান্ড্রয়েড প্যাকেজ ( APK বা APEX ), যা গুগলের তৈরি ও বিতরণ করা কোনো অ্যাপ বা পণ্যকে গঠন করে।

যাঁর কাছে $googleApp এর একটি কপি আছে, তিনি এই দাবিটি যাচাই করতে পারেন এবং আমরা যাচাইকরণ পৃষ্ঠায় এই প্রক্রিয়াটি বিস্তারিতভাবে বর্ণনা করেছি।

লগ বিষয়বস্তু

যখন গুগল কোনো APK বা APEX প্যাকেজের নতুন সংস্করণ প্রকাশ করে, তখন এটি গুগল প্রোডাক্ট অ্যাপ্লিকেশন ট্রান্সপারেন্সি লগ- এ একটি সংশ্লিষ্ট এন্ট্রি যোগ করে।

এই লগের প্রতিটি এন্ট্রিতে চারটি মেটাডেটা থাকে:

  1. গুগল স্বাক্ষরিত প্যাকেজের APK বা APEX ফাইলের হ্যাশ। এটি সম্পূর্ণ ফাইলটির SHA256 ডাইজেস্টের একটি হেক্স স্ট্রিং।
  2. পূর্ববর্তী হ্যাশের প্রকারের বিবরণ। এটি একটি স্ট্রিং।
  3. প্যাকেজের নাম । এটি একটি স্ট্রিং।
  4. প্যাকেজটির সংস্করণ নম্বর ( versionCode )। এটি একটি অশূন্য পূর্ণসংখ্যা।

একটি লগ এন্ট্রির ফরম্যাট হলো চারটি তথ্যকে একটি নিউলাইন ( \n ) ক্যারেক্টারের মাধ্যমে সংযুক্ত করা, যা নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

hash\nhash_description\npackage_name\npackage_version\n

যেহেতু একটি গুগল পণ্য APK বা APEX ফাইল হিসেবে বিতরণ করা যেতে পারে, তাই হ্যাশ বিবরণটি SHA256(APK) বা SHA256(APEX) হিসেবে সেট করা হয়। এটি প্রতিটি ফাইলের বিষয়বস্তুর ব্যাপক কভারেজ প্রদান করে এবং ব্যবহারকারীদের জন্য এই পরিমাপটি পাওয়া সহজ করে তোলে।

বাস্তুতন্ত্রের চিত্র

Verifiable Log Ecosystem Diagram

,

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

হুমকি মডেল

স্বচ্ছতা ব্যবস্থা ব্যবহার করে সরবরাহ শৃঙ্খল আক্রমণ শনাক্ত করা যায় এবং এর মাধ্যমে তা প্রতিরোধ করা সম্ভব। আমরা কয়েকটি উদাহরণের মাধ্যমে বিষয়টি ব্যাখ্যা করছি।

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

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

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

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

দাবিদার মডেল

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

  • GoogleApp দাবি করা হচ্ছে : (আমি, গুগল, দাবি করছি যে $hashApp হলো $googleApp জন্য), যেখানে:
    • $hashApp হলো $googleApp এর একটি নির্দিষ্ট সংস্করণের প্যাকেজ ফাইলের ( স্প্লিট APK এবং APEX প্যাকেজ সহ) একটি ক্রিপ্টোগ্রাফিক হ্যাশ (যেমন SHA256)।
    • $googleApp হলো একটি অ্যান্ড্রয়েড প্যাকেজ ( APK বা APEX ), যা গুগলের তৈরি ও বিতরণ করা কোনো অ্যাপ বা পণ্যকে গঠন করে।

যাঁর কাছে $googleApp এর একটি কপি আছে, তিনি এই দাবিটি যাচাই করতে পারেন এবং আমরা যাচাইকরণ পৃষ্ঠায় এই প্রক্রিয়াটি বিস্তারিতভাবে বর্ণনা করেছি।

লগ বিষয়বস্তু

যখন গুগল কোনো APK বা APEX প্যাকেজের নতুন সংস্করণ প্রকাশ করে, তখন এটি গুগল প্রোডাক্ট অ্যাপ্লিকেশন ট্রান্সপারেন্সি লগ- এ একটি সংশ্লিষ্ট এন্ট্রি যোগ করে।

এই লগের প্রতিটি এন্ট্রিতে চারটি মেটাডেটা থাকে:

  1. গুগল স্বাক্ষরিত প্যাকেজের APK বা APEX ফাইলের হ্যাশ। এটি সম্পূর্ণ ফাইলটির SHA256 ডাইজেস্টের একটি হেক্স স্ট্রিং।
  2. পূর্ববর্তী হ্যাশের প্রকারের বিবরণ। এটি একটি স্ট্রিং।
  3. প্যাকেজের নাম । এটি একটি স্ট্রিং।
  4. প্যাকেজটির সংস্করণ নম্বর ( versionCode )। এটি একটি অশূন্য পূর্ণসংখ্যা।

একটি লগ এন্ট্রির ফরম্যাট হলো চারটি তথ্যকে একটি নিউলাইন ( \n ) ক্যারেক্টারের মাধ্যমে সংযুক্ত করা, যা নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

hash\nhash_description\npackage_name\npackage_version\n

যেহেতু একটি গুগল পণ্য APK বা APEX ফাইল হিসেবে বিতরণ করা যেতে পারে, তাই হ্যাশ বিবরণটি SHA256(APK) বা SHA256(APEX) হিসেবে সেট করা হয়। এটি প্রতিটি ফাইলের বিষয়বস্তুর ব্যাপক কভারেজ প্রদান করে এবং ব্যবহারকারীদের জন্য এই পরিমাপটি পাওয়া সহজ করে তোলে।

বাস্তুতন্ত্রের চিত্র

Verifiable Log Ecosystem Diagram