Pixel बाइनरी ट्रांसपेरंसी की तकनीकी जानकारी वाला पेज

Pixel बाइनरी ट्रांसपेरंसी लॉग, पारदर्शिता लॉग टेक्नोलॉजी का इस्तेमाल करता है.

यह साबित हुआ है कि पारदर्शिता लॉग की मदद से, सर्टिफ़िकेट की पारदर्शिता, एक इंटरनेट ऐसा प्रोटोकॉल जिसकी मदद से सर्टिफ़िकेट देने वाली संस्था को उन सर्टिफ़िकेट को पब्लिश करने की ज़रूरत होती है सार्वजनिक प्रमाणपत्र पारदर्शिता लॉग में समस्या. इस प्रोसेस की वजह से, गलत तरीके से सर्टिफ़िकेट जारी होने की वजह से, इंटरनेट. प्रमाणपत्र पारदर्शिता के कई लॉग ऑपरेटर, लागू करने की प्रक्रिया पर भरोसा करते हैं पारदर्शिता लॉग का डेटा transparency.dev पर देखें.

मर्कल ट्री के साथ पारदर्शिता लॉग लागू किए जाते हैं. यह पेज सामान्य तौर पर लागू होता है मर्कल ट्री और बाइनरी ट्रांसपेरंसी (बाइनरी) की जानकारी. यहां जाएं: पुष्टि किए जा सकने वाले डेटा स्ट्रक्चर के बारे में जानने के लिए, बाइनरी की खास जानकारी के लिए लैंडिंग पेज पारदर्शिता.

लॉग लागू करने की प्रक्रिया

Pixel बाइनरी ट्रांसपेरंसी लॉग को टाइल पर आधारित मर्कल ट्री. रूट टाइल कॉन्टेंट यहां दिखाया जाता है https://developers.google.com/android/binary_transparency/tile. ध्यान दें: यह कोई सामान्य वेब पेज नहीं है; इसकी सबडायरेक्ट्री में मौजूद लॉग एंट्री को Golang SumDB के साथ प्रोग्रामेटिक रूप से पढ़ें TLog लाइब्रेरी चुनें, न कि किसी ब्राउज़र खोलें.

कॉन्टेंट लॉग करें पर जाकर, और उसमें कौनसी जानकारी शामिल है.

चेकपॉइंट में मौजूद लॉग का मर्कल ट्री रूट हैश https://developers.google.com/android/binary_transparency/checkpoint.txt. इसे इसमें दिखाया गया है चेकपॉइंट फ़ॉर्मैट. इस मर्कल ट्री की पत्तियां https://developers.google.com/android/binary_transparency/image_info.txt पर परोसी जाती हैं. नीचे दिए गए सार्वजनिक पासकोड से, चेकपॉइंट के हस्ताक्षर की पुष्टि की जा सकती है:

-----BEGIN CERTIFICATE-----
MIICPDCCAeOgAwIBAgIVAPooxISw/nFF/dPwmCUaV36Z4s3hMAoGCCqGSM49BAMCMHQxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYD
VQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAgFw0y
MTA3MTkyMjQxNDFaGA8yMDUxMDcxOTIyNDE0MVowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAw
DgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD
QgAEU83uXNUiTYE53c2TfdWmqpW20bBXy4KEf5Ff8dV8GLKlVAXKHyjw3Lp9J3E0yCRJ/39XKeuA
AMF7KzSvhD248KNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUHRpvuNkzjtBY213BWgUyWWHm
3VYwHwYDVR0jBBgwFoAUHRpvuNkzjtBY213BWgUyWWHm3VYwCgYIKoZIzj0EAwIDRwAwRAIgZsZb
CNBXRkCKLS+LG/41VWj1cTszt9QCdJQNuy7aT94CIDPgn7v5b1ykBVUTuLgRSofxAzHg9R4dg1oA
7tTFAuDg
-----END CERTIFICATE-----

पुष्टि की प्रक्रिया में चेकपॉइंट और टाइल की जानकारी पढ़ी जाती है इसमें लॉग की एंट्री शामिल होती हैं.

पुष्टि की प्रक्रिया

हैश वाले मर्कल ट्री के साथ पारदर्शिता लॉग लागू किया जाता है. ऐप्लिकेशन लीफ़ नोड में डेटा होता है और पैरंट नोड में इसके चाइल्ड हैश होते हैं.

छेड़छाड़ से जुड़ी जानकारी की पुष्टि करने के लिए, मर्कल ट्री पर दो गणनाएं की जाती हैं पारदर्शिता लॉग की प्रॉपर्टी: शामिल किए जाने का प्रमाण और अनुकूलता का प्रमाण. कॉन्टेंट बनाने पहले वाली इमेज से पता चलता है कि लॉग में इमेज के वर्शन से जुड़ी एंट्री शामिल है, मतलब. लॉग एंट्री में VBMeta डाइजेस्ट, एक हैश जो ओएस इमेज को दिखाता है. इन इमेज को डिवाइस से लौटाया जा सकता है. कॉन्टेंट बनाने बाद में यह साबित होता है कि जब ट्री में नई एंट्री जोड़ी जाती हैं, तो नया चेकपॉइंट ट्री के पिछले वर्शन के साथ संगत है.

अपने Pixel फ़ोन की इमेज की पुष्टि करने के लिए, सबूत के तौर पर कोई दस्तावेज़ शामिल करें. प्रदर्शन कंसिस्टेंसी प्रूफ़ कंप्यूटेशन (एक साथ जांच करने के तरीके) का इस्तेमाल करना ज़रूरी नहीं है, क्योंकि तीसरे पक्ष लगातार नहीं किया है.

अगर आपको Pixel में पुष्टि करने के सिद्धांतों के बारे में जानना है बाइनरी ट्रांसपेरंसी (पारदर्शिता), इमेज का इस्तेमाल करने के लिए नीचे दिए गए निर्देशों का पालन करें आपके Pixel डिवाइस पर चलते हैं. अगर आपको Pixel का फ़र्मवेयर पुष्टि की प्रक्रिया पूरी तरह से भरोसेमंद है. ऐसे में, पुष्टि की प्रक्रिया Pixel बाइनरी ट्रांसपेरंसी की पूरी पुष्टि.

ज़रूरी शर्तें

पक्का करें कि ये डिपेंडेंसी उपलब्ध हों:

  • Golang: पुष्टि करने वाला टूल Go 1.17 या उसके बाद के वर्शन के साथ बनाया जाना चाहिए, उपलब्ध होना चाहिए Go साइट से.
  • Android डीबग ब्रिज (adb): यह जांच करने के लिए Android डिवाइस से संपर्क करता है इमेज, Android SDK Platform Tools वेबसाइट.
  • इनक्लूज़न प्रूफ़ पुष्टि करने वाला: लॉग के साथ इंटरफ़ेस करता है, ताकि पता चल सके कि Pixel इमेज, बाइनरी पारदर्शिता लॉग में मौजूद है.
# Source code for the inclusion proof verifier is found at avb/tools/transparency/verify
git clone https://android.googlesource.com/platform/external/avb

शामिल किए जाने का सबूत

Pixel डिवाइस का मालिक, लॉग में उसकी इमेज होने की जांच कर सकता है. इसके लिए, पहले ज़रूरी मेटाडेटा होता है. इसके बाद, दोबारा गिने गए रूट हैश की तुलना रूट हैश से की जाती है जो पब्लिश किया गया चेकपॉइंट. अगर वे मेल खाते हैं, तो Pixel के मालिक को कुछ सुरक्षा के लिए भरोसा किया जा सकता है के उदाहरण हैं. थ्रेट मॉडल.

यह देखने के लिए कि Pixel डिवाइस की इमेज, पारदर्शिता लॉग में मौजूद है या नहीं, adb वाले डिवाइस से कनेक्ट करता है, तो इन कमांड को चलाएं:

FINGERPRINT=$(adb shell getprop ro.build.fingerprint)
VBMETA_DIGEST=$(adb shell getprop ro.boot.vbmeta.digest)
LOG_ENTRY="${FINGERPRINT}\n${VBMETA_DIGEST}\n"
PAYLOAD_PATH="/tmp/log_payload.txt"
echo -e $LOG_ENTRY >> $PAYLOAD_PATH

cd avb/tools/transparency/verify/
go build cmd/verifier/verifier.go
./verifier --payload_path=$PAYLOAD_PATH

पहला छंद Pixel डिवाइस से इस फ़ॉर्मैट में मेटाडेटा लेता है: लॉग एंट्री कर देता है और इसे /tmp/log_payload.txt में सेव करता है.

दूसरे छंद में, इसमें शामिल किए गए सबूतों के आधार पर, Android वेरिफ़ाइड बूट का डेटा स्टोर करने की जगह. यह टूल, कैंडिडेट लॉग एंट्री के हैश को कैलकुलेट करता है और लॉग से चेकपॉइंट की फिर से गणना करने के लिए ज़रूरी हैश मिलते हैं और उसकी तुलना .

निर्देश का आउटपुट stdout पर लिखा जाता है:

  • OK, अगर लॉग में इमेज शामिल है,
  • अगर ऐसा नहीं है, तो FAILURE.

लगातार वीडियो अपलोड करने का सबूत (ज़रूरी नहीं)

Google समय-समय पर Pixel की फ़ैक्ट्री इमेज के नए वर्शन रिलीज़ करता है. इसलिए, पारदर्शिता लॉग लगातार बढ़ रहा है. एक गवाह बताता है कि पेड़ उग रहे हैं या नहीं जो पत्तियां उसकी पिछली पत्तियों जैसा होता है. जिस पर गवाही देता है वह ट्री रूट हैश का इस्तेमाल करता है. साथ ही, नए यूआरएल का अनुरोध करके अगले कैंडिडेट रूट हैश को कैलकुलेट करता है ट्री से लीफ़ हैश. पारदर्शिता लॉग से छेड़छाड़ करने के लिए, यह ज़रूरी है कि नियमित रूप से जांच की जाती है.

पारदर्शिता लॉग के सिर्फ़ जोड़ने के व्यवहार की जांच, तीसरे पक्ष के पक्षों और इसलिए ज़्यादातर उपयोगकर्ताओं को खुद ऐसा करने की ज़रूरत नहीं है, लेकिन यह मुमकिन है कि ताकि लॉग के एक जैसे होने की निगरानी की जा सके. Google ने एक ओपन सोर्स किसी गवाह को लागू करने पर GitHub रेपो. यह ज़रूरी है कि का इस्तेमाल करें कॉन्फ़िगरेशन यह जानकारी Pixel बाइनरी ट्रांसपेरंसी (PixelBT) लॉग के हिसाब से होती है.