AES เป็นรหัสเข้ารหัสคีย์สมมาตรและโดยทั่วไปถือว่าเป็น "มาตรฐานทองคำ" สำหรับการเข้ารหัสข้อมูล.


AES ได้รับการรับรอง NIST และถูกใช้โดยรัฐบาลสหรัฐอเมริกาในการปกป้องข้อมูล“ ปลอดภัย” ซึ่งนำไปสู่การยอมรับ AES โดยทั่วไปมากขึ้นในฐานะที่เป็นรหัสหลักมาตรฐานแบบสมมาตรที่เป็นทางเลือกของทุกคน เป็นมาตรฐานเปิดที่ใช้งานฟรีสำหรับการใช้งานสาธารณะส่วนตัวการค้าหรือการใช้งานที่ไม่ใช่เชิงพาณิชย์.

Contents

การแนะนำการเข้ารหัส AES

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

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

สิ่งนี้ทำให้การเข้ารหัสแบบอสมมาตรทำได้ดีกว่ามากในการรักษาความปลอดภัยข้อมูลในการส่งผ่านเนื่องจากผู้ส่งไม่จำเป็นต้องรู้รหัสส่วนตัวของผู้รับ ตัวอย่างที่ดีคือการเข้ารหัส RSA ซึ่งใช้ในการรักษาความปลอดภัยการแลกเปลี่ยนคีย์ TLS ที่จำเป็นเมื่อเชื่อมต่อกับเว็บไซต์ HTTPS ที่ปลอดภัย.

การเข้ารหัสแบบสมมาตรเช่น AES จะดีกว่ามากในการรักษาความปลอดภัยข้อมูลในขณะที่พักผ่อนเช่นเมื่อเก็บไว้ในฮาร์ดไดรฟ์ของคุณ เพื่อจุดประสงค์นี้พวกเขาจะเหนือกว่า ciphers ไม่สมมาตรเพราะ:

  • พวกเขาต้องการพลังการคำนวณที่น้อยกว่ามาก ทำให้การเข้ารหัสและถอดรหัสข้อมูลด้วยการเข้ารหัสแบบสมมาตรเร็วกว่าการเข้ารหัสแบบไม่สมมาตร สำหรับเปอร์สเปคทีฟ ciphers แบบสมมาตรมักจะอ้างว่าอยู่ที่“ เร็วกว่า 1,000 เท่า” มากกว่าอสมมาตร.
  • และเนื่องจากมันเร็วกว่าการเข้ารหัสแบบสมมาตรจึงมีประโยชน์มากกว่าสำหรับการเข้ารหัสข้อมูลจำนวนมาก ciphers แบบอสมมาตรเช่น RSA ใช้สำหรับเข้ารหัสข้อมูลจำนวนเล็กน้อยเท่านั้นเช่นปุ่มที่ใช้เพื่อความปลอดภัยในการเข้ารหัสคีย์สมมาตร.

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

ตัวอย่างเช่น OpenVPN จะรักษาความปลอดภัยของข้อมูลดิบด้วยรหัสไม่สมมาตรซึ่งโดยปกติจะเป็น AES ในปัจจุบัน ในการถ่ายโอนข้อมูลที่เข้ารหัสอย่างปลอดภัยระหว่างพีซีของคุณและเซิร์ฟเวอร์ VPN จะใช้การแลกเปลี่ยนคีย์ TLS แบบไม่สมมาตรเพื่อเจรจาการเชื่อมต่อที่ปลอดภัยไปยังเซิร์ฟเวอร์.

การเข้ารหัส AES เป็นการเข้ารหัสที่ดีที่สุด?

AES ได้รับการยอมรับอย่างกว้างขวางว่าเป็นรหัสเข้ารหัสลับแบบสมมาตรที่ปลอดภัยที่สุดที่คิดค้นขึ้น ระบบรหัสลับแบบสมมาตรอื่น ๆ ที่ได้รับการยอมรับว่ามีความปลอดภัยสูงเช่น Twofish ซึ่งได้รับการคิดค้นโดยผู้ร่วมเข้ารหัสที่มีชื่อเสียง Bruce Schneier.

ยันต์ดังกล่าวยังไม่ได้รับการทดสอบการต่อสู้ในแบบที่ AES มี และเฮ้ถ้ารัฐบาลสหรัฐคิดว่า AES เป็นศูนย์ข้อมูลที่ดีที่สุดในการปกป้องข้อมูล "ปลอดภัย" ใครจะเถียงกัน? อย่างไรก็ตามมีบางคนที่เห็นว่านี่เป็นปัญหา โปรดดูหัวข้อ NIST ด้านล่าง.

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

การเข้ารหัส AES 128 บิตสามารถใช้งานไม่ได้?

AES นั้นไม่สามารถแตกหักได้เมื่อดำเนินการอย่างเหมาะสม.

ในปี 2011 ซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดในคำนี้คือฟูจิตสึเคซึ่งสามารถใช้ความเร็วสูงสุด Rmax ที่ 10.51 petaflops จากตัวเลขนี้จะใช้เวลาฟูจิตสึ K 1.02 x 10 ^ 18 - ประมาณหนึ่งพันล้านพันล้าน (หนึ่งล้านล้าน) - ปีเพื่อถอดรหัสคีย์ AES 128 บิตด้วยการบังคับ นี่เก่ากว่าอายุของจักรวาล (13.75 พันล้านปี).

ซูเปอร์คอมพิวเตอร์ที่ทรงพลังที่สุดในโลกในปี 2560 คือ Sunway TaihuLight ในจีน สัตว์ร้ายตัวนี้มีความสามารถในความเร็วสูงสุด 93.02 petaflops ซึ่งหมายความว่าคอมพิวเตอร์ที่ทรงพลังที่สุดในโลกยังคงใช้เวลา 885 ล้านล้านปีในการบังคับใช้คีย์ AES 128 บิต.

จำนวนของการดำเนินการที่จำเป็นในการเดรัจฉานบังคับให้เข้ารหัสตัวเลข 256 บิตคือ 3.31 x 10 ^ 56 นี่เท่ากับจำนวนอะตอมในจักรวาลโดยประมาณ!

ย้อนกลับไปในปี 2011 นักวิจัยการเข้ารหัสระบุจุดอ่อนใน AES ที่อนุญาตให้พวกเขาถอดรหัสอัลกอริทึมเร็วกว่าที่เป็นไปได้สี่เท่าก่อนหน้านี้ แต่เป็นหนึ่งในนักวิจัยที่ระบุไว้ในเวลา:

“ ในการนำมุมมองนี้ไปใช้กับเครื่องจักรนับล้านล้านเครื่องที่แต่ละคนสามารถทดสอบได้หนึ่งพันล้านคีย์ต่อวินาทีมันต้องใช้เวลากว่าสองพันล้านปีในการกู้คืนคีย์ AES-128”

ในการตอบสนองต่อการโจมตีครั้งนี้มีการเพิ่มอีกสี่รอบ (ดูในภายหลัง) ถูกเพิ่มเข้าไปในกระบวนการเข้ารหัส AES-128 เพื่อเพิ่มระยะขอบความปลอดภัย.

การโจมตีช่องทางด้านข้าง

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

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

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

การโจมตีช่องทางด้านข้างที่รู้จักกันดีกับ AES ประสบความสำเร็จในการถอดรหัสคีย์การเข้ารหัส AES-128 โดยการตรวจสอบการใช้แคชร่วมของตารางแคชของโปรเซสเซอร์อย่างระมัดระวัง.

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

รหัสผ่านที่ไม่ปลอดภัย

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

การใช้ตัวจัดการรหัสผ่านช่วยลดปัญหานี้ได้อย่างมากเช่นเดียวกับการใช้ไฟร์วอลล์แบบสองทางซอฟต์แวร์ป้องกันไวรัสที่ดีและการศึกษาที่ดีขึ้นเกี่ยวกับปัญหาด้านความปลอดภัย.

ประวัติโดยย่อของการเข้ารหัส AES

เมื่อคุณยังเป็นเด็กคุณเล่นเกมที่คุณสร้าง“ ข้อความลับ” หรือไม่โดยการเปลี่ยนตัวอักษรหนึ่งข้อความกับอีกข้อความหนึ่ง? การทดแทนทำขึ้นตามสูตรที่คุณเลือก.

ตัวอย่างเช่นคุณอาจใช้แทนตัวอักษรแต่ละตัวของข้อความต้นฉบับด้วยตัวอักษรสามตัวที่อยู่ด้านหลังในตัวอักษร หากใครอื่นรู้ว่าสูตรนี้คืออะไรหรือสามารถทำออกมาได้พวกเขาจะสามารถอ่าน "ข้อความลับ" ของคุณได้

ในศัพท์แสงการเข้ารหัสสิ่งที่คุณทำคือ“ เข้ารหัส” ข้อความ (ข้อมูล) ตามอัลกอริทึมทางคณิตศาสตร์ที่ง่ายมาก.

การเข้ารหัสถูกนำไปใช้ซ่อนข้อมูลที่ละเอียดอ่อนมาตั้งแต่สมัยโบราณ แต่จริงๆแล้วมาเองในช่วงศตวรรษที่ยี่สิบ ในช่วงสงครามโลกครั้งที่ 2 ชาวเยอรมันมีชื่อเสียงด้านความปลอดภัยในการสื่อสารโดยใช้เครื่อง Enigma รหัสที่แตกอย่างเท่าเทียมกันโดย Alan Turing ที่ Bletchley Park.

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

มาตรฐานการเข้ารหัสข้อมูล (DES) ถูกสร้างขึ้นในกลางปี ​​1970 เพื่อความปลอดภัยในการสื่อสารของรัฐบาลสหรัฐอเมริกา มันกลายเป็นอัลกอริธึมการเข้ารหัสที่ทันสมัยเป็นสาธารณะแรกพร้อมใช้งานได้อย่างอิสระและเช่นเดียวกับการสร้างวินัยสมัยใหม่ของการเข้ารหัส.

แม้ว่าจะได้รับการพัฒนาโดย IBM แต่ DES เป็นผู้ผลิตผลงานของสำนักงานมาตรฐานแห่งชาติ (NBS ซึ่งต่อมากลายเป็น NIST).

แม้จะมีความกังวลเกี่ยวกับการเข้าไปแทรกแซงโดย NSA แต่ DES ได้รับการรับรองจากรัฐบาลสหรัฐอเมริกาในปี 1976 สำหรับ "ละเอียดอ่อน แต่ไม่ได้รับการจำแนกประเภท" การจราจร รวมถึงสิ่งต่าง ๆ เช่นข้อมูลส่วนบุคคลการเงินและการขนส่ง.

เนื่องจากในขณะนั้นไม่มีอะไรที่เหมือนอย่างนั้นมันจึงกลายเป็นที่ยอมรับอย่างกว้างขวางโดย บริษัท การค้าที่ต้องการการเข้ารหัสเพื่อรักษาความปลอดภัยข้อมูลของพวกเขา ดังนั้น DES (ซึ่งใช้คีย์ 56 บิต) จึงกลายเป็นมาตรฐานการเข้ารหัสเวิร์กเตอร์เริ่มต้นมาเกือบสองทศวรรษ.

การใช้งานที่แพร่หลายเกือบทั้งหมดนี้ได้รับความช่วยเหลืออย่างมากจาก DES ที่ได้รับสถานะมาตรฐานการประมวลผลข้อมูลกลาง (FIPS) หน่วยงานภาครัฐที่ไม่ใช่ทางทหารของสหรัฐฯและผู้รับเหมาของรัฐบาลพลเรือนทั้งหมดจะต้องใช้มาตรฐาน FIPS เท่านั้น.

อย่างไรก็ตามในช่วงกลางปี ​​1990 DES เริ่มแสดงอายุของมัน ในเวลานี้เป็นที่เชื่อกันอย่างกว้างขวางว่า NSA สามารถถอดรหัสเดรัจฉานพลังเดรัจฉานจุดที่พิสูจน์ในปี 1998 เมื่อเครื่อง $ 220,000 สร้างโดย Electronic Frontier Foundation (EFF) เดรัจฉานบังคับเดรัจฉานประสบความสำเร็จในสองวัน มันเป็นเวลาที่ชัดเจนสำหรับมาตรฐานใหม่.

AES เกิดขึ้นได้อย่างไร

ในปี 1997 สถาบันมาตรฐานและเทคโนโลยีแห่งชาติของสหรัฐอเมริกา (NIST) ประกาศว่ากำลังมองหาผู้แทนที่ DES ในเดือนพฤศจิกายน 2544 ได้มีการประกาศว่าผู้ชนะคือ AES หรือที่รู้จักกันในชื่อ Rijndael หลังจากหนึ่งในผู้สร้างร่วม.

ตามคำแนะนำของ NIST ตัวเลขใหม่นี้ได้รับการรับรองอย่างเป็นทางการโดยรัฐบาลสหรัฐและเข้ามาใช้อย่างมีประสิทธิภาพในเดือนพฤษภาคม 2545 เช่นเดียวกับ DES ก่อนหน้านี้ AES ได้รับสถานะ FIPS รัฐบาลสหรัฐฯพิจารณาว่าขนาดที่สำคัญของ AES ทั้งหมดจะเพียงพอสำหรับการจัดประเภทข้อมูลจนถึงระดับสูงสุด "ความลับ" ระดับด้วย "ความลับสุดยอด" ข้อมูลที่ต้องการ AES-192 หรือ AES-256.

AES ได้แทนที่ DES ทั่วโลกเป็นมาตรฐานการเข้ารหัสแบบสมมาตรเริ่มต้น.

การเข้ารหัส AES ทำงานอย่างไร?

อัลกอริทึมการเข้ารหัส AES เข้ารหัสและถอดรหัสข้อมูลเป็นบล็อกขนาด 128 บิต สามารถทำได้โดยใช้คีย์ 128 บิต, 192- บิตหรือ 256- บิต AES ที่ใช้คีย์ 128 บิตมักถูกอ้างถึงเป็น AES-128 และอื่น ๆ.

แผนภาพต่อไปนี้ให้ภาพรวมที่ง่ายขึ้นของกระบวนการ AES ...

การเข้ารหัส AES ทำงานอย่างไร

ข้อความธรรมดา

นี่คือข้อมูลที่ละเอียดอ่อนที่คุณต้องการเข้ารหัส.

รหัสลับ

นี่คือตัวแปร 128- บิต, 192- บิตหรือ 256- บิตที่สร้างขึ้นโดยอัลกอริทึม.

ตัวเลข

รหัส AES จริงจากนั้นจะทำการแปลงชุดคณิตศาสตร์โดยใช้เท็กซ์เท็กซ์และคีย์ลับเป็นจุดเริ่มต้น ตามลำดับเหล่านี้คือ:

  1. การขยายคีย์ สิ่งนี้ใช้รหัสลับดั้งเดิมเพื่อรับชุดของ "แป้นกลม" ใหม่โดยใช้อัลกอริทึมกำหนดการของ Rijndael.
  2. การผสม คีย์กลมแต่ละตัวจะถูกรวมเข้ากับเท็กซ์เพลนเท็กซ์โดยใช้อัลกอริธึม XOR เพิ่มเติม.

    การเข้ารหัส AES roundKey

  3. การทดแทนข้อมูลผลลัพธ์โดยใช้ตารางการทดแทน ขั้นตอนนี้คล้ายกันมากในหลักการ (หากมีความซับซ้อนมากขึ้นในทางปฏิบัติ) เพื่อยันต์การทดแทนที่คุณสร้างขึ้นเป็นเด็ก.การเข้ารหัสย่อย AES ย่อย

  4. เลื่อนแถว ซึ่งทุก ๆ ไบต์ในคอลัมน์ 4 x 4 ของสิบหกไบต์ที่ประกอบเป็นบล็อกแบบ 128 บิตจะถูกเลื่อนไปทางขวา.การเข้ารหัส AES shiftRows

5. ผสมคอลัมน์ อัลกอริทึมเพิ่มเติมถูกนำไปใช้กับแต่ละคอลัมน์.

เพิ่มขึ้นและทำซ้ำ กระบวนการซ้ำหลายครั้งโดยซ้ำแต่ละครั้งเรียกว่ารอบ แต่ละรอบจะถูกเข้ารหัสอีกครั้งโดยใช้หนึ่งในปุ่มกลมที่สร้างขึ้นระหว่างการขยายคีย์ (ขั้นตอนที่ 1).

จำนวนรอบที่ดำเนินการขึ้นอยู่กับความยาวของคีย์ที่ใช้ AES-128 ใช้สิบรอบ AES-192 ใช้สิบสองรอบและ AES-256 ใช้สิบสี่รอบ.

แต่ละรอบที่เพิ่มเข้ามาจะลดโอกาสของการโจมตีทางลัดของชนิดที่ใช้ในการโจมตี AES-128 ย้อนหลัง 2011 ดังที่ระบุไว้แล้วว่าเป็นผลมาจากการโจมตีครั้งนี้มีการเพิ่มสี่รอบเข้าไปใน AES-128.

ข้อความตัวเลข

นี่เป็นเอาต์พุตที่เข้ารหัสจากตัวเลขหลังจากที่ผ่านไปตามจำนวนรอบที่ระบุ.

วิธีถอดรหัสการเข้ารหัส AES

การถอดรหัส AES นั้นง่าย - เพียงแค่ย้อนกลับทุกขั้นตอนข้างต้นโดยเริ่มจากปุ่มผกผัน แน่นอนว่าคุณต้องมีรหัสลับดั้งเดิมเพื่อที่จะกลับกระบวนการโดยใช้คีย์ผกผันแต่ละอัน.

การเข้ารหัสไฟล์ทำให้ไฟล์ใหญ่ขึ้นหรือไม่?

ใช่. มักจะ AES ใช้ขนาดบล็อกคงที่ที่ 16 ไบต์ หากไฟล์ไม่ใช่ขนาดบล็อกหลายขนาด AES จะใช้การขยายเพื่อทำให้บล็อกสมบูรณ์.

ในทางทฤษฎีสิ่งนี้ไม่ได้หมายความว่าการเพิ่มขนาดของข้อมูลที่เข้ารหัส (ดูที่การเข้ารหัส ciphertext) แต่การเพิ่มข้อมูลลงในบล็อกจะง่ายกว่ามาก ซึ่งจะเพิ่มปริมาณข้อมูลที่เข้ารหัส.

หลักฐานจากประวัติชี้ให้เห็นว่าไฟล์ที่มีขนาดใหญ่กว่า 1 MB ที่เข้ารหัสด้วย AES มักจะมีขนาดใหญ่กว่าก่อนการเข้ารหัสประมาณ 35%.

ขนาดคีย์มีความสำคัญเพียงใดในการเข้ารหัส AES?

วิธีที่หยาบที่สุดในการวัดความแข็งแรงของรหัสคือขนาดของกุญแจ ยิ่งปุ่มมีขนาดใหญ่เท่าใด.

AES สามารถใช้ได้กับขนาดคีย์ 126 บิต, 192- บิตหรือ 256- บิต รหัส Rijndael ดั้งเดิมได้รับการออกแบบมาเพื่อยอมรับความยาวของคีย์เพิ่มเติม แต่สิ่งเหล่านี้ไม่ได้นำมาใช้กับ AES.

กำลังโจมตีสัตว์เดรัจฉาน

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

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

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

จำนวนชุดค่าผสมที่เป็นไปได้ (และความยากของการเดรัจฉานบังคับ) เพิ่มขึ้นชี้แจงกับขนาดของคีย์ สำหรับ AES:

ดังที่เราได้กล่าวไปแล้วมันจะใช้ซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดในโลกนานกว่าอายุของเอกภพในการถอดรหัสแม้แต่คีย์ AES-128 โดยการบังคับ!

การเข้ารหัสรอบ

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

Bruce Schneier กล่าวว่าการโจมตีทางลัด 2011 บน AES-128,

“ การเข้ารหัสเป็นข้อมูลเกี่ยวกับความปลอดภัย หากคุณสามารถแยกรหัสรอบ n ได้คุณออกแบบด้วย 2n หรือ 3n รอบ”

เขาแนะนำให้แนะนำเพิ่มเติมรอบสำหรับคีย์แต่ละขนาดให้กับ AES แต่ NIST เห็นว่าระดับปัจจุบันเพียงพอ.

เหตุใดจึงต้องใช้มากกว่า AES-128?

ทั้งหมดนี้ทำให้เกิดคำถาม: หากใช้เวลานานกว่าอายุของเอกภพในการถอดรหัสแม้แต่ AES-128 ทำไมต้องใช้ AES-192 หรือ AES-256 ดังที่ชไนเออร์ระบุไว้:

“ ฉันแนะนำให้คนไม่ใช้ AES-256 AES-128 ให้หลักประกันด้านความปลอดภัยมากกว่าเพียงพอสำหรับอนาคตอันใกล้ แต่ถ้าคุณใช้ AES-256 อยู่แล้วก็ไม่มีเหตุผลที่จะเปลี่ยนแปลง”

ที่จริงแล้ว Schneier ได้โต้เถียงในอดีตว่า AE-128 นั้นจริงแล้วมีความปลอดภัยมากกว่า AES เนื่องจากมีตารางเวลาที่สำคัญกว่า AES-256.

เหตุใด AES-256 จึงจัดเป็นมาตรฐานทองคำของการเข้ารหัสคีย์สมมาตร?

ระยะขอบความปลอดภัย

การโจมตีทางลัด 2011 แสดงให้เห็นว่าไม่ว่าผู้เชี่ยวชาญจะคิดว่าอัลกอริธึมเข้ารหัสนั้นปลอดภัยเพียงใดคนประดิษฐ์มักจะค้นหาวิธีที่ไม่มีใครเคยคิดที่จะทำให้อ่อนแอลง.

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

Bling

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

ฉันหมายความว่าถ้า AES-128 นั้นดีแล้วมันก็มีเหตุผลว่า AES-256 จะต้องดีกว่าใช่มั้ย?

ความจริงที่ว่ารัฐบาลสหรัฐใช้ AES-256 เพื่อรักษาความปลอดภัยข้อมูลที่สำคัญที่สุดเท่านั้นที่จะเพิ่มค่า "bling" และช่วยให้ บริษัท VPN และชอบที่จะอ้างว่าพวกเขาใช้การเข้ารหัส "เกรดทหาร".

ระบุว่า "การรับรู้แบบ bling" นั้นถูกต้อง (ส่วนใหญ่) มีความเสียหายเล็กน้อยในความนิยมของ AES-256 (แม้ว่าจะดูหมายเหตุเกี่ยวกับ NIST ด้านล่าง).

AES และ OpenVPN

อย่างไรก็ตามผู้ใช้ VPN ควรระมัดระวังเป็นพิเศษ บริการ VPN ส่วนใหญ่ใช้ AES-256 เพื่อรักษาความปลอดภัยข้อมูลที่ส่งผ่านโปรโตคอล OpenVPN แต่นี่เป็นหนึ่งในกลไกต่าง ๆ ที่ OpenVPN ใช้เพื่อรักษาความปลอดภัยของข้อมูล.

การเชื่อมต่อ TLS รักษาความปลอดภัยการโอนคีย์การเข้ารหัสที่ใช้โดย AES เพื่อรักษาความปลอดภัยข้อมูลเมื่อใช้ OpenVPN ดังนั้นหากการตั้งค่า OpenVPN TLS (ช่องสัญญาณควบคุม) อ่อนข้อมูลก็อาจถูกโจมตีแม้จะถูกเข้ารหัสด้วย AES-256 โปรดดูคู่มือขั้นสูงของเราในการเข้ารหัส VPN สำหรับรายละเอียดเพิ่มเติม.

AES-CBC กับ AES-GCM

จนกระทั่งเมื่อเร็ว ๆ นี้รหัสลับเฉพาะ AES ที่คุณน่าจะพบในโลก VPN คือ AES-CBC (Cipher Block Chaining) นี่หมายถึงโหมดบล็อกตัวเลขซึ่งเป็นวัตถุที่ซับซ้อนซึ่งไม่คุ้มที่จะเข้าไปที่นี่.

แม้ว่า CBC ในทางทฤษฎีอาจมีช่องโหว่บางประการ แต่ฉันทามติก็คือว่า CBC นั้นมีความปลอดภัย แนะนำให้ใช้ CBC ในคู่มือ OpenVPN.

ตอนนี้ OpenVPN รองรับ AES-GCM (โหมด Galios / Counter) GCM ให้การตรวจสอบความถูกต้องโดยไม่จำเป็นต้องใช้ฟังก์ชันแฮช HMAC SHA นอกจากนี้ยังเร็วกว่า CBC เล็กน้อยเนื่องจากใช้การเร่งความเร็วฮาร์ดแวร์ (โดยการทำเธรดไปที่โปรเซสเซอร์หลายคอร์).

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

NIST

AES เป็นมาตรฐานที่ได้รับการรับรอง NIST นี่คือร่างที่เข้าชมอย่างใกล้ชิดกับ NSA ในการพัฒนายันต์ของมัน.

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

“ NIST จะไม่ทำให้มาตรฐานการเข้ารหัสอ่อนแอลงโดยเจตนา”

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

อย่างไรก็ตามหนังสือพิมพ์เดอะนิวยอร์กไทมส์กล่าวหาว่า NSA ของการหลีกเลี่ยงมาตรฐานการเข้ารหัสที่ได้รับการรับรองจาก NIST โดยการแนะนำแบ็คดอร์ที่ไม่สามารถตรวจจับได้หรือทำลายกระบวนการพัฒนาสาธารณะเพื่อลดขั้นตอนวิธี.

ความไม่ไว้วางใจนี้ได้รับการสนับสนุนเพิ่มเติมเมื่อ RSA Security (แผนกหนึ่งของ EMC) บอกกับลูกค้าเป็นการส่วนตัวว่าให้หยุดใช้อัลกอริทึมการเข้ารหัสซึ่งมีรายงานว่ามีข้อบกพร่องด้านวิศวกรรมที่ NSA กำหนดไว้ อัลกอริทึมนี้ได้รับการรับรองโดย NIST.

นอกจากนี้ Dual_EC_DRBG (เครื่องกำเนิดบิตแบบสุ่มกำหนดวงรีแบบ Dual Elliptic Curve) เป็นมาตรฐานการเข้ารหัสที่ออกแบบโดย NIST เป็นที่ทราบกันดีว่าไม่ปลอดภัยมานานหลายปี.

ในปี 2549 Eindhoven University of Technology ในเนเธอร์แลนด์กล่าวว่าการโจมตีมันง่ายพอที่จะเปิดตัว "พีซีธรรมดา" วิศวกรของ Microsoft ยังตั้งค่าลับๆที่น่าสงสัยในอัลกอริทึม.

แม้จะมีข้อกังวลเหล่านี้ซึ่ง NIST เป็นผู้นำอุตสาหกรรมดังต่อไปนี้ นี่เป็นส่วนใหญ่เนื่องจากความจริงที่ว่าการปฏิบัติตามมาตรฐาน NIST เป็นข้อกำหนดเบื้องต้นในการรับสัญญาของรัฐบาลสหรัฐอเมริกา (FIPS).

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

อาจเป็นเพราะการใช้มาตรฐานเหล่านี้เป็นอย่างมากผู้เชี่ยวชาญด้านการเข้ารหัสจึงไม่เต็มใจที่จะเผชิญหน้ากับปัญหา.

เครดิตรูปภาพ: xkcd.com/538.

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me