APP下载

基于用户卡的数字签名技术研究

2016-12-12黎艳张荣

广东通信技术 2016年11期
关键词:智能卡数字签名私钥

[黎艳 张荣]

基于用户卡的数字签名技术研究

[黎艳 张荣]

在介绍了数字签名技术及相关算法的基础上,重点分析了与数字签名相关的智能卡关键技术的发展,并给出了基于用户卡的数字签名实现方案及其应用场景示例。

数字签名 智能卡 机卡通信

黎艳

工程师,中国电信股份有限公司广东研究院,主要从事移动互联网安全技术研究与产品开发。

张荣

高工,中国电信股份有限公司广东研究院,主要从事移动互联网新技术与业务、智能管道等研究。

1 背景

随着互联网/移动互联网的发展,各行各业都发生了翻天覆地的变化,人们对互联网的要求和依赖也越来越多,过去需要人工完成关键交易签名或印章的业务逐渐被电子签名所代替。基于PKI(Public Key Infrastructure)公钥体系的数字签名技术已经广泛应用在电子金融、安全办公、政企商务等行业领域。数字签名密钥和证书载体也随着智能硬件技术的发展在不断变化,从最开始的个人电脑硬盘到USB密钥棒、加密SD卡以及智能卡等。多功能通用智能卡技术的发展,使得数字签名技术可以与安全便携的用户手机卡相结合。本文从多功能通用用户卡的角度,阐述数字签名在用户卡上的技术发展,并提出合理可行的实现方案。

2 数字签名技术概述

2.1 非对称加解密技术

与对称加密技术不同,非对称加密技术需要一对密钥来进行加密和解密,分别是公开密钥(Public Key,简称公钥)和私有密钥(Private Key,简称私钥)。如果使用了公钥对数据进行加密,那么只有用对应的私钥才能解密,如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。

在非对称加密技术里面,私钥是不公开的,由签名方独自持有和保管,公钥是公开可对外传播的,如果公钥可以成功解密(验签),那么数据的加密方一定是持有对应私钥的,从而可以准确地进行交易溯源。数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名后形成的数字文件,可以把数字证书理解成经过CA认证过的公钥,数字证书和公钥都是公开的。

数字签名的签名和验签过程如图1。

图1 数字签名过程

数字签名的签名和验签主要步骤如下:

(1)待签数据明文经过哈希算法之后得到定长的摘要信息;

(2)持有私钥的用户使用签名私钥对摘要数据进行数字签名,得到签名结果的密文;

(3)验签后台获取该用户的签名证书,提取其中的公钥信息,对传递过来的签名结果密文进行公钥解密(验签);

(4)公钥解密(验签)之后得到签名数据摘要。验签后台也对同样的待签数据明文进行哈希计算摘要数据,对比计算出来的摘要数据与验签之后的摘要数据是否一致,如果一致则表明这个数字签名确实来自于签名私钥的持有方(用户、签名发送方)。

2.2 数字签名相关算法

(1)摘要算法

算法(又叫杂凑算法、哈希算法、散列算法)可以对任意长度的数据进行散列运算,生成固定长度的摘要值,当原数据发生改动时,所得到的摘要值就会发生变化,由于散列运算多对一的关系,很多不同的数据经过散列运算变换之后也有可能是相同的,所以散列运算是不可逆的。使用摘要算法可以让大容量信息在进行数字签名前被散列成定长的保密的格式,而且确保信息传输完整性。常见的摘要算法有MD5和SHA-1、SHA-2、SM3,其中SM3是我国特有的国密摘要算法。表1是各种主流摘要算法的对比:

表1 摘要算法对比

(2)非对称加密算法

除了消息摘要算法,基于公钥密码系统的非对称加密算法也是数字签名技术里必不可少的。非对称加密算法的密钥值在同一个过程中生成,称为公私钥密钥对。常见的非对称加密算法有RSA和ECC,我国特有的国密非对称算法是SM2。表2是以上3种非对称加密算法的对比。

表2 非对称加密算法对比

2.3 数字签名应用领域

(1)鉴权

公钥加密系统允许任何人在发送信息时使用公钥进行加密;数字签名则能够让信息接收者确认发送者的身份。

(2)完整性

传输数据的双方都总希望确认消息未在传输的过程中被修改。加密使得第三方想要读取数据十分困难,然而第三方仍然能采取可行的方法在传输的过程中修改数据。数字签名能确保消息的完整性。因为数字签名文件如果发生改变,数字摘要值也将发生变化。

(3)防抵赖

在密文背景下,抵赖这个词指的是不承认与消息有关的举动(即声称消息来自第三方)。消息的接收方可以出示数字签名来证明信息的来源,防止所有后续的抵赖行为。

数字签名广泛应用于包括电子商务、企业信息系统、政府及金融保险行业等方面。尤其是在金融行业的应用,交易额大、安全性要求高的交易必须使用数字签名进行公证、可信的认证。随着我国《电子签名法》的实施和推广,电子商务和电子政务将会持续推动数字签名的应用。

3 智能卡数字签名技术的发展

3.1 密钥载体的发展

目前,在PC端网络应用环境下,USB Key签名认证技术已经相当成熟,将签名密钥和加解密密钥存储在USB棒等硬件载体里,可以更安全地保障用户的密钥安全。随着移动智能终端的快速发展和移动互联网的普及,数字签名技术对密钥载体提出了新的需求,原有在PC端普遍应用的USB Key或者在手机终端上使用加密SD卡方式在便携性、易用性和兼容性方面已经不再适应移动互联网业务的发展需求。

随着智能卡技术的发展,多功能通用JAVA SIM卡增加了独立的RSA或国密算法的硬件协处理器,使得运算速度和性能都有很大提升;卡片的可存储空间可以达到几百K以上,为多对密钥对的存储提供了条件;而对GlobalPlatform规范的支持使得卡片在访问控制、文件保护等方面的鉴权能力也得到了极大的提高,可以防止攻击者利用软件方式窃取卡内的机密信息。基于JAVA通用平台使得可以很灵活地在卡内安装各种卡应用。多功能通用智能JAVA手机卡具有安全、通用和便捷的特点,是存储密钥和数字证书的理想介质。

3.2 智能卡通信技术发展

随着智能卡技术的发展,硬件上智能卡的芯片计算能力大大增强,软件上通用java平台和虚拟机技术使得可以在卡上开发多个通用程序包。GP(Global Platform)规范更是解决了应用权限管理机制、安全域安全策略、卡片生命周期管理等关键问题。在数字签名技术要求的角度,智能卡硬件上增加的RSA协处理器,终端与SWP卡之间的机卡通信技术,以及Global Platform卡应用访问控制技术,使得在智能卡上实现快速安全的数字签名能力成为可能。

(1)Open Mobile API机卡通信技术

根据不同的底层平台(如Android、J2ME),SIM/ SE访问API(SIM/Secure Element Access API)向客户端应用程序提供访问SWP-SIM卡的接口(如Android系统的Open Mobile API和J2ME下的JSR177),实现客户端应用程序与SWP-SIM卡之间的应用协议数据单元交互。如图2,终端应用可以通过Open Mobile API接口与卡内的JAVA应用进行通信交互。

图2 OMA机卡接口

(2)应用访问控制技术

安全访问控制主要采取Global Platform可信任框架的GPAC(Global Platform Access Control,全局平台访问控制)机制。GPAC由手机侧访问控制模块和用户卡中的规则文件构成。访问控制规则存储在SIM卡中,手机终端操作系统依据SIM卡访问控制规则,允许或者拒绝哪些客户端应用可以访问哪个(或哪些)SIM卡应用,也可以定义允许访问的具体APDU指令。通过GPAC访问控制技术,可以严格控制应用控件访问用户卡应用的权限,使得指定应用才有权限访问数字签名应用,充分保证卡内数据的安全。

4 用户卡数字签名实现方案

4.1 系统架构

图3为基于用户卡的数字签名系统架构与实施方案,主要功能模块如下:

(1)数字签名卡应用:具备证书管理、数字签名、非对称加解密、密钥管理、认证信息交互等能力;

图3 用户卡数字签名系统架构

(2)PKI安全插件:适配机卡通道和短信通道,手机客户端应用可以通过调用PKI安全插件,将待签名数据通过插件传给用户卡,实现用户卡PKI数字签名能力调用;

(3)PKI认证平台:处理PKI加密短信,向CA机构申请公钥证书,验证数字签名等。

4.2 业务场景及流程

在用户卡内进行数字签名的流程如图4。

图4 用户卡数字签名流程

数字签名主要流程如下:

(1)如果移动终端是支持OMA机卡通道

① 应用客户端则通过机卡接口向数字签名PKI卡应用发送待签名数据;

② 卡应用校验用户个人码之后使用卡内存储的私钥进行签名,并向应用客户端返回签名结果;

(2)如果移动终端不支持OMA机卡通道

① 通过认证平台向卡片下发数字签名指令短信;

② 卡片接收到短信之后弹出UTK窗口校验用户个人码,使用卡内私钥进行签名,并向认证平台返回签名结果上行短信。

本方案支持各种应用客户端的融合认证,除了可以用于移动终端应用之外,还可以用于PC或TV应用,以用户在PC应用上的数字签名场景为例,如图5。

图5 PC应用场景的用户卡数字签名

5 结束语

智能卡和智能终端技术的发展使得在用户卡上实现数字签名技术能力成为可能。这种技术具有安全、便捷的特点,而且适用于多种终端(如手机APP、PC APP等)的应用场景。随着互联网+的蓬勃发展以及人们对安全隐私保护意识的增强,基于用户卡的数字签名技术将是实现安全移动身份认证比较好解决方案选择,在当前各行各业进行互联网化转型升级过程中具有广阔的应用前景。

1 胡博,严斌峰,仇剑书等.基于SIM卡的金融应用移动数字签名业务研究.电信科学,2015,157:1-6

10.3969/j.issn.1006-6403.2016.11.017

(2016-11-08)

猜你喜欢

智能卡数字签名私钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
浅析计算机安全防护中数字签名技术的应用
东方磁卡李晓东:进击的智能卡研发巨子
一种基于虚拟私钥的OpenSSL与CSP交互方案
基于STC89 单片机的非接触智能卡读写机设计
基于数字签名的QR码水印认证系统
数字签名简述
临沂机顶盒智能卡升级方案介绍