เทคโนโลยีเพื่อยกระดับความเป็นส่วนตัว (Privacy Enhancing Technologies) ด้วย Multi-Party Computation

Warot Leopairote
KBTG Life
Published in
3 min readApr 29, 2020
Photo by Tim Mossholder on Unsplash

Privacy คือ ความเป็นส่วนตัว ทั้งในด้านทางกายภาพและทางดิจิทัล ซึ่งเป็นเรื่องที่ทั่วโลกกำลังให้ความสนใจมากขึ้นเรื่อยๆ ไม่ว่าจะเป็น General Data Protection Regulation (GDPR) ในแถบยุโรป หรือ พ.ร.บ Personal Data Protection Act (PDPA) คุ้มครองข้อมูลส่วนบุคคลของประเทศไทยที่น่าจะประกาศเริ่มใช้ในเดือนพฤษภาคม 2020 นี้¹ แม้แต่คำถามสุดฮิต “What is more important to you, privacy or security?” ของนางงามจากไทยบนเวที Miss Universe 2019 รอบ 5 คนสุดท้ายก็สร้างความฮือฮาและได้รับการถกเถียงอย่างมากในโลกโซเชียล เราจะสามารถนำเทคโนโลยีในปัจจุบันมาช่วยยกระดับความเป็นส่วนตัวที่ว่าอย่างไรได้บ้าง?

Privacy Enhancing Technologies (PETs)

เทคโนโลยีเพื่อยกระดับความเป็นส่วนตัว คือชุดของวิธีการ เครื่องมือ หรือกลไกในการปกป้องข้อมูลส่วนบุคคล โดยส่วนมากมักจะสร้างโดยใช้วิทยาการเข้ารหัสลับ (Cryptography) ตัวอย่างเช่น การเข้ารหัส (Encryption) ใช้เพื่อทำให้การสื่อสารเป็นความลับ แต่ถ้าหากมีคนกระทำบางอย่างจนได้คีย์ร่วม*ที่ใช้ในการถอดรหัส (Decryption) ก็ทำให้ข้อความบทสนทนาที่เข้ารหัสทั้งหมดถูกเปิดเผย แต่ใน PETs มีวิธีที่เรียกว่า Perfect Forward Secrecy เพื่อป้องกันเหตุการณ์ข้างต้น อธิบายโดยสังเขปคือ เมื่อจบการสนทนาทั้งคู่ต้องลบคีย์ร่วม และสร้างคีย์ร่วมใหม่เมื่อเริ่มการสนทนาครั้งต่อไป กล่าวคือไม่ได้ใช้คีย์ร่วมกันในระยะยาว ในปัจจุบันมีแอปพลิเคชันมือถือที่ใช้วิธีนี้อยู่คือ Signal (Android/iOS)² ใครที่สนใจสามารถโหลดมาทดลองเล่นได้ครับ

*คีย์ร่วม (Shared key) คือคีย์ที่เกิดจากการแลกเปลี่ยนและคำนวณของคีย์สาธารณะ (Public keys) ของคู่สนทนาทั้งสองฝ่าย

Multi-Party Computation (MPC)

หรือที่เรียกกันว่า Secure Computation เป็นอีกหนี่งวิธีของ PETs สมมติเหตุการณ์ว่ามี n คน โดยที่แต่ละคนมีความลับ x₁, x₂, …, xn และไม่ต้องการที่จะแชร์ความลับ ทุกคนต้องการรู้เพียงแค่ผลลัพธ์อะไรบางอย่างที่เกิดจากการคำนวณ

หากมีคนกลางที่ไว้ใจได้ (Trusted Third Party) ก็สามารถให้ทุกคนส่งความลับไปยังคนกลางด้วยวิธี TLS เพื่อป้องกันการดักฟัง และผ่าน Tor Network (The Onion Routing)³ เพื่อซ่อนการระบุตัวตน เท่านี้ก็สามารถแก้ปัญหาได้แล้ว แต่ถ้าหากไม่มีคนกลางที่ไว้ใจได้ล่ะ? เราทำอย่างไรได้บ้าง? ตัวอย่างที่โด่งดังสำหรับ MPC นี้คือ “The Millionaire’s Problem” (Yao)⁴ ว่าด้วยปัญหาเกิดจากมหาเศรษฐีสองคนที่อยากจะรู้ว่าใครรวยกว่ากันโดยที่ไม่บอกว่าตัวเองมีทรัพย์สินเท่าไหร่

โดยส่วนใหญ่จะใช้หลักการ Homomorphic Encryption คือการเข้ารหัสของข้อมูลลับ และนำข้อมูลที่ถูกเข้ารหัสนั้นมาคำนวณโดยการบวกหรือการคูณ ผลลัพธ์ที่ได้จากการคำนวณคือ E(y) ผลลัพธ์ที่คาดหวังก็คือ y

อยากจะขอยกตัวอย่าง Homomorphic Encryption อย่างง่ายก็คือ Additive Homomorphism แต่ก่อนอื่นอาจจะเกริ่นด้วย ElGamal Encryption สักนิด

Figure 1: Elgamal Encryption

จากวิธีการเข้ารหัสแบบ ElGamal โดยใช้ทฤษฏี Groups สามารถนำมาใช้กับ Additive Homomorphism ได้ แต่ทั้งนี้ Operations ที่สามารถทำได้คือการบวกกันและคูณด้วยค่าคงที่ c เท่านั้น

Figure 2: Additive Homomorphism

เพื่อให้เห็นภาพชัดขึ้น เราสามารถนำหลักการนี้มาใช้ในการโหวตได้ เช่น การทำโพลขึ้นมาอันนึงเพื่อใช้สอบถามผู้เข้าร่วมว่าชอบตัวเลือกใดระหว่าง A หรือ B วิธีการรู้ผลลัพธ์ว่ามีกี่คนชอบ A และกี่คนชอบ B คือให้ผู้เข้าร่วมทุกคนส่งข้อมูลเข้ารหัสที่ระบุตัวเลือกที่ตนชอบ และคนที่ทำโพลก็สามารถรวบรวมคำตอบได้จากการคำนวณแบบ Homomorphic คนที่สามารถถอดรหัสได้คือคนที่รู้ Private Key หรือในที่นี้ก็คือ x x โดยที่แต่ละคนค่าจะออกมาไม่เหมือนกันเลยเพราะทำการสุ่มค่า K ดังนั้นคนอื่นไม่สามารถเรียนรู้อะไรได้จากค่าที่นำมาคำนวณ

Figure3: Additive Homomorphism: Decryption

ข้อดีของ Homomorphic Encryption ก็คือโครงสร้างที่เรียบง่าย ทุกคนส่งข้อมูลเป็นความลับในรูปแบบที่เข้ารหัส และใครๆก็สามารถคำนวณเพื่อให้ได้ผลลัพธ์ออกมา

Use Case ที่สามารถนำ Homomorphic มาประยุกต์ใช้คือ Cloud Computing ที่ทุกองค์กรต้องการปกป้องข้อมูลความลับ แต่ก็ยังสามารถนำข้อมูลเหล่านั้นมาประมวลให้ได้ผลวิเคราะห์บางอย่างอันนำมาซึ่งประโยชน์ของทุกคน

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

Key Takeaways

  1. ปัจจุบันผู้คนเริ่มให้ความสนใจและเพิ่มความระมัดระวังในการให้ข้อมูลส่วนบุคคลมากขึ้น เช่น ข่าวของ Facebook เมื่อปี 2018 (Facebook–Cambridge Analytica Data Scandal)⁵ ทำให้เริ่มมีมาตรการเพื่อความปลอดภัยของข้อมูลส่วนตัวของผู้ใช้ด้วยการออก GDPR หรือ PDPA บังคับให้ผู้ให้บริการปฏิบัติตาม
  2. ใน Multi-Party Computation มีหลักการที่ชื่อ Homomorphic Encryption เป็นวิธีที่สามารถนำข้อมูลที่ถูกเข้ารหัสมาประมวลผลโดยแต่ละขั้นตอนไม่มีการเปิดเผยข้อมูลที่ดึงมา ถึงกระนั้นก็มีน้อยคนในอุตสาหกรรมที่ทดลองใช้จริง เนื่องจากการประมวลผลใช้เวลานาน และจำเป็นต้องมีอุปกรณ์ที่ดีมากพอทั้งฝั่งผู้ส่งและผู้ประมวลผลข้อมูล แต่ก็ยังมีบางบริษัทนำ Homomorphic มาลองใช้งานบ้างแล้ว เช่น Unbound⁶ ที่นำมาใช้สำหรับ Virtual HSM (VHSM)

[1]: LEXOLOGY: Personal Data Protection Act to take effect in May 2020: Thailand

[2]: Signal Documentation for Technical information

[3]: Tor Project

[4]: Lin-Tzeng protocol to solve The Millionaire Problem

[5]: New York Times: Facebook–Cambridge Analytica data scandal

[6]: Unbound implementing Homomorphic encryption to do key management

แล้วพบกันในบทความถัดไปนะครับ…

--

--