一种基于智能卡的区块链密钥保存和交换系统的制作方法

文档序号:16462963发布日期:2019-01-02 22:39阅读:140来源:国知局
一种基于智能卡的区块链密钥保存和交换系统的制作方法

本发明属于通讯技术领域,涉及一种智能卡,尤其涉及一种基于智能卡的区块链密钥保存和交换系统。



背景技术:

区块链又称为分布式共享账本,其主要特点是所有参与方共享一个统一的记账账本,上面保存所有数字货币的交易信息。这样所有参与方的转账记录、余额都是以明文的形式保存以便各个参与方查看各自的交易信息,但是同时这些交易信息无法对第三方保密,不能保护参与方的资金隐私。

为了实现交易信息的隐私保护,传统的区块链方案,如比特币、以太坊等都使用身份保密、账本公开的形式解决隐私问题。具体来说,在传统区块链上,交易双方使用一个加密字符串作为自己的账户名称,从而使得参与方难以将账户名称与真实的实名用户关联起来。但是在区块链上进行任何形式的资金转账都是完全公开的,任何参与方都可以看到某一账户名下的数字货币余额和所有转账记录,只是不知道这个账户背后操作人的真实身份。

智能卡的应用已经非常普及。由于智能卡的使用多涉及例如支付等功能或涉及到吃哈人的私人信息,因此对智能卡中的内容,都会采用加密机制。就常规的ic智能卡加密而言,密钥一般都应用在智能卡的应用或文件层。举例来说,智能卡a包含甲支付应用和乙支付应用,则必须分别对甲支付应用和乙支付应用实施密钥管理,也就是说甲支付应用实施针对甲的密钥管理,乙支付应用实施针对乙的密钥管理。如果甲支付应用和乙支付应用的本质相同而仅利益所属方不同,则这样的密钥管理机制就太过复杂,还使得智能卡内的数据繁多结构复杂。有鉴于此,有必要对智能卡的密钥管理方式进行改进。特别是密钥的保存和交换系统进行改进。



技术实现要素:

为克服上述现有技术中的不足,本发明目的在于提供一种基于智能卡的区块链密钥保存和交换系统。其中包括智能卡及通过智能卡cos保护的区块链密钥数据、带有nfc的手机以及手机读取智能卡信息的app、提供区块链查询和交易广播服务的服务器。

为实现上述目的及其他相关目的,本发明提供一种基于智能卡的区块链密钥保存和交换系统,包括智能卡、带nfc的手机、服务器以及区块链;

所述智能卡包含可运行cos的卡片型智能计算芯片;所述卡片型智能计算机芯片中通过程序随机产生基于现有非对称加密算法的密钥;所述密钥通过程序保证不可被外部读写;仅可以通过卡片型智能计算机芯片中的程序对外部数据进行私钥签名操作并返回签名结果;也可以读取由该私钥对应的区块链上的地址信息;

所述带nfc的手机包括为手机开发对应的手机app;这些所述手机app通过和所述智能卡的程序定义协议来读取需要的数据;并且根据这些所述数据与所述服务器发起通讯,并向智能卡发起签名请求;

所述服务器是所述智能卡及所述手机app与所述区块链之间的通道服务;所述手机app的请求转发到相对应的所述区块链系统进行广播,同时,从所述区块链系统获取必要的数据并返回给所述手机app。

上述方案中,有关内容解释如下:

1、上述方案中,所述智能卡离线保存在所述区块链上交易所需的密钥通过cos程序保护,且外部不能直接读取,并可用作数字货币冷钱包,在使用场景里可直接当现金使用。

2、上述方案中,所述智能卡上提供接口,外部传入数据后对外部数据签名,并返回签名结果。

3、上述方案中,所述智能卡基于javacard技术;所述智能卡能实现ecc加密算法,从而随机生成密钥对,并做签名。

4、上述方案中,所述带nfc的手机使用智能卡的接口对智能卡进行读写。

5、上述方案中,所述服务器接受所述带nfc的手机的调用,并向区块链传递请求,然后把响应返回到所述带nfc的手机。nfc(nearfieldcommunication)技术是一种短距高频无线电技术,它也是rfid(radiofrequencyidentification)的一种。nfc芯片集成了卡模拟、读卡器模拟、点对点三项功能。现在主流手机及穿戴设备支持了nfc功能,而nfc三项功能中应用最广的就是卡模拟功能,用户可以手持nfc手机和穿戴设备刷门禁,刷公交,刷银行卡等,这给用户带来很多便捷。

6、上述方案中,所述手机app通过带nfc的手机指令调用所述智能卡,获取所述智能卡内的公钥并自动根据区块链类型计算地址,并通过服务器的接口获取与所述地址对应的交易信息并站在所述手机app上;所述手机app提供转账界面,用户可以输入转出地址,确认后由app调用智能卡接口做交易签名,并把签名的交易发送至服务器上;所述手机app对于未初始化的智能卡,调用设置随机序列指令,以及生成密钥指令,初始化智能卡。

7、上述方案中,所述服务器对外接口采用json格式。

8、上述方案中,所述服务器提供根据地址查询交易接口,获取查询参数然后向区块链查询交易数据;所述服务器提供交易广播接口,获取交易数据后广播到区块链;所述服务器预先解析区块链数据,当获取查询地址信息,从服务器查询后返回给客户端;如无信息则返回空。

9、上述方案中,所述服务器从客户端获取完整的带签名交易信息,此交易信息通过区块链接口广播,如出错返回出错信息到客户端;如成功则返回正确的交易id。

由于上述技术方案运用,本发明与现有技术相比具有的有益效果是:

本发明系统包括智能卡及通过智能卡cos保护的区块链密钥数据、带有nfc的手机以及手机读取智能卡信息的app、提供区块链查询和交易广播服务的服务器。本发明系统的智能卡携带方便,且结构简单,安全性比较高。智能卡本身的成本也比较低,因此用于直接交换也非常方便。该系统方案可以使用在多种需要进行区块链密钥交换以及基于区块链的数字货币交换的场景。如智能卡离线保存在区块链上交易所需的私钥,可用作数字货币冷钱包;智能卡可用于数字货币的银行卡使用,结合带nfc手机上的app可接受数字货币的转入和转出操作;智能卡可用作实物赠与他人等。系统中的四个组件(智能卡、带nfc的手机、服务器和区块链)分别进行交互;是一个单线的交互关系,没有交叉的通讯。层次比较清晰,接口也比较简洁。其中智能卡、带nfc的手机及服务器都是本系统开发的软硬件实现;。区块链则是现有的区块链系统,本身提供了对外的接口。本发明具有突出的实质性特点和显著的进步。

附图说明

图1为本发明的交互示意框图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。

实施例:

一种基于智能卡的区块链密钥保存和交换系统,该系统主要包括三类实际的物理设备以及在各自设备上运行的不同类型的软件,这三类物理设备包括智能卡、带nfc的手机及服务器;该系统还包括区块链;

所述智能卡包含可运行cos的卡片型智能计算芯片;所述卡片型智能计算机芯片中通过程序随机产生基于现有非对称加密算法的密钥;所述密钥通过程序保证不可被外部读写;仅可以通过卡片型智能计算机芯片中的程序对外部数据进行私钥签名操作并返回签名结果;也可以读取由该私钥对应的区块链上的地址信息;

所述带nfc的手机包括为手机开发对应的手机app;这些所述手机app通过和所述智能卡的程序定义协议来读取需要的数据;并且根据这些所述数据与所述服务器发起通讯,并向智能卡发起签名请求;目前,市面上有多种带有nfc功能的手机;

所述服务器是所述智能卡及所述手机app与所述区块链之间的通道服务;所述手机app的请求转发到相对应的所述区块链系统进行广播,同时,从所述区块链系统获取必要的数据并返回给所述手机app。

如图1所示,系统中的四个组件(服务器、带nfc的手机、智能卡和区块链)分别进行交互。各自之间是一个单线的交互关系,互相没有交叉的通讯。层次比较清晰,接口也比较简洁。其中智能卡、带nfc的手机及服务器都是靠本系统开发的软硬件来实现的;区块链则是现有的区块链系统,本身提供了对外的接口。

所述智能卡离线保存在所述区块链上交易所需的密钥通过cos程序保护,且外部不能直接读取,并可用作数字货币冷钱包,在使用场景里可直接当现金使用。

智能卡本身具有存储和简单的加密计算功能,最主要的是数据的保护功能;并对外提供了一些读写数据的方法。带nfc的手机使用智能卡的接口对智能卡进行读写。带nfc的手机调用服务器的功能向用户展示区块链上对应私钥交易信息。服务器接受带nfc手机的调用,并向区块链传递请求,然后把响应返回到nfc手机。

所述智能卡具备以下几个功能;1、初始化,即随机生成密钥对。随机参数部分从外部获得,部分内部采用安全随机算法生成。确保私钥无法被反向猜测。2、保证私钥信息无法被外部软件读取。3、提供接口,外部传入数据后对外部数据签名,并返回签名结果。

所述带nfc的手机可以是现有的手机制造商生成的带nfc功能的手机。本系统负责实现一个手机app,能够利用nfc功能对智能卡进行操作。主要完成以下工作:1、读取智能卡上的公钥信息并根据不同的区块链产生不同的地址。2、向服务器请求该地址的交易信息。3、对智能卡做初始化,通过产生外部随机数帮助智能卡生成随机密钥。4、提供交易功能,对交易内容向智能卡请求签名,并调用服务器接口进行广播。

本方案采用的所述智能卡基于javacard技术;所述智能卡能实现ecc加密算法,从而随机生成密钥对,并做签名。

所述智能卡在对外接口上将实现以下几个自定义指令:

a、发送随机序列,此接口在密钥对生成前调用,之后无法调用;其具体实现为在智能卡的应用数据部分,取32字节存储序列信息,该信息有校验位。初始该数据属于无效数据,因此不满足校验,一旦用户设置以后,则校验通过。此时如密钥对未生成,则可以继续设置,如密钥对已生成,则无法继续设置。

b、生成密钥对,此接口只能调用一次,根据前一步的随机序列及内部随机算法生成密钥对具体实现为在智能卡中保留32字节的数据长度,以及一个字节的密钥状态。初始该状态为0,表示密钥匙未生成。如随机序列已设置(且通过校验)则生成密钥对并设置状态字节为1。如随机序列未设置,则返回出错信息。

c、读取公钥,此接口仅在密钥对生成后可以调用;具体实现时判断密钥状态字节,如非1则返回出错信息。否则返回公钥信息。

d、签名,根据外部传入数据,对数据进行签名后返回签名结果;具体实现时判断密钥状态字节,如非1则返回出错信息。否则做签名并返回签名数据。

所述带nfc的手机使用智能卡的接口对智能卡进行读写。本方案开发带nfc的手机上安装的app,此app需要手机带有nfc功能,否则,无法工作。该手机app具有以下功能:

a、检测nfc功能;

b、获取智能卡本身的一些物理信息;

c、通过nfc指令调用智能卡获取卡内的公钥并自动根据区块链类型计算地址;

d、通过服务器接口获取地址对应的交易信息并展示在app上;

e、提供转账界面,用户可以输入转出地址,确认后由app调用智能卡接口做交易签名,并把签名的交易发送到服务器;

f、对于未初始化的智能卡,调用设置随机序列指令,以及生成密钥指令,初始化智能卡。

所述服务器接受所述带nfc的手机的调用,并向区块链传递请求,然后把响应返回到所述带nfc的手机。nfc(nearfieldcommunication)技术是一种短距高频无线电技术,它也是rfid(radiofrequencyidentification)的一种。nfc芯片集成了卡模拟、读卡器模拟、点对点三项功能。现在主流手机及穿戴设备支持了nfc功能,而nfc三项功能中应用最广的就是卡模拟功能,用户可以手持nfc手机和穿戴设备刷门禁,刷公交,刷银行卡等,这给用户带来很多便捷。

所述手机app通过带nfc的手机指令调用所述智能卡,获取所述智能卡内的公钥并自动根据区块链类型计算地址,并通过服务器的接口获取与所述地址对应的交易信息并站在所述手机app上;所述手机app提供转账界面,用户可以输入转出地址,确认后由app调用智能卡接口做交易签名,并把签名的交易发送至服务器上;所述手机app对于未初始化的智能卡,调用设置随机序列指令,以及生成密钥指令,初始化智能卡。

所述服务器对外接口采用json格式。目前仅提供请求-响应模式。所述服务器提供根据地址查询交易接口,获取查询参数然后向区块链查询交易数据;所述服务器提供交易广播接口,获取交易数据后广播到区块链;所述服务器预先解析区块链数据,当获取查询地址信息,从服务器查询后返回给客户端;如无信息则返回空。所述服务器从客户端获取完整的带签名交易信息,此交易信息通过区块链接口广播,如出错返回出错信息到客户端;如成功则返回正确的交易id。

本发明系统包括智能卡及通过智能卡cos保护的区块链密钥数据、带有nfc的手机以及手机读取智能卡信息的app、提供区块链查询和交易广播服务的服务器。本发明系统的智能卡携带方便,且结构简单,安全性比较高。智能卡本身的成本也比较低,因此用于直接交换也非常方便。该系统方案可以使用在多种需要进行区块链密钥交换以及基于区块链的数字货币交换的场景。如智能卡离线保存在区块链上交易所需的私钥,可用作数字货币冷钱包;智能卡可用于数字货币的银行卡使用,结合带nfc手机上的app可接受数字货币的转入和转出操作;智能卡可用作实物赠与他人等。系统中的四个组件(智能卡、带nfc的手机、服务器和区块链)分别进行交互;是一个单线的交互关系,没有交叉的通讯。层次比较清晰,接口也比较简洁。其中智能卡、带nfc的手机及服务器都是本系统开发的软硬件实现;。区块链则是现有的区块链系统,本身提供了对外的接口。本发明具有突出的实质性特点和显著的进步。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1