Privacy in The Sharing Realm

K. Suksomboon
5 min readDec 20, 2020

ความเป็นส่วนตัวในโลกของการแบ่งปันข้อมูล

Privacy in cats’ space

บทนำ

“ปฏิเสธไม่ได้ว่าปี 2020 เป็นยุคแห่ง “Data Culture” หรือ วัฒนธรรมข้อมูล ที่ผู้คนในสังคมต่างให้คุณค่ากับการร่วมกันแบ่งปันและใช้ข้อมูลจำนวนมากเพื่อช่วยในการตัดสินใจ แต่กลับสวนทางกับความต้องการความเป็นส่วนตัวในโลกของปัจเจกชน!”

ถ้าหากจะกล่าวว่า “ข้อมูลเปลี่ยนโลก” ดูจะไม่ผิดนัก ดังจะเห็นได้จากมูลค่าทางการตลาดสูงขึ้นของบริษัทที่ถือครองข้อมูลส่วนใหญ่ของโลก เช่น Google, Facebook, Twitter และ AWS ซึ่งสวนทางกับมูลค่าทางการตลาดของบริษัทน้ำมันทั่วโลกวัฒนธรรมข้อมูล (Data culture) ที่ประสบความสำเร็จจะมุ่งไปสู่การแบ่งปันข้อมูลเพื่อนำไปต่อยอดทางความคิดและการตัดสินใจที่แม่นยำ

สรรพสิ่งพูดได้ (Internet of Things (IoT)) มีส่วนในการสร้างวัฒนธรรมข้อมูลให้เกิดขึ้นอย่างแพร่หลายและรวดเร็วในไม่กี่ปีที่ผ่านมาเราได้ตื่นเต้นกับความสามารถในการเชื่อมต่อสิ่งต่างๆ ด้วยอินเทอร์เน็ตและเมื่อข้อมูลจากสรรพสิ่งถูกส่งผ่านอินเทอร์เน็ตเข้าไปประมวลผลในคลาวด์แล้วผลการคำนวณนั้นถูกส่งกลับมาเป็นผลลัพธ์ที่น่ามหัศจรรย์ ไม่ว่าจะเป็นกรณีที่นาฬิกาบนข้อมือบอกคุณว่าลักษณะการนอนหลับของคุณทำให้คุณเสี่ยงในการเป็นโรคหัวใจ หรือเมื่อขับรถผ่านสถานที่ท่องเที่ยวแล้วมีผลการคำนวณและการทำนายที่แม่นยำจำเป็นต้องอาศัยปริมาณข้อมูลจำนวนมาก ยิ่งมาก ยิ่งหลากหลาย ยิ่งแม่น จริงอยู่ที่การร่วมกันแบ่งปันข้อมูลต่างๆ มีส่วนช่วยให้โลกนี้ดีขึ้นและคุณภาพชีวิตของเราดีขึ้น แต่หากมองในมุมกลับสรรพสิ่งพูดกำลังทำให้เราสูญเสียความเป็นส่วนตัว เปรียบเสมือนเรากำลังถูกสอดแนมด้วยสรรพสิ่งรอบๆ ตัวเรา และเราอาจจะไม่ยินดีนักถ้าหากบริษัทประกันเพิ่มเบี้ยประกันสุขภาพแบบอัตโนมัติเมื่อผลการนอนหลับของเราในแต่ละวันบ่งชี้ความเสี่ยงในการเกิดโรคร้ายข้อความโฆษณาของร้านอาหารดังๆ และร้านคาเฟ่ชิคๆ ในระแวกนั้นเข้ามาในมือถือ หรือเมื่อขับรถฝ่าไฟแดงกลางสี่แยกที่ไร้ตำรวจจราจรแต่กลับมีใบเสร็จเรียกเก็บค่าปรับส่งตรงถึงบ้าน การได้มาซึ่งผลลัพธ์ของการคำนวณและผลการทำนายที่มหัศจรรย์เหล่านั้นเป็นผลมาจากการร่วมมือกันของสรรพสิ่งรอบตัวเราและคนอื่นๆ ที่ร่วมกันส่งข้อมูลของมันไปประมวลผลในคลาวด์เจ้าของคลาวด์เองก็ใช้โอกาสนี้ในการนำเอาข้อมูลจำนวนมหาศาลเหล่านั้นมาสรรค์สร้างเป็นโมเดลการทำนายที่แม่นยำ

Sharing without sharing

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

เข้ารหัสข้อมูลด้วยขนมไหว้พระจันทร์

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

ปนเปื้อนเพื่ออำพราง | Secure Multiparty Computation (MPC)

ในช่วงปี 1980 Andrew Yao ได้คิดค้นวิธีการแชร์ข้อมูลเพื่อคำนวณผลลัพธ์ของกลุ่มโดยที่ข้อมูลของแต่ละคนไม่ถูกเปิดเผย เรียกว่า Secure Multiparty Computation (MPC) [1] วิธีการนี้อาศัยหลักการคำนวณร่วมกันของทุกคนในกลุ่มโดยสร้างข้อตกลงร่วมกันในการสื่อสาร และมีการปนเปื้อนข้อมูลอื่นไปกับข้อมูลจริง ทำให้ข้อมูลจริงของแต่ละฝ่ายไม่ถูกเปิดเผย แต่คงไว้ซึ่งผลลัพธ์ของการคำนวณที่ถูกต้อง

ตัวอย่างต่อไปนี้เป็นตัวอย่างการปนเปื้อนข้อมูลอื่นไปกับข้อมูลจริง ที่ทำให้ข้อมูลจริงไม่ถูกเปิดเผย

1. ปัญหาการโหวตของ 2 คน

เมื่อ Iron Man และ Captain America ต้องการโหวตเพื่อลงความเห็นว่า Batman ควรมาร่วมทีม Avengers หรือไม่ข้อตกลงง่ายๆ ของทั้งสองคือ ทั้งสองคนจะได้รับไพ่คนละสองใบ ใบหนึ่งคือ King และอีกใบคือ Queen และทั้งสองมีข้อตกลงร่วมกันว่า ถ้า Iron Man โหวตให้ Batman มาร่วมทีม ให้วางไพ่ King ก่อนแล้วตามด้วยไพ่ Queen ในขณะที่ถ้า Captain America โหวตให้ Batman มาร่วมทีม ให้วางไพ่ Queen ก่อนแล้วตามด้วยไพ่ King จากนั้นให้วางไพ่ King แบบคว่ำหน้าไว้กลางโต๊ะ 1 ใบ โดยให้ Iron Man วางไพ่ของตัวเองแบบคว่ำหน้าก่อนแล้วตามด้วยไพ่ของ Captain America แบบคว่ำหน้าเช่นกัน จากนั้นนำผลที่ได้จากการวางไพ่มาจัดเรียงเป็นวงกลมโดยไม่รู้ลำดับของไพ่ ถ้าผลที่ได้มีไพ่ Queen วางเรียงติดกัน Batman ควรมาร่วมทีม Avengers แต่ในทางกลับกัน ถ้าไม่มีไพ่ Queen วางเรียงติดกัน นั่นหมายถึง Batman ไม่ควรมาร่วมทีม ผลจากการโหวตที่ได้ทำให้ทั้ง Batman, Iron Man และ Captain America ไม่มีใครรู้ว่าใครโหวตไม่ให้ Batman มาร่วมทีม ซึ่งมีเพียงเจ้าตัวเท่านั้นที่รู้คำตอบของตัวเอง แต่อย่างไรก็ตาม การวางไพ่ King ก่อนล่วงหน้าหนึ่งใบ และการใช้ไพ่สองใบสำหรับคำตอบของการโหวตของแต่ละคนเปรียบได้กับการปนเปื้อนข้อมูลบางอย่างเพื่อให้ยังคงสามารถรักษาความลับของแต่ละคนไว้ได้ ทั้งนี้ ความลับของการโหวตของทั้งสองจะยังคงปลอดภัยถ้าไม่มีใครคนใดคนหนึ่งโกง!

2. ตัวอย่างปัญหาการคำนวณยอดรวมของเงินบริจาคของกลุ่ม

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

3. ตัวอย่างการคำนวณผลรวมของเงินเดือนของคน 3 คน

สมมติให้ Alice มีเงินเดือน A, Bob มีเงินเดือน B และ Carolie มีเงินเดือน C ขั้นตอนแรกให้แต่ละคนทำการสุ่มตัวเลขขึ้นมา 3 ตัวที่เมื่อรวมกันจะได้เท่ากับเงินเดือนของตัวเอง (เช่น Alice สุ่มตัวเลขมาสามตัวได้แก่ a1, a2, a3 เมื่อ a1 + a2 + a3 = A) แล้วเก็บตัวเลขหนึ่งไว้กับตัวเอง (Alice เก็บ a1) และส่งตัวเลขที่เหลือให้อีกสองคนคนละตัว (Alice ส่ง a2 ให้ Bob และ a3 ให้ Carolie) เมื่อทำเช่นเดียวกันนี้ทั้งสามคน ทุกคนจะได้รับตัวเลขทั้งหมด 3 ชุด (Alice ได้รับ a1,b1, c1, Bob ได้รับ a2, b2, c2 และ Carolie ได้รับ a3, b3, c3) และแต่ละคนทำการหาผลรวมของทั้งสามจำนวนซึ่งมี ค่าเท่ากับ (a1+b1+c1+a2+b2+c2+a3+b3+c3 = A+ B+ C) ด้วยวิธีการนี้ข้อมูลเงินเดือนของทั้งสามคนไม่ถูกเปิดเผย

ข้อดีของวิธี MPC คือ การคำนวณอยู่บนพื้นฐานของตัวเลขที่ไม่ได้เข้ารหัสทำให้มีความซับซ้อนในการคำนวณน้อย (Low computation cost) และไม่ผิดพลาดเนื่องจากข้อมูลที่ปนเปื้อน แต่ทั้งนี้ต้องอาศัยการส่งข้อมูลระหว่างกันจำนวนหลายครั้ง (High communication cost) ดังนั้นวิธีนี้อาจจะไม่เหมาะในกรณีที่ผู้เข้าร่วมการคำนวณมีจำนวนมาก อย่างไรก็ตามแนวคิด Secure Multiparty Computation (MPC) ได้รับการพัฒนามาอย่างต่อเนื่องเพื่อลดความซับซ้อนในการส่งข้อมูลระหว่างกันและทนต่อการโกง ซึ่งได้ถูกนำมาใช้จริงในการคำนวณ Machine Learning [2]

ความเหมือนที่แตกต่าง | Homomorphic Encryption

การเข้ารหัสเป็นวิธีการหนึ่งที่ใช้ในการปกปิดข้อมูล ไม่ให้ใครก็ตามที่ไม่มีกุญแจสำหรับถอดรหัสล่วงรู้ได้ ซึ่งช่วยให้คุ้มครองความเป็นส่วนตัวของข้อมูลในการส่งผ่านข้อมูลไปยังตัวกลางอื่นๆ เช่น Advanced Encryption Standard (AES) [3], Data Encryption Standard (DES) [4] และ Blowfish [5] ที่มีใช้เป็นมาตรฐานใน OpenSSL แต่วิธีการเข้ารหัสโดยทั่วไปไม่สามารถนำเอาข้อมูลที่ถูกเข้ารหัสมาทำการคำนวณต่อได้โดยไม่ถอดรหัส ดังนั้นผู้ที่จะนำข้อมูลที่ถูกเข้ารหัสมาคำนวณได้นั้นต้องมีกุญแจสำหรับถอดรหัส ดังนั้น ทำให้การ Outsource computing ไปยังหน่วยประมวลผลกลาง หรือคลาวด์ ต้องเปิดเผยข้อมูลจริง

ดังนั้น จะเป็นไปได้หรือไม่ ที่จะมีฟังก์ชั่นการเข้ารหัส E( ) ที่สามารถคำนวณค่า E(x + y) และ E(xy) ได้อย่าง่ายๆ จากการคำนวณจาก E(x) และ E(y) (Feigenbaum & Merritt, 1991)? คำถามนี้ก่อให้เกิดความพยายามมากมายที่จะหาสูตรลับการคำนวณเพื่อมาตอบโจทย์นี้ แต่รู้หรือไม่ว่าความจริงแล้วปัญหานี้ความรู้ระดับเด็กมัธยมต้นก็สามารถตอบได้! ตัวอย่างของคุณสมบัติของฟังก์ชั่นลักษณะนี้สามารถพบได้ทั่วไป เช่น ฟังก์ชั่น logb(.) นั่นคือ logb(xy) = logb(x) + logb(y) ซึ่งเรียกว่าคุณสมบัติ Homomorphic ที่อาศัยความสัมพันธ์ของความเหมือนที่แตกต่างกันของกลุ่มตัวเลข 2 ระบบที่สมาชิกของทั้ง 2 ระบบไม่เหมือนกันแต่มีความเชื่อมโยงกัน

การเข้ารหัสด้วยวิธี Homomorphic Encryption เป็นวิธีการเข้ารหัสที่อาศัยการคำนวณทางคณิตศาตร์ ของ Groups, Rings, Fields หรือ Vector space ที่มีคุณสมบัติ Homomorphic ซึ่งทำให้ข้อมูลที่ถูกเข้ารหัสด้วย วิธี Homomorphic Encryption สามารถนำมาคำนวณต่อได้โดยไม่ต้องถอดรหัส และผลที่ได้จากการคำนวณนี้เมื่อถอดรหัสจะมีค่าเท่ากับผลที่ได้จากการคำนวณบนข้อมูลที่ไม่เข้ารหัส

วิธีการเข้ารหัสสำหรับส่งข้อมูลในอดีตก็ใช้หลักการนี้ นั่นคือ RSA (Rivest–Shamir–Adleman) [4] เป็น public-key cryptography แรกๆ ที่ถูกนำมาใช้ในการเข้ารหัสช่องสัญญาณสื่อสาร โดยมีคุณสมบัติ Homomorphic ของการคูณ การสร้างกุญแจสำหรับเข้ารหัสด้วยการสุ่มเลือกค่า prime number p และ q เพื่อคำนวณค่า private key d, public key e และ n เมื่อ n = p x q โดย กำหนดให้ e x d = 1 (mod (p-1) x (q -1)) หัวใจสำคัญของวิธีนี้คือ การอาศัยคุณสมบัติของเลข Prime number ซึ่งเป็นจำนวนที่ไม่มีเลขจำนวนเต็มใดที่มีค่าน้อยกว่าค่านั้นหารมันลงตัวนอกจาก 1 และเทคนิคการ modulo ด้วยผลคูณของเลข Prime number ที่เลือกมา คือ n การคำนวณหาค่า n สามารถทำได้ง่ายเมื่อเรารู้ค่า p และ q แต่การคำนวณย้อนกลับเพื่อหาค่า p และ q ทำได้ยากเมื่อรู้เพียงค่า n เมื่อเลือกค่า p และ q ที่มีขนาดใหญ่เพียงพอ ตัวอย่างเช่น RSA-129 [7] หมายถึง จำนวนบิทของค่า n = 129 ดิจิต นั่นคือ

n = 1 1438 1625 7578 8886 7669 2357 7997 6146 6120 1021 8296 7212 4236 2562 5618 4293 5706 9352 4573 3897 8305 9712 3563 9587 0505 8989 0751 4759 9290 0268 7954 3541

ซึ่งเป็นผลคูณจาก p ขนาด 64 ดิจิต และ q ขนาด 65 ดิจิต นั่นคือ

p = 3490 5295 1084 7650 9491 4784 9619 9038 9813 3417 7646 3849 3387 8439 9082 0577 และ

q = 3 2769 1329 9326 6709 5499 6198 8190 8344 6141 3177 6429 6799 2942 5397 9828 8533

ถ้าหากเรารู้ค่า n แล้วต้องการหาค่า p และ q ย้อนกลับแล้วเราอาจจะต้องใช้เวลาถึง 45 ชั่วโมง*

การเข้ารหัสข้อมูล m ทำได้โดยนำค่า public key e และ n มาคำนวณร่วมกับค่า m นั่นคือ E(m,e,n) = c = me mod n และ สามารถถอดรหัสได้ด้วยนำข้อมูลที่เข้ารหัส c มาถอดรหัสด้วย private key d นั่นคือ D(c,d) = m = cd

คุณสมบัติ Homomorphic ของการคูณของ RSA คือ ถ้ามีข้อมูล m1 และ m2 แล้วผลการเข้ารหัสของข้อมูลทั้งสองคือ

c1 และ c2 ตามลำดับ ผลคูณของการเข้ารหัส c1 x c2, = E(m1 x m2,e,n) นั่นคือ c1 = m1e mod n และ

c2 = m2e mod n

c1 x c2 = (m1e mod n) x (m2e mod n) = m1e x m2e mod n = (m1 x m2)e mod n

Paillier [5] เป็นวิธีการเข้ารหัสที่อาศัยคุณสมบัติ Homomorphic ของการบวก ที่ได้รับความนิยมในการนำมาประยุกต์ใช้ในงานคำนวณอย่างง่ายจนไปถึงการใช้ใน Face recognition ด้วย Eigenface [6] วิธีเข้ารหัสแบบ Paillier นี้เริ่มต้นจาก การสร้าง public key ด้วย modulus n และ base g การเข้ารหัสข้อมูล m ทำได้โดย E(m,g,n) = c = gmrn mod n โดย

ที่ r คือค่าสุ่มจาก r ∈ {1,2,…, n − 1}

คุณสมบัติ Homomorphic ของการบวกของ Paillier นั่นคือ ถ้ามีข้อมูล m1 และ m2 แล้วผลการเข้ารหัสของข้อมูลทั้งสองคือ c1 และ c2 ตามลำดับ ผลบวกของการเข้ารหัส c1 x c2 = E(m1 + m2,g,n) นั่นคือ

c1 = gm1rn mod n และ c2 = gm2rnmod n

c1 x c2 = gm1rn mod n x gm2rn mod n = (gm1rn x gm2rn) mod n = gm1+m2(r1r2)n mod n

ข้อดีของวิธีเข้ารหัสด้วย Homomorphic Encryption คือ สามารถปกป้องความเป็นส่วนตัวของข้อมูลได้โดยสามารถทำ Outsource computing ไปยังคลาวด์ วิธีนี้มีความซับซ้อนน้อยในการส่งข้อมูลระหว่างผู้เข้ารหัส หน่วยประมวลผลการคำนวณ และผู้ถอดรหัสเมื่อเปรียบเทียบกับวิธี MPC แต่อย่างไรก็ตาม วิธีนี้ต้องอาศัยการคำนวณของผู้เข้ารหัสและถอดรหัสที่ค่อนข้างซับซ้อน และต้องคำนวณกุญแจสำหรับเข้ารหัสและถอดรหัสข้อมูลและมีการแลกกุญแจระหว่างผู้เข้ารหัสและถอดรหัสอีกด้วย

ข้อสังเกต

วิธี MPC และ Homomorphic encryption มีความแตกต่างทั้งในแง่ของจุดประสงค์ในการออกแบบเพื่อใช้งาน นั่นคือMPC ถูกออกแบบมาในรูปแบบ Distributed Computing ที่ไม่ต้องอาศัยตัวกลาง Third Party เช่น คลาวด์ มาช่วยประมวลผลแต่การคำนวณทั้งหมดอาศัยทรัพยากรการประมวลผลบนหน่วยประมวลผลของเจ้าของข้อมูล ซึ่งต่างกับกรณี Homomorphic Encryption ที่สามารถส่งข้อมูลไปประมวลผลบนหน่วยประมวลผลของคลาวด์ได้ นอกจากนี้การเลือกวิธี MPC หรือ Homomorphic Encryption ไปใช้ให้เหมาะสมกับบริบทต่างๆ ควรคำนึงถึงปัจจัยต่างๆ ดังนี้

Cost : ค่าใช่จ่ายในการประมวลผล

Speed : ความเร็วในการได้ผลลัพธ์

Usability : การใช้งาน

Correctness : ความถูกต้องของผลลัพธ์

Centralization : ความช่วยเหลือจากคลาวด์

บทสรุป

โลกส่วนตัวในยุคของวัฒนธรรมข้อมูลสามารถเป็นจริงได้โดยการสร้างสมดุลของการเลือกที่จะแบ่งปันข้อมูลของสรรพสิ่งรอบตัวเราแบบไม่เปิดเผยตัวตนแต่ยังคงไว้ซึ่งส่วนรวมได้ประโยชน์จากข้อมูลที่เรามีอยู่ ด้วยวิธี MPC และ Homomorphic encryption อย่างไรก็ตาม การเลือกใช้แต่ละวิธีควรคำนึงถึงบริบทที่จะนำไปใช้ นั่นคือ วิธี MPC ถูกออกแบบมาเพื่อการกระจายการคำนวณ (Distributed computing) ซึ่งเหมาะกับกรณีที่ไม่ต้องการความซับซ้อนในการคำนวณเพื่อลดความผิดพลาดของผลการคำนวณ แต่จำเป็นต้องอาศัยคนกลางเพื่อควบคุมกติกาการคำนวณและการสื่อสาร ได้แก่ คลาวด์ หรือ Regulator ทั้งนี้ เนื่องจากวิธี MPC มีความซับซ้อนในการสื่อสารระหว่างหน่วยประมวลผลและผู้ถือครองข้อมูล ดังนั้น วิธี MPC อาจจะไม่เหมาะในกรณีที่จำนวนผู้ถือครองข้อมูลและผู้คำนวณข้อมูลมีจำนวนมาก ในขณะที่วิธี Homomorphic encryption ผู้ถือครองข้อมูลสามารถควบคุมกติกาเองได้ทั้งหมด แต่ต้องการอาศัยความสามารถในการประมวลผลจากคลาวด์ที่มีพลังการประมวลผลขนาดใหญ่ แต่วิธีนี้มีความซับซ้อนในการสร้างกุญแจและมีความซับซ้อนในการเข้ารหัสและถอดรหัส จึงเหมาะกับกรณีที่ต้องการรวบรวมข้อมูล (Aggregated data) เพื่อลดปริมาณการส่งข้อมูล

เอกสารอ้างอิง

[1] Andrew C. Yao, “Protocols for Secure Computations”, IEEE 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[2] Boura C., et al., “High-Precision Privacy-Preserving Real-Valued Function Evaluation,” In book: Financial Cryptography and Data Security (pp.183–202).

[3] Tom St Denis, Simon Johnson, “Advanced Encryption Standard”, In Cryptography for Developers, 2007.

[4] Ma K., Liang H., and Wu K., “Homomorphic Property-Based Concurrent Error Detection of RSA: A

Countermeasure to Fault Attack,” IEEE TRANSACTIONS ON COMPUTERS, VOL. 61, NO. 7, JULY 2012.

[5] Paillier P. (2005) Paillier Encryption and Signature Schemes. In: van Tilborg H.C.A. (eds) Encyclopedia of Cryptography and Security. Springer, Boston, MA .

[6] Erkin Z., et al., “Privacy-Preserving Face Recognition” In: Goldberg I., Atallah M.J. (eds) Privacy Enhancing Technologies. PETS 2009. Lecture Notes in Computer Science, vol 5672. Springer, Berlin, Heidelberg.

[7] Atkins D., Graff Michael., Lenstra A. K., Leyland P. C., The magic words are squeamish ossifrage. In: Pieprzyk J., Safavi-Naini R. (eds) Advances in Cryptology — ASIACRYPT’94. ASIACRYPT 1994. Lecture Notes in Computer Science, vol 917. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0000440.

--

--