গুগল প্রোডাক্ট অ্যাপ্লিকেশন ট্রান্সপারেন্সি লগ, ট্রান্সপারেন্সি লগ প্রযুক্তি ব্যবহার করে।
পিক্সেল বাইনারি ট্রান্সপারেন্সি এবং সার্টিফিকেট ট্রান্সপারেন্সি- এর মতো প্রকল্পগুলির মাধ্যমে ট্রান্সপারেন্সি লগ-এর উপযোগিতা প্রমাণিত হয়েছে।
মার্কেল ট্রি ব্যবহার করে ট্রান্সপারেন্সি লগ বাস্তবায়ন করা হয়। এই পৃষ্ঠাটি মার্কেল ট্রি এবং বাইনারি ট্রান্সপারেন্সি সম্পর্কে সাধারণ জ্ঞান আছে বলে ধরে নেয়। মার্কেল ট্রি সম্পর্কে একটি সার্বিক ধারণা পেতে ‘ভেরিফায়েবল ডেটা স্ট্রাকচারস’ দেখুন এবং অ্যান্ড্রয়েডের বাইনারি ট্রান্সপারেন্সি প্রচেষ্টা সম্পর্কে একটি সার্বিক ধারণা পেতে মূল পৃষ্ঠাটি দেখুন।
লগ বাস্তবায়ন
গুগল প্রোডাক্ট অ্যাপ্লিকেশন ট্রান্সপারেন্সি লগটি টেসেরা ব্যবহার করে বাস্তবায়িত হয়েছে এবং এটি tlog-tiles স্পেসিফিকেশন মেনে চলে, যেখানে প্রতিটি টাইলের উচ্চতা ৮ (প্রতিটি টাইল বা বান্ডেলে সর্বাধিক ২⁸ = ২৫৬টি আইটেম থাকে)।
লগ কন্টেন্টের মূল লিঙ্কটি এখানে পরিবেশন করা হয়: https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/entries/
টাইলের বিষয়বস্তুর মূল উৎসটি এখানে পরিবেশন করা হয়: https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/
উল্লেখ্য যে, এগুলো সাধারণ ওয়েব পেজ নয় : সাবডিরেক্টরিগুলোতে থাকা লগ এন্ট্রিগুলো ব্রাউজারের মাধ্যমে নয়, বরং একটি tlog-tiles ক্লায়েন্ট লাইব্রেরি (যেমন 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/google1p/apk/2026/02/checkpoint- এ চেকপয়েন্ট ফরম্যাটে পরিবেশন করা হয়। চেকপয়েন্ট অরিজিন হলো android.transparency.goog/google1p/apk/2026/1 ।
চেকপয়েন্ট সিগনেচার Ed25519 সিগনেচার অ্যালগরিদম ব্যবহার করে তৈরি করা হয়। চেকপয়েন্টের সিগনেচারটি নোট ভেরিফায়ার ফরম্যাটে ( golang.org/x/mod/sumdb/note এ সংজ্ঞায়িত) অথবা স্ট্যান্ডার্ড PEM ফরম্যাটে নিম্নলিখিত পাবলিক কী দিয়ে যাচাই করা যেতে পারে:
- যাচাইকারীর ফরম্যাটটি লক্ষ্য করুন (
<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/google1p/apk/2026/1+fc654374+ATr9NQE0gvOtVfj5cCStUzdlflEp3oZoNHD8pImzPj5O
- PEM ফরম্যাট (SubjectPublicKeyInfo) :
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAOv01ATSC861V+PlwJK1TN2V+USnehmg0cPykibM+Pk4=
-----END PUBLIC KEY-----
আর্কাইভ লগ (V1)
২০২৬ সালের তৃতীয় ত্রৈমাসিকের আপডেটের আগে, লগটি ECDSA (NIST P-256 সহ SHA-256) সিগনেচার ব্যবহার করে একটি পূর্ববর্তী V1 ইমপ্লিমেন্টেশনের অধীনে পরিচালিত হতো। V1 লগটি আর্কাইভ করা এবং শুধুমাত্র পঠনযোগ্য, কিন্তু ঐতিহাসিক এন্ট্রিগুলো যাচাই করার জন্য এটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য থাকে।
- ট্রি সাইজ : ১,৭৯৭,১৫২ টি এন্ট্রি (আর্কাইভ করার সময়)
- রুট হ্যাশ :
IkmuYB2xKKEOLiaQkIho1o9/uGjrKDbk8xa3xXaFeHY= - চেকপয়েন্ট : https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/checkpoint.txt
- ডেটা লিফ :
gstatic.comএর স্বতন্ত্র ফাইলের আকার এবং স্টোরেজ সীমাবদ্ধতার কারণে (যেখানে একক স্ট্যাটিক ফাইলের সর্বোচ্চ সীমা ২০০ MiB), সম্পূর্ণ আর্কাইভ করা লগের লিফ পেলোডগুলো দুটি ধারাবাহিক ফাইলে বিভক্ত করা হয়:- পর্ব ১ (এন্ট্রি ০ - ১,৭১৪,৮৬০) : https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info.txt
- পর্ব ২ (এন্ট্রি ১,৭১৪,৮৬১ - ১,৭৯৭,১৫১) : https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info2.txt
- টাইল রুট :
https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/tile/ - পাবলিক কী (পিইএম ফরম্যাট, ইসিডিএসএ পি-২৫৬) :
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----
লগ দাবি যাচাই করুন
যাচাইকরণ পৃষ্ঠায় আরও বিস্তারিতভাবে বর্ণনা করা হয়েছে যে , দাবিদার মডেলে করা দাবিগুলো যাচাই করার জন্য লগের বিভিন্ন উপাদান কীভাবে ব্যবহার করা হয়।