位置:51电子网 » 技术资料 » 存 储 器

SST89E/V58RD2和SST89E/V516RD2的安全性设计

发布时间:2008/5/27 0:00:00 访问次数:1134

        

    

    

    来源:单片机及嵌入式系统应用 作者:泰山学院 王春玲

    

    sst89e/v58rd2/sst89e/v516rd2加密系统里有两种不同加密方式:硬件加锁(hard lock)和软件加锁(somftlock)。用这两种安全加密方式对内部2块flash加密共有6种不同的组合。

    

    1 硬件加锁

    

    当sst89e/v58rd2/sst89e/v516rd2内部存储器的一个存储块被硬件加锁后,有下面的安全特性:

    

    ①movc命令从驻留在非加锁区(外部程序空间通常也是认为没加锁)执行或者以软加密的flash空间执行,不允许访问在硬件保护flash块的目标地址。这可使硬件保护区的代码难以接触,防止软件被非法复制。

    

    ②所有外部主机模式和iap指令(除了chip-erase/prog-sbx)禁止操作硬件加锁的flash块。

    

    ③在复位时ea被锁存,防止在代码执行中被切换和跳到外部程序空间。

    

    2 软件加锁

    

    软件加锁允许flash内容在安全的环境下被读取和改写。被软件加密的flash块有以下安全特性:

    

    ①movc命令从驻留在非加锁区(外部程序空间通常也是认为没加锁)执行,不允许访问在软件加锁flash块的地址空间。这可使硬件保护区的代码难以接触,防止软件被非法复制。

    

    ②从非加锁区产生的iap指令被禁止。

    

    ③从软件加锁区产生的iap指令对另外一个相同安全等级或相比较低的flash块是允许的。从硬件加锁区产生的iap指令对另一个软件加锁的flash块的访问也是允许的。

    

    ④在复位时ea被锁存,防止在代码执行中被切换和跳到外部程序空间。

    

    3 安全加密指导

    

    3.1 安全加密位的编程

    

    在烧写安全加密位时有6个注意要点:

    

    ①sst89e/v58rd2/sstb9e/v516rd2的加密由三个安全加密位sb1、sb2和sb3控制。

    

    ②3个安全加密位可以通过外部主机模式或iap的prog-sb1、prog sb2和prog-sb3来编程改写。安全加密位可以随意改变,不用考虑当前安全等级。

    

    ③一旦某个加密位已经被编写后,只能通过外部主机模式或iap的chip-erase命令来擦除所有3位加密位。

    

    ④在任何时候的安全加密位状态都是透过特殊功能寄存器sfst[7:5]查询的。

    

    ⑤安全加密位有8种组合,安全等级3有两个选择,每个选择有两种组合。这样就共有6种不同安全加密选择。

    

    ⑥6个安全加密选择分成4个不同安全等级。

    

    3.2 iap指令的影响

    

    iap指令对安全加锁功能的影响如下:

    

    ①从更高安全等级执行的iap命令可以访问低安全等级flash块的内容。

    

    ②从软加密或不加密安全等级的iap命令可以访问相同等级的其他flash块。

    

    ③从flash块1或外部的程序空间执行iap的安全指令不受安全等级的限制。

    

    ④外部程序空间执行iap的整片擦除指令chipr-erase不受安全等级的限制。

    

    4 安全等级

    

    4.1 安全等级1——不加锁

    

    当全部3个加密位都没有被烧写时,就是安全等级l。这也是通过外部主机模式或iap执行整片擦除指令chip-erase后的默

        

    

    

    来源:单片机及嵌入式系统应用 作者:泰山学院 王春玲

    

    sst89e/v58rd2/sst89e/v516rd2加密系统里有两种不同加密方式:硬件加锁(hard lock)和软件加锁(somftlock)。用这两种安全加密方式对内部2块flash加密共有6种不同的组合。

    

    1 硬件加锁

    

    当sst89e/v58rd2/sst89e/v516rd2内部存储器的一个存储块被硬件加锁后,有下面的安全特性:

    

    ①movc命令从驻留在非加锁区(外部程序空间通常也是认为没加锁)执行或者以软加密的flash空间执行,不允许访问在硬件保护flash块的目标地址。这可使硬件保护区的代码难以接触,防止软件被非法复制。

    

    ②所有外部主机模式和iap指令(除了chip-erase/prog-sbx)禁止操作硬件加锁的flash块。

    

    ③在复位时ea被锁存,防止在代码执行中被切换和跳到外部程序空间。

    

    2 软件加锁

    

    软件加锁允许flash内容在安全的环境下被读取和改写。被软件加密的flash块有以下安全特性:

    

    ①movc命令从驻留在非加锁区(外部程序空间通常也是认为没加锁)执行,不允许访问在软件加锁flash块的地址空间。这可使硬件保护区的代码难以接触,防止软件被非法复制。

    

    ②从非加锁区产生的iap指令被禁止。

    

    ③从软件加锁区产生的iap指令对另外一个相同安全等级或相比较低的flash块是允许的。从硬件加锁区产生的iap指令对另一个软件加锁的flash块的访问也是允许的。

    

    ④在复位时ea被锁存,防止在代码执行中被切换和跳到外部程序空间。

    

    3 安全加密指导

    

    3.1 安全加密位的编程

    

    在烧写安全加密位时有6个注意要点:

    

    ①sst89e/v58rd2/sstb9e/v516rd2的加密由三个安全加密位sb1、sb2和sb3控制。

    

    ②3个安全加密位可以通过外部主机模式或iap的prog-sb1、prog sb2和prog-sb3来编程改写。安全加密位可以随意改变,不用考虑当前安全等级。

    

    ③一旦某个加密位已经被编写后,只能通过外部主机模式或iap的chip-erase命令来擦除所有3位加密位。

    

    ④在任何时候的安全加密位状态都是透过特殊功能寄存器sfst[7:5]查询的。

    

    ⑤安全加密位有8种组合,安全等级3有两个选择,每个选择有两种组合。这样就共有6种不同安全加密选择。

    

    ⑥6个安全加密选择分成4个不同安全等级。

    

    3.2 iap指令的影响

    

    iap指令对安全加锁功能的影响如下:

    

    ①从更高安全等级执行的iap命令可以访问低安全等级flash块的内容。

    

    ②从软加密或不加密安全等级的iap命令可以访问相同等级的其他flash块。

    

    ③从flash块1或外部的程序空间执行iap的安全指令不受安全等级的限制。

    

    ④外部程序空间执行iap的整片擦除指令chipr-erase不受安全等级的限制。

    

    4 安全等级

    

    4.1 安全等级1——不加锁

    

    当全部3个加密位都没有被烧写时,就是安全等级l。这也是通过外部主机模式或iap执行整片擦除指令chip-erase后的默

相关IC型号

热门点击

 

推荐技术资料

循线机器人是机器人入门和
    循线机器人是机器人入门和比赛最常用的控制方式,E48S... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!