অ্যান্ড্রয়েড মেইনলাইন মডিউল স্বচ্ছতা লগ

অ্যান্ড্রয়েড মেইনলাইন মডিউলস ট্রান্সপারেন্সি লগ, মেইনলাইন মডিউলগুলোর অখণ্ডতা নিশ্চিত করতে যাচাইযোগ্য ডেটা কাঠামো ব্যবহার করে।

পিক্সেল বাইনারি ট্রান্সপারেন্সি এবং সার্টিফিকেট ট্রান্সপারেন্সি- এর মতো প্রকল্পগুলির মাধ্যমে ট্রান্সপারেন্সি লগ-এর উপযোগিতা প্রমাণিত হয়েছে।

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

লগ বাস্তবায়ন

অ্যান্ড্রয়েড মেইনলাইন মডিউলস ট্রান্সপারেন্সি লগটি টেসেরা ব্যবহার করে বাস্তবায়িত হয়েছে এবং এটি tlog-tiles স্পেসিফিকেশন মেনে চলে, যেখানে প্রতিটি টাইলের উচ্চতা ৮ (প্রতিটি টাইল বা বান্ডেলে সর্বাধিক ২⁸ = ২৫৬টি আইটেম থাকে)।

লগ কন্টেন্টের মূল লিঙ্কটি এখানে পরিবেশন করা হয়: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/

টাইলের বিষয়বস্তুর মূল উৎসটি এখানে পরিবেশন করা হয়: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/

উল্লেখ্য যে, এই URL-গুলো কোনো সাধারণ ওয়েব পেজ নয়। বরং, Tessera অথবা Golang-এর SumDB Tlog লাইব্রেরির মতো টুল ব্যবহার করে এর সাবডিরেক্টরিগুলোতে থাকা লগ এন্ট্রিগুলো প্রোগ্রাম্যাটিকভাবে অ্যাক্সেস করা উচিত।

  • ট্রি টাইলস : মার্কেল ট্রির অভ্যন্তরীণ এবং লিফ নোড হ্যাশগুলি tile/<level>/<path> এর অধীনে পরিবেশন করা হয় (যেমন, tile/0/000 , tile/1/000 )।
  • এন্ট্রি বান্ডেল : লগ লিফ পেলোডগুলো tile/entries/<path> (যেমন, tile/entries/000 , tile/entries/001 ) এর অধীনে এন্ট্রি বান্ডেলে সংগঠিত থাকে, যেখানে প্রতিটি বান্ডেলে ২৫৬টি পর্যন্ত সংযুক্ত এন্ট্রি থাকতে পারে।

প্রতিটি এন্ট্রিতে কী রয়েছে তার বিবরণের জন্য লগ কন্টেন্ট দেখুন।

একটি চেকপয়েন্টে থাকা লগের মার্কেল ট্রি রুট হ্যাশটি https://gstatic.com/android/binary_transparency/mainline/2026/02/checkpoint- এ চেকপয়েন্ট ফরম্যাটে পরিবেশন করা হয়। চেকপয়েন্ট অরিজিন হলো android.transparency.goog/mainline/modules/2026/1 ।

চেকপয়েন্ট সিগনেচার Ed25519 সিগনেচার অ্যালগরিদম ব্যবহার করে তৈরি করা হয়। চেকপয়েন্টের সিগনেচারটি নোট ভেরিফায়ার ফরম্যাটে ( golang.org/x/mod/sumdb/note এ সংজ্ঞায়িত) অথবা স্ট্যান্ডার্ড PEM ফরম্যাটে নিম্নলিখিত পাবলিক কী দিয়ে যাচাই করা যেতে পারে:

  • যাচাইকারীর ফরম্যাটটি লক্ষ্য করুন ( <name>+<key_hash>+<public_key_bytes> ):
android.transparency.goog/mainline/modules/2026/1+1a8e4064+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
  • PEM ফরম্যাট (SubjectPublicKeyInfo) :
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----

আর্কাইভ লগ (V1)

২০২৬ সালের তৃতীয় ত্রৈমাসিকের আপডেটের আগে, লগটি ECDSA (NIST P-256 সহ SHA-256) সিগনেচার ব্যবহার করে একটি পূর্ববর্তী V1 ইমপ্লিমেন্টেশনের অধীনে পরিচালিত হতো। V1 লগটি আর্কাইভ করা এবং শুধুমাত্র পঠনযোগ্য, কিন্তু ঐতিহাসিক এন্ট্রিগুলো যাচাই করার জন্য এটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য থাকে।

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----

যেহেতু মেইনলাইন মডিউলগুলো APK-এর অনুরূপ, তাই Google APK যাচাইকরণ পৃষ্ঠায় বর্ণিত যাচাইকরণ পদ্ধতিগুলো এখানেও প্রযোজ্য। দাবিদার মডেলে করা দাবিগুলো যাচাই করার জন্য আপনি সেখানকার পদ্ধতিগুলো ব্যবহার করতে পারেন।