本发明涉及安全技术领域,特别涉及一种基于可信执行环境和区块链进行支付的智能电视及方法。
背景技术:
现有智能终端的操作系统基本运行在ree(richexecutionenviromnet,多媒体执行环境)中,richos(richoperatingsystem,多媒体操作系统)通常是安卓系统或苹果的ios系统运行在ree环境中,该ree本身存在安全问题,为保障用户方便、快捷且安全可靠的进行支付交易,智能卡及终端安全的标准组织gp(globalplatform,全球平台组织)提出了tee(trustedexecutionenvironment,可信执行环境)概念,tee是与智能终端上的ree(并存的运行环境,tee是由安全核心、tee硬件资源及ta(trustedapplication,可信应用)等可信软硬件资源构成的一个比ree更安全的可信执行空间,tee相比安全元素(se,通常是智能卡)的安全性要低一些,而se对于用户界面无能为力、处理速度慢且物理上是可移除的,考虑到成本、安全性及用户体验的平衡,tee成为了现有的安全环境的首选。但是现有的身份认证信息的采集及支付信息都在ree中执行,当ree将身份认证信息和支付信息发送给tee,但是一旦敏感数据例如支付信息及身份认证信息遭受到第三方的篡改时支付的可靠性就无法得到保障。
技术实现要素:
本发明所要解决的技术问题是:克服现有的支付流程中敏感数据例如支付日志及身份认证信息遭受到第三方的恶意篡改时支付不可靠问题,提出一种基于tee和区块链进行支付的智能终端及方法。
本发明解决上述技术问题,采用的技术方案是:
基于tee和区块链进行支付的智能终端,包括ree模块和tee模块,所述ree模块包括客户端;所述tee模块包括采集单元、加解密单元、存储单元、区块链单元、安全网络单元和处理单元;
客户端,用于与用户进行交互,当用户进行身份注册时,向tee模块发送注册请求;当用户发起支付时,向tee模块发送支付请求;
采集单元,用于接收到注册请求或支付请求后,采集用户的身份标识得到身份标识信息;
存储单元,用于存储支付日志和接收到注册请求后对应采集到的身份标识信息;
安全网络单元,用于与外部网络进行通信;
处理单元,用于接收到注册请求后调用加解密单元对注册请求相对应的身份标识信息进行密码学处理得到身份标识信息的密文;接收支付请求后调用安全输入单元供用户输入支付信息,将对应采集到的身份标识信息与存储模块中的身份标识信息进行比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;
区块链单元,用于将所述身份标识信息的密文及支付日志通过调用加解密单元按区块链协议封装后进行本地记录同时经安全网络单元发送至区块链网络进行上链。
优选的,所述身份标识信息包括生物特征信息和/或支付口令,当生物特征信息和支付口令都存在时,所述处理单元还用于当接收到支付请求后,若支付信息中支付金额大于等于预定金额,将采集到的生物特征信息与存储模块中存储的生物特征信息比对的同时将安全输入单元输入的支付口令与存储模块中存储的支付口令进行比对,若两者均比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;否则仅将采集到的生物特征信息与存储模块中存储的生物特征信息比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志。
进一步的,所述处理单元还用于通过安全网络单元从区块链网络中下载所有身份标识信息的密文,将接收支付请求后对应采集到的身份标识信息通过加解密单元进行密码学处理后与所述身份标识信息的密文进行比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;
和/或,所述处理单元还用于从区块链网络中下载支付日志数据,将支付日志数据进行相应的密码学处理后存放至存储单元。
进一步的,区块链单元还包括接口单元,所述接口单元用于调用加解密单元完成区块链协议中的共识算法、签名、验签和摘要。
进一步的,tee模块还包括清除单元,清除单元用于清除存储单元的数据并通知区块链单元同步更新区块链网络上的相应数据。
应用于上述基于tee和区块链进行支付的智能终端的方法,包括:
客户端在用户需要身份注册时向tee模块发送注册请求,采集单元采集用户的身份标识得到身份标识信息并发送至存储单元存储,加解密单元对所述身份标识信息进行密码学处理得到身份标识信息的密文,区块链单元将所述身份标识信息的密文通过调用加解密单元按区块链协议封装后进行本地记录并经安全网络单元发送至区块链网络进行上链;
客户端在用户发起支付时向tee模块发送支付请求,处理单元接收支付请求后调用安全输入单元供用户输入支付信息,调用采集单元采集用户的身份标识得到身份标识信息,将采集到的身份标识信息与存储模块中的身份标识信息进行比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;区块链单元将支付日志通过调用加解密单元按区块链协议封装后进行本地记录同时经安全网络单元发送至区块链网络进行上链。
优选的,所述身份标识信息包括生物特征信息和/或支付口令,当生物特征信息和支付口令都存在时,客户端在用户发起支付时向tee模块发送支付请求后,若支付信息中支付金额大于等于预定金额,处理单元将采集到的生物特征信息与存储模块中存储的生物特征信息比对的同时将安全输入单元输入的支付口令与存储模块中存储的支付口令进行比对,若两者均比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;否则仅将采集到的生物特征信息与存储模块中存储的生物特征信息比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志。
进一步的,当存储单元中的身份标识信息存在异常时,所述处理单元还通过安全网络单元从区块链网络中下载所有身份标识信息的密文,将接收支付请求后对应采集到的身份标识信息通过加解密单元进行密码学处理后与所述身份标识信息的密文进行比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;
和/或,当存储单元中的支付日志存在异常时,所述处理单元还从区块链网络中下载支付日志数据,将支付日志数据进行相应的密码学处理后存放至存储单元。
进一步的,所述按区块链协议封装包括调用加解密单元完成区块链协议中的共识算法、签名、验签和摘要。
进一步的,当用户需要注销智能终端对应的账户时,通过调用清除单元清除存储单元的数据并通知区块链单元同步更新区块链网络上的相应数据。
本发明的有益效果是:
将支付信息放在了tee模块中进行输入,防止了支付信息在传输过程中被篡改;将身份认证信息放在了tee模块的采集单元进行的采集,可以有效的防止攻击者伪造用户攻击;通过加解密单元保证了所有密码学处理的安全性,防止了第三方在运算过程中修改数据,同步将支付日志和身份认证信息的密文通过加解密单元进行区块链协议的封装,存放于本地的区块链单元和外部的区块链网络中,其中区块链单元作为了区块链网络的一个节点,利用区块链的防篡改特点,防止了敏感数据被恶意篡改,实现了敏感数据的双重保保障。
附图说明
图1为本发明实施例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及如下实施例对本发明进行进一步详细说明。
如图1所示,基于tee和区块链进行支付的智能终端,包括ree模块和tee模块,所述ree模块包括客户端;所述tee模块包括采集单元、加解密单元、存储单元、区块链单元、安全网络单元和处理单元;
客户端,用于与用户进行交互,当用户进行身份注册时,向tee模块发送注册请求;当用户发起支付时,向tee模块发送支付请求;
采集单元,用于接收到注册请求或支付请求后,采集用户的身份标识得到身份标识信息;
存储单元,用于存储支付日志和接收到注册请求后对应采集到的身份标识信息;
安全网络单元,用于与外部网络进行通信;
处理单元,用于接收到注册请求后调用加解密单元对注册请求相对应的身份标识信息进行密码学处理得到身份标识信息的密文;接收支付请求后调用安全输入单元供用户输入支付信息,将对应采集到的身份标识信息与存储模块中的身份标识信息进行比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;
区块链单元,用于将所述身份标识信息的密文及支付日志通过调用加解密单元按区块链协议封装后进行本地记录同时经安全网络单元发送至区块链网络进行上链;
加解密单元,用于对输入数据进行密码学处理。
其中,智能终端可以是智能电视、手机等硬件上支持ree模块和tee模块的智能设备。客户端即图1中的ca(clientapplication,客户端应用),其可通过调用tee功能api来调用tee相关功能,通过tee客户端api来调用ta的相关功能,也可通过调用ree通信代理来与tee模块进行通信。加解密单元可采用硬件加解密单元,保证加解密运算达到硬件级别的安全;区块链单元作为了区块链网络的一个节点,利用区块链的防篡改特点,防止了敏感数据被恶意篡改,实现了敏感数据的双重保保障。支付信息可包括支付金额和收款方信息确认信息等支付相关信息;清算中心可以是银联及网联等具有清算功能的机构,完整的支付信息为根据对应清算中心的要求进行相应的支付信息的组合得到,区块链网络可以是智能终端对应行业的联盟链。上述采集单元包括对身份标识进行特征提取到身份标识信息,上述密码学处理包括求取摘要信息,具体可以采用sha-1算法。
为了保证身份标识信息可以得到硬件上的安全采集,同时实现大额支付时的强认证,所述身份标识信息可包括生物特征信息和/或支付口令,当生物特征信息和支付口令都存在时,所述处理单元还可用于当接收到支付请求后,若支付信息中支付金额大于等于预定金额,将采集到的生物特征信息与存储模块中存储的生物特征信息比对的同时将安全输入单元输入的支付口令与存储模块中存储的支付口令进行比对,若两者均比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;否则仅将采集到的生物特征信息与存储模块中存储的生物特征信息比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志。
为保证当存储模块中当存储单元中的身份标识信息存在异常时,处理单元能正确进行信息比对,所述处理单元还可用于通过安全网络单元从区块链网络中下载所有身份标识信息的密文,将接收支付请求后对应采集到的身份标识信息通过加解密单元进行密码学处理后与所述身份标识信息的密文进行比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;
同样的,为保证当存储模块中当存储单元中的支付日志存在异常时,处理单元能正确进行信息比对,所述处理单元还可用于从区块链网络中下载支付日志数据,将支付日志数据进行相应的密码学处理后存放至存储单元。上述的存在异常可表现为遭到篡改或者丢失。
为了保证区块链单元相关运算的安全,区块链单元还包括接口单元,所述接口单元用于调用加解密单元完成区块链协议中的共识算法、签名、验签和摘要。
当用户需要注销智能终端对应的账户时,tee模块还包括清除单元,清除单元用于清除存储单元的数据并通知区块链单元同步更新区块链网络上的相应数据。
应用于上述基于tee和区块链进行支付的智能终端的方法,包括:
客户端在用户需要身份注册时向tee模块发送注册请求,采集单元采集用户的身份标识得到身份标识信息并发送至存储单元存储,加解密单元对所述身份标识信息进行密码学处理得到身份标识信息的密文,区块链单元将所述身份标识信息的密文通过调用加解密单元按区块链协议封装后进行本地记录并经安全网络单元发送至区块链网络进行上链;
客户端在用户发起支付时向tee模块发送支付请求,处理单元接收支付请求后调用安全输入单元供用户输入支付信息,调用采集单元采集用户的身份标识得到身份标识信息,将采集到的身份标识信息与存储模块中的身份标识信息进行比对,若比对成功则将完整的支付信息经安全网络单元发送至清算中心,当接收到清算中心返回的清算成功消息后,生成对应的支付日志;区块链单元将支付日志通过调用加解密单元按区块链协议封装后进行本地记录同时经安全网络单元发送至区块链网络进行上链。
实施例
本实施例中,智能终端以智能电视进行举例说明,应用于上述基于tee和区块链进行支付的智能终端的方法包括用户注册方法和用户支付方法,准备工作包括:用户下载或预置客户端,智能终端进行资源初始化,完成客户端的安装。
具体的,用户注册方法包括如下步骤:
s101、客户端在用户需要身份注册时向tee模块发送注册请求;
s102、采集单元请求采集用户的生物特征;
s103、用户提供生物特征;
s104、采集单元将采集到的生物特征进行提取得到生物特征信息,将生物特征信息存储至存储单元;
s105、区块链单元将智能终端对应的设备编号进行封装发送区块链网络;
s106、加解密单元对生物特征信息进行密码学处理得到生物特征信息的密文,区块链单元将生物特征信息的密文通过调用加解密单元按区块链协议封装后进行本地记录并经安全网络单元发送至区块链网络进行上链;其中,按区块链协议封装包括调用加解密单元完成区块链协议中的共识算法、签名、验签和摘要;
s107、告知客户端生物特征信息采集完毕;
s108、客户端提示用户是否支持大额支付;
s109、用户若选择支持,则进入s110,否则进入s115;
s110、调用安全输入单元提示用户输入支付口令;
s111、用户输入支付口令;
s112、将支付口令存储至存储单元,
s113、加解密单元支付口令进行密码学处理得到支付口令的密文,区块链单元将支付口令的密文通过调用加解密单元按区块链协议封装后进行本地记录并经安全网络单元发送至区块链网络进行上链;其中,按区块链协议封装包括调用加解密单元完成区块链协议中的共识算法、签名、验签和摘要;
s114、告知客户端支付口令采集完毕;
s115、客户端显示注册完成给用户。
具体,用户支付方法,包括如下步骤:
s201、用户发起支付;
s202、客户端提示用户选择支付方式;
s203、若用户选择智能电视直接支付,则进入s204,否则进入别的支付流程,此并不是本发明的保护重点,故而不再阐述;
s204、处理单元调用安全输入单元供用户输入支付信息,并请求采集生物特征;
s205、用户输入支付信息,提供生物特征供采集单元采集;
s206、tee模块判断存储单元中的生物特征信息是否存在异常时,如是,则进入s207,否则,进入s208;
s207、处理单元通过安全网络单元从区块链网络中下载所有生物特征信息的密文,将采集到的生物特征信息通过加解密单元进行密码学处理后与上述身份标识信息的密文进行比对,若比对成功,则进入s209,否则退出支付流程;
s208、处理单元将采集到的生物特征信息与存储模块中的生物特征信息进行比对,若比对成功,则进入s209,否则退出支付流程;
s209、判断是否支付信息中支付金额大于等于预定金额,如是则进入步骤s210,否则进入s215;
s210、处理单元调用安全输入单元供供用户输入支付口令;
s211、用户输入支付口令;
s212、tee模块判断存储单元中的支付口令是否存在异常时,如是,则进入s213,否则,进入s214;
s213、处理单元通过安全网络单元从区块链网络中下载所有支付口令的密文,将采集到的支付口令通过加解密单元进行密码学处理后与上述支付口令的密文进行比对,若比对成功,则进入s215,否则退出支付流程;
s214、处理单元将采集到的支付口令与存储模块中的支付口令进行比对,若比对成功,则进入s215,否则退出支付流程;
s215、将支付信息处理为符合清算中心要求格式的完整的支付信息,经安全网络单元将完整的支付信息发送至清算中心;
s216、处理单元当接收到清算中心返回的清算成功消息后,生成对应的支付日志;
s217、区块链单元将支付日志通过调用加解密单元按区块链协议封装后进行本地记录并经安全网络单元发送至区块链网络进行上链;其中,按区块链协议封装包括调用加解密单元完成区块链协议中的共识算法、签名、验签和摘要;
s218、告知客户端支付成功;
s219、客户端显示支付成功给用户。
上述步骤中,当存储单元中的支付日志存在异常时,处理单元从区块链网络中下载支付日志数据,将支付日志数据进行相应的密码学处理后存放至存储单元。当用户需要注销智能终端对应的账户时,通过调用清除单元清除存储单元的数据并通知区块链单元同步更新区块链网络上的相应数据。