色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > SST89E/V58RD2和SST89E/V516RD2的安全性設(shè)計

          SST89E/V58RD2和SST89E/V516RD2的安全性設(shè)計

          作者: 時間:2006-09-30 來源:網(wǎng)絡(luò) 收藏
          E/V582/E/V2加密系統(tǒng)里有兩種不同加密方式:硬件加鎖(Hard Lock)和軟件加鎖(SomftLock)。用這兩種安全加密方式對內(nèi)部2塊Flash加密共有6種不同的組合。

          1 硬件加鎖
          E/V582/SST89E/VRD2內(nèi)部存儲器的一個存儲塊被硬件加鎖后,有下面的安全特性:

          ①MOVc命令從駐留在非加鎖區(qū)(外部程序空間通常也是認為沒加鎖)執(zhí)行或者以軟加密的Flash空間執(zhí)行,不允許訪問在硬件保護Flash塊的目標地址。這可使硬件保護區(qū)的代碼難以接觸,防止軟件被非法復制。

          ②所有外部主機模式和IAP指令(除了chip-Erase/Prog-SBX)禁止操作硬件加鎖的Flash塊。

          ③在復位時EA被鎖存,防止在代碼執(zhí)行中被切換和跳到外部程序空間。

          2 軟件加鎖
          軟件加鎖允許Flash內(nèi)容在安全的環(huán)境下被讀取和改寫。被軟件加密的Flash塊有以下安全特性:

          ①MOVC命令從駐留在非加鎖區(qū)(外部程序空間通常也是認為沒加鎖)執(zhí)行,不允許訪問在軟件加鎖Flash塊的地址空間。這可使硬件保護區(qū)的代碼難以接觸,防止軟件被非法復制。
          ②從非加鎖區(qū)產(chǎn)生的IAP指令被禁止。
          ③從軟件加鎖區(qū)產(chǎn)生的IAP指令對另外一個相同安全等級或相比較低的Flash塊是允許的。從硬件加鎖區(qū)產(chǎn)生的IAP指令對另一個軟件加鎖的Flash塊的訪問也是允許的。
          ④在復位時EA被鎖存,防止在代碼執(zhí)行中被切換和跳到外部程序空間。

          3 安全加密指導
          3.1 安全加密位的編程

          在燒寫安全加密位時有6個注意要點:
          ①SST89E/V58RD2/SSTB9E/VRD2的加密由三個安全加密位SB1、SB2和SB3控制。
          ②3個安全加密位可以通過外部主機模式或IAP的Prog-SB1、Prog sB2和Prog-SB3來編程改寫。安全加密位可以隨意改變,不用考慮當前安全等級。
          ③一旦某個加密位已經(jīng)被編寫后,只能通過外部主機模式或IAP的Chip-Erase命令來擦除所有3位加密位。
          ④在任何時候的安全加密位狀態(tài)都是透過特殊功能寄存器SFST[7:5]查詢的。
          ⑤安全加密位有8種組合,安全等級3有兩個選擇,每個選擇有兩種組合。這樣就共有6種不同安全加密選擇。
          ⑥6個安全加密選擇分成4個不同安全等級。

          3.2 IAP指令的影響

          IAP指令對安全加鎖功能的影響如下:
          ①從更高安全等級執(zhí)行的IAP命令可以訪問低安全等級Flash塊的內(nèi)容。
          ②從軟加密或不加密安全等級的IAP命令可以訪問相同等級的其他Flash塊。
          ③從Flash塊1或外部的程序空間執(zhí)行IAP的安全指令不受安全等級的限制。
          ④外部程序空間執(zhí)行IAP的整片擦除指令chipr-Erase不受安全等級的限制。

          4 安全等級
          4.1 安全等級1――不加鎖

          當全部3個加密位都沒有被燒寫時,就是安全等級l。這也是通過外部主機模式或IAP執(zhí)行整片擦除指令chip-Erase后的默認安全狀態(tài)。在安全狀態(tài)1,安全狀態(tài)
          位SFST[7:5]是000b,內(nèi)部Flash塊的安全特性被禁止,MOVC指令和外部主機模式和IAP指令可以訪問內(nèi)部的2塊Flash空間。

          4.2 安全等級2――防止代碼的誤操作

          在安全等級1下,通過外部主機模式或IAP Prog-SBI燒寫加密位SB1,其余兩個加密位不燒寫,可以去到安全等級2。在安全等級2:
          ①2個Flash塊都被軟加密。
          ②安全狀態(tài)位SFST[7:5]是100b。
          ③外部主機模式和IAP的字節(jié)校驗指令Byte_Verifycommand可以執(zhí)行。允許在Blockl和Bloclk2的程序執(zhí)行IAP指令。
          ④不允許從外部程序空間執(zhí)行對內(nèi)部Flash塊的MOVC命令,但是從BLocK0或BLocK1可以執(zhí)行對自己或另外Flash塊和外部程序空間的MOVC命令。

          4.3 安全等級3

          安全等級3是對代碼誤操作和軟件版權(quán)的保護,可控制代碼升級,包括了6個安全加密選擇的3個等級。在每一種加密方式中,從外部程序空間執(zhí)行的MOVC命令都被禁止,麗在復位時被取樣和鎖存,防止有人在代碼執(zhí)行中間切換并跳帶外部代碼。

          (1)Soft Lock/Soft Lock
          這個安全狀態(tài)只能從安全等級1通過外部主機模式或IAP Prog-SB2指令燒寫加密位SB2而獲得,其他2個加密位沒有燒寫。在安全等級3:
          ①2個Flash塊被軟加密。
          ②安全狀態(tài)位SFST[7:5]是010b。
          ③所有主機模式命令(除了chip-Erase和Prog-SBx)都被禁止。
          ④所有BlockO和Block1執(zhí)行的IAP命令(除了lAPchip-Erase)都是允許的。
          ⑤外部程序空間執(zhí)行對內(nèi)部Flash空間的MOVC指令都被禁止,而在內(nèi)部Block0或Block1執(zhí)行對內(nèi)部或外部程序空間的MOVC指令都允許。

          駐留在內(nèi)部Flash塊的程序代碼可以防止被復制,因為外邊的資源不能訪問到內(nèi)部代碼,而2個塊的代碼還是可以在可控制的環(huán)境中升級的。在Block1執(zhí)行的代碼可以升級Block0的代碼,反之亦然。不管什么方式,由于在每個BLocK的代碼可以通過IAP被改寫,實現(xiàn)這些IAP指令的代碼存在會被誤用的可能性。

          (2)Hard Lock/Soft Lock
          這個安全加密選擇可以從安全等級1、2和3升級上來。在安全等級3:
          ①Block1被硬件加密,BlockO被軟件加密。
          ②加密狀態(tài)位SFST[7:5]是001b或110b。
          ③所有主機模式命令(除了chip-Erase和Prog-SBx)都被禁止。
          ④只有Block1對]BlockO做IAP操作。在外部存儲空間IAP Chip-Erase可以對內(nèi)部Flash塊操作。
          ⑤Block0對Block1的MOVC:命令被禁止,但是Block1對BlockO的MOVC命令是允許的。由于在Block1的代碼被硬件加密,不能被改寫,可以防止代碼的誤操作。由于外部不能訪問,在Block 1和Block 0的代碼完全被保護,防止被復制。不過,用戶還可以運行Block1的IAP命令對BlockO修改實現(xiàn)代碼的升級。-
          |
          (3)Hard Lock/Hard Lock
          這個安全等級可以從安全等級l、2和3升級。如果SST89E/V58RD2/SST89E/V516RD2的當前狀態(tài)是等級3(ll0b),它能升級的狀態(tài)只有安全等級4 Hard Lock/Hard Lock。在安全等級3:
          ①2個Flash塊都被硬件加密。
          ②加密狀態(tài)位SFST[7:5]是011b或101b。
          ③所有主機模式命令(除了chip-Erase和Prog-SBx)都被禁止。
          ④從外部程序空間對內(nèi)部Flash的MOVC,被禁止,但是Block0或Block1對內(nèi)部或外部的MOVC:指令是允許的。在這個模式,由于所有的編程和擦除命令(除了chip-Erase和Prog-SBx)被禁止,2個Flash塊都被保護。

          5 安全等級4
          安全等級4是Hard Lock/Hard Lock最高加密等級。它可以從任何一個安全設(shè)置通過外部主機模式或IAP指令燒寫3個加密位SB1、SB2和SB3。在安全等級4:
          ①內(nèi)部2個Flash塊被硬加密。
          ②加密狀態(tài)位SFST[7:5]是011b或101b。
          ③外部主機模式的所有命令(除了Chip_Erase命令)被禁止。
          ④所有IAP指令被禁止。
          ⑤從外部程序空間對內(nèi)部Flash塊的MOVC指令被禁止,但是從BLockO和Block1執(zhí)行的對內(nèi)部Flash和外部存儲空間可以執(zhí)行。
          ⑥不允許執(zhí)行外部程序代碼,不管EA是1或0,除非代碼調(diào)到內(nèi)部空間不存在的地址代碼(對SST89E/V58RD2,從8000H到DFFFH)。

          因為禁止內(nèi)部Flash被擦除和編程,而且內(nèi)部代碼不能被訪問到,在這個加密狀態(tài),內(nèi)部代碼可以防止被誤改寫或復制。另外,這時MCU只可以從內(nèi)部Flash空間用戶代碼開始啟動。



          關(guān)鍵詞: SST 89 RD 516

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉