ในยุคที่ปัญญาประดิษฐ์ (AI) กำลังขับเคลื่อนเศรษฐกิจโลก ข้อมูลขนาดใหญ่ (Big Data) คือขุมทรัพย์ที่ขาดไม่ได้ อย่างไรก็ตาม ข้อมูลเหล่านี้มักถูกเก็บไว้ในระบบที่แยกส่วนกัน (Siloed Data) และเต็มไปด้วยข้อมูลส่วนบุคคลที่ละเอียดอ่อน การนำข้อมูลเหล่านี้มารวมกันเพื่อฝึกฝนโมเดล AI ที่ทรงพลังจึงเผชิญกับกำแพงสำคัญด้านความเป็นส่วนตัวและความปลอดภัย
นี่คือจุดที่แนวคิดทางคริปโตกราฟีขั้นสูงอย่าง Multi-Party Computation (MPC) เข้ามามีบทบาท MPC คือเทคนิคที่ช่วยให้หลายฝ่ายสามารถร่วมกันคำนวณหรือวิเคราะห์ชุดข้อมูลได้ โดยที่ไม่มีฝ่ายใดฝ่ายหนึ่งจำเป็นต้องเปิดเผยข้อมูลดิบที่เป็นความลับของตนเองเลยแม้แต่น้อย ทำให้การพัฒนา AI สามารถเกิดขึ้นได้โดยไม่ละเมิดสิทธิส่วนบุคคล
Multi-Party Computation (MPC) คืออะไร?
MPC คือหลักการทางคณิตศาสตร์ที่รับประกันว่าผลลัพธ์ของการคำนวณนั้นถูกต้องตามหลักคณิตศาสตร์ แต่ในขณะเดียวกันก็รักษาความลับของอินพุตข้อมูลทั้งหมดไว้ การทำงานหลักของ MPC คือการแบ่งข้อมูลที่เป็นความลับออกเป็นส่วนย่อยๆ ที่เรียกว่า ‘Shares’ และทำการเข้ารหัสแบบกระจาย (Distributed Encryption) ทำให้แม้ผู้โจมตีจะเข้าถึงชิ้นส่วนข้อมูลเหล่านั้น ก็ไม่สามารถประกอบกลับไปเป็นข้อมูลต้นฉบับได้
การประยุกต์ใช้ MPC ใน PostgreSQL
สำหรับระบบฐานข้อมูลเชิงสัมพันธ์อย่าง PostgreSQL ซึ่งเป็นระบบที่แข็งแกร่งและเชื่อถือได้ สามารถนำคุณสมบัติด้านความปลอดภัยขั้นสูงมาใช้เพื่อรองรับหลักการของ MPC ได้ แม้ว่า PostgreSQL จะไม่ได้เป็น MPC Engine โดยตรง แต่เราสามารถใช้ฟังก์ชันการเข้ารหัส (เช่น pgcrypto) ร่วมกับสถาปัตยกรรมฐานข้อมูลเพื่อจำลองสภาพแวดล้อมที่ข้อมูลถูกคำนวณบนชุดข้อมูลที่ถูก ‘ปกปิด’ (Secured Computation) ได้
สมมติว่าเรามีข้อมูลยอดขายจากสองหน่วยงาน (A และ B) ที่ไม่สามารถเปิดเผยยอดขายจริงให้กันได้ แต่ต้องการคำนวณยอดรวม (Total Revenue) PostgreSQL ช่วยให้เราสามารถจัดการข้อมูลที่ถูกเข้ารหัสและคำนวณผลลัพธ์รวมได้อย่างปลอดภัย
ตัวอย่างการจำลองการคำนวณที่ปกปิดข้อมูลใน PostgreSQL
ในตัวอย่างนี้ เราจะจำลองการรวมข้อมูลโดยใช้การเข้ารหัสเพื่อรักษาความลับของข้อมูลอินพุต:
SQL
-- 1. สร้างตารางจำลองข้อมูลที่ถูกเข้ารหัส (Shares) ของแต่ละฝ่าย<br>CREATE TABLE party_a_data (share_id INT, encrypted_value TEXT);<br>CREATE TABLE party_b_data (share_id INT, encrypted_value TEXT);<br><br>-- 2. ใส่ข้อมูลที่ถูกเข้ารหัส (สมมติว่าเป็นการเข้ารหัสแบบแชร์)<br>INSERT INTO party_a_data (share_id, encrypted_value) VALUES (1, 'SHA256(''A'')');<br>INSERT INTO party_b_data (share_id, encrypted_value) VALUES (1, 'SHA256(''B'')');<br><br>-- 3. การคำนวณรวมที่ปกปิดข้อมูล (Simulation of MPC aggregation)<br>SELECT<br> 'Total_Result' AS computation_type,<br> SHA256(pda.encrypted_value || pdb.encrypted_value) AS aggregated_share<br>FROM party_a_data pda<br>JOIN party_b_data pdb ON pda.share_id = pdb.share_id;<br>
จากโค้ดข้างต้น ผลลัพธ์ที่ได้คือการรวมข้อมูลที่ถูกเข้ารหัส (Shares) ของทั้งสองฝ่าย ทำให้สามารถคำนวณผลลัพธ์รวมได้ โดยที่ระบบภายนอกไม่สามารถทราบได้ว่าข้อมูลต้นฉบับของแต่ละฝ่ายคืออะไร
บทสรุป
Multi-Party Computation (MPC) ไม่ใช่แค่แนวคิดทางทฤษฎี แต่เป็นเครื่องมือสำคัญที่ช่วยให้องค์กรต่างๆ สามารถทำงานร่วมกันในโครงการวิจัยขนาดใหญ่ เช่น การพัฒนายาใหม่ หรือการสร้างโมเดล AI ที่แม่นยำ โดยที่ยังคงรักษาความเป็นส่วนตัวของข้อมูลผู้ใช้งานได้อย่างสมบูรณ์ ด้วยการใช้คุณสมบัติความปลอดภัยของ PostgreSQL เช่น การเข้ารหัสระดับคอลัมน์และการใช้ฟังก์ชันเฉพาะทาง ทำให้เราสามารถสร้างสถาปัตยกรรมข้อมูลที่รองรับการคำนวณแบบ MPC ได้อย่างมีประสิทธิภาพ ทำให้ AI ก้าวหน้าได้อย่างปลอดภัยและยั่งยืน