การถอดรหัสด้วยชิปเรียกอีกอย่างว่าการถอดรหัสด้วยชิปตัวเดียว (การถอดรหัสด้วย IC) เนื่องจากชิปไมโครคอมพิวเตอร์ชิปตัวเดียวในผลิตภัณฑ์อย่างเป็นทางการได้รับการเข้ารหัส จึงไม่สามารถอ่านโปรแกรมโดยตรงโดยใช้โปรแกรมเมอร์ได้
เพื่อป้องกันการเข้าถึงหรือการคัดลอกโปรแกรมบนชิปของไมโครคอนโทรลเลอร์โดยไม่ได้รับอนุญาต ไมโครคอนโทรลเลอร์ส่วนใหญ่จึงมีบิตล็อคที่เข้ารหัสหรือไบต์ที่เข้ารหัสเพื่อป้องกันโปรแกรมบนชิป หากบิตล็อคการเข้ารหัสเปิดใช้งาน (ล็อค) ในระหว่างการเขียนโปรแกรม โปรแกรมในไมโครคอนโทรลเลอร์จะไม่สามารถอ่านได้โดยตรงโดยโปรแกรมเมอร์ทั่วไป ซึ่งเรียกว่าการเข้ารหัสไมโครคอนโทรลเลอร์หรือการเข้ารหัสชิป ผู้โจมตี MCU ใช้เครื่องมือพิเศษหรืออุปกรณ์ที่สร้างขึ้นเอง ใช้ประโยชน์จากช่องโหว่หรือข้อบกพร่องของซอฟต์แวร์ในการออกแบบชิป MCU และด้วยวิธีการทางเทคนิคต่างๆ พวกเขาสามารถดึงข้อมูลสำคัญจากชิปและรับโปรแกรมภายในของ MCU ได้ ซึ่งเรียกว่าการแคร็กชิป
วิธีการถอดรหัสด้วยชิป
1.การโจมตีซอฟต์แวร์
เทคนิคนี้มักใช้ส่วนต่อประสานการสื่อสารของโปรเซสเซอร์และใช้ประโยชน์จากโปรโตคอล อัลกอริทึมการเข้ารหัส หรือช่องโหว่ด้านความปลอดภัยในอัลกอริทึมเหล่านี้เพื่อดำเนินการโจมตี ตัวอย่างทั่วไปของการโจมตีซอฟต์แวร์ที่ประสบความสำเร็จคือการโจมตีไมโครคอนโทรลเลอร์ซีรีส์ ATMEL AT89C รุ่นแรก ผู้โจมตีใช้ประโยชน์จากช่องโหว่ในการออกแบบลำดับการดำเนินการลบของไมโครคอมพิวเตอร์ชิปเดียวซีรีส์นี้ หลังจากลบบิตล็อกการเข้ารหัสแล้ว ผู้โจมตีจะหยุดการดำเนินการครั้งต่อไปของการลบข้อมูลในหน่วยความจำโปรแกรมบนชิป เพื่อให้ไมโครคอมพิวเตอร์ชิปเดียวที่เข้ารหัสกลายเป็นไมโครคอมพิวเตอร์ชิปเดียวที่ไม่ได้เข้ารหัส จากนั้นจึงใช้โปรแกรมเมอร์เพื่ออ่านโปรแกรมบนชิป
โดยอาศัยวิธีการเข้ารหัสอื่น อุปกรณ์บางชนิดสามารถพัฒนาให้ทำงานร่วมกับซอฟต์แวร์บางตัวเพื่อทำการโจมตีซอฟต์แวร์ได้
2. การโจมตีการตรวจจับทางอิเล็กทรอนิกส์
โดยทั่วไปเทคนิคนี้จะตรวจสอบลักษณะอะนาล็อกของพลังงานทั้งหมดและการเชื่อมต่ออินเทอร์เฟซของโปรเซสเซอร์ระหว่างการทำงานปกติด้วยความละเอียดเชิงเวลาสูง และใช้การโจมตีโดยตรวจสอบลักษณะการแผ่คลื่นแม่เหล็กไฟฟ้า เนื่องจากไมโครคอนโทรลเลอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่ทำงานอยู่ เมื่อดำเนินการคำสั่งต่างๆ การใช้พลังงานที่เกี่ยวข้องก็จะเปลี่ยนแปลงตามไปด้วย ด้วยวิธีนี้ การวิเคราะห์และตรวจจับการเปลี่ยนแปลงเหล่านี้โดยใช้เครื่องมือวัดอิเล็กทรอนิกส์พิเศษและวิธีการทางคณิตศาสตร์และสถิติ จะทำให้ได้ข้อมูลสำคัญเฉพาะในไมโครคอนโทรลเลอร์
3. เทคโนโลยีการสร้างความผิดพลาด
เทคนิคนี้ใช้เงื่อนไขการทำงานที่ผิดปกติเพื่อดักฟังโปรเซสเซอร์ จากนั้นจึงให้การเข้าถึงเพิ่มเติมเพื่อดำเนินการโจมตี การโจมตีที่ก่อให้เกิดข้อผิดพลาดที่ใช้กันอย่างแพร่หลายที่สุด ได้แก่ แรงดันไฟกระชากและสัญญาณนาฬิกากระชาก การโจมตีแรงดันไฟต่ำและแรงดันสูงสามารถใช้เพื่อปิดวงจรป้องกันหรือบังคับให้โปรเซสเซอร์ดำเนินการผิดพลาด การเปลี่ยนแปลงชั่วขณะของสัญญาณนาฬิกาอาจรีเซ็ตวงจรป้องกันโดยไม่ทำลายข้อมูลที่ได้รับการป้องกัน การเปลี่ยนแปลงชั่วขณะของพลังงานและสัญญาณนาฬิกาอาจส่งผลต่อการถอดรหัสและการดำเนินการคำสั่งแต่ละรายการในโปรเซสเซอร์บางตัว
4. เทคโนโลยีโพรบ
เทคโนโลยีนี้คือการเปิดเผยสายไฟภายในของชิปโดยตรง จากนั้นสังเกต จัดการ และแทรกแซงไมโครคอนโทรลเลอร์เพื่อบรรลุวัตถุประสงค์ของการโจมตี
เพื่อความสะดวก ผู้คนแบ่งเทคนิคการโจมตีทั้งสี่ประเภทข้างต้นออกเป็นสองประเภท ประเภทหนึ่งคือการโจมตีแบบแทรกแซง (การโจมตีทางกายภาพ) การโจมตีประเภทนี้ต้องทำลายแพ็คเกจ แล้วจึงใช้เครื่องมือทดสอบเซมิคอนดักเตอร์ กล้องจุลทรรศน์ และไมโครโพซิชันเนอร์ในห้องปฏิบัติการเฉพาะทาง ซึ่งอาจใช้เวลาหลายชั่วโมงหรือหลายสัปดาห์จึงจะเสร็จสมบูรณ์ เทคนิคการตรวจสอบด้วยไมโครโพรบทั้งหมดเป็นการโจมตีแบบแทรกแซง อีกสามวิธีเป็นการโจมตีแบบไม่แทรกแซง และไมโครคอนโทรลเลอร์ที่ถูกโจมตีจะไม่ได้รับความเสียหายทางกายภาพ การโจมตีแบบไม่แทรกแซงนั้นอันตรายเป็นพิเศษในบางกรณี เนื่องจากอุปกรณ์ที่จำเป็นสำหรับการโจมตีแบบไม่แทรกแซงมักสร้างและอัปเกรดเองได้ จึงทำให้มีราคาถูกมาก
การโจมตีแบบไม่รบกวนส่วนใหญ่มักต้องการให้ผู้โจมตีมีความรู้เกี่ยวกับโปรเซสเซอร์และซอฟต์แวร์ที่ดี ในทางตรงกันข้าม การโจมตีแบบสอดส่องไม่จำเป็นต้องมีความรู้เบื้องต้นมากนัก และโดยปกติแล้วสามารถใช้เทคนิคที่คล้ายคลึงกันกับผลิตภัณฑ์ได้หลากหลาย ดังนั้น การโจมตีไมโครคอนโทรลเลอร์จึงมักเริ่มต้นจากวิศวกรรมย้อนกลับแบบรบกวน และประสบการณ์ที่สะสมมาจะช่วยพัฒนาเทคนิคการโจมตีแบบไม่รบกวนที่ถูกกว่าและเร็วกว่า