发明内容
本发明的目的就是提供一种安全的带蓝牙的安全终端及其与客户端的通信方法。
本发明提供一种带蓝牙的安全终端与客户端之间的通信方法,包括如下步骤:
S1:安全终端与客户端通过蓝牙首次建立连接后,双方将各自的信息发送到对方作为绑定信息存储在存储器中;
S2:安全终端与客户端通过蓝牙非首次建立连接后,双方将各自的信息发送到对方进行双向认证,所述双向认证包括将从对方接收的信息与本地存储的绑定信息进行验证,如果双方验证均通过表示合法,否则为不合法,终止后续流程。
客户端发送给安全终端的绑定信息包括终端软硬件信息、厂商号、序列号、各个软件版本号、客户端应用程序的配置信息、手机号码、SIM卡标识、用户信息、密钥信息、证书信息、OTP种子、随机数及蓝牙模块的唯一地址信息中的一个或多个的组合。
安全终端发送给客户端的绑定信息包括蓝牙模块的地址信息、ID、固件摘要、密钥信息、证书信息、随机数和OTP种子中的一个或多个的组合。
在双方发送绑定信息前,将绑定信息进行加密处理,对方接收到后采用相应的密钥进行解密。
在所述步骤S2之后还包括:
S3:安全终端与客户端建立加密传输通道。
在所述步骤S3之后,如果安全终端或客户端用于绑定的信息有更新,则向对方发送更新后的绑定信息。
所述安全终端包括主控制器、智能模块和蓝牙模块;在所述步骤S3后,还包括,
S4:客户端收到用户输入的业务请求数据后,对业务请求数据加密,将加密的业务请求数据通过蓝牙模块发送到主控制器;
S5:主控制器将加密数据进行解密,并将解密获得的业务请求数据发送到智能模块;
S6:智能模块接收到该业务请求数据后,利用其内部存储的数字证书对该数据进行签名或其它加密处理,并将已签名或加密处理的数据反馈到主控制器;
S7:主控制器接收到签名数据后将其通过蓝牙模块发送到客户端。
本发明还提供一种带蓝牙的安全终端,包括主控制器、智能模块和蓝牙模块; 智能模块和蓝牙模块均与主控制器连接;
主控制器,控制蓝牙模块与客户端首次建立连接后,将用于绑定的信息发送到客户端;并接收客户端发送的绑定信息,存储在主控制器的存储器中;
控制蓝牙模块与客户端进行非首次连接后,利用绑定信息同客户端进行双向认证;接收客户端发送的业务请求数据,处理后发送到所述智能模块;接收智能模块反馈的数据,将其发送到客户端;
智能模块,接收到主控制器发送的业务请求数据后,利用其内部存储的数字证书对该数据进行签名或其它加密处理,并将已签名或加密处理的数据反馈到主控制器。
所述主控制器在双向认证成功后,与客户端建立加密传输通道用于传输业务数据。
还包括NFC模块,所述NFC模块直接与智能模块连接,用于近场通信业务。
所述NFC模块还与主控制器连接,主控制器控制NFC模块和智能模块进行近场通信业务。
所述主控制器或智能模块还存储客户端与业务服务器之间通信时采用的通信密钥,在客户端索取该通信密钥时发送给客户端。
本发明的技术方案由于采用了绑定和双向认证技术,有效的保证了业务的安全性。
通过以下结合附图对本发明优选实施方式的描述,本发明的其他特点、目的和效果将变得更加清楚和易于理解。
具体实施方式
参考图2,本发明的安全终端包括主控制器21、蓝牙模块22、NFC模块23、和智能模块24;其中主控制器21包括中央处理器、FLASH存储器、RAM存储器、及多个端口控制器,所述中央处理器、FLASH存储器、RAM存储器、及多个端口控制器均通过总线连接通信,可以集成在一个芯片中,所述端口控制器用于提供端口与蓝牙模块22、 NFC模块23和智能模块24进行连接通信;NFC模块23还与智能模块24直接连接(通信方式和现有NFC智能卡的原理相同);其中,与蓝牙模块22连接的端口可以是串口,与NFC模块23连接的端口可以是SWP端口或者串口,与智能模块24连接的端口可以是7816接口、SPI接口、USB接口等。
主控制器21、蓝牙模块22、NFC模块23和智能模块24均可由直流电源供电,例如纽扣电池或其它微型电池;主控制器21还可以控制蓝牙模块22、NFC模块23和智能模块24的电源开关,以更加有效节能的给各个模块供电;蓝牙模块22、NFC模块23和智能模块24均使用主从模式和主控制器21通信,并且NFC模块23还可以直接和智能模块24通信;安全终端通过蓝牙模块22可以和PC、手机客户端进行连接;通过NFC模块23可以和读卡器等设备进行连接,完成安全业务。蓝牙模块22用于RF调制解调,保障与PC或手机终端等的通信通道。NFC模块用于与读卡器设备进行交互及为智能模块24提供工作电源。由于蓝牙模块及NFC模块是较成熟的现有技术,这里就不再深入阐述其工作原理了。同时,主控制器21还可以包括USB接口、SD接口等,直接与PC或手机客户端进行连接。
安全终端有两种工作模式,有源工作模式(直流电源供电)、无源工作模式(直流电源不供电)。
有源工作模式下,有两种情况,一种是主控制器21控制蓝牙模块22、智能模块24完成类似USBKey的工作;第二种是主控制器21控制NFC模块和智能模块24完成类似NFC近场支付功能。
无源工作模式下,只有一种情况,靠近读卡器的电磁场,利用场感应电流,NFC模块23和智能模块24可以单独完成近场支付,类似公交卡。
在安全终端正常工作前,需要将安全终端与手机客户端或PC客户端进行绑定;在安全终端首次与客户端(PC或手机客户端)握手连接后,手机客户端会把相应的手机终端信息(包括终端软硬件信息、厂商号、序列号和/或各个软件版本号)、客户端信息(客户端应用程序的配置信息,例如金融提供商的ID)、手机号码、SIM卡标识、用户信息、密钥信息(及摘要)、证书信息(及摘要)、OTP种子、随机数(客户端产生的随机数)、蓝牙模块的唯一地址信息发送至安全终端中的主控制器21的FLASH存储器中或智能模块24中保存;如果需要解除绑定关系,可以由客户端或者安全终端任一方发起解除绑定请求,另一方反馈解除绑定确认即可解除绑定关系,各自清空绑定时接收并存储的对方的绑定信息。所述智能模块24可以是目前常见的智能卡芯片。
安全终端的主控制器将蓝牙模块22的地址信息、ID、固件摘要、密钥信息(及摘要)、证书信息(及摘要)、随机数、OTP种子发送到客户端保存。
下面针对各种模式具体说明安全终端各部件的工作流程。
带电模式(利用蓝牙模块通信)的工作流程。
1、安全终端与客户端(PC或手机客户端)通过蓝牙模块22连接后,首先双方通过各自存储的绑定信息进行双向确认;如果双方均确认对方合法,进入步骤2;否则提示双向确认失败的消息,还可以将相关信息计入黑名单,拒绝服务,流程终止。
所述双向确认包括:中央处理器将FLASH存储器中的绑定信息通过蓝牙模块发送到客户端,客户端接收到所述绑定信息后与本地存储的用于绑定的客户端的信息进行比较,如果一致,说明客户端确认安全终端是合法的,确认成功;同时接受客户端发送的绑定信息后与本地FLASH存储器存储的用于绑定的安全终端的信息进行比较,如果一致,说明安全终端确认客户端是合法的,确认成功;如果有一方确认不成功,说明双向确认不成功。
作为一个优选实施例,在双方发送绑定信息前,将绑定信息进行相同的运算处理,例如加密处理,对方接收到后采用相应的密钥进行解密;确保通信通道的安全性。
作为优先实施方式,双向确认还包括要求双向证书签名验证、双向挑战应答确认、双向OTP确认等。从而保证双向连接的唯一性和合法性。由于这类技术都是现有技术,这里就不在具体的赘述。
2、安全终端与客户端(PC或手机客户端)进行密钥协商,确定数据在安全终端与客户端之间传输时的加解密密钥。
完成步骤1中的双向确认后,中央处理器通过蓝牙通道与客户端进行密钥协商,确定在安全终端与客户端之间传输数据的加解密密钥;除了协商密钥,还可以使用预先交换的密钥、预先交换的非对称密钥产生的密钥协商结果密钥、临时产生的随机密钥等进行双向加密通信,通信密钥称为会话密钥,该密钥可以在通信中临时产生更新,保证一次一密。由于密钥协商机制也是较成熟的现有技术,就不再细说,可以参见中国公开专利CN 1835633A、CN101420297A及CN101459506A。
3、客户端收到用户输入的业务请求数据后,对业务请求数据加密,将加密的业务请求数据通过蓝牙模块22发送到主控制器21,主控制器21将加密数据进行解密,并将解密获得的业务请求数据发送到智能模块24,智能模块24接收到该业务请求数据后,利用其内部存储的数字证书对该数据进行签名或其它加密处理,并将已签名或加密处理的数据反馈到主控制器21,主控制器21接收到签名数据后将其通过蓝牙模块22发送到客户端。
主控制器21的中央处理器接收到蓝牙模块22发送的加密后的业务请求数据后,调用RAM或FLASH存储器中存储的解密密钥进行解密,将解密后的数据发送到智能模块24,智能模块24接收到业务请求数据后,利用其内部存储的数字证书对数据进行签名,并将已签名数据反馈到中央处理器,中央处理器将签名数据通过蓝牙模块22发送到客户端。
上述加解密过程可以全部由智能卡模块24完成。加密算法可以是RSA、AES、3DES等国际主流商业加密算法及国家商业密码算法的硬件加速功能。
作为另一个优选实施例,为了便于用户查看,还可以有一个显示装置通过端口控制器与总线连接。为了增加一道控制程序,安全终端还包括一输入装置,用于输入信息和/或确认操作,上述步骤3中,中央处理器接收到蓝牙模块22发送的加密后的业务请求数据后,调用RAM或FLASH存储器中存储的解密密钥进行解密,将解密后的数据发送到显示装置进行显示,等待用户确认,用户通过输入装置确认后,中央处理器将解密后的数据发送到智能模块24,智能模块24接收到业务请求数据后,利用其内部存储的数字证书对数据进行签名,并将已签名数据反馈到中央处理器,中央处理器将签名数据通过蓝牙模块22发送到客户端。
本发明的安全终端及客户端的绑定信息和密钥可以随时更新,如果用于绑定的信息有了变化,比如软件版本号,用户信息、密钥信息等,在安全终端与客户端利用绑定时的信息建立连接且双向确认成功后,建立加密传输通道,有更新的一方将绑定信息通过加密传输通道发送给对方以覆盖原有绑定信息。覆盖后的绑定信息用于下次双向认证。安全终端或客户端用于绑定的信息是否有更新可以在建立保密传输通道后通过自查得知。流程可以灵活设定,这里就不再细述。
如果有密钥需要更新,服务器将需要更新的密钥发送到客户端,在安全终端和客户端建立加密传输通道后,客户端将需要更新的密钥发送到安全终端,密钥可是经过加密的密钥,只能由安全终端进行解密,安全终端解密获得新密钥后,通过安全传输通道发送到客户端,并指示客户端下次采用新的密钥进行通信。
带电模式(利用NFC模块通信)的工作流程:
安全终端中的智能模块24与NFC模块通过总线通信,智能模块通过NFC模块与读卡器进行通信,完成业务流程,与现有技术中的NFC智能卡的不同之处仅仅在于智能模块24与NFC模块采用总线接口通信,以及不需要线圈的感应电流来供电,其业务处理流程与现有技术的近场支付流程相同。
不带电模式下,由于NFC模块23还可以直接和智能模块24通信,NFC模块通过与读卡器的磁场感应的能量为智能模块24提供工作电源,NFC模块23和通信总线之间的电源是单向的,此时,NFC模块23不给总线供电,以满足智能模块24工作所需的电源,达到通信的目的。
本实施例中,还可以不包括NFC模块,只通过蓝牙与客户端进行通信。
作为另外一个优选实施例,所述NFC模块不连接通信总线,而是直接与智能模块24进行连接,参见图3,此时,其工作原理与现有NFC智能卡通信原理相同。因此,安全终端既拥有通过蓝牙模块完成安全业务,也能兼有普通智能卡的功能,在主控制器的总线上还可以设置USB或SD等接口,替代提供无线通路的蓝牙模块,通过有线方式与客户端进行通信,完成安全业务。
本发明的安全终端,中央处理器确保安全终端与客户端之间的安全通信,对于安全业务例如支付业务等,在业务流程中的PKI证书服务、网银服务、认证服务均由中央处理器控制智能模块24来完成。
作为另一个优选实施方式,本发明的安全终端还包括指示灯和控制键盘,中央处理器还控制键盘、指示灯等***设备,其功能在于,中央处理器再安全终端与客户端通信时,对于各种状态,例如安全认证通过、废弃等,中央处理器控制LED特定频率闪烁或不同颜色以提示状态。业务流程在提交到智能模块24处理前,必须检测到控制键盘的操作(如按键)作为物理确认,才可进行智能卡业务操作。
主控制器中的FLASH存储器还可以存储用于手机和服务器之间通信的通信密钥。客户端与服务器之间通信时,向主控制器索取通信密钥。
本发明的安全终端可以广泛用于门禁、检票、售票、交通、支付、数据交互传输、物流、仓储等领域。
本发明的客户端可以包括大多数带蓝牙的手持设备以及带USB接口或SD接口的手持设备或PC设备,例如个人数码助理PDA、移动手持终端、移动数据采集器、移动互联网设备MID及笔记本电脑等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。