一、芯片概述

LCMX02 - 1200HC4TG100C 屬于 Lattice MachXO2 系列,是一款具有多種特性的復(fù)雜芯片。該系列作為超低壓、即時(shí)啟動(dòng)、非易失性的可編程邏輯器件(PLD),共有六個(gè)不同密度的型號(hào),LCMX02 - 1200HC4TG100C 的密度在其中處于一定水平,擁有 1280 個(gè)查找表(LUTs) 。它具備豐富的功能模塊,除了基于 LUT 的低成本可編程邏輯外,還集成了嵌入式塊隨機(jī)存取存儲(chǔ)器(EBR)、分布式隨機(jī)存取存儲(chǔ)器、用戶閃存(UFM)、鎖相環(huán)(PLLs)等。同時(shí),該芯片支持源同步 I/O,具備高級(jí)配置功能,包括雙啟動(dòng)能力,并且擁有如 SPI 控制器、I2C 控制器和定時(shí)器 / 計(jì)數(shù)器等常用功能的固化版本。這些特性使得它能夠廣泛應(yīng)用于低成本、大批量的消費(fèi)類和系統(tǒng)應(yīng)用中。

二、芯片技術(shù)原理

  1. 邏輯架構(gòu):采用靈活的邏輯架構(gòu),通過(guò) LUTs 實(shí)現(xiàn)各種邏輯功能。LUT 本質(zhì)上是一種存儲(chǔ)單元,通過(guò)預(yù)先存儲(chǔ)的真值表來(lái)實(shí)現(xiàn)邏輯運(yùn)算。對(duì)于復(fù)雜的邏輯電路,可以通過(guò)多個(gè) LUT 的協(xié)同工作來(lái)實(shí)現(xiàn)。例如,對(duì)于一個(gè)需要實(shí)現(xiàn)多位加法運(yùn)算的電路,就可以利用多個(gè) LUT 分別處理不同位的加法邏輯,然后將結(jié)果進(jìn)行組合。在 LCMX02 - 1200HC4TG100C 中,1280 個(gè) LUTs 能夠支持較為復(fù)雜的邏輯設(shè)計(jì)需求。
  1. 存儲(chǔ)模塊:嵌入式塊隨機(jī)存取存儲(chǔ)器(EBR)用于存儲(chǔ)大量的數(shù)據(jù),適合緩存一些需要快速讀寫的數(shù)據(jù),比如在數(shù)據(jù)處理過(guò)程中的臨時(shí)數(shù)據(jù)存儲(chǔ)。分布式隨機(jī)存取存儲(chǔ)器則更適合一些對(duì)存儲(chǔ)容量需求較小,但對(duì)存儲(chǔ)位置分布有要求的場(chǎng)景,例如在一些需要對(duì)不同邏輯模塊分別提供少量存儲(chǔ)的情況下。用戶閃存(UFM)可以存儲(chǔ)用戶自定義的數(shù)據(jù)和程序,并且具有一定的寫入壽命(如 100,000 次寫周期),可通過(guò) Wishbone、SPI、I2C 和 JTAG 接口進(jìn)行訪問(wèn),既可以作為軟處理器的可編程只讀存儲(chǔ)器(PROM),也可作為普通閃存使用。
  1. 時(shí)鐘管理:芯片內(nèi)部具有靈活的時(shí)鐘管理機(jī)制。它擁有八個(gè)主時(shí)鐘,能夠?yàn)椴煌墓δ苣K提供時(shí)鐘信號(hào)。同時(shí),對(duì)于高速 I/O 接口,還提供了多達(dá)兩個(gè)邊緣時(shí)鐘(僅在頂部和底部)。另外,芯片內(nèi)每個(gè)器件最多可配備兩個(gè)模擬 PLL,這些 PLL 支持分?jǐn)?shù) N 頻率合成,輸入頻率范圍較寬(10MHz 至 400MHz),可以根據(jù)實(shí)際應(yīng)用的需求,對(duì)外部輸入時(shí)鐘進(jìn)行精確的分頻、倍頻等操作,以滿足不同模塊對(duì)時(shí)鐘頻率的要求。

三、解密面臨的挑戰(zhàn)

  1. 加密機(jī)制:為了保護(hù)芯片內(nèi)的數(shù)據(jù)和知識(shí)產(chǎn)權(quán),芯片制造商通常會(huì)采用多種加密技術(shù)。例如,在配置數(shù)據(jù)寫入芯片時(shí),可能會(huì)對(duì)數(shù)據(jù)進(jìn)行加密處理,只有通過(guò)特定的解密密鑰才能正確讀取和配置芯片。LCMX02 - 1200HC4TG100C 支持從片上閃存、外部 SPI 閃存進(jìn)行配置,在這些配置過(guò)程中,數(shù)據(jù)傳輸可能采用了加密通道,防止數(shù)據(jù)被竊取和篡改。而且,芯片可能具備硬件加密模塊,對(duì)存儲(chǔ)在內(nèi)部的敏感信息進(jìn)行加密存儲(chǔ),使得非法獲取數(shù)據(jù)變得極為困難。
  1. 物理防護(hù):從物理層面上,芯片也具有一定的防護(hù)措施。芯片的封裝形式為 TQFP - 100,在封裝過(guò)程中可能采用了一些防止物理探測(cè)的技術(shù)。例如,芯片內(nèi)部的電路布局可能經(jīng)過(guò)特殊設(shè)計(jì),使得通過(guò)物理探針等方式獲取內(nèi)部信號(hào)變得困難。同時(shí),芯片可能對(duì)工作環(huán)境的物理參數(shù)(如溫度、電壓等)非常敏感,一旦檢測(cè)到異常的物理參數(shù)變化,可能會(huì)觸發(fā)保護(hù)機(jī)制,導(dǎo)致芯片功能異?;驍?shù)據(jù)被擦除,從而增加了解密的難度。

四、可能的解密方法探討

  1. 軟件攻擊:如果能夠獲取芯片的配置接口(如 SPI、I2C、JTAG 接口)的訪問(wèn)權(quán)限,理論上可以嘗試通過(guò)發(fā)送特定的指令序列來(lái)破解加密機(jī)制。但這需要深入了解芯片的接口協(xié)議和加密算法。例如,對(duì)于 SPI 接口,可以嘗試通過(guò)分析 SPI 通信過(guò)程中的時(shí)序、數(shù)據(jù)格式等,尋找可能存在的漏洞。一些早期的芯片在 SPI 通信加密方面可能存在不完善之處,通過(guò)發(fā)送精心構(gòu)造的 SPI 指令,有可能繞過(guò)加密驗(yàn)證,讀取或修改芯片內(nèi)的配置數(shù)據(jù)。但對(duì)于 LCMX02 - 1200HC4TG100C 這樣較為先進(jìn)的芯片,其接口協(xié)議和加密算法經(jīng)過(guò)了嚴(yán)格的設(shè)計(jì)和測(cè)試,軟件攻擊的難度極大。
  1. 硬件攻擊:硬件攻擊主要包括對(duì)芯片進(jìn)行物理層面的探測(cè)和分析。一種方法是通過(guò)微探針技術(shù),在顯微鏡下將極細(xì)的探針連接到芯片內(nèi)部的電路節(jié)點(diǎn)上,嘗試獲取內(nèi)部信號(hào)。但由于芯片內(nèi)部電路布局復(fù)雜且可能存在物理防護(hù),這種方法操作難度極高,并且容易損壞芯片。另一種硬件攻擊方法是利用芯片在不同工作狀態(tài)下的功耗變化來(lái)分析其內(nèi)部的邏輯狀態(tài),即功耗分析攻擊。由于芯片在執(zhí)行不同的指令或處理不同的數(shù)據(jù)時(shí),其功耗會(huì)有所不同,通過(guò)精確測(cè)量芯片的功耗曲線,并結(jié)合一定的算法分析,有可能推斷出芯片內(nèi)部的加密密鑰等信息。但這種方法需要高精度的測(cè)量設(shè)備和復(fù)雜的算法,并且對(duì)于具有功耗平衡等防護(hù)措施的芯片,效果也會(huì)大打折扣。