关于逻辑加密卡一种安全方案的设计_第1页
关于逻辑加密卡一种安全方案的设计_第2页
关于逻辑加密卡一种安全方案的设计_第3页
关于逻辑加密卡一种安全方案的设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    关于逻辑加密卡一种安全方案的设计【摘要】针对逻辑加密卡的特点,从加强软件设计的角度出发,巧妙实现了一卡一密,从而给出了一种安全可靠的加密方案。关键词:逻辑加密卡,软件,设计1引言目前使用的IC卡一般有两种类型,即CPU卡和逻辑加密卡。CPU卡的加密性能自不必说,然而其编程复杂,价格远远高于逻辑加密卡。如果在程序设计上对逻辑加密卡的安全性多加考虑,选择逻辑加密卡几乎是无法破译的,而且成本低,用户容易接受。下面我们以SLE4428逻辑加密卡为例设计【摘要】针对逻辑加密卡的特点,从加强软件设计的角度出发,巧妙实现了一卡一密,从而给出了一种安全可靠的加密

2、方案。关键词:逻辑加密卡,软件,设计1引言目前使用的IC卡一般有两种类型,即CPU卡和逻辑加密卡。CPU卡的加密性能自不必说,然而其编程复杂,价格远远高于逻辑加密卡。如果在程序设计上对逻辑加密卡的安全性多加考虑,选择逻辑加密卡几乎是无法破译的,而且成本低,用户容易接受。下面我们以SLE4428逻辑加密卡为例设计一种安全实现方案,该IC卡在本地区经过约10万人使用,两年来未发生一起失密事故。2SLE4428性能描述和设计原则为了更好地说明设计流程,首先简要地介绍一下SLE4428的性能。·SLE4428容量大小为1K字节,地址为01023,存储区分配图如图1所示。·所有数据除

3、密码外,在任意情况下均可被读出,密码在核对正确后可以被读出。·所有数据包括密码本身在核对密码正确后可以写入或更改。·所有数据都可以按字节进行写保护,写保护后数据固化,任意情况下不可更改。·有一个密码出错计数器。地址是1021。初始值为8,密码核对出错一次,便减1。若计数器值为0,则整张卡的数据被锁死,只可读出,不可更改或写入且无法继续核对密码;若不为0,则只需要一次核对正确,计数器将恢复为初始值8。·密码长度为2字节,地址是1022,1023。共有216种组合,在密码核对正确之前,读这两地址的结果是“00”,也无法写入和更改;在密码核对正确后可以读出密码

4、和更改密码,密码会一直有效至卡掉电为止。·地址07、2126,出厂前由厂家固化,不可更改,其中地址2126是卡的用户代码,是由制造卡的厂家向SIEMENS公司申请注册的全球唯一的用户代码。针对SLE4428安全性的局限性,我们采用了下面的设计原则。(1)首先生成密钥文件,该文件为二进制加密文件,由用户方提供的算法种子经过加密算法,生成用户卡密钥所需要的算法种子(以下简称密钥种子)和加密用户卡数据所需要的算法种子(以下简称加密种子)。(2)用算法种子通过加密算法以密文方式存储用户卡重要数据,使其它系统无法读出卡上内容,从而保护用户的隐私。(3)用户卡的改写必须经过下述操作:首先,调用密

5、钥文件中的密钥种子,其次,通过加密算法校验用户卡密钥,如果正确就可以进行改写,如果不正确,SLE4428将记数,超过8次不正确,SLE4428将自动锁死,从而避免用穷尽法破译用户卡密钥。3设计流程IC卡的设计分为发行用户新卡和改写用户卡两种情况,对这两种情况,首先都需要从二进制加密文件获取密钥种子和加密种子。该二进制加密文件由用户输入8位字符经加密算法m1生成,用户应记住该8位字符,以免加密文件丢失后可重新生成。31发行用户新卡发行新卡大约有如下的步骤:(1)从二进制加密文件中,通过算法m2读取密钥种子和加密种子。(2)取随机数,并与密钥种子经加密算法m3生成用户卡密码(NewPass)。(3

6、)核对新卡密码,新卡密码为ffff,并修改新卡密码为用户卡密码(NewPass)。(4)有关数据写入IC卡,重要数据和第2条取出的随机数,经加密算法m4生成数据密文,再写入IC卡。(5)根据需要将不可更改的数据进行写保护,以免误操作,如第2条取出的随机数密文。根据上述步骤,设计发行新卡的流程如下:(1)建立用户对象usecret,主要由解密函数、函数、取密钥种子函数等函数组成。(2)调用usecret中的取密钥种子函数读取密钥种子和加密种子。(3)取随机数,调用usecret中的加密函数生成并更新新卡密码。(4)随机数加密写入IC卡并固化,再写入其他数据。使用PB设计主程序如下:(为减少篇幅,

7、程序只列出主要部分)32改写用户卡IC卡在日常使用中其实就是改写用户卡的过程,主要过程同发行新卡一样,即首先读取密钥种子和加密种子,再从用户卡中读出随机数、解密并核对密码,最后写卡。程序类似发行新卡,这里省略。4安全说明(1)SLE4428有三项安全机制:唯一代码、固化写入、用户密码。唯一代码是由制造卡的厂家向SIEMENS公司申请注册的全球唯一的用户代码。采用唯一代码作为系统所用IC卡的标识,可防止其它厂家的卡进入系统,但同时也决定了用户卡只能来源于该厂家;固化写入对于需要不断改卡的用户也不适用;只有建立安全的用户密码才是最有效的手段。(2)SLE4428无须密码便可读出除密码外的整张卡的数

8、据,密码一经核对便可向任一地址写入或修改数据,因此,设计时要注意适当固化数据和将数据内容加密,以防止无意破坏数据或非法修改数据。(3)密码核对正确后便可读出,因此,设计程序时,要能防止破坏者采用非法中断程序运行、直接去读取密码的方法来窃取密码。在本方案中,对加密和解密函数均写入到一个用户对象usecret中,在需要写卡前定义,写完后立即destroy掉,这样就可以防止程序跟踪破译。(4)总之,假如要破译该方案设计的IC卡,必须要同时做到以下几点:·获得二进制加密文件的加密算法m1,才能得到密钥种子和加密种子,获得密钥种子和加密种子后,必须通过算法m2才能得到有效的密钥种子和加密种子。·密文数据(包括解密用的随机数)是由加密算法m4生成的,需要解密算法m5才可获得。·取出的随机数要与密钥种子经加密算法m3才可生成用户卡密码。·由于随机数的不同,所以实现了一卡一密,即使窃取一张或几张用户卡的密码,也无法破译一批用户卡

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论