Cryptographic Nonce คืออะไร?

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

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

การคาดเดาเนื้อหาของข้อความและคีย์เข้ารหัสที่ใช้เข้ารหัสนั้นเป็นเรื่องยากอยู่แล้ว แม้ว่าความแตกต่างของอักขระตัวเดียวในข้อความจะทำให้ความพยายามทั้งหมดไร้ประโยชน์ แต่ก็เป็นไปได้สำหรับข้อความสั้นๆ และเรียบง่ายเท่านั้น มิฉะนั้น มีการใช้ถ้อยคำและการใช้ถ้อยคำที่หลากหลายเกินไป และอาจเสี่ยงต่อการพิมพ์ผิดและคำแสลง แต่ถึงกระนั้นความเสี่ยงของความสามารถในการคาดเดาสิ่งต่าง ๆ ก็สูงเกินไป เพื่อทำให้สิ่งต่าง ๆ ยากขึ้น รูปแบบการเข้ารหัสส่วนใหญ่ต้องการค่าที่สามที่เรียกว่า “initialization vector” หรือเรียกสั้น ๆ ว่า IV

IV

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

ปัญหาทั้งหมดของการหลีกเลี่ยงการโจมตีด้วยการคำนวณล่วงหน้าคือการทำให้คาดเดาเนื้อหาของข้อความได้ยากยิ่งขึ้นไปอีก ด้วยเหตุนี้ คุณไม่สามารถเลือก IV หนึ่งรายการและยึดติดกับมันได้ คุณต้องเปลี่ยนมัน นอกจากนี้ การใช้ IV ที่แตกต่างกันในแต่ละครั้งจะทำให้การวิเคราะห์การเข้ารหัสของข้อความไซเฟอร์ที่เป็นผลลัพธ์ยากขึ้น เพื่อให้มีค่าเฉพาะที่เชื่อถือได้ คุณต้องใช้ "nonce" โดยเฉพาะ nonce ที่เข้ารหัส

nonce การเข้ารหัสเป็นค่าที่สร้างขึ้นโดย PRNG หรือ Pseudo Random Number Generator ที่ปลอดภัยในการเข้ารหัสซึ่งมีจุดประสงค์เพื่อใช้เพียงครั้งเดียว โดยปกติจะทำได้โดยการรวมการประทับเวลาบางรูปแบบไว้ในค่า

เคล็ดลับ:โดยเฉพาะอย่างยิ่งเมื่อต้องติดต่อกับเจ้าของภาษาที่ใช้ภาษาอังกฤษแบบบริติช จำเป็นอย่างยิ่งที่จะต้องใช้วลี “cryptographic nonce” โดยเฉพาะ แทนที่จะใช้แค่คำว่า “once” ในสหราชอาณาจักร “once” เป็นคำสแลงสำหรับเฒ่าหัวงู โดยทั่วไป เพื่อหลีกเลี่ยงความสับสน ควรใช้คำว่า cryptographic nonce โดยเฉพาะ

การใช้งานอื่น ๆ

แม้ว่ากรณีการใช้งานที่เป็นไปได้ส่วนใหญ่สำหรับค่าที่ไม่ซ้ำไม่จำเป็นต้องใช้หมายเลขสุ่มที่ปลอดภัยแบบเข้ารหัส แต่ nonce แบบเข้ารหัสก็เหมาะสมกับข้อกำหนด ตัวอย่างเช่น การโจมตีแบบเล่นซ้ำเป็นการโจมตีทางเว็บที่ผู้โจมตีส่งทราฟฟิกเดิมซ้ำๆ และเล่นซ้ำบ่อยๆ สมมติว่าคำขอนี้บอกให้เซิร์ฟเวอร์ใช้เวลาในการสร้างรายงาน ผู้โจมตีสามารถเพิ่มปริมาณงานที่ต้องการได้ด้วยการร้องขอซ้ำหลายครั้ง

บ่อยครั้งที่ผู้โจมตีสามารถปรับเปลี่ยนคำขอเล็กน้อยในแบบอัตโนมัติได้เช่นกัน ตัวอย่างเช่น หากร้านค้าออนไลน์ใช้หมายเลขผลิตภัณฑ์ตามลำดับใน URL ของหน้า ผู้โจมตีสามารถทำให้กระบวนการร้องขอทั้งหมดเป็นแบบอัตโนมัติได้

เพื่อหลีกเลี่ยงปัญหานี้ เซิร์ฟเวอร์สามารถจัดหาโทเค็นแบบใช้ครั้งเดียวให้กับเบราว์เซอร์ในแต่ละคำขอ เซิร์ฟเวอร์จะติดตามโทเค็นที่ใช้และลดการรับส่งข้อมูลที่ไม่มีโทเค็นที่ถูกต้องและไม่ได้ใช้โดยอัตโนมัติ ในสถานการณ์สมมตินี้ โทเค็นต้องไม่ซ้ำกันและไม่ควรใช้ซ้ำ ดังนั้น nonce การเข้ารหัสจึงเหมาะสมกับการเรียกเก็บเงิน

บทสรุป

Nonce ที่เข้ารหัสคือหมายเลขสุ่มที่ปลอดภัยด้วยการเข้ารหัสซึ่งควรใช้เพียงครั้งเดียว การทำเช่นนี้ทำให้การโจมตีแบบ precomputation เป็นไปไม่ได้ ในขณะที่ไม่ต้องการการเข้ารหัสแบบ nonce เองให้เป็นความลับ การใช้งานหลักคือเป็นเวกเตอร์เริ่มต้นในโครงร่างการเข้ารหัส

คำนี้มักอ้างว่าหมายถึง "หมายเลขที่ใช้ครั้งเดียว"; อย่างไรก็ตาม นี่เป็นนิรุกติศาสตร์ที่ผิด คำนี้มาจากภาษาอังกฤษยุคกลางเพื่อหมายถึงสิ่งที่ใช้ครั้งเดียวหรือชั่วคราว อย่างไรก็ตาม แนวคิด "หมายเลขที่ใช้ครั้งเดียว" ช่วยอธิบายว่า nonce เข้ารหัสมีไว้เพื่ออะไร เพื่อช่วยให้บรรลุเป้าหมายนี้ มักจะมีการประทับเวลาบางรูปแบบ



Leave a Comment

วิธีการโคลนฮาร์ดไดรฟ์

วิธีการโคลนฮาร์ดไดรฟ์

ในยุคดิจิทัลสมัยใหม่ ที่ข้อมูลเป็นทรัพย์สินที่มีค่า การโคลนฮาร์ดไดรฟ์บน Windows อาจเป็นกระบวนการที่สำคัญสำหรับหลายๆ คน คู่มือที่ครอบคลุมนี้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

คุณกำลังเผชิญกับข้อความแสดงข้อผิดพลาดขณะบูตเครื่องคอมพิวเตอร์ซึ่งระบุว่าไดรเวอร์ WUDFRd ไม่สามารถโหลดบนคอมพิวเตอร์ของคุณได้ใช่หรือไม่?

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

คุณพบประสบการณ์รหัสข้อผิดพลาด NVIDIA GeForce 0x0003 บนเดสก์ท็อปของคุณหรือไม่? หากใช่ โปรดอ่านบล็อกเพื่อดูวิธีแก้ไขข้อผิดพลาดนี้อย่างรวดเร็วและง่ายดาย

Roomba Stops, Sticks and Turns Around – Fix

Roomba Stops, Sticks and Turns Around – Fix

Fix a problem where your Roomba robot vacuum stops, sticks, and keeps turning around.

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

คุณจำเป็นต้องลบ GPU ออกจากพีซีของคุณหรือไม่? เข้าร่วมกับฉันในขณะที่ฉันอธิบายวิธีลบ GPU ออกจากพีซีของคุณในคำแนะนำทีละขั้นตอนนี้

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

ซื้อ NVMe M.2 SSD ใหม่ แต่ไม่รู้ว่าจะติดตั้งอย่างไร? อ่านเพื่อเรียนรู้วิธีติดตั้ง NVMe SSD บนแล็ปท็อปหรือเดสก์ท็อป

Logic Bomb คืออะไร?

Logic Bomb คืออะไร?

ลอจิกบอมบ์คือเหตุการณ์ด้านความปลอดภัยที่ผู้โจมตีดำเนินการล่าช้า อ่านต่อเพื่อหาข้อมูลเพิ่มเติม

SoC คืออะไร?

SoC คืออะไร?

หากคุณเคยดูภายในพีซีทาวเวอร์ คุณจะเห็นว่ามีส่วนประกอบต่างๆ มากมาย แล็ปท็อปทั่วไปของคุณมีส่วนประกอบที่เหมือนกันเป็นส่วนใหญ่

การเข้ารหัสแบบอสมมาตรคืออะไร?

การเข้ารหัสแบบอสมมาตรคืออะไร?

อัลกอริธึมการเข้ารหัสแบบอสมมาตรใช้สองคีย์ที่แตกต่างกัน คีย์หนึ่งใช้สำหรับเข้ารหัสและอีกคีย์หนึ่งสำหรับถอดรหัส

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck มีตัวเลือกพื้นที่เก็บข้อมูลสามแบบ: 64GB eMMC, 256GB NVMe SSD และ 512GB NVMe SSD ขึ้นอยู่กับคลังเกมของคุณและขนาดของเกม