อ่าน 5 นาที
ระดับความปลอดภัย
ในการเข้ารหัสลับ ระดับความปลอดภัย คือการวัดความแข็งแกร่งที่ ฟังก์ชันการเข้ารหัสลับ เช่น รหัสลับ หรือ ฟังก์ชันแฮช สามารถทำได้ ระดับความปลอดภัยมักแสดงเป็นจำนวน " บิต ของความปลอดภัย"...
ระดับความปลอดภัย
ในการเข้ารหัสลับระดับความปลอดภัยคือการวัดความแข็งแกร่งที่ฟังก์ชันการเข้ารหัสลับเช่นรหัสลับหรือฟังก์ชันแฮชสามารถทำได้ ระดับความปลอดภัยมักแสดงเป็นจำนวน " บิตของความปลอดภัย" (หรือความแข็งแกร่งของความปลอดภัย ) [ 1 ]โดยที่ ความปลอดภัย nบิตหมายความว่าผู้โจมตีจะต้องดำเนินการ 2 nครั้งเพื่อทำลายมัน[ 2 ]แต่มีการเสนอวิธีการอื่น ๆ ที่จำลองต้นทุนสำหรับผู้โจมตีได้แม่นยำยิ่งขึ้น[ 3 ]วิธีนี้ช่วยให้สามารถเปรียบเทียบระหว่างอัลกอริธึมได้อย่างสะดวก และมีประโยชน์เมื่อรวมฟังก์ชันพื้นฐานหลายอย่างในระบบการเข้ารหัสแบบไฮบริดดังนั้นจึงไม่มีจุดอ่อนที่ชัดเจน ตัวอย่างเช่นAES -128 ( ขนาดคีย์ 128 บิต) ได้รับการออกแบบมาเพื่อให้มีระดับความปลอดภัย 128 บิต ซึ่งถือว่าเทียบเท่ากับRSAที่ใช้คีย์ 3072 บิต โดยประมาณ
ในบริบทนี้การอ้างสิทธิ์ด้านความปลอดภัยหรือระดับความปลอดภัยเป้าหมาย คือระดับความปลอดภัยที่ส่วนประกอบพื้นฐานได้รับการออกแบบมาเพื่อให้บรรลุในตอนแรก แม้ว่าบางครั้งจะใช้คำ ว่า"ระดับความปลอดภัย" ในบริบทเหล่านั้นก็ตาม เมื่อพบการโจมตีที่มีต้นทุนต่ำกว่าการอ้างสิทธิ์ด้านความปลอดภัย ส่วนประกอบพื้นฐานจะถือว่าเสียหาย[ 4 ] [ 5 ]
ในการเข้ารหัสแบบสมมาตร
อัลกอริทึมแบบสมมาตรมักมีการกำหนดข้อเรียกร้องด้านความปลอดภัยที่เข้มงวด สำหรับการเข้ารหัสแบบสมมาตรโดยทั่วไปแล้วจะเท่ากับขนาดของคีย์ของการเข้ารหัส ซึ่งเทียบเท่ากับความซับซ้อนของ การโจมตี แบบเดาสุ่ม[ 5 ] [ 6 ]ฟังก์ชันแฮชการเข้ารหัสที่มีขนาดเอาต์พุตnบิต มักจะมีระดับความปลอดภัยของการชนกันที่n /2 และระดับความต้านทานต่อภาพก่อนหน้าที่nเนื่องจากการโจมตีแบบวันเกิด ทั่วไป สามารถค้นหาการชนกันได้ใน 2n /2ขั้นตอน เสมอ [ 7 ]ตัวอย่างเช่นSHA-256มีความต้านทานต่อการชนกัน 128 บิตและความต้านทานต่อภาพก่อนหน้า 256 บิต
อย่างไรก็ตาม มีข้อยกเว้นบางประการPhelixและ Helix เป็นการเข้ารหัสแบบ 256 บิตที่ให้ระดับความปลอดภัย 128 บิต[ 5 ] [ 8 ]ตัวแปร SHAKE ของSHA-3ก็แตกต่างกันเช่นกัน: สำหรับขนาดเอาต์พุต 256 บิต SHAKE-128 ให้ระดับความปลอดภัย 128 บิตสำหรับทั้งการชนและการต้านทานภาพก่อนหน้า[ 9 ]
ในการเข้ารหัสแบบไม่สมมาตร
การออกแบบอัลกอริธึมแบบไม่สมมาตรส่วนใหญ่ (เช่นการเข้ารหัสแบบกุญแจสาธารณะ ) อาศัยปัญหาทางคณิตศาสตร์ ที่เรียบร้อย ซึ่งมีประสิทธิภาพในการคำนวณในทิศทางเดียว แต่ไม่มีประสิทธิภาพในการย้อนกลับโดยผู้โจมตี อย่างไรก็ตาม การโจมตีระบบกุญแจสาธารณะในปัจจุบันนั้นเร็วกว่าการค้นหาแบบ brute-forceในพื้นที่กุญแจเสมอ ระดับความปลอดภัยของระบบเหล่านี้ไม่ได้ถูกกำหนดไว้ในเวลาออกแบบ แต่แสดงถึงสมมติฐานความยากในการคำนวณซึ่งจะถูกปรับให้ตรงกับการโจมตีที่ดีที่สุดที่ทราบในปัจจุบัน[ 6 ]
มีการเผยแพร่คำแนะนำต่างๆ ที่ประเมินระดับความปลอดภัยของอัลกอริธึมแบบไม่สมมาตร ซึ่งมีความแตกต่างกันเล็กน้อยเนื่องจากวิธีการที่ใช้แตกต่างกัน
- สำหรับระบบการเข้ารหัส RSAที่ระดับความปลอดภัย 128 บิตNISTและENISAแนะนำให้ใช้คีย์ 3072 บิต[ 10 ] [ 11 ]และIETF 3253 บิต[ 12 ] [ 13 ] การแปลงจากความยาวคีย์เป็นการประมาณระดับความปลอดภัย นั้นขึ้นอยู่กับความซับซ้อนของGNFS [ 14 ] : §7.5
- การแลกเปลี่ยนคีย์ Diffie–Hellmanและ DSA คล้ายกับ RSA ในแง่ของการแปลงจากความยาวคีย์ไปเป็นการประมาณระดับความปลอดภัย[ 14 ] : §7.5
- การเข้ารหัสเส้นโค้งวงรีต้องการคีย์ที่สั้นกว่า ดังนั้นคำแนะนำสำหรับ 128 บิตคือ 256-383 (NIST), 256 (ENISA) และ 242 บิต (IETF) การแปลงจากขนาดคีย์fเป็นระดับความปลอดภัยโดยประมาณคือf / 2: เนื่องจากวิธีการถอดรหัส ปัญหา ลอการิทึมแบบไม่ต่อเนื่องของ เส้นโค้งวงรี วิธี rho เสร็จสิ้นในการบวก 0.886 sqrt(2 f ) [ 15 ]
ระดับทั่วไป
ตารางต่อไปนี้เป็นตัวอย่างระดับความปลอดภัยทั่วไปสำหรับประเภทของอัลกอริธึมตามที่พบใน s5.6.1.1 ของคำแนะนำ US NIST SP-800-57 สำหรับ การ จัดการคีย์[ 16 ] : ตาราง 2
| บิตความปลอดภัย | กุญแจสมมาตร | ฟิลด์จำกัด/ลอการิทึมแบบไม่ต่อเนื่อง(DSA, DH, MQV) | การแยกตัวประกอบจำนวนเต็ม(RSA) | เส้นโค้งวงรี(ECDSA, EdDSA, ECDH, ECMQV) |
|---|---|---|---|---|
| 80 | 2TDEA [ก] | L = 1024, N = 160 | k = 1024 | 160 ≤ f ≤ 223 |
| 112 | 3TDEA [ก] | L = 2048, N = 224 | k = 2048 | 224 ≤ f ≤ 255 |
| 128 | เอเอส-128 | L = 3072, N = 256 | k = 3072 | 256 ≤ f ≤ 383 |
| 192 | เอเอส-192 | L = 7680, N = 384 | k = 7680 | 384 ≤ f ≤ 511 |
| 256 | เอเอส-256 | L = 15360, N = 512 | k = 15360 | f ≥ 512 |
ตามคำแนะนำของ NIST กุญแจที่มีระดับความปลอดภัยที่กำหนดควรถูกส่งผ่านภายใต้การป้องกันโดยใช้อัลกอริทึมที่มีระดับความปลอดภัยเทียบเท่าหรือสูงกว่าเท่านั้น[ 14 ]
ระดับความปลอดภัยจะกำหนดตามต้นทุนในการเจาะเป้าหมายหนึ่งเป้าหมาย ไม่ใช่ต้นทุนเฉลี่ยสำหรับกลุ่มเป้าหมาย ต้องใช้การดำเนินการ2,128 ครั้งในการค้นหาคีย์ AES-128 แต่ต้องใช้การดำเนินการเฉลี่ยจำนวนเท่ากันสำหรับคีย์จำนวน m ใดๆ ในทางกลับกัน การเจาะ คีย์ ECC จำนวน mโดยใช้วิธี rho ต้องใช้ต้นทุนพื้นฐานเท่ากับ sqrt( m ) [ 15 ] [ 17 ]
ความหมายของ "แตกหัก"
ถือว่าการเข้ารหัสพื้นฐานถูกเจาะเมื่อพบว่าการโจมตีมีระดับความปลอดภัยต่ำกว่าที่โฆษณาไว้ อย่างไรก็ตาม การโจมตีดังกล่าวไม่ได้เกิดขึ้นจริงเสมอไป การโจมตีที่แสดงให้เห็นในปัจจุบันส่วนใหญ่ใช้การดำเนินการน้อยกว่า 2⁴⁰ ครั้งซึ่งเทียบเท่ากับเวลาไม่กี่ชั่วโมงบนพีซีทั่วไป การโจมตีที่แสดงให้เห็นที่แพงที่สุดบนฟังก์ชันแฮชคือการ โจมตี 2⁶¹²บนSHA-1ซึ่งใช้เวลา 2 เดือนบน GPU GTX 1060 จำนวน 900 ตัว และมีค่าใช้จ่าย 75,000 ดอลลาร์สหรัฐ (แม้ว่านักวิจัยจะประเมินว่าต้องใช้เงินเพียง 11,000 ดอลลาร์สหรัฐในการค้นหาการชนกัน) [ 18 ]
Aumasson กำหนดเส้นแบ่งระหว่างการโจมตีที่ปฏิบัติได้จริงและปฏิบัติไม่ได้จริงที่ 2 80ปฏิบัติการ เขาเสนอคำศัพท์ใหม่: [ 19 ]
- พ รีมิทีฟ ที่เสียหายมีการโจมตีที่ใช้การดำเนินการไม่เกิน280ครั้ง การโจมตีนั้นสามารถดำเนินการได้อย่างสมเหตุสมผล
- การโจมตีของทหารราบที่ได้รับบาดเจ็บนั้นต้องใช้ปฏิบัติการระหว่าง280 ถึง2,100ครั้งในขณะนี้ยังไม่สามารถโจมตีได้ แต่การพัฒนาในอนาคตน่าจะทำให้เป็นไปได้
- การโจมตีแบบพื้นฐานนั้นมีต้นทุนต่ำกว่าการอ้างสิทธิ์ด้านความปลอดภัย แต่มีต้นทุนสูงกว่า2,100 มาก การโจมตีแบบนี้ยังห่างไกลจากความเป็นจริงมากเกินไป
- สุดท้ายนี้ องค์ประกอบพื้นฐาน ที่ได้รับการวิเคราะห์แล้วคือองค์ประกอบที่ไม่มีการโจมตีใด ๆ ที่มีต้นทุนต่ำกว่าข้ออ้างด้านความปลอดภัยของมัน
การโจมตีควอนตัม
สาขาการเข้ารหัสลับหลังควอนตัมพิจารณาถึงระดับความปลอดภัยของอัลกอริธึมการเข้ารหัสลับในกรณีที่ผู้โจมตีสมมติมีคอมพิวเตอร์ควอนตัม
- การโจมตีควอนตัมส่วนใหญ่ต่อการเข้ารหัสแบบสมมาตรจะให้ความเร็วเพิ่มขึ้นเป็นรากที่สองเมื่อเทียบกับการเข้ารหัสแบบคลาสสิก ซึ่งจะทำให้ระดับความปลอดภัยลดลงครึ่งหนึ่ง (ข้อยกเว้นคือการโจมตีแบบสไลด์ด้วยอัลกอริทึมของไซมอนแม้ว่าจะยังไม่ได้รับการพิสูจน์ว่ามีประโยชน์ในการโจมตี AES ก็ตาม) ตัวอย่างเช่น AES-256 จะให้ความปลอดภัยควอนตัม 128 บิต ซึ่งยังคงถือว่าเพียงพอ[ 20 ] [ 21 ]
- อัลกอริทึมของ Shorสัญญาว่าจะเร่งความเร็วในการแก้ปัญหาการแยกตัวประกอบ ปัญหาลอการิทึมแบบไม่ต่อเนื่อง และปัญหาการหาคาบอย่างมหาศาล ตราบใดที่มีคอมพิวเตอร์ควอนตัมขนาดใหญ่เพียงพอในระดับหลายล้านคิวบิต ซึ่งจะทำให้ RSA, DSA, DH, MQV, ECDSA, EdDSA, ECDH และ ECMQV ในรูปแบบปัจจุบันสิ้นสุดลง[ 22 ]
แม้ว่าคอมพิวเตอร์ควอนตัมที่มีความสามารถในการดำเนินการเหล่านี้ยังไม่ปรากฏขึ้น แต่ศัตรูในปัจจุบันอาจเลือกที่จะ " เก็บเกี่ยวตอนนี้ ถอดรหัสในภายหลัง " กล่าวคือ เก็บข้อความที่เข้ารหัสที่ถูกดักฟังไว้ เพื่อที่จะสามารถถอดรหัสได้เมื่อมีคอมพิวเตอร์ควอนตัมที่มีประสิทธิภาพเพียงพอ ด้วยเหตุนี้ รัฐบาลและธุรกิจต่างๆ จึงได้เริ่มดำเนินการเปลี่ยนไปใช้อัลกอริธึมที่ต้านทานควอนตัมแล้ว ตัวอย่างของความพยายามเหล่านี้ ได้แก่ การทดสอบ TLS แบบไฮบริดหลังควอนตัมบนอินเทอร์เน็ตของ Google และ Cloudflare และ[ 23 ] การเปิด ตัว Commercial National Security Algorithm Suite 2.0 ของ NSA ในปี 2022
อ่านเพิ่มเติม
- Aumasson, Jean-Philippe (2020). คริปโตมากเกินไป (PDF) . การประชุมสัมมนาคริปโตในโลกแห่งความเป็นจริง
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ระดับความปลอดภัย
ในการเข้ารหัสลับ ระดับความปลอดภัย คือการวัดความแข็งแกร่งที่ ฟังก์ชันการเข้ารหัสลับ เช่น รหัสลับ หรือ ฟังก์ชันแฮช สามารถทำได้ ระดับความปลอดภัยมักแสดงเป็นจำนวน " บิต ของความปลอดภัย"...
ในการเข้ารหัสแบบสมมาตร
อัลกอริทึมแบบสมมาตรมักมีการกำหนดข้อเรียกร้องด้านความปลอดภัยที่เข้มงวด สำหรับ การเข้ารหัสแบบสมมาตร โดยทั่วไปแล้วจะเท่ากับ ขนาดของคีย์ ของการเข้ารหัส ซึ่งเทียบเท่ากับ ความซับซ้อน ของ การโจมตี แบบ เดาสุ่ม [ 5 ] [ 6 ] ฟังก์ชันแฮชการเข้ารหัส ที่มีขนาดเอาต์พุต n...
ในการเข้ารหัสแบบไม่สมมาตร
การออกแบบอัลกอริธึมแบบไม่สมมาตรส่วนใหญ่ (เช่น การเข้ารหัสแบบกุญแจสาธารณะ ) อาศัย ปัญหาทางคณิตศาสตร์ ที่เรียบร้อย ซึ่งมีประสิทธิภาพในการคำนวณในทิศทางเดียว แต่ไม่มีประสิทธิภาพในการย้อนกลับโดยผู้โจมตี อย่างไรก็ตาม การโจมตีระบบกุญแจสาธารณะในปัจจุบันนั้นเร็วกว่า...
ระดับทั่วไป
ตารางต่อไปนี้เป็นตัวอย่างระดับความปลอดภัยทั่วไปสำหรับประเภทของอัลกอริธึมตามที่พบใน s5.6.1.1 ของคำแนะนำ US NIST SP-800-57 สำหรับ การ จัดการ คีย์ [ 16 ] : ตาราง 2