[发明专利]安全校验的方法、编译装置、.NET卡和系统有效
申请号: | 200910241639.8 | 申请日: | 2009-11-30 |
公开(公告)号: | CN101739525A | 公开(公告)日: | 2010-06-16 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06K19/073 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 何文彬 |
地址: | 100191 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 安全 校验 方法 编译 装置 net 系统 | ||
1.一种安全校验的方法,其特征在于,所述方法包括:
编译.NET程序,并在所述编译过程中为所述.NET程序添加强命名,得 到.NET可执行文件;
获取所述.NET可执行文件中的公钥、公钥标识、包含索引表的原数据、签 名数据,并发送给可运行.NET程序的装置内部,所述公钥标识为对所述公钥进 行哈希运算得到所述公钥的散列值,取所述散列值最后8个字节得到的;
在所述可运行.NET程序的装置内部,利用所述索引表对所述公钥标识进行 验证;
如果所述公钥标识验证成功,则利用所述公钥标识验证所述公钥是否合法;
如果是,验证所述原数据是否合法;当所述原数据合法时,向所述可运 行.NET程序的装置外部程序返回原数据正确信息,结束操作;当所述原数据不 合法时,返回错误信息,并进行错误处理;
如果否,返回错误信息,并进行错误处理;
如果所述公钥标识验证失败,则返回错误信息,并进行错误处理。
2.如权利要求1所述的安全校验的方法,其特征在于,所述获取所述.NET 可执行文件中的公钥、公钥标识、包含索引表的原数据、签名数据,具体包括:
从所述.NET可执行文件中获取私钥、公钥和不含索引表的原数据,所述不 含索引表的原数据具体为在所述编译的过程中添加强命名后的.NET程序集;
将所述公钥进行哈希运算后,得到所述公钥的散列值,并取所述散列值最 后8个字节得到所述公钥标识;
根据所述不含索引表的原数据和所述公钥标识获得包含索引表的原数据;
使用所述私钥对所述包含索引表的原数据作哈希运算后得到的散列值进行 签名,得到所述签名数据。
3.如权利要求2所述的安全校验的方法,其特征在于,所述根据所述不含 索引表的原数据和所述公钥标识获得包含索引表的原数据,具体包括:
根据原数据的内容分析出元数据表;
根据所述元数据表和所述公钥标识,对.NET中的命名空间、类、方法、变 量的名称进行哈希运算;
运算完成后将全部哈希值存入索引表中,并将所述索引表加入到所述不含 索引表的原数据的末尾,得到包含索引表的原数据。
4.如权利要求1所述的安全校验的方法,其特征在于,所述发送给可运 行.NET程序的装置内部,具体包括:
将所述包含索引表的原数据、所述签名数据、所述公钥及所述公钥标识作 为一个完整的数据包文件,发送至可运行.NET程序的装置内部。
5.如权利要求1所述的安全校验的方法,其特征在于,所述在所述可运 行.NET程序的装置内部,利用所述索引表对所述公钥标识进行验证,具体包括:
在所述包含索引表的原数据中得到元数据表;
随机取出正整数个命名空间的名称,结合所述公钥标识和获得所述索引表 时的方法计算哈希值;
在所述索引表中查找匹配;
如果所有的哈希值均能够与所述索引表中的哈希值匹配成功,则所述公钥 标识验证成功;
否则,所述公钥标识验证失败。
6.如权利要求1所述的安全校验的方法,其特征在于,所述验证所述公钥 是否合法,具体包括:
将所述公钥做哈希运算,得到所述公钥的散列值;
取所述散列值最后8字节的数据,与所述公钥标识进行比较;
如果一致,则所述公钥合法;
如果不一致,则所述公钥不合法。
7.如权利要求1所述的安全校验的方法,其特征在于,所述验证所述原数 据是否合法,具体包括:
使用所述公钥解密所述签名数据,得到所述原数据的第一个散列值;
对所述原数据做哈希运算,得到所述原数据的第二个散列值;
比较所述原数据的第一个散列值和所述第二个散列值;
如果一致,则所述原数据合法;
否则,则所述原数据不合法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910241639.8/1.html,转载请声明来源钻瓜专利网。