Searchable Encryption กลไกการปกป้องข้อมูลบน Cloud ที่คุณไว้วางใจได้
ในสมัยปัจจุบัน Web application ต่าง ๆ ที่เราสามารถเข้าใช้งานได้ผ่าน Internet แม้ว่าจะเราอาจจะเข้าผ่านมือถือ เครื่องคอมพิวเตอร์ หรืออุปกรณ์อิเล็กทรอนิกส์ใดก็ตาม Web application นั้นมักจะดึงข้อมูลจากเครื่อง Server ที่อยู่บน Cloud ซึ่งทำให้เราสามารถเข้าใช้งาน Web application ได้จากทุกที่และทุกเวลา โดยบริการ Cloud เป็นหนึ่งบริการที่ผู้สร้าง Web application สามารถเลือกใช้ได้จากบริษัทชั้นนำ เช่น Google Amazon Microsoft และ National Telecom (NT) โดย Cloud เป็นโครงสร้างพื้นฐานสำคัญสำหรับการให้บริการ Web application
โครงการ Health Link มีการเก็บรวบรวมข้อมูลสุขภาพของผู้ยินยอมเข้าร่วมโครงการในฐานข้อมูลบน Cloud ของ NT ซึ่งมี SLA ขั้นต่ำในการให้บริการตลอดเวลาสูงถึง 99.8% และมีการรับรองมาตรฐานการจัดการความปลอดภัยระดับสากล ISO27001 รวมถึงมีมาตรการสำหรับการปฏิบัติงานที่สอดคล้องกับ พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล อย่างไรก็ตาม การใช้บริการ Cloud มีความเสี่ยง เนื่องจากเครื่อง Server ไม่ได้อยู่ภายใต้ความควบคุมของผู้สร้าง Web application โดยตรง ดังนั้น ผู้สร้าง Web application จึงต้องตระหนักเรื่องความปลอดภัยและความลับของข้อมูล โดยผู้สร้าง Web application สามารถยกระดับความปลอดภัยและปกป้องความลับของข้อมูลที่จะจัดเก็บรวบรวมบน Cloud ได้ด้วยการเข้ารหัสข้อมูล ซึ่งจะทำให้ใครก็ตามที่อาจสามารถเข้าถึงเครื่อง Server ไม่สามารถอ่านและนำข้อมูลไปประยุกต์ใช้ต่อได้
การเข้ารหัสข้อมูลเป็นวิธีปกป้องความลับของข้อมูลที่มีความปลอดภัยสูง แต่ในขณะเดียวกัน การเข้ารหัสข้อมูลจะเพิ่มความท้าทายในการพัฒนา Web application อย่าง Health Link ด้วย โดยปกติ การเข้ารหัสข้อมูลจะทำให้เราไม่สามารถสืบค้นข้อมูลได้เพราะข้อมูลที่ถูกเข้ารหัสจะไม่มีคุณสมบัติใด ๆ ของข้อมูลเดิมเหลืออยู่ หากเรานำกลไกการเข้ารหัสทั่วไปมาใช้ก่อนนำส่งข้อมูลไปบันทึกลงฐานข้อมูลบน Cloud ผู้ใช้จะต้องดึงข้อมูลทั้งหมดลงจาก Cloud มาที่เครื่องผู้ใช้และทำการถอดรหัสข้อมูลทั้งหมดเพื่อที่จะสามารถสืบค้นข้อมูลได้ ซึ่งวิธีนี้ ใช้ทรัพยากรโดยใช่เหตุ โดยเฉพาะสำหรับข้อมูลขนาดใหญ่ (Big Data) โดยทั้งเครื่องผู้ใช้ เครื่อง Server และเครือข่าย (Network) ไม่สามารถรองรับการใช้งานในรูปแบบนี้ได้ รวมถึงผู้ใช้จะสามารถเข้าถึงข้อมูลที่ผู้ใช้ไม่มีสิทธิในการเข้าถึงได้ด้วย อีกทางเลือกหนึ่ง เราสามารถถอดรหัสข้อมูลที่เครื่อง Server ก่อนบันทึกและ/หรือสืบค้น แต่วิธีดังกล่าวจะทำให้ผู้ที่สามารถเข้าถึงเครื่อง Server เรียนรู้เกี่ยวกับข้อมูลได้ ดังนั้น การเข้ารหัสข้อมูลใน Web application อย่าง Health Link จึงต้องอาศัยกลไกการเข้ารหัส Searchable Encryption เพื่อรองรับความปลอดภัยและปกป้องความลับของข้อมูลโดยที่ผู้ใช้ยังสามารถสืบค้นข้อมูลได้อย่างมีประสิทธิภาพ
Searchable Encryption
Searchable Encryption (SE) คือกลไกการเข้ารหัสข้อมูลที่เราสามารถใช้คำศัพท์เฉพาะ (Key word) ในการสืบค้นข้อมูลได้
เช่น ‘วินิจฉัย’ (Diagnosis) และ ‘หัตถการ’ (Procedure) เป็นต้น โดยการนำ SE ไปประยุกต์ใช้ในระบบอย่าง Health Link จะปกป้องความลับของทั้งข้อมูลที่บันทึกในฐานข้อมูลและ Key word ที่ใช้ในการสืบค้นข้อมูล ลักษณะการใช้งานของ SE แสดงในรูปภาพดังต่อไป

จากรูปภาพที่ 1 การใช้ SE จะมีผลกระทบต่อผู้ควบคุมข้อมูล (Data Controller) ผู้ประมวลผลข้อมูล (Data Processor) และเครื่อง Server ที่ตั้งอยู่บน Cloud โดยผู้ควบคุมข้อมูลจะเป็นผู้เข้ารหัสข้อมูลด้วย SE ก่อนนำส่งข้อมูลไปที่ Cloud และผู้ประมวลผลข้อมูลเป็นผู้ที่ได้รับสิทธิในการเข้าถึง สืบค้น และใช้งานข้อมูล โดย Web application จะทำการสร้าง Token เพื่อสืบค้นข้อมูลที่ Cloud จาก Key word ที่ผู้ประมวลผลข้อมูลสืบค้น และทำการถอดรหัสผลการสืบค้นข้อมูลหลังจากที่ได้รับคืนมาจาก Cloud เพื่อให้ผู้ประมวลผลข้อมูลอ่านผลการสืบค้นข้อมูลได้ เพราะฉะนั้น ข้อมูลที่เครื่อง Server บน Cloud ประมวลผลเป็นข้อมูลที่ถูกเข้ารหัสทั้งหมด SE จึงสามารถปกป้องความลับของข้อมูลและการสืบค้นข้อมูลได้อย่างดี
การประยุกต์ใช้ Searchable Encryption ในโครงการ Health Link
ในการนำ SE มาประยุกต์ใช้ประกอบ Web application ผู้สร้างจะต้องคัดเลือกกลไกเฉพาะของ SE ที่เหมาะสมสำหรับการทำงานของระบบ โดยทั่วไป กลไกการเข้ารหัสสามารถแบ่งเป็น 2 ประเภทหลัก ได้แก่ Symmetric Encryption ซึ่งใช้กุญแจเดียวในการเข้าและถอดรหัส และ Asymmetric Encryption ซึ่งใช้คู่กุญแจ (Key pair) ในการเข้าและถอดรหัส โดยใช้ Public key สำหรับเข้ารหัสและ Private key สำหรับถอดรหัส การเข้ารหัสด้วย SE สามารถแบ่งตาม 2 ประเภทข้างต้นได้เช่นเดียวกัน
- Searchable Symmetric Encryption (SSE) คือการเข้าและถอดรหัสข้อมูลด้วยกุญแจเดียว โดยผู้ถือกุญแจเป็นผู้เดียวที่สามารถบันทึกและสืบค้นข้อมูลได้ SSE จึงเหมาะสำหรับกรณีที่ผู้ควบคุมข้อมูลหรือเจ้าของข้อมูลเป็นผู้ใช้ข้อมูลผู้เดียว
- Searchable Asymmetric Encryption (SAE) คือการเข้าและถอดรหัสด้วย Public และ Private Key โดยมีลักษณะการประยุกต์ใช้หลายรูปแบบ เช่น การเข้ารหัสข้อมูลจากหนึ่งผู้ใช้ และการสืบค้นและถอดรหัสข้อมูลโดยอีกหนึ่งผู้ใช้ สามารถใช้ public key encryption with keyword search (PEKS) ได้ และหากเป็นการสืบค้นและถอดรหัสข้อมูลโดยหลายผู้ใช้ สามารถใช้ attribute-based encryption with keyword search (ABKS) ได้ เป็นต้น
ในขณะเดียวกัน เราสามารถนำกลไก SAE ที่เรียกว่า proxy re-encryption with keyword search (PRES) มาใช้กับ Health Link ได้ โดยกลไก proxy re-encryption คือการแปลงข้อมูลที่ถูกเข้ารหัสให้สามารถถูกถอดรหัสด้วยกุญแจใหม่ ซึ่งมีประโยชน์ในการจำกัดให้แพทย์ที่กำลังรักษาผู้ป่วยผู้เดียวสามารถค้นหา เรียกดู และถอดรหัสข้อมูลได้ โดยเฉพาะในกรณีฉุกเฉิน เมื่อระบบจำเป็นต้องให้สิทธิแพทย์เข้าถึงข้อมูลเพื่อช่วยชีวิตของผู้ป่วย* (หมายเหตุ: ปัจจุบัน การเข้าถึงข้อมูลผู้ป่วยในกรณีฉุกเฉินขึ้นอยู่กับนโยบายการขอความยินยอมในการเข้าถึงข้อมูลของแต่ละสถานพยาบาลซึ่งเป็นผู้ควบคุมข้อมูล) PRES จึงสามารถทำให้ Health Link มีความปลอดภัยและสามารถปกป้องความลับของข้อมูลได้ดียิ่งขึ้น
โครงการ Health Link ให้ความสำคัญกับความปลอดภัยและความลับของข้อมูลเป็นอันดับแรก โดย SE เป็นจุดเริ่มต้นของการยกระดับความปลอดภัยของระบบ และการรับประกันความลับของข้อมูลที่จัดเก็บ สืบค้น และเรียกดูจากฐานข้อมูลบน Cloud ในการนำกลไก SE มาประยุกต์ใช้กับ Web application เราควรประเมินความต้องการของระบบ ร่วมกับคุณสมบัติ ความปลอดภัย ประสิทธิภาพ และข้อจำกัดของการเข้าและถอดรหัส สืบค้น และเรียกดูข้อมูล เพื่อที่เราจะสามารถจัดการความปลอดภัยและความลับของข้อมูลให้ดีและเหมาะสมที่สุดสำหรับระบบของเรา อย่างไรก็ตาม ผู้สร้าง Web application จะต้องตระหนักเรื่องความปลอดภัยของระบบอยู่เสมอ เพราะการปกป้องความปลอดภัยและความลับของข้อมูล ไม่สามารถอาศัยการเข้ารหัสเพียงคำตอบเดียวและคำตอบเดิม ๆ ตลอดไป
แหล่งข้อมูล
อ่านเพิ่มเติมเกี่ยวกับกลไกการปกป้องความปลอดภัยของข้อมูล
- Differential Privacy และ Laplace Mechanism ด้วยตัวอย่างง่าย ๆ
- การพัฒนา AI ด้วยข้อมูลส่วนบุคคล โดยหลักการของ Federated Learning
เนื้อหาโดย เบญจ์ รักตันติโชค
ตรวจทานและปรับปรุงโดย อิสระพงศ์ เอกสินชล