Google Product Application Transparency Log, पारदर्शिता लॉग टेक्नोलॉजी का इस्तेमाल करता है.
Pixel Binary Transparency और प्रमाणपत्र पारदर्शिता जैसे प्रोजेक्ट से, पारदर्शिता लॉग की अहमियत साबित हुई है.
पारदर्शिता लॉग, मर्कल ट्री की मदद से लागू किए जाते हैं. इस पेज पर, यह मानकर जानकारी दी गई है कि आपको Merkle ट्री और बाइनरी पारदर्शिता के बारे में सामान्य जानकारी है. मर्कल ट्री के बारे में खास जानकारी के लिए, पुष्टि की जा सकने वाली डेटा स्ट्रक्चर देखें. साथ ही, Android में बाइनरी ट्रांसपैरेंसी से जुड़ी कोशिशों के बारे में खास जानकारी के लिए, मुख्य पेज देखें.
लॉग लागू करने की प्रोसेस
Google के प्रॉडक्ट में, ऐप्लिकेशन की पारदर्शिता से जुड़े लॉग को Tessera का इस्तेमाल करके लागू किया जाता है. यह tlog-tiles specification के मुताबिक काम करता है. इसमें टाइल की ऊंचाई 8 होती है. हर टाइल या बंडल में ज़्यादा से ज़्यादा 28 = 256 आइटम होते हैं.
लॉग के कॉन्टेंट का रूट यहां पर दिखाया जाता है:
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) के तहत एंट्री बंडलों में व्यवस्थित किया जाता है. हर बंडल में, एक साथ जोड़ी गई 256 एंट्री तक होती हैं.
हर एंट्री में क्या-क्या शामिल है, इसके बारे में जानने के लिए लॉग कॉन्टेंट देखें.
लॉग के Merkle ट्री का रूट हैश, चेकपॉइंट में मौजूद होता है. इसे 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 में बताया गया है) या स्टैंडर्ड पीईएम फ़ॉर्मैट में होना चाहिए:
- नोट की पुष्टि करने वाले का फ़ॉर्मैट (
<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)
साल 2026 की तीसरी तिमाही के अपडेट से पहले, लॉग को V1 के पुराने वर्शन के तहत लागू किया गया था. इसमें ECDSA (NIST P-256 with SHA-256) सिग्नेचर का इस्तेमाल किया गया था. V1 लॉग को संग्रहित किया जाता है और इसे सिर्फ़ पढ़ा जा सकता है. हालांकि, यह सार्वजनिक तौर पर उपलब्ध रहता है, ताकि पुराने लॉग की पुष्टि की जा सके:
- ट्री का साइज़: 17,97,152 एंट्री (संग्रह करने के समय)
- रूट हैश:
IkmuYB2xKKEOLiaQkIho1o9/uGjrKDbk8xa3xXaFeHY= - चेकपॉइंट: https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/checkpoint.txt
- डेटा लीफ़:
gstatic.comपर फ़ाइल के साइज़ और स्टोरेज की सीमाएं होती हैं. जैसे, एक स्टैटिक फ़ाइल का साइज़ 200 MiB से ज़्यादा नहीं हो सकता. इसलिए, पूरे संग्रहित लॉग के लिए लीफ़ पेलोड को दो क्रमवार फ़ाइलों में बांटा जाता है:- पहला हिस्सा (0 से 17,14,860 तक की एंट्री): https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info.txt
- दूसरा हिस्सा (1,714,861 से 1,797,151 तक की एंट्री): https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info2.txt
- टाइल रूट:
https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/tile/ - सार्वजनिक पासकोड (PEM फ़ॉर्मैट, ECDSA P-256):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----
लॉग किए गए दावों की पुष्टि करना
पुष्टि करने वाले पेज पर, इस बारे में ज़्यादा जानकारी दी गई है कि लॉग के अलग-अलग कॉम्पोनेंट का इस्तेमाल, दावा करने वाले मॉडल में किए गए दावों की पुष्टि करने के लिए कैसे किया जाता है.