Breaking News

การเข้ารหัสเชิงควอนตัม ตอนที่ 1 [บทความวิชาการ]

เนื่องจากหนึ่งในทีมงาน TechTalkThai กำลังศึกษาเกี่ยวกับการเข้ารหัสเชิงควอนตัม (Quantum Cryptography) และได้มีการเขียนบทความเชิงวิชาการ เรื่องพัฒนาการของการแจกจ่ายกุญแจเข้ารหัสเชิงควอนตัม ทางทีมงาน TechTalkThai จึงขอนำส่วนหนึ่งบทความนี้มาเผยแพร่ให้ผู้อ่านเข้าใจถึงหลักการทำงานของการเข้ารหัสเชิงควอนตัมเชิงลึกแบบง่ายๆ (มั้ง) ครับ


การเข้ารหัสคืออะไร

วิทยาการเข้ารหัส (Cryptography) เป็นกระบวนการทางคอมพิวเตอร์สำหรับทำให้การติดต่อสื่อสารระหว่าง 2 บุคคล (ขอใช้แทนด้วย Alice และ Bob) มีความปลอดภัย โดยที่บุคคลที่สาม (ใช้แทนด้วย Eve) ไม่สามารถแอบฟังข้อมูลที่แลกเปลี่ยนกันได้ เมื่อ Alice ส่งข้อความไปให้ Bob ข้อความนั้นจะถูกเข้ารหัสโดยใช้กุญแจเข้ารหัส (Secret Key) เมื่อ Bob ได้รับข้อความที่ถูกเข้ารหัส ก็จะทำการถอดรหัสโดยใช้กุญแจเข้ารหัสเดียวกัน ถึงแม้ว่า Eve จะสามารถดักฟังข้อมูลที่ส่งระหว่าง Alice และ Bob แต่ Eve ก็ไม่สามารถถอดรหัสเพื่อดูข้อมูลข้างในได้ การใช้กุญแจสำหรับเข้ารหัสและถอดรหัสร่วมกันระหว่าง 2 บุคคลแบบนี้ เรียกว่าการเข้ารหัสแบบสมมาตร (Symmetric-key Cryptography) [6]

ความแข็งแกร่งของการเข้ารหัสแบบสมมาตรขึ้นอยู่กับ 2 ปัจจัย คือ การแจกจ่ายกุญแจเข้ารหัส และอัลกอริธึมที่ใช้เข้ารหัส [4] ซึ่งในปัจจุบันนี้ ได้มีการนำกลศาสตร์ควอนตัม (Quantum Mechanics) เข้ามาใช้เพื่อให้การเข้ารหัสมีความปลอดภัยมากยิ่งขึ้น

  • การแจกจ่ายกุญแจเข้ารหัสโดยใช้กลศาสตร์ควอนตัม เรียกว่า การแจกจ่ายกุญแจเข้ารหัสเชิงควอนตัม (Quantum Key Distribution; QKD)
  • การนำกลศาสตร์ควอนตัมมาใช้เสริมความแข็งแกร่งของอัลกอริธึมในการเข้ารหัสถูกเรียกว่า Post-quantum Cryptography [15]

การแจกจ่ายกุญแจเข้ารหัสเชิงควอนตัม (Quantum Key Distribution)

วิทยาการเข้ารหัสเชิงควอนตัม เป็นเทคโนโลยีการเข้ารหัสที่ถูกนำเสนอขึ้นมาเป็นครั้งแรกโดย Stephen Wiesner ในช่วงต้นทศวรรษ 1970 เทคโนโลยีดังกล่าวเป็นการใช้ปรากฏการณ์ทางฟิสิกส์ควอนตัมในการทำให้ช่องการสื่อสารระหว่าง 2 บุคคลบนระบบเครือข่ายมีความปลอดภัย ต่อมาในปี 1984 Charles Bennet และ Gilles Brassard ได้พัฒนาต่อยอดเพื่อใช้กลศาสตร์ควอนตัมในการแจกจ่ายกุญแจเข้ารหัส และเรียกอัลกอริธึมที่ใช้ว่า BB84 ซึ่งภายหลังได้ถูกนำมาใช้งานกันอย่างแพร่หลายในปัจจุบัน [18] การแจกจ่ายกุญแจเข้ารหัสเชิงควอนตัมมีจุดเด่น คือ ผู้ส่งและผู้รับสามารถตรวจจับได้ว่า กุญแจการเข้ารหัสถูกแอบดังฟังหรือเก็บข้อมูลโดยบุคคลที่สาม โดยอาศัยคุณสมบัติของกลศาสตร์ควอนตัม [2]

นอกจากอัลกอริธึม BB84 แล้ว ในปัจจุบันยังมีอัลกอริธึมที่ใช้สำหรับแจกจ่ายกุญแจเข้ารหัสอีกมากมาย เช่น B92, Entanglement-based QKD, QBC และอื่นๆ [9] ซึ่งในบทความนี้จะโฟกัสที่ BB84 ซึ่งเป็นอัลกอรึธึมที่แพร่หลายและใช้งานเยอะที่สุด

อัลกอริธึม BB84 [2]

แนวคิดพื้นฐานของ QKD คือ การแลกเปลี่ยนกุญแจเข้ารหัสที่ถูก encode ด้วยการโพลาไรเซชันของโฟตอนเดี่ยวผ่านแกนมูลฐาน (Polarizing Single Photon along Bases) ซึ่งแกนมูลฐานนั้น คือ คู่ของสถานะการตั้งฉาก โดย BB84 ใช้แกนมูลฐาน 2 แบบ คือ แบบตรง (Rectilinear) และแบบทแยง (Diagonal)

  • แกนมูลฐานแบบตรงทำให้เกิดการโพลาไรเซชัน 2 แนว คือ แนวนอน (0º) และแนวตั้ง (90º)
  • แกนมูลฐานแบบทแยงทำให้เกิดการโพลาไรเซชัน 2 แนว คือ แนวทแยงขวา (45º) และแนวทแยงซ้าย (135º)

ซึ่งโฟตอนเดี่ยวที่ผ่านการโพลาไรเซชันนั้น จะเก็บข้อมูลจำนวน 1 บิท ยกตัวอย่างเช่น แนวตั้งและแนวทแยงซ้ายแทนบิท “0” ส่วนแนวนอนและแนวทแยงขวาแทนบิท “1” ดังแสดงในรูปด้านล่าง

รูปที่ 1 ตัวอย่าง Bit Encoding [8]
รูปที่ 1 ตัวอย่าง Bit Encoding [8]
ขั้นตอนที่ 1: Alice สร้างกุญแจควอนตัม (Quantum Key) โดยสุ่มบิท 0, 1 และสุ่มแกนมูลฐานที่จะใช้คู่กับแต่ละบิท จากนั้น Alice จะทำการสร้างตารางสถานะการโพลาไรเซชันของโฟตอนจากค่าของบิท 0, 1 และแกนมูลฐานเหล่านั้น ดังแสดงในรูปที่ 2 เมื่อเตรียมตารางเรียบร้อยแล้ว Alice จะทำการส่งกุญแจควอนตัมในรูปของโฟตอนที่ผ่านการโพลาไรเซชันไปยัง Bob

qkd_2
รูปที่ 2 ตาราง Bit Encoding ของ Alice

ขั้นตอนที่ 2: เนื่องด้วยคุณสมบัติของกลศาสตร์ควอนตัม การจำแนกความแตกต่างระหว่างสถานะการโพลาไรเซชันของโฟตอนทั้ง 4 รูปแบบนั้นไม่สามารถทำได้ Bob จำเป็นต้องสุ่มเลือกแกนมูลฐานมา 1 แกน เพื่อใช้วัดสถานะการโพลาไรเซชันของโฟตอน (Bob ไม่รู้ว่า Alice ใช้แกนมูลฐานใดในการ encode)

  • ถ้า Bob เลือกแกนมูลฐานตรงกับ Alice ทำให้ Bob สามารถวัดสถานะการโพลาไรเซชันได้ถูกต้อง ส่งผลให้ Bob ได้ค่าบิท 0, 1 ของกุญแจควอนตัมที่ Alice ส่งให้
  • ถ้า Bob เลือกแกนมูลฐานผิด ผลลัพธ์ของสถานะการโพลาไรเซชันที่ Bob วัดได้จะปรากฏแบบสุ่ม นั่นคือ Bob มีโอกาสได้บิท 0, 1 ของกุญแจควอนตัมที่ถูกต้อง 50%

ขั้นตอนที่ 3: หลังจากที่ Bob ได้รับโฟตอนและทำการวัดค่าบิทแล้ว Alice และ Bob จะทำการแลกเปลี่ยนข้อมูลแกนมูลฐานที่ใช้ผ่านช่องทางสื่อสารธรรมดา ซึ่งต่อให้ Eve ดักฟังข้อมูลดังกล่าว ก็จะทราบเพียงแค่ว่า Alice และ Bob ใช้แกนมูลฐานใด แต่ไม่ทราบค่าบิทของกุญแจควอนตัม จากนั้น Alice และ Bob จะนำบิทของกุญแจควอนตัมที่ใช้แกนมูลฐานแตกต่างกันทิ้งไป และเลือกใช้บิทที่เหลือสำหรับเป็นกุญแจสำหรับการเข้ารหัสแบบสมมาตร (Symmetric Key) ร่วมกัน [2]

รูปที่ 3 แสดงตัวอย่างของบิทที่ถูกสุ่มเพื่อใช้เป็นกุญแจควอนตัม, แกนมูลฐานของ Alice, แกนมูลฐานของ Bob ที่ใช้วันสถานะการโพลาไรเซชัน, และผลลัพธ์ของกุญแจเข้ารหัส

รูปที่ 3 ตัวอย่างการสร้างกุญแจเข้ารหัสร่วมโดยใช้ QKD [18]
รูปที่ 3 ตัวอย่างการสร้างกุญแจเข้ารหัสร่วมโดยใช้ QKD [18]

การตรวจจับการถูกดักฟัง

QKD ตั้งอยู่บนหลักของกลศาสตร์ควอนตัม 2 ข้อ คือ

  • หลักความไม่แน่นอนของไฮเซนเบิร์ก (Heisenberg Uncertainty Principle) ระบุว่า การวัดสถานะการโพลาไรเซชันของโฟตอนนั้น ไม่สามารถทำได้โดยไม่รบกวนระบบ
  • หลักการโพลาไรเซชันของโฟตอน ระบุว่า เนื่องจากทฤษฎีบท No-cloning ทำให้บุคคลที่สามไม่สามารถคัดลอกสถานะควอนตัมที่ไม่ทราบได้

จากหลักการ 2 ข้อนี้ ทำให้ Alice และ Bob สามารถทราบได้ทันทีว่า กุญแจควอนตัมถูกแอบดักฟังหรือสืบข้อมูลโดย Eve หรือไม่ [20]

วิธีที่ง่ายที่สุดในการดักฟังกุญแจควอนตัม คือ การโจมตีแบบดักจับ-ส่งต่อ (Intercept-resend Attack) ซึ่ง Eve จะทำการวัดค่าสถานะการโพลาไรเซชันของโฟตอนที่ส่งมาโดย Alice จากนั้นก็จะทำการส่งสถานะใหม่ที่หน้าตาเหมือนเดิมให้ Bob แทน แต่เช่นเดียวกันกับ Bob ตัว Eve เองก็ไม่ทราบแกนมูลฐานที่ใช้ encode บิทของกุญแจควอนตัม Eve จึงจำเป็นต้องสุ่มแกนมูลฐานขึ้นมาเพื่อวัดโฟตอน

  • ถ้า Eve เลือกแกนมูลฐานถูก Eve จะสามารถวัดค่าสถานะการโพลาไรเซชันที่ถูกส่งมาโดย Alice ได้ถูกต้อง จากนั้น Eve ก็จะส่งสถานะการโพลาไรเซชันเดียวกันต่อไปยัง Bob ในกรณีนี้ ถือว่า Eve สามารถดักฟังข้อมูลของกุญแจควอนตัมได้สำเร็จโดยที่ Alice และ Bob ไม่สามารถตรวจจับได้
  • ถ้า Eve เลือกแกนมูลฐานผิด ผลลัพธ์การวัดค่าก็จะเป็นแบบสุ่มเช่นเดียวกันกับ Bob เมื่อ Eve ทำการส่งสถานะการโพลาไรเซชันดังกล่าว (แกนมูลฐานไม่เหมือน Alice) ต่อไปยัง Bob ถ้า Bob เลือกแกนมูลฐานเดียวกับ Alice แล้ว Bob จะวัดค่าบิทได้แบบสุ่ม แทนที่จะได้ค่าถูกต้อง Alice และ Bob สามารถตรวจจับความผิดปกตินี้ได้ตอนที่แลกเปลี่ยนแกนมูลฐานกันในขั้นตอนที่ 3 ที่เพิ่งกล่าวไป [1]
รูปที่ 4 ตัวอย่างการโจมตีแบบดักจับ-ส่งต่อ ซึ่ง QKD สามารถตรวจจับความผิดปกติได้
รูปที่ 4 ตัวอย่างการโจมตีแบบดักจับ-ส่งต่อ ซึ่ง QKD สามารถตรวจจับความผิดปกติได้

การใช้ QKD ในชีวิตจริง

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

  • อย่างน้อย 5 เครือข่ายควอนตัมทั่วโลกที่ใช้ QKD เพื่อเพิ่มความปลอดภัยในช่องทางสื่อสาร เช่น DARPA QKD network, SECOQC QKD network ในเวียนนา, Hierarchical network ในจีน, SwissQuantum และ Tokyo QKD Network
  • ธนาคารออสเตรียเป็นธนาคารแห่งแรกของโลกใช้วิทยาการเข้ารหัสเชิงควอนตัม [19]
  • ปี 2007 วิทยาการเข้ารหัสเชิงควอนตัมถูกใช้เพื่อเข้ารหัสข้อมูลการเลือกตั้งของสวิสเซอร์แลนด์ [12]
  • ข่าวล่าสุดจาก Telegraph ระบุว่า ประเทศจีนกำลังสร้างการเข้ารหัสเชิงควอนตัมระหว่างเมืองปักกิ่งและเซี่ยงไฮ้ [14]
  • หลายบริษัทให้บริการโซลูชันวิทยาการเข้ารหัสเชิงควอนตัม เช่น Centauris CN8000 Encryptor ของ ID Quantique ที่ใช้เทคนิค QKD ในการเพิ่มความปลอดภัยของช่องทางสื่อสาร โดยให้ประสิทธิภาพสูงถึง 100 Gbps [13]

สำหรับตอนถัดไป ทีมงาน TechTalkThai จะพูดถึงเรื่องการโจมตีและแฮ็คระบบวิทยาการเข้ารหัสเชิงควอนตัมและงานวิจัยในปัจจุบันที่ออกแบบการเข้ารหัสเชิงควอนตัมเพื่อป้องกันการโจมตีดังกล่าวนะครับ สำหรับบทความวิชาการฉบับเต็ม สามารถอ่านได้ที่ https://www.techtalkthai.com/wp-content/uploads/2015/05/Development_of_QKD.pdf

ตอนที่ 2: https://www.techtalkthai.com/quantum-key-distribution-part-2/

เจ้าของบทความ: สุธีร์ กิจเจริญการกุล หนึ่งในทีมงาน TechTalkThai

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

[1] Aggarwal, R., Sharma, H. and Gupta, D. (2011). Analysis of Various Attacks over BB84 Quantum Key Distribution Protocol. International Journal of Computer Applications, [online] 20(8), pp.28-29. Available at: http://www.ijcaonline.com/volume20/number8/pxc3873313.pdf [Accessed 4 Apr. 2015].

[2] Bennett, C. and Brassard, G. (1984). Quantum Cryptography: Public Key Distribution and Coin Tossing. In: International Conference on Computers, Systems & Signal Processing. [online] Bangalore, India. Available at: https://www.cs.ucsb.edu/~chong/290N-W06/BB84.pdf [Accessed 1 Apr. 2015].

[3] Blumenthal, M. (2013). Encryption: Strengths and Weaknesses of Public-key Cryptography. Undergraduate. Villanova University.

[4] Delfs, H. and Knebl, H. (2007). Introduction to cryptography. Berlin: Springer, pp.1-12.

[5] Haitjema, M. (2007). A Survey of the Prominent Quantum Key Distribution Protocols. [online] Washington University in St.Louis. Available at: http://www.cse.wustl.edu/~jain/cse571-07/ftp/quantum/ [Accessed 4 Apr. 2015].

[6] Lace, L., Scegulnaja-dubrovska, O., Usovs, R. and Zalcmane, A. (2008). Quantum Cryptographic Key Distribution Protocols. The European Social Fund (ESF).

[7] Messmer, E. (2007). Quantum cryptography to secure ballots in Swiss election. [online] Network World. Available at: http://www.networkworld.com/article/2286834/lan-wan/quantum-cryptography-to-secure-ballots-in-swiss-election.html [Accessed 31 Mar. 2015].

[8] Messmer, E. (2013). Quantum crypto, standard private key blended for first time. [online] Network World. Available at: http://www.networkworld.com/article/2172821/security/quantum-crypto–standard-private-key-blended-for-first-time.html [Accessed 31 Mar. 2015].

[9] Moore, M. (2014). China builds computer network impenetrable to hackers. [online] The Telegraph. Available at: http://www.telegraph.co.uk/news/worldnews/asia/china/11216766/China-builds-computer-network-impenetrable-to-hackers.html [Accessed 31 Mar. 2015].

[10] Nitaj, A. (n.d.). Quantum and Post Quantum Cryptography. [online] Available at: http://www.math.unicaen.fr/~nitaj/postquant.pdf [Accessed 31 Mar. 2015].

[11] Scholz, M. (2007). Quantum Key Distribution via BB84: An Advanced Lab Experiment. 1st ed. [ebook] pp.1-7. Available at: http://www.physik.hu-berlin.de/nano/lehre/f-praktikum/qkr/crypto.pdf [Accessed 1 Apr. 2015].

[12] SECOQC, (2004). World Premiere: Bank Transfer via Quantum Cryptography Based on Entangled Photons. [online] Available at: http://www.secoqc.net/downloads/pressrelease/Banktransfer_english.pdf [Accessed 1 Apr. 2015].

[13] Sharbaf, M. (2009). Quantum Cryptography: A New Generation of Information Technology Security System. 2009 Sixth International Conference on Information Technology: New Generations.


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

Source Code และ Credential ของธนาคาร Scotiabank รั่วบน GitHub นานนับเดือน

TheRegister ได้ออกมารายงานถึงกรณีที่ Source Code และ Credential ของธนาคาร Scotiabank ถูกเปิดเผยสู่สาธารณะบน GitHub เป็นเวลายาาวนานนับเดือน โดยมีการสันนิษฐานว่าเหตุนี้เกิดขึ้นจากการที่พนักงานของธนาคารนั้นตั้งค่าการทำงานของระบบผิดพลาด

Sponsored Webinar: แนะนำ Microsoft Power BI โซลูชันการวิเคราะห์เชิงธุรกิจฉบับเริ่มต้น

Ingram Micro ขอเรียนเชิญเหล่า IT Manager, Business Analyst, System Admin และผู้ที่สนใจเข้าร่วมฟังบรรยายพิเศษในหัวข้อเรื่อง “แนะนำ Microsoft Power BI โซลูชันการวิเคราะห์เชิงธุรกิจฉบับเริ่มต้น” …