เมื่อวันพุธที่ผ่านมา คณะกรรมาธิการยุโรปได้เปิดตัวแอปมือถือ(หน้าต่างใหม่) ที่ออกแบบมาเพื่อให้ผู้คนสามารถพิสูจน์อายุทางออนไลน์ได้โดยไม่ต้องแชร์ ข้อมูลส่วนบุคคล กับแพลตฟอร์มต่าง ๆ เจ้าหน้าที่สหภาพยุโรปกล่าวว่าแอปนี้พร้อมใช้งานแล้วและเป็นไปตามมาตรฐานความเป็นส่วนตัวสูงสุด พร้อมกับชี้ว่ารหัส โอเพนซอร์ส ของแอปเป็นข้อพิสูจน์ถึงความโปร่งใส

อย่างไรก็ตาม ภายในไม่กี่ชั่วโมง นักวิจัยด้านความปลอดภัยก็เริ่มแกะรหัสโอเพนซอร์ส และภายในวันพฤหัสบดี Paul Moore ที่ปรึกษาด้านความปลอดภัยสามารถ ข้ามระบบป้องกันของแอปได้ในเวลาไม่ถึงสองนาที(หน้าต่างใหม่)

A screenshot of the EU age verification app

ผู้อื่นก็ได้ยืนยันการค้นพบดังกล่าว ระบบควบคุมการจำกัดอัตราคำขอของแอปได้รับการจัดเก็บไว้ในไฟล์ที่สามารถแก้ไขได้ อีกทั้งยังสามารถปิด การยืนยันตัวตนด้วยข้อมูลชีวมาตร ได้ด้วยการเปลี่ยนการกำหนดค่าแบบง่าย ๆ และข้อมูลยืนยันตัวตนที่มีความละเอียดอ่อนก็สามารถเข้าถึงได้โดยไม่ต้องมีระบบป้องกันระดับฮาร์ดแวร์ที่ปลอดภัย

คณะกรรมาธิการลดความสำคัญของการค้นพบดังกล่าว โดยเรียกเวอร์ชันที่ปล่อยออกมาว่าเป็นเพียงเวอร์ชันสาธิต แต่ทั้ง Moore และ Olivier Blazy นักเข้ารหัสลับชาวฝรั่งเศสต่างโต้แย้งโดยบอกกับ Politico(หน้าต่างใหม่) ว่ากำลังทดสอบรหัสเวอร์ชันล่าสุดในขณะที่พบข้อบกพร่องดังกล่าว

ในภายหลัง คณะกรรมาธิการกล่าวว่าปัญหาดังกล่าวได้รับการแก้ไขแล้ว แต่เหตุการณ์นี้ยังคงแสดงให้เห็นว่าระบบตรวจสอบอายุเหล่านี้มีความเปราะบางเพียงใด

แอปตรวจสอบอายุของสหภาพยุโรปทำงานอย่างไร และเกิดข้อผิดพลาดอะไรขึ้นบ้าง

แอปตรวจสอบอายุของสหภาพยุโรปช่วยให้สามารถ ยืนยันอายุ โดยใช้หนังสือเดินทาง บัตรประจำตัวประชาชน หรือผู้ให้บริการที่เชื่อถือได้อย่างธนาคาร จากนั้นแพลตฟอร์มต่าง ๆ จะสามารถขอให้แอปตรวจสอบได้ว่ามีอายุเกินเกณฑ์ที่กำหนดหรือไม่ โดยไม่ต้องเข้าถึงข้อมูลส่วนบุคคลพื้นฐาน ซึ่งเป็นที่รู้จักในชื่อการพิสูจน์แบบไร้ความรู้

วิธีการนำไปใช้งานจริงกลับทำลายการออกแบบดังกล่าว เนื่องจากแอปตรวจสอบอายุของสหภาพยุโรปได้จัดเก็บ PIN ที่เข้ารหัสไว้ในไฟล์การกำหนดค่าที่สามารถแก้ไขได้บนอุปกรณ์ โดยแยกออกจากห้องนิรภัยข้อมูลระบุตัวตนที่เก็บ ข้อมูลที่มีความละเอียดอ่อน เมื่อทำการลบค่าบางค่าและเริ่มแอปใหม่ ผู้โจมตีจะสามารถตั้งค่า PIN ใหม่ได้ในขณะที่นำข้อมูลยืนยันตัวตนจากโปรไฟล์ก่อนหน้ากลับมาใช้ซ้ำ

ระบบควบคุมการจำกัดอัตราคำขอที่ป้องกันการเดาซ้ำ ๆ ได้รับการจัดเก็บเป็นเพียงตัวนับธรรมดาในไฟล์เดียวกัน ซึ่งสามารถรีเซ็ตเป็นศูนย์เพื่อลบประวัติการพยายามที่ล้มเหลวทั้งหมดได้ ส่วนการยืนยันตัวตนด้วยข้อมูลชีวมาตรถูกควบคุมด้วยค่าสถานะบูลีนเพียงตัวเดียว ซึ่งการเปลี่ยนค่าจาก true เป็น false จะเป็นการข้ามขั้นตอนการตรวจสอบทั้งหมดโดยสิ้นเชิง

สร้างขึ้นเพื่อตรวจสอบอายุ แต่ไม่ปลอดภัย

หลังจากที่นักวิจัยได้ใช้รหัสดังกล่าวเพื่อเปิดเผยข้อบกพร่อง เจ้าหน้าที่ก็ได้ปรับเปลี่ยนสถานะของแอปให้เป็นเพียงเวอร์ชันสาธิต

นักพัฒนาหลายรายระบุว่าข้อมูลที่ละเอียดอ่อนควรได้รับการจัดเก็บไว้ในพื้นที่เก็บข้อมูลที่ปลอดภัย ซึ่งเป็นการป้องกันในระดับฮาร์ดแวร์ที่มีในสมาร์ทโฟนสมัยใหม่ที่จะช่วยให้การโจมตีเหล่านี้ทำได้ยากขึ้นอย่างมาก

ทว่าช่องโหว่เหล่านี้นั้นเผยให้เห็นถึงปัญหาที่ก้าวข้ามไปไกลกว่าเฉพาะแอปนี้ เนื่องจาก การตรวจสอบอายุนั้นไม่ปลอดภัย โดยการออกแบบ เพราะต้องมีการเชื่อมโยงข้อมูลระบุตัวตนที่แท้จริงเข้ากับกิจกรรมออนไลน์ ลิงก์ดังกล่าวต้องได้รับการจัดเก็บไว้ที่ใดที่หนึ่งแม้เพียงชั่วคราวก็ตาม และไม่ว่าจะจัดเก็บไว้ที่ใด ก็ย่อมกลายเป็นเป้าหมายสำหรับแฮกเกอร์ รัฐบาล และใครก็ตามที่สามารถ เข้าถึงข้อมูลโดยไม่ได้รับอนุญาต ไปยังข้อมูลเบื้องหลัง ยิ่งลิงก์ดังกล่าวมีความเป็นศูนย์กลางและนำกลับมาใช้ใหม่ได้มากเท่าใด ขนาดของเป้าหมายก็จะยิ่งใหญ่ขึ้นตามไปด้วย

กฎหมายการตรวจสอบอายุ ของสหภาพยุโรปตั้งใจให้เป็นมาตรฐานเดียวที่ปกป้องความเป็นส่วนตัวเพื่อแทนที่กฎหมายปลีกย่อยที่กระจัดกระจายไปทั่วประเทศสมาชิก แต่ความมั่นใจของคณะกรรมาธิการว่าแอปนี้พร้อมใช้งานแล้วนั้นกลับกลายเป็นว่ายังเร็วเกินไป นักวิจัยด้านความเป็นส่วนตัวและความปลอดภัยมากกว่า 400 ราย ได้ส่งจดหมายถึงคณะกรรมาธิการในเดือนมีนาคม(หน้าต่างใหม่) เพื่อขอให้ระงับการเปิดใช้งานไว้ก่อนจนกว่าหลักการทางวิทยาศาสตร์เกี่ยวกับเทคโนโลยีการตรวจสอบอายุจะมีข้อสรุปที่แน่ชัด