Cryptology Academy · บทเรียน

การวิเคราะห์กำลังไฟฟ้า: SPA และ DPA

เก็บร่องรอยกำลังไฟฟ้าและดำเนินการวิเคราะห์กำลังไฟฟ้าแบบง่ายและแบบเชิงอนุพันธ์

บทเรียน 2 จาก 412 ขั้นตอน

การวิเคราะห์กำลังไฟฟ้า: SPA และ DPA เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

การวิเคราะห์กำลังไฟฟ้าคืออะไร

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

การวิเคราะห์กำลังไฟฟ้าแบบง่าย (SPA)

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

การวิเคราะห์กำลังไฟฟ้าเชิงผลต่าง (DPA)

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

แบบจำลองน้ำหนักแฮมมิง

สมมติฐานสำคัญคือ การใช้กำลังไฟฟ้าเป็นสัดส่วนกับจำนวนบิต 1 หรือน้ำหนักแฮมมิงของค่าที่กำลังประมวลผล สมมติฐานนี้ใช้ได้ดีสำหรับลอจิก CMOS ที่ความถี่ต่ำ

การวิเคราะห์กำลังไฟฟ้าด้วยสหสัมพันธ์ (CPA)

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

การเก็บร่องรอยกำลังไฟฟ้าในทางปฏิบัติ

นักวิจัยใช้ตัวต้านทานตรวจจับกระแสต่ออนุกรมกับอุปกรณ์เป้าหมาย และใช้ออสซิลโลสโคปหรือบอร์ด ChipWhisperer เพื่อแปลงร่องรอยเป็นข้อมูลดิจิทัลด้วยอัตรา 100 MS/s หรือสูงกว่า

DPA บน AES: การกู้คืนกุญแจ

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

DPA ลำดับสูง

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

DPA ต่อการยกกำลังสองและคูณของ RSA

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

เครื่องมือและแพลตฟอร์ม

แพลตฟอร์มโอเพนซอร์ส ChipWhisperer มีฮาร์ดแวร์และซอฟต์แวร์ Python สำหรับการเก็บข้อมูล การจัดแนวร่องรอย และ CPA พร้อมรองรับเป้าหมาย AES, RSA และ ECC ได้ทันที

ตรวจสอบความรู้

ในการวิเคราะห์กำลังไฟฟ้าด้วยสหสัมพันธ์ อะไรทำให้สมมติฐานกุญแจที่ถูกต้องแตกต่างจากสมมติฐานที่ไม่ถูกต้อง

สรุปบทเรียน

SPA อ่านร่องรอยเดียวด้วยสายตา ส่วน DPA ใช้สถิติกับร่องรอยจำนวนมาก CPA ใช้สหสัมพันธ์ของ Pearson ร่วมกับแบบจำลองน้ำหนักแฮมมิง มาตรการรับมือรวมถึงการปิดบังและพิกัดโปรเจกทีฟแบบสุ่มสำหรับ ECC

เริ่มต้นได้ฟรี

เรียนรู้ Cryptology Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
67
บทเรียน
261

คำถามที่พบบ่อย

บทเรียน “การวิเคราะห์กำลังไฟฟ้า: SPA และ DPA” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การวิเคราะห์กำลังไฟฟ้า: SPA และ DPA” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การวิเคราะห์กำลังไฟฟ้า: SPA และ DPA”

เก็บร่องรอยกำลังไฟฟ้าและดำเนินการวิเคราะห์กำลังไฟฟ้าแบบง่ายและแบบเชิงอนุพันธ์ คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การวิเคราะห์กำลังไฟฟ้า: SPA และ DPA” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การโจมตีด้านเวลา: ดึงคีย์จากเวลาทำงาน
  2. การวิเคราะห์กำลังไฟฟ้า: SPA และ DPA
  3. ช่องทางข้างเคียงด้านแม่เหล็กไฟฟ้าและเสียง
  4. มาตรการป้องกัน: การทำมาสก์ การทำให้จุดมืดบอด และโค้ดเวลาเสมอ
← กลับไปที่ Cryptology Academy