1、 简介
AT88SCxx系列加密存储芯(卡)片是国际*芯(卡)片厂商Atmel公司生产的具有多用途的加密存储系列芯(卡)片。利用I2C串行总线通信,采用认证或加密验证等方式进行数据访问,因此以其容量大、体积小、使用方便、安全可靠等特点,在生产开发中得到了广泛的应用。
AT88SCxx系列包括AT88SC0104C、AT88SC0204C、AT88SC0404C、AT88SC0808C、AT88SC1616C、AT88SC3216C、AT88SC6416C、AT88SC12816C、AT88SC25616C等型号,用户区存储空间从1Kbits到256Kbits不等。用户存储区通过配置可划分成4到16个相同容量的应用存储区。分别受8套读、写口令的控制和安全等级的设定,这些应用分区的读写安全设定可以自由合并使用
2、 芯(卡)片是如何保证安全性的
AT88SC系列芯(卡)片提供了标准、口令、认证和加密三种方式访问用户存储区,在标准访问方式下,对用户存储区的读写访问无任何限制;在口令访问模式下,对用户存储区的读写访问需要口令验证;在认证方式下,用户必须经过认证,同时要通过不同用户区所设定的口令检验才能正确访问用户数据区;加密验证模式下访问用户时用户必须 先经过认证,然后利用认证成功后配置区特定寄存器中更新的数据作为密钥再次进行认证, 后还要通过不同用户区设定的口令检验后才可访问用户区,这种方式下总线下传输的数据是经过加密的密文。
AT88SC0204C系列芯(卡)片内置了一个2kbit的加密算法。其认证和加密模式都使用了这个算法。在认证和加密模式下,大大增强了IC卡访问的安全性,能有效克制旁路攻击。在这两种模式下,主机每次与IC卡或者芯(卡)片交互的信息都不一样,这样*三者很难从交互信息中获取有效数据。
3、 芯(卡)片的认证加密过程
主机 先从芯(卡)片中读出Nc和Ci,根据自定义的函数F1(Nc,Ks)算法算出Gc,其中Ks为用户知道固定参数,同时利用芯(卡)片内部的F2(Gc,Ci,Q0)算法算出Q1,并向芯(卡)片发送初K始化认证参数Q1和Q0,其中,Q0是CPU方给出的随机数。芯(卡)片内部则利用自己的F2逻辑算出Ci+1=F2(Gc,Ci,Q0),同时得出Q2=F2(Gc,Q1)。芯(卡)片收到校验认证命令后,判断是否Ci+1=Q1,如是,则有Ci+2=F2(Gc,Ci+1),且用Ci+2更新Ci,芯(卡)片中的认证通过;同时更新芯(卡)片内部同组的SK(Session Encryption Key)的值。CPU方接收芯(卡)片中更新的Ci后,判断是否等于Q2,如果通过,则认证全部通过。