论文部分内容阅读
信息安全涉及的领域包含鉴定、认证、授权、完整性、机密性、不可否认性等。信息安全技术的基础是密码学。密码算法的安全性很大程度上依赖于密钥的安全性。安全设计离不开密码算法的支持和安全的密钥管理。智能卡以其丰富的密码算法功能和安全的密钥管理性能,加之灵巧、便携等优点,赢得了信息安全领域的宠爱,在PKI、电子商务/政务等方面都有着广泛的应用。信息安全系统操作智能卡是通过调用智能卡编程接口实现的。狭义的智能卡编程接口有两种标准:RSA公司制定的PKCS#11(Publick Key Cryptography Standard)和微软公司制定的CryptoAPI。这两种标准只定义了接口框架,具体实现因开发者而不同。本课题在Java智能卡上开发了这两种编程接口,为快速开发密码令牌做了有益的探索和尝试。论文对两个标准体系给出详细介绍,并结合JavaCard体系结构进行封装设计。论文以JavaCard Applet与动态链接库相结合的形式编码实现了PKCS#11标准接口;以JavaCard Applet、动态链接库和数字签名文件结合的方式编码实现了CryptoAPI标准接口所要求的密码服务提供者CSP(Cryptographic Service Provider)。安全性是Java智能卡开发和应用技术研究的重要内容之一。论文中对Java Card生存周期中可能遭受的攻击进行了安全性分析,并结合JavaCard自身的特点提出安全保护方法。对JavaCard Applet代码和动态链接库代码,设计中综合采用了加壳、置乱、数字签名等技术,来达到反汇编,保证代码安全性和保护代码版权。广义的Java智能卡编程接口包括调用任意JavaCard Applet应用程序接口函数。本论文设计实现了指纹识别应用和电子钱包应用,借用JavaCard的一卡多用功能,探索为信息安全系统提供多种认证方式。鉴于当前密码令牌开发中存在的困难和问题以及Java智能卡的诸多优点,本论文提出了基于Java智能卡的密码令牌开发方法,对快速、低成本、高性能地开发密码令牌做了有益的探索。同时其开发方法对Java智能卡的其它应用也有很好的指导和借鉴意义。