Android WebView Media Integrity API รุ่นทดลองช่วงต้นปีหน้า
(android-developers.googleblog.com)- Android WebView Media Integrity API จะเริ่มนำร่องแบบทดลองกับผู้ให้บริการสื่อบางรายในช่วงต้นปีหน้า เพื่อให้ผู้ให้บริการสื่อที่ฝังอยู่ในแอปสามารถตรวจสอบสภาพแวดล้อมการเล่นได้
- แม้จะมี บริการยืนยันความถูกต้อง อย่าง Play Integrity API หรือ Firebase App Check อยู่แล้ว แต่วิธีส่งต่อข้อมูลนั้นให้ผู้ให้บริการคอนเทนต์ที่ฝังอยู่ยังไม่เรียบง่ายและขยายผลได้ไม่ดีนัก
- ทีม Chrome จะไม่พิจารณาข้อเสนอ Web Environment Integrity ต่อไปแล้ว และ API ใหม่จะจำกัดขอบเขตไว้ที่ WebView ภายในแอป Android และสื่อแบบฝัง เช่น วิดีโอและเสียงสตรีมมิง
- ความยืดหยุ่นของ WebView มีประโยชน์ต่อการผสานรวมกับแอป แต่ก็ทำให้นักพัฒนาแอปสามารถเข้าถึงหรือแก้ไขคอนเทนต์เว็บและการโต้ตอบของผู้ใช้ได้ จึงอาจเกิด การฉ้อโกงและการใช้งานในทางที่ผิด
- คำตอบด้านความสมบูรณ์จะมีเฉพาะการตัดสินสถานะอุปกรณ์และแอป ไม่รวมตัวระบุผู้ใช้หรืออุปกรณ์ และหากต้องการ แอปสามารถ ยกเว้นชื่อแพ็กเกจ ออกจากการตัดสินได้
API ใหม่ของ WebView สำหรับตรวจสอบสื่อที่ฝังอยู่
- Android WebView เป็น API ที่ทรงพลังและยืดหยุ่น ซึ่งช่วยให้นักพัฒนา Android ฝังสื่อไว้ภายในแอปได้
- ผู้ให้บริการสื่อที่ฝังอยู่จำเป็นต้องตรวจสอบว่าสื่อของตนถูกเล่นใน สภาพแวดล้อมที่เชื่อถือได้และปลอดภัย หรือไม่
- นักพัฒนาแอป Android และผู้ให้บริการ SDK สามารถใช้บริการยืนยันความถูกต้องที่ช่วยตรวจสอบคำขอจากเซิร์ฟเวอร์ของแอปโดยยังคงรักษาความเป็นส่วนตัวของผู้ใช้ได้อยู่แล้ว
- ปัจจุบันนักพัฒนาแอปยังสามารถส่งต่อข้อมูลจากบริการยืนยันความถูกต้องเหล่านี้ให้ผู้ให้บริการคอนเทนต์ที่ฝังอยู่ได้ แต่ขั้นตอนนี้ ไม่เรียบง่ายและไม่สามารถขยายผลได้ดี
- เพื่อลดข้อจำกัดนี้ จะมีการนำร่อง Android WebView Media Integrity API แบบทดลอง กับผู้ให้บริการสื่อแบบฝังบางรายในช่วงต้นปีหน้า
ขอบเขตที่จำกัดและแตกต่างจาก Web Environment Integrity
- ทีม Chrome จะไม่พิจารณา ข้อเสนอ Web Environment Integrity ต่อไปแล้ว
- Android WebView Media Integrity API มุ่งเป้าเฉพาะ ขอบเขตที่แคบกว่า
- ครอบคลุมเฉพาะ Android WebView ที่ฝังอยู่ในแอปเท่านั้น
- ขยายความสามารถที่มีอยู่ของอุปกรณ์ Android ที่มี Google Mobile Services(GMS)
- ไม่มีแผนให้ใช้นอกเหนือจาก สื่อแบบฝัง เช่น วิดีโอและเสียงสตรีมมิง
- ไม่มีแผนให้ใช้นอก Android WebView
ความยืดหยุ่นของ WebView และโอกาสถูกใช้งานในทางที่ผิด
- Android WebView API ช่วยให้นักพัฒนาแอปแสดงหน้าเว็บและฝังสื่อได้ พร้อมผสานรวมกับแอปได้อย่างราบรื่นผ่านการควบคุม UI และตัวเลือกการตั้งค่าขั้นสูง
- ความยืดหยุ่นนี้มีประโยชน์เมื่อแอปฝังคอนเทนต์เว็บของตนเอง แต่ก็อาจทำให้นักพัฒนาแอปเข้าถึง ดักจับ หรือแก้ไขคอนเทนต์เว็บและการโต้ตอบของผู้ใช้ได้เช่นกัน
- ส่งผลให้เกิดความเสี่ยงอย่าง การแก้ไขคอนเทนต์ หรือการทำให้เข้าใจผิดเกี่ยวกับแหล่งที่มาได้
คำตอบด้านความสมบูรณ์และเงื่อนไขด้านความเป็นส่วนตัว
- API ใหม่จะให้ คำตอบด้านความสมบูรณ์ ที่ปรับแต่งสำหรับผู้ให้บริการสื่อที่ฝังอยู่
- คำตอบจะรวมการตัดสินความสมบูรณ์ของอุปกรณ์และการตัดสินความสมบูรณ์ของแอป
- สามารถตรวจสอบได้ว่าสตรีมทำงานในสภาพแวดล้อมที่ปลอดภัยและเชื่อถือได้หรือไม่ ไม่ว่าแอปที่ฝังจะติดตั้งจากแอปสโตร์ใดก็ตาม
- การตัดสินเป็นเมทาดาทาแบบเรียบง่ายและมีเอนโทรปีต่ำเกี่ยวกับแอปและอุปกรณ์
- ไม่รวมตัวระบุผู้ใช้หรือตัวระบุอุปกรณ์
- ต่างจากแอปและเกมที่ใช้ Play Integrity API ผู้ให้บริการสื่อจะไม่ได้รับสถานะไลเซนส์ Play ของแอป
- หากต้องการ แอปสามารถยกเว้นชื่อแพ็กเกจของตนออกจากการตัดสินได้
- ทีม Android มีเป้าหมายที่จะรักษาระบบนิเวศคอนเทนต์สื่อที่หลากหลายของแอป Android และกำลังเปิดรับ การแจ้งความประสงค์เข้าร่วม จากผู้ให้บริการคอนเทนต์สื่อที่สนใจเข้าร่วมโปรแกรม Early Access ในช่วงต้นปีหน้า
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ตัว WEI เองถูกพูดถึงไปแล้วในหลายเธรด และมีการถกเถียงที่น่าอ่านอยู่มาก
(กรกฎาคม 2023, ความคิดเห็น 456 รายการ) https://news.ycombinator.com/item?id=36854114 - "Google's nightmare Web Integrity API wants a DRM gatekeeper for the web"
(กรกฎาคม 2023, ความคิดเห็น 431 รายการ) https://news.ycombinator.com/item?id=36817305 - "Web Environment Integrity API Proposal"
(กรกฎาคม 2023, ความคิดเห็น 434 รายการ) https://news.ycombinator.com/item?id=36875940 - "Unpacking Google’s Web Environment Integrity specification"
(กรกฎาคม 2023, ความคิดเห็น 111 รายการ) https://news.ycombinator.com/item?id=36857676 - "So, you don't like a web platform proposal" - มุมมองของพนักงาน Google ว่าผู้คนควรตอบสนองต่อข้อเสนออย่างไร
(สิงหาคม 2023, ความคิดเห็น 100 รายการ) https://news.ycombinator.com/item?id=36960882 - "Web Environment Integrity: Locking Down the Web"
เหล่าวิศวกรยกเหตุผลด้วยเจตนาดีออกมา แต่ฝ่ายตรงข้ามสู้ด้วยเกมภาพลักษณ์เชิงร้าย และก็โดนเล่นงานไปตามนั้น
ข่าวที่ว่า Google ตัดสินใจไม่เดินหน้า Web Integrity API ถือเป็นเรื่องดีมากต่อความเป็นกลางของเว็บเปิด
อย่างไรก็ตาม Google มักขับเคลื่อนด้วยผลประโยชน์ของตนเองมากกว่าผลประโยชน์ของเว็บโดยรวม จึงต้องรอดูว่าจะใช้อะไรมาทดแทน และคงไม่นานนัก
น่าสงสัยว่าบริษัทกำลังเตรียมสเปกที่ดูภายนอกน่ารำคาญน้อยลง แต่แท้จริงแล้วเป็นอันตรายต่อผู้ใช้พอ ๆ กัน เหมือนตอน FLoC กับ Topics หรือไม่ และช่วงเวลาก็ยังไปทับกับประกาศล่าสุดว่าจะเปลี่ยนการคิดค่าโฆษณาจากต่อคลิกเป็นต่อการแสดงผลอีกด้วย
Google ไม่ได้ดูเหมือนผู้ดูแลเว็บที่น่าเชื่อถือ และเราไม่ควรนิ่งนอนใจกับ apparent victory ครั้งนี้
ต่อไป ความหลากหลายของเบราว์เซอร์และเอนจินเบราว์เซอร์ ยังเป็นสิ่งสำคัญ หากต้องการขัดขวางความพยายามที่หน่วยงานเดียวจะครอบงำอนาคตของเว็บ
เราควรเลิกมอง นายหน้าข้อมูลระดับโลก ที่ป้อนข้อมูลให้ผู้ลงโฆษณาทั่วโลก ว่าเป็นผู้ดูแลเทคโนโลยีเว็บที่ชอบธรรมและมีเจตนาดีได้แล้ว
ก่อนอื่น มันละเมิดการแยกความรับผิดชอบระหว่างเซิร์ฟเวอร์กับไคลเอนต์
ไคลเอนต์คือ user agent กล่าวคือควรทำสิ่งที่ผู้ใช้ต้องการ ไม่ใช่สิ่งที่เซิร์ฟเวอร์ต้องการ
ความเข้าใจผิดและการบิดเบือนมุมมองพื้นฐานนี้เป็นส่วนหนึ่งของปัญหา
หากต้องการรักษา HTTP(S) และเทคโนโลยีที่เกี่ยวข้องให้เป็นโปรโตคอลเสรีและเปิดสำหรับทุกคน ต้องกัน Google ออกจากกระบวนการตัดสินใจ
Encrypted Media Extensions, Manifest v3 และตอนนี้ก็ WEI ล้วนมี Google อยู่เบื้องหลัง
เว็บไม่ใช่ของ Google และ Google จะไปทำ QUIC ก็ทำไป ปล่อย HTTP ไว้ตามเดิม
แม้จะบอกว่า “Android WebView Media Integrity API มีขอบเขตแคบ” แต่ไม่เห็นประโยชน์ต่อผู้ใช้เลย
ถ้าเป็นแอปที่ต้องการฝัง WebView ก็แค่น่าจะเอา API ที่ใช้ Android Integrity API เดิมผ่านโค้ดเนทีฟไปผูกกับ WebView นั้นก็ได้ไม่ใช่หรือ
สำหรับผม มันดูเหมือนช่องทางอ้อมเพื่อสกัดแอป “แฮ็ก” ที่เล่น YouTube แบบไม่มีโฆษณา เป็นต้น และ API นี้ไม่เป็นประโยชน์ต่อผู้ใช้
อันนี้แค่ทำให้ทำสิ่งนั้นในแอปที่ใช้ WebView ได้ง่ายขึ้นเท่านั้น
การโจมตีแบบ Man-in-the-Middle โดยใช้ไคลเอนต์ที่สอดแทรกเข้ามาเป็นภัยคุกคามจริงนอกกำแพงของ Apple และ Google และแม้ในกำแพงนั้นก็ยังมีอยู่บ้าง
WEI เป็นความพยายามแก้ปัญหาจริง
แน่นอนว่าผลข้างเคียงอาจยอมรับได้ยาก และอาจเสียมากกว่าได้ และตอนนี้ก็เป็นข้อเสนอที่ตายไปแล้ว
แต่ในที่นี้ ปัญหาพื้นฐานถูกกลบหายไปหมดท่ามกลางการถกเถียงที่เกินจริง และผู้คนก็โยนข้อกล่าวหาเรื่องวาระซ่อนเร้นกับเจตนาร้ายโดยรวมกันอย่างพร่ำเพรื่อ
นี่ไม่ใช่ช่วงเวลาที่ดีที่สุดของชุมชนเรา
ที่น่าขันคือความคิดเห็นจำนวนไม่น้อยเหล่านั้นถูกเขียนจาก อุปกรณ์ Apple ซึ่งโดยข้อเท็จจริงแล้วไม่เป็นมิตรกับไคลเอนต์ที่ไม่เป็นมาตรฐานมากกว่า
ผมไม่เข้าใจว่าสิ่งนี้ทำงานอย่างไร
เนื้อหาคือ “Android WebView Media Integrity API ใหม่เปิดให้ผู้ให้บริการสื่อที่ถูกฝังเข้ามาเข้าถึงการตอบกลับด้านความสมบูรณ์แบบกำหนดเองซึ่งมีคำตัดสินเรื่องความสมบูรณ์ของอุปกรณ์และแอป ทำให้ตรวจสอบได้ว่าสตรีมกำลังทำงานในสภาพแวดล้อมที่ปลอดภัยและเชื่อถือได้ ไม่ว่าแอปที่ฝังจะติดตั้งมาจากแอปสโตร์ใดก็ตาม”
แต่นี่ใช้เฉพาะกับ Android WebView API ไม่ใช่เบราว์เซอร์แบบแยกอิสระอย่าง Google Chrome
ไม่อย่างนั้นก็เท่ากับย้อนกลับไปเป็นข้อเสนอ Web Environment Integrity เดิม
แต่ก็ไม่มีใครบังคับว่าต้องใช้ WebView API และ Chromium ก็เป็นโอเพนซอร์ส
ผมไม่รู้ว่าอะไรจะหยุด Bob นักพัฒนา Android ผู้ประสงค์ร้ายไม่ให้คอมไพล์ Chromium เองแล้วบันเดิลเข้าแอป จากนั้นก็เล่นลูกไม้กับเว็บไซต์สารพัดตามใจอันชั่วร้ายของเขาได้
พูดอีกอย่าง ถ้ามันถูกใส่ไว้เฉพาะใน WebView API แบบพิเศษ นักพัฒนาประสงค์ร้ายก็แค่หลีกเลี่ยง API นั้นไม่ใช่หรือ
ขั้นที่ 2: ห้ามใช้ทางเลือกอื่น
ขั้นที่ 3: สร้างรายได้
ชื่อเรื่องทำให้เข้าใจผิด
ข้อเสนอที่จะนำไปใช้กับ Chrome ถูกยกเลิกไปแล้ว แต่ในความเป็นจริงยังคงผลักดันต่อสำหรับ Android WebView API ซึ่งแทบจะเป็นแรปเปอร์ที่ครอบ Chrome อยู่
เพราะบางครั้งถูกใช้กับการล็อกอินแบบฝังในแอป third-party ที่น่าสงสัย
มีมุมมองที่พอจะเห็นว่าเรื่องนี้สมเหตุสมผลได้อยู่
โดยส่วนตัวคิดว่า ตราบใดที่ไม่ใช่ส่วนหนึ่งของเบราว์เซอร์อิสระ ก็ไม่ควรอนุญาตให้ WebView แบบฝังมีฟังก์ชันการท่องเว็บทั่วไป
โดยปกติมันถูกใช้เป็นกลอุบายเพื่อดักทราฟฟิกที่ควรจะออกไปยังเว็บเปิด
มี การยืนยันอย่างเป็นทางการ โพสต์ไว้ในเธรดสนทนาสาธารณะของ WEI: https://groups.google.com/a/chromium.org/g/blink-dev/c/Ux5h_...
จนกว่ารอบต่อไปจะมาถึง เราต้องผลักดันต่อไปเพื่อ อินเทอร์เน็ตแบบเปิด
เป็นเรื่องที่เหนื่อยมาก
เพราะเป็นบริษัทใหญ่ จึงแค่รอจนผู้คนเหนื่อยล้าได้
รีโพซิทอรีถูกเก็บถาวรแล้ว และเขียนว่า “NOTE: This proposal is no longer pursued.”
https://github.com/RupertBenWiser/Web-Environment-Integrity
มีความเป็นไปได้สูงว่าเริ่มทำงานกับทางออกที่เข้าใจยากกว่าเดิมไปแล้ว
ตอนอ่านบทความ ผมมองหาหลักฐานก่อนว่า Google ไม่ได้ละทิ้งทิศทางของไอเดียไปจริง ๆ แบบที่บางครั้งทำ แต่แค่นำ proof of concept ไปปล่อยบนโครงสร้างพื้นฐานอื่นที่ถกเถียงกันน้อยกว่า แล้วรอจังหวะที่เหมาะกว่าค่อยหยิบกลับมาอีก
เช่น อาจเล็งช่วงหลังเกิด เหตุการณ์ความปลอดภัยไซเบอร์ครั้งใหญ่ ก็ควรจำไว้
และในความเป็นจริงพวกเขาก็ทำแบบนั้นเป๊ะ เพียงแค่โยนกลับไปให้ทีม Android แล้วสัญญาว่าจะปรับปรุงในแซนด์บ็อกซ์เล็ก ๆ ที่มีข้อถกเถียงน้อยกว่า
ต่อสาธารณะ พวกเขาพูดเพียงว่าจะพับความพยายามสำหรับเว็บไว้ “ก่อน” เท่านั้น
อยากให้ Google กลับไปเป็นแชมป์ของอินเทอร์เน็ตแบบเปิดอย่างที่เคยรู้จัก และถอยออกจากการทำให้ทุกอย่างที่พยายามทำกลายเป็นแบบ MBA
ตั้งแต่เลิกใช้ “don’t be evil” ก็รู้สึกว่าไปทางนั้นแล้ว และมันเหนื่อยจริง ๆ
แทนที่จะได้ฉลองชัยชนะ ฝั่งคนที่สนับสนุนอินเทอร์เน็ตแบบเปิดกลับได้ฉลองแค่การทำโปรเจกต์ที่เล็กลงและการหยุดพักชั่วคราวของเวอร์ชันสำหรับแพลตฟอร์มเว็บ
ผู้เล่นรายใหญ่และทรงอิทธิพลสุดท้ายก็จะบังคับทิศทางเพื่อผลกำไรของที่ใดที่หนึ่ง
ตอนนี้เริ่มรู้สึกว่าเราต้องมี ฮาร์ดฟอร์กของเว็บ แล้ว
บนเว็บมี “อาณาเขต” อยู่สองแบบแล้ว คือเว็บที่ JavaScript หนักและเว็บไซต์เป็นแอป กับเว็บที่เน้นเอกสารและลิงก์
อาจอ้างได้ว่าแบบแรกเป็น superset ของแบบหลัง แต่ถ้าฝั่งนั้นยังพยายามทำสิ่งที่ขัดกับผู้ใช้ต่อไป และมีเป้าหมายปลายทางที่ตรงข้ามกับแพลตฟอร์มเปิดอย่างสิ้นเชิง ก็ไม่รู้ว่ามีทางเลือกที่เป็นจริงอะไรนอกจากให้ผู้เล่นหลักแยกทางกัน
Google มีอำนาจพอที่จะผลักดันเรื่องนี้ให้เกิดขึ้นจริงได้
ชื่อเดิมคือ “Increasing trust for embedded media”
มีไกด์ไลน์ว่า “ถ้าไม่ทำให้เข้าใจผิดหรือเป็น clickbait ให้ใช้ชื่อเดิม และอย่าแก้ไข”
https://news.ycombinator.com/newsguidelines.html