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

วิธีปิดเสียงชัตเตอร์ของกล้อง – Galaxy S 21 Plus

วิธีปิดเสียงชัตเตอร์ของกล้อง – Galaxy S 21 Plus

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

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

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

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

Pi-hole คืออะไร?

Pi-hole คืออะไร?

เรียนรู้เกี่ยวกับ Pi-hole ตัวบล็อกโฆษณาที่ทำงานที่ระดับ DNS ซึ่งสามารถบล็อกโฆษณาได้ทั่วทั้งเครือข่ายของคุณ และวิธีการติดตั้งและใช้งานได้อย่างง่ายดาย

วิธีปลดล็อก iPhone โดยไม่ต้องใช้รหัสผ่านหรือคอมพิวเตอร์

วิธีปลดล็อก iPhone โดยไม่ต้องใช้รหัสผ่านหรือคอมพิวเตอร์

ลืมรหัสผ่านล็อคหน้าจอของ iPhone ของคุณ? ค้นหาวิธีปลดล็อก iPhone โดยไม่ต้องใช้รหัสผ่านหรือคอมพิวเตอร์ในบทความนี้

Active Heat Sink คืออะไร?

Active Heat Sink คืออะไร?

เรียนรู้เกี่ยวกับ Active Heat Sink และความแตกต่างจาก Passive Heat Sink พร้อมวิธีการทำงานและข้อดี

การปิดการซิงค์ข้อมูลอัตโนมัติในแอป Gmail

การปิดการซิงค์ข้อมูลอัตโนมัติในแอป Gmail

เรียนรู้วิธีปิดการซิงค์ข้อมูลอัตโนมัติในแอป Gmail เพื่อประหยัดข้อมูลมือถือและจัดการการตั้งค่าอีเมลของคุณให้มีประสิทธิภาพมากขึ้น

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

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

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

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

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

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

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 ออกจากพีซีของคุณในคำแนะนำทีละขั้นตอนนี้