- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于SLE4428安全方案实现
关于SLE4428安全方案的实现
摘要: 本文简述了SLE4428的性能、分析SLE4428的设计原则及流程,并对使用SLE4428提出注意事项。
关键词: SLE4428;加密卡;密钥
1.SLE4428性能描述
1.1 SLE4428容量大小为1K字节,地址为0-1023。
2.2 所有数据除密码外,在任意情况下均可被读出,密码在核对正确后可以被读出。
3.3 所有数据包括密码本身在核对密码正确后可以写入或更改。
4.4 所有数据都可以按字节进行写保护,写保护后数据固化,任意情况下不可更改。
5.5 有一个密码出错计数器。地址是1021。初始值为8,密码核对出错一次,便减1。若计数器值为0,则整张卡的数据被锁死,只可读出,不可更改或写入且无法继续核对密码;若不为0,则只需要一次核对正确,计数器将恢复为初始值8。
6.6 密码长度为2字节,地址是1022,1023。共有2种组合,在密码核对正确之前,读这两地址的结果是“00”,也无法写入和更改;在密码核对正确后可以读出密码和更改密码,密码会一直有效至卡掉电为止。
7.7 地址0-7,21-26出厂前由厂家固化,不可更改,其中地址21-26是卡的用户代码,由制造卡的厂家向SIEMENS公司申请注册的全球唯一的用户代码。
2.设计原则
针对SLE4428安全性的局限性,必须采用以下原则发行和使用SLE4428逻辑加密卡:
2.1生成密钥文件。该文件为二进制加密文件,由用户方提供的算法种子经过加密算法,生成用户卡密钥所需要的算法种子(以下简称密钥种子)和加密用户卡数据所需要的加密种子。
2.2用密文方式存储用户卡重要数据,使其它系统无法读出卡上内容,从而保护用户
的隐私。
2.3用户卡的改写必须经过以下操作:调用密钥文件中的密钥种子,通过加密算法校验
用户卡密钥,如果正确就可以进行改写,如果不正确,SLE4428将记数,超过8次不正确,SLE4428将自动锁死,从而避免用穷尽法破译用户卡密钥。
3.设计流程
3.1发行用户新卡
3.1.1 建立用户对象u_maker 和定义SLE4428的驱动程序hnic32.dllu_maker主要
由以下密钥函数组成(函数源程序略)。
3.1.2 定义用户对象u_maker,生成用户卡密码,读密钥文件并将第一套两条密钥分别
存于ls_key[1]和ls_key[2]中,程序如下:(为减少篇幅,程序只列出主要部分)
u_maker u_maker1 //定义OBJECT
u_maker1 = create u_maker
li_aret=u_maker1.uf_getkey() //读密钥文件
int li_min,li_sec,li_mul
char ls_pas[]
string ls_random,ls_pin_new
li_sec=integer(mid(string(now()),7,2)) //产生随机数
if li_sec=0 then
li_sec=rand(99)
End if
li_min=integer(mid(string(now()),4,2))
if li_min=0 then
li_min=rand(99)
End if
li_mul=li_sec*li_min
ls_random = left(string(li_mul),2)
ls_pas = u_maker1.uf_encrypt(ls_random,u_maker1.ls_key[1]) //生成用户卡密码
ls_pin_new = u_maker1.uf_asctostr(ls_pas)
3.1.3 从数据库文件中读取需要的数据并写入结构变量istr_info1中,具体如下:
istr_info1.grzhbh,istr_info1.FXSDM,str_info1.ICKH,istr_info1.BXH,istr_info1.XM,istr_info1.XB,istr_info1.CSRQ1,istr_info1.SFZHM,istr_info1.CBRYLBDM,istr_info1.BNYBMZLJ,istr_info1.YBMZLJ,istr_info1.YYBM,istr_info1.YYMC,istr_info1.BNZYCS,istr_info1.IN_HOS_MON,istr_info1.IN_HOS_SUM,istr_info1.IC
您可能关注的文档
最近下载
- 河北对口单招第十类职业适应性测试(计算机)-第七章演示文稿软件应用课件ppt.pptx VIP
- 亚硫酸氢钠安全技术说明书.docx VIP
- 疾控大学习《病原微生物实验室生物安全风险识别和控制》习题答案.docx
- 四年级上册数学三位数乘两位数竖式计算题练习150道.pdf
- 医院公开招聘简章.pdf
- XX银行A分行业务人员培训效果评估.pdf VIP
- 思维导图在高中化学学习中的应用教学研究开题报告教学研究课题报告.docx
- GB 50937-2013 选煤厂管道安装工程施工与验收规范.docx
- 第四章 控制及其设计 课件-2023-2024学年高中通用技术苏教版(2019)必修《技术与设计2》.pptx VIP
- 学习贯彻党的二十届三中全会精神测试题三套(含答案).docx VIP
文档评论(0)