อ่าน 4 นาที
การเข้ารหัสแบบฮาร์ดแวร์
การเข้ารหัสโดยใช้ฮาร์ดแวร์ คือการใช้ ฮาร์ดแวร์คอมพิวเตอร์ เพื่อช่วยซอฟต์แวร์ หรือบางครั้งก็แทนที่ซอฟต์แวร์ ในกระบวนการ เข้ารหัส ข้อมูล โดยทั่วไปแล้ว จะถูกนำไปใช้เป็นส่วนหนึ่งของ...
การเข้ารหัสแบบฮาร์ดแวร์
โมดูลการเข้ารหัสลับIBM 4758 | |
| ประเภทกระบวนการ | การเข้ารหัสลับ |
|---|---|
| ภาคอุตสาหกรรม | การคำนวณ |
| เทคโนโลยีหลักหรือกระบวนการย่อย | ฟังก์ชันแฮชเข้ารหัสลับ , การเข้ารหัส |
การเข้ารหัสโดยใช้ฮาร์ดแวร์คือการใช้ฮาร์ดแวร์คอมพิวเตอร์เพื่อช่วยซอฟต์แวร์ หรือบางครั้งก็แทนที่ซอฟต์แวร์ ในกระบวนการเข้ารหัส ข้อมูล โดยทั่วไปแล้ว จะถูกนำไปใช้เป็นส่วนหนึ่งของชุดคำสั่งของโปรเซสเซอร์ตัวอย่างเช่น อัลกอริทึมการเข้ารหัส AES (การเข้ารหัส สมัยใหม่ ) สามารถนำไปใช้โดยใช้ชุดคำสั่ง AESบนสถาปัตยกรรม x86 ที่แพร่หลาย[ 1 ]คำสั่งดังกล่าวมีอยู่ในสถาปัตยกรรม ARMด้วย[ 2 ]อย่างไรก็ตาม ยังมีระบบที่แปลกใหม่กว่านั้น ซึ่งโมดูลการเข้ารหัสแยกออกจากโปรเซสเซอร์กลาง แต่ถูกนำไปใช้เป็นโคโปรเซสเซอร์โดยเฉพาะอย่างยิ่งโปรเซสเซอร์เข้ารหัสที่ปลอดภัยหรือตัวเร่งการเข้ารหัสซึ่งตัวอย่างหนึ่งคือIBM 4758หรือรุ่นต่อมาคือIBM 4764 [ 3 ] การใช้งานฮาร์ดแวร์อาจเร็วกว่าและมีโอกาสถูกโจมตีได้น้อยกว่าการใช้งานซอฟต์แวร์แบบดั้งเดิม และยังสามารถป้องกันการดัดแปลงได้อีกด้วย[ 4 ]
ประวัติศาสตร์
ก่อนการใช้ฮาร์ดแวร์คอมพิวเตอร์ การเข้ารหัสสามารถทำได้โดยวิธีการทางกลหรือไฟฟ้าเชิงกล ต่างๆ ตัวอย่างแรกคือScytale ที่ชาวสปา ร์ตาใช้[ 5 ]เครื่องEnigmaเป็นเครื่องเข้ารหัสระบบไฟฟ้าเชิงกลที่ชาวเยอรมันใช้ในสงครามโลกครั้งที่สองหลังจากสงครามโลกครั้งที่สองระบบอิเล็กทรอนิกส์ล้วนๆ ก็ได้รับการพัฒนาขึ้น ในปี 1987 โครงการ ABYSS (A Basic Yorktown Security System) ได้เริ่มต้นขึ้น[ 6 ] [ 7 ]เป้าหมายของโครงการนี้คือการป้องกันการละเมิดลิขสิทธิ์ซอฟต์แวร์อย่างไรก็ตาม การนำคอมพิวเตอร์มาใช้ในการเข้ารหัสโดยทั่วไปนั้นย้อนกลับไปในช่วงทศวรรษ 1940 และBletchley Parkซึ่งคอมพิวเตอร์ Colossusถูกใช้ในการถอดรหัสที่กองบัญชาการสูงสุดของเยอรมันใช้ในช่วงสงครามโลกครั้งที่สอง อย่างไรก็ตาม การใช้คอมพิวเตอร์ในการเข้ารหัสเกิดขึ้นในภายหลัง โดยเฉพาะอย่างยิ่ง จนกระทั่งการพัฒนาวงจรรวมซึ่งผลิตขึ้นเป็นครั้งแรกในปี พ.ศ. 2503 คอมพิวเตอร์ไม่เหมาะสำหรับการเข้ารหัส เนื่องจากเมื่อเทียบกับขนาดพก พา ของเครื่อง Enigma [ 8 ]คอมพิวเตอร์ในยุคนั้นใช้พื้นที่เท่ากับอาคารทั้งหลัง การเข้ารหัสด้วยคอมพิวเตอร์จึงเป็นไปได้ก็ต่อเมื่อมีการพัฒนาไมโครคอมพิวเตอร์ นอกเหนือจากแอปพลิเคชันเฉพาะกลุ่ม การ พัฒนาเวิลด์ไวด์เว็บทำให้ผู้บริโภคจำเป็นต้องเข้าถึงการเข้ารหัส เนื่องจากการซื้อขายออนไลน์แพร่หลายมากขึ้น[ 9 ]ข้อกังวลหลักของผู้บริโภคคือความปลอดภัยและความเร็ว[ 9 ]ซึ่งนำไปสู่การรวมอัลกอริธึมหลักเข้ากับโปรเซสเซอร์ในที่สุด เพื่อเพิ่มทั้งความเร็วและความปลอดภัย[ 4 ]
การนำไปใช้
ในชุดคำสั่ง
x86
สถาปัตยกรรมX86 ซึ่งเป็นสถาปัตยกรรมCISC (Complex Instruction Set Computer)โดยทั่วไปจะใช้ ในการ ประมวลผลอัลกอริทึม ที่ซับซ้อน ในฮาร์ดแวร์[ 10 ]อัลกอริทึมการเข้ารหัสก็ไม่มีข้อยกเว้น สถาปัตยกรรม x86 ใช้ส่วนประกอบสำคัญของอัลกอริทึมAES (Advanced Encryption Standard) [ 1 ] ซึ่ง NSAสามารถใช้สำหรับข้อมูลลับสุดยอด ได้ [ 11 ]สถาปัตยกรรมนี้ยังรองรับ อัลกอริทึมการแฮช SHAผ่านส่วนขยาย Intel SHA [ 1 ] ในขณะที่ AES เป็นการเข้ารหัส ซึ่งมีประโยชน์สำหรับการเข้ารหัสเอกสารการแฮชจะใช้สำหรับการตรวจสอบ เช่น รหัสผ่าน (ดูPBKDF2 )
แขน
โปรเซสเซอร์ ARMสามารถรองรับส่วนขยายด้านความปลอดภัยได้ตามต้องการ แม้ว่า ARM จะเป็น สถาปัตยกรรม RISC (Reduced Instruction Set Computer)แต่ก็มีส่วนขยายเพิ่มเติมหลายอย่างที่กำหนดโดยARM Holdings [ 2 ] [ 12 ]
ในฐานะโคโปรเซสเซอร์
- IBM 4758 – รุ่นก่อนหน้าของIBM 4764 [ 13 ] ซึ่งรวมถึงโปรเซสเซอร์ หน่วยความจำและตัวสร้างเลขสุ่มเฉพาะของตนเอง[ 14 ]
- IBM 4764และIBM 4765เหมือนกันทุกประการ ยกเว้นการเชื่อมต่อที่ใช้[ 13 ]รุ่นแรกใช้PCI-Xในขณะที่รุ่นหลังใช้PCI-e [ 3 ] ทั้งสองเป็นอุปกรณ์ต่อพ่วงที่เสียบเข้ากับเมนบอร์ด
การแพร่กระจาย
โปรเซสเซอร์ Advanced Micro Devices (AMD) ก็เป็นอุปกรณ์ x86 เช่นกัน และรองรับคำสั่ง AESมาตั้งแต่โปรเซสเซอร์Bulldozer รุ่นปี 2011 [ 15 ] เนื่องจากมีคำสั่งการเข้ารหัสอยู่ในโปรเซสเซอร์สมัยใหม่ที่จัดทำโดยทั้งIntelและ AMD คำสั่งเหล่านี้จึงมีอยู่ในคอมพิวเตอร์สมัยใหม่ส่วนใหญ่[ 16 ]นอกจากนี้ยังมีอยู่ในแท็บเล็ตและสมาร์ทโฟนจำนวนมากเนื่องจากการใช้งานในโปรเซสเซอร์ ARM [ 16 ]
ข้อดี
การนำการเข้ารหัสไปใช้ในฮาร์ดแวร์หมายความว่าส่วนหนึ่งของโปรเซสเซอร์จะถูกจัดสรรให้กับงานนี้ ซึ่งอาจนำไปสู่การเพิ่มความเร็วอย่างมาก[ 4 ]โดยเฉพาะอย่างยิ่ง สถาปัตยกรรมโปรเซสเซอร์สมัยใหม่ที่รองรับไปป์ไลน์มักจะสามารถดำเนินการคำสั่งอื่นๆ พร้อมกับการดำเนินการคำสั่งการเข้ารหัสได้พร้อมกัน นอกจากนี้ ฮาร์ดแวร์ยังสามารถมีวิธีการป้องกันข้อมูลจากซอฟต์แวร์ได้ ดังนั้น แม้ว่าระบบปฏิบัติการจะถูกบุกรุก ข้อมูลก็ยังคงปลอดภัยได้ (ดูส่วนขยายการป้องกันซอฟต์แวร์ ) [ 17 ]
ข้อเสีย
อย่างไรก็ตาม หากการใช้งานฮาร์ดแวร์ถูกบุกรุก ปัญหาใหญ่ก็จะเกิดขึ้น ซอฟต์แวร์ที่เป็นอันตรายสามารถดึงข้อมูลจากฮาร์ดแวร์ที่ (ควรจะ) ปลอดภัยได้ – วิธีการที่ใช้กันอย่างแพร่หลายคือ การ โจมตีแบบจับเวลา[ 18 ]การแก้ไขปัญหานี้ยากกว่าการแก้ไขบั๊กของซอฟต์แวร์มาก แม้กระทั่งภายในระบบปฏิบัติการเองก็ตามMicrosoftจัดการกับปัญหาด้านความปลอดภัยเป็นประจำผ่านWindows Updateในทำนองเดียวกัน มีการออกอัปเดตความปลอดภัยเป็นประจำสำหรับMac OS XและLinuxรวมถึงระบบปฏิบัติการมือถือ เช่นiOS , AndroidและWindows Phoneอย่างไรก็ตาม ฮาร์ดแวร์เป็นปัญหาที่แตกต่างออกไป บางครั้ง ปัญหาอาจแก้ไขได้ด้วยการอัปเดตไมโครโค้ด ของโปรเซสเซอร์ (ซอฟต์แวร์ระดับต่ำ) อย่างไรก็ตาม ปัญหาอื่นๆ อาจแก้ไขได้ด้วยการเปลี่ยนฮาร์ดแวร์ หรือวิธีแก้ปัญหาในระบบปฏิบัติการที่ลดประโยชน์ด้านประสิทธิภาพของการใช้งานฮาร์ดแวร์ เช่น ในการโจมตี Spectre [ 19 ]
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การเข้ารหัสแบบฮาร์ดแวร์
การเข้ารหัสโดยใช้ฮาร์ดแวร์ คือการใช้ ฮาร์ดแวร์คอมพิวเตอร์ เพื่อช่วยซอฟต์แวร์ หรือบางครั้งก็แทนที่ซอฟต์แวร์ ในกระบวนการ เข้ารหัส ข้อมูล โดยทั่วไปแล้ว จะถูกนำไปใช้เป็นส่วนหนึ่งของ...
ประวัติศาสตร์
ก่อนการใช้ฮาร์ดแวร์คอมพิวเตอร์ การเข้ารหัสสามารถทำได้โดยวิธีการทางกลหรือ ไฟฟ้าเชิงกล ต่างๆ ตัวอย่างแรกคือ Scytale ที่ชาวสปา ร์ ตา ใช้ [ 5 ] เครื่อง Enigma เป็นเครื่องเข้ารหัสระบบไฟฟ้าเชิงกลที่ชาวเยอรมันใช้ใน สงครามโลกครั้งที่สอง หลังจาก สงครามโลกครั้งที่สอง...
ในชุดคำสั่ง
สถาปัตยกรรม X86 ซึ่งเป็น สถาปัตยกรรม CISC (Complex Instruction Set Computer) โดยทั่วไปจะใช้ ในการ ประมวลผลอัลกอริทึม ที่ซับซ้อน ในฮาร์ดแวร์ [ 10 ] อัลกอริทึมการเข้ารหัสก็ไม่มีข้อยกเว้น สถาปัตยกรรม x86 ใช้ส่วนประกอบสำคัญของอัลกอริทึม AES (Advanced Encryption...
ในฐานะโคโปรเซสเซอร์
IBM 4758 – รุ่นก่อนหน้าของ IBM 4764 [ 13 ] ซึ่งรวมถึงโปรเซสเซอร์ หน่วยความจำ และตัว สร้างเลขสุ่ม เฉพาะของตนเอง [ 14 ] IBM 4764 และ IBM 4765 เหมือนกันทุกประการ ยกเว้นการเชื่อมต่อที่ใช้ [ 13 ] รุ่นแรกใช้ PCI-X ในขณะที่รุ่นหลังใช้ PCI-e [ 3 ] ทั้ง สองเป็น...