加密存储芯片AT88SC1616的原理与应用技术

[复制链接]
查看2099 | 回复2 | 2011-9-7 22:54:13 | 显示全部楼层 |阅读模式
<





摘要:从加密存储芯片AT88SC1616内部结构出发,详细介绍该芯片的功能、特点和基本工作原理;给出通用的硬件接口电路和软件编程实现;讨论AT88SC1616在单片机与嵌入式系统中的应用。
关键词:加密存储芯片 AT88SC1616 I2C总线 嵌入式系统


引 言

  随着嵌入式产品性能的日益提高,嵌入式系统在消费类电子、汽车、工业控制和通信等行业迅速普及;但由于嵌入式系统开发成本高、研发周期长,使得关键技术的加密和重要数据的保密问题日益突出。如何在这些嵌入式系统中采用低成本、高效率的方法保护自己的科研成果不被非法仿制和剽窃,同时保存一些关键代码或数据已成为困扰许多研发工程师的问题之一。解决的办法除了采用法律手段保护知识产权外,另一个更加简单有效的方法就是采用加密存储芯片进行硬件电路的加密和重要数据的认证存储。

  AT88SCxx系列加密存储芯片是国际著名芯片厂商Atmel公司生产的具有多用途的加密存储系列芯片。其中AT88SC1616是该系列芯片的典型代表。由于其具有多达2KB的EEPROM ,利用I2C串行总线通信,采用认证或加密验证等方式进行数据访问,因此以其容量大、体积小、使用方便、安全可靠等特点,在产品开发中得到了广泛的应用。

1 器件简介

1.1 引脚说明
            
  如图1所示, 在嵌入式系统中,AT88SC1616常采用SOIC和PDIP两种典型封装。由于器件采用I2C串行总线接口,因此引脚数目少,体积小。各引脚功能如下:

SCL——串行时钟输入脚,用来控制器件所有的数据输入和输出;
SDA——串行数据输入/ 输出脚;
VCC——电源电压,工作电压为3.0~5.5V;
GND——地;
NC——不连接。

1.2 内部结构

  如图2所示,AT88SC1616加密存储芯片内部结构主要由电源管理复位模块、同步传输模块、认证单元、密码校验单元、伪随机数发生器和EEPROM等几部分组成。其中电源管理复位模块主要对芯片进行供电、提供复位管理和掉电保护等功能;同步传输模块用于控制在不同通信方式下数据的传输;认证和密码校验单元实现在不同安全等级下用户应用区数据访问的安全管理;伪随机数发生器用于进行内部加密机的加密计算;EEPROM则保存需要加密的重要数据和代码。
    
1.3 主要特点

① 具有256B的配置存储区,可根据不同需要定义芯片序列号、密码、密钥、认证种子和厂家信息等。

② 提供2KB的用户应用存储区,可根据不同安全等级将该区划分为16个独立的应用分区,最多可以提供给16个用户使用;也可将具有相同安全等级和密码的多个应用分区进行合并。

③ 高安全性。对于用户应用区,具有标准访问、认证访问和加密验证访问两种方式,同时提供多组密码集供读写访问使用。每个应用分区在配置区中都有相应的寄存器控制其安全等级和访问方式。

④ 高可靠性。提供多达10万次擦写次数和10年的数据保存期。

⑤ 多种封装。除8脚的PDIP、SOIC封装外,还具有智能卡片封装,可广泛应用于IC卡系统。

⑥ 高速度。在I2C串行总线方式下,通信速率最高可达1000kb/s。

2 工作原理

2.1 配置区结构

   AT88SC1616 逻辑加密芯片是一款串行EEPROM, 共有2KB的用户应用存储区和256B的系统配置区,应用存储区通过配置可划分成16个相同容量的应用存储区。分别受8套(16个)读、写密码的控制, 错误计数最大8次。这16个应用分区也可以通过配置使用相同的密码和安全等级并可自由合并使用。

AT88SC1616 配置区的结构如图3所示。
Z        
① DCR: 指定认证次数限制和芯片地址。

② AR0~AR7: 确定访问权限,初始化时定义,指定对应的用户应用区访问方式,例如是否需要认证,是否使用密码,使用哪一套密码,是否只读等等。

③ AAC: 认证错误计数器。

④ PAC: 密码错误计数器。

   供用户使用的16个应用存储区都各有2个24位的密码,可在配置区对其读写操作进行设置,并且每个密码都有计数器限制口令验证次数。

2.2 芯片使用

  AT88SC1616芯片为用户访问应用存储区提供了标准、认证和加密三种方式,既方便用户根据实际情况灵活选择加密方式,又提高了系统的安全性。在标准访问方式下,对用户应用区的读写访问无任何限制;在认证方式下,用户必须经过认证,同时要通过不同用户区所设定的密码检验才能正确访问用户数据区,在这种方式下,总线上传输的数据是明文;加密验证模式下访问用户区时用户必须首先经过认证,然后利用认证成功后配置区特定寄存器中更新的数据作为密钥再次进行认证,最后还要通过不同用户区设定的密码检验后才可访问用户区,这种方式下总线上传输的数据是经过加密的密文。


热帖推荐
pmr68 | 2014-2-15 10:16:26 | 显示全部楼层
学习学习
yangcun | 2011-9-7 22:54:15 | 显示全部楼层
  总体来说,对芯片的使用可分成初始化、认证(加密)和访问三个步骤。

(1)初始化
  初始化的过程,用户系统的MCU要将生产厂商信息、分区设置、安全等级和密码以及加密认证所需参数等写入芯片的配置区,最后还要进行写熔断的处理。在实现的过程中,应重点考虑如何对AT88SC1616的2K配置区进行合理的配置和使用,对访问用户分区的权限进行有效的控制,因此表1所列几个寄存器的配置尤其重要。
     
  在对配置区进行合理配置的同时,要将认证所需的三组重要的参数写入到配置区相应的寄存器中。这三组数分别是:Ci(Cryptograms)认证所需的随机数,Nc(Identification Number)芯片序列号,Gc(Secret Seeds) 由用户自定义的F1算法得出的秘密种子。
本新闻共3页,当前在第1页 [1] [2] [3]




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则