一种基于数字货币的可信交易方法和系统
技术领域
本发明涉及数字货币技术领域,尤其涉及一种基于数字货币的可信交易方法和系统。
背景技术
在数字经济时代,科技的迅猛发展和快速演进,推动社会经济和产业模式的深刻变化。尤其是在互联网行业和领域,技术驱动力所带来的创新价值和竞争力,不断快速催生各类创新产品形态和服务能力。新一轮科技创新和技术升级全面铺开,将对产业变革产生深远影响。
目前,全球范围内的支付结算方式发生了巨大的变化,各种电子货币、虚拟数字货币、数字货币产品及其支付结算服务层出不穷。其中,数字货币钱包是一种数字货币产品,能够在数字经济时代满足更加安全、便捷的数字货币产品应用需求。
现有的数字货币交易中,收款方将支付地址发给付款方,付款方根据支付地址将数字货币转给收款方,由于付款方没有足够的信息验证收款方的身份,收款方的身份很有可能被中间人劫持和伪造,数字货币很有可能被盗取;在收款方和付款方进行信息传递过程中通常只是简单的支付地址,传输过程中所述传输的信息都是明文,容易导致在传输过程中信息外泄;收款方与付款方进行的交易中没有支付证明,产生纠纷时无法追究。
发明内容
为了解决上述问题,有必要提供一种基于数字货币的可信交易方法和系统。
本发明第一方面提出一种基于数字货币的可信交易方法,所述方法包括以下步骤:
收款方设备向付款方设备发送付款请求,所述付款请求包括付款请求信息和所述付款请求信息的签名信息,所述付款请求信息中包括收款方设备的电子证书、欲收款金额;
付款方设备从所述付款请求中获取所述收款方设备的电子证书、欲收款金额,使用所述收款方设备的公钥对所述签名信息进行解密验签,待验签成功后;
所述付款方设备生成付款金额、以及与所述付款金额对应的交易标识,且所述付款金额与所述欲收款金额相等;
所述付款方设备采用自身的私钥对所述付款金额和所述收款方设备的公钥进行签名,得到签名结果,根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息;
所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果及确认按键,所述确认按键为常锁状态;
在用户对所述付款金额核验后,由所述付款方设备接收用户的身份识别信息,并根据所述身份识别信息对所述用户的身份进行验证,待验证成功后,将所述确认按键由常锁状态变为解锁状态;
接收所述用户对确认按键的点选,所述付款方设备将所述付款信息广播到数字货币网络,并将所述付款信息发送给所述收款方设备;
所述收款方设备接收所述付款信息,使用所述付款方设备的公钥对所述签名结果进行验证,待验证通过后;
所述收款方设备从所述付款信息中获取所述交易标识,根据所述交易标识从所述数字货币网络中找到所述付款信息,判断在预设时间内对所述付款信息的验证通过次数是否大于预设阀值,如是则完成交易。
进一步的,在根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息之后,所述方法还包括:
所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果、确认按键及解锁按键,所述确认按键为常锁状态;
通过所述解锁按键接收用户对所述确认按键的解锁请求;
根据所述解锁请求调用所述付款方设备的身份识别模块对所述用户的身份进行验证,待验证成功后;
将所述确认按键由常锁状态变为解锁状态。
进一步的,在根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息之后,所述方法还包括:
所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果、确认按键、验签按键及解锁按键,所述确认按键为常锁状态;
通过所述验签按键接收对所述签名结果的验签请求;
根据所述验签请求调用所述付款方设备的安全模块对所述签名结果进行解密验签,并判断解密验签的结果与所述付款金额是否匹配,如匹配;
通过所述解锁按键接收用户对所述确认按键的解锁请求;
根据所述解锁请求调用所述付款方设备的身份识别模块对所述用户的身份进行验证,待验证成功后;
将所述确认按键由常锁状态变为解锁状态。
进一步的,在收款方设备向付款方设备发送付款请求之前,所述方法还包括:
所述收款方设备产生欲收款金额,并根据所述付款金额和所述收款方设备的电子证书形成付款请求信息;
所述收款方设备采用自身的私钥对所述付款请求信息进行签名,生成所述付款请求信息的签名信息;
所述收款方设备根据所述付款请求信息和所述付款请求信息的签名信息组织形成付款请求。
进一步的,收款方设备向付款方设备发送付款请求,具体包括:
所述收款方设备与所述付款方设备进行密钥协商,并生成会话密钥;
所述收款方设备采用所述会话密钥对所述付款请求进行加密,以生成密文;
所述收款方设备将所述付款请求的密文发送至付款方设备,并由所述付款方设备采用所述会话密钥对所述付款请求的密文进行解密。
进一步的,在收款方设备向付款方设备发送付款请求之后,所述方法还包括:
由所述付款方设备接收用户在数字货币钱包列表中的选择指令;
所述付款方设备根据所述选择指令确定对应的数字货币钱包;
由对应的数字货币钱包生成付款金额、以及与所述付款金额对应的交易标识。
进一步的,所述收款方设备和所述付款方设备分别为手机、电脑、PAD中的任意一种。
本发明第二方面还提出一种基于数字货币的可信交易系统,用于实现上述的基于数字货币的可信交易方法,所述系统包括:收款方设备、付款方设备和数字货币网络;
所述收款方设备用于向所述付款方设备发送付款请求,所述付款请求包括付款请求信息和所述付款请求信息的签名信息,所述付款请求信息中包括收款方设备的电子证书、欲收款金额;
所述付款方设备用于从所述付款请求中获取所述收款方设备的电子证书、欲收款金额,使用所述收款方设备的公钥对所述签名信息进行解密验签,待验签成功后,由所述付款方设备生成付款金额、以及与所述付款金额对应的交易标识,且所述付款金额与所述欲收款金额相等;所述付款方设备采用自身的私钥对所述付款金额和所述收款方设备的公钥进行签名,得到签名结果,根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息;所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果及确认按键,所述确认按键为常锁状态;在用户对所述付款金额核验后,由所述付款方设备接收用户的身份识别信息,并根据所述身份识别信息对所述用户的身份进行验证,待验证成功后,将所述确认按键由常锁状态变为解锁状态;所述付款方设备接收所述用户对确认按键的点选,所述付款方设备将所述付款信息广播到数字货币网络,并将所述付款信息发送给所述收款方设备;
所述数字货币网络用于接收所述付款方设备广播的付款信息,并动员所述数字货币网络中的验证方为所述付款信息进行验证;
其中,当所述收款方设备接收所述付款信息时,使用所述付款方设备的公钥对所述签名结果进行验证,待验证通过后,所述收款方设备从所述付款信息中获取所述交易标识,根据所述交易标识从所述数字货币网络中找到所述付款信息,判断在预设时间内对所述付款信息的验证通过次数是否大于预设阀值,如是则完成交易。
进一步的,所述付款方设备包括身份识别模块和安全模块;
所述身份识别模块,用于对所述用户的身份进行验证;
所述安全模块,采用所述收款方设备的公钥对所述签名信息进行解密验签,并采用所述付款方设备的私钥对所述付款金额和所述收款方设备的公钥进行签名。
进一步的,所述付款方设备还包括多个数字货币钱包以供用户进行选择,每一个数字货币钱包包括普通应用模块和可信应用模块;
所述普通应用模块,用于响应所述付款方设备上各应用程序的付款需求,启动付款业务;
所述可信应用模块,通过调用所述安全模块、身份认证模块及TUI人机交互模块对所述普通应用模块启动的付款业务构建可信环境。
本发明的基于数字货币的可信交易方法和系统能够增强数字货币交易的安全性、可信性,推动了数字货币的发展。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明一种基于数字货币的可信交易方法的流程图;
图2示出了本发明一种基于数字货币的可信交易系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明一种基于数字货币的可信交易方法的流程图。
如图1所示,本发明第一方面提出一种基于数字货币的可信交易方法,所述方法包括以下步骤:
S101,收款方设备向付款方设备发送付款请求,所述付款请求包括付款请求信息和所述付款请求信息的签名信息,所述付款请求信息中包括收款方设备的电子证书、欲收款金额;
S102,付款方设备从所述付款请求中获取所述收款方设备的电子证书、欲收款金额,使用所述收款方设备的公钥对所述签名信息进行解密验签,待验签成功后;
S103,所述付款方设备生成付款金额、以及与所述付款金额对应的交易标识,且所述付款金额与所述欲收款金额相等;
S104,所述付款方设备采用自身的私钥对所述付款金额和所述收款方设备的公钥进行签名,得到签名结果,根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息;
S105,所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果及确认按键,所述确认按键为常锁状态;
S106,在用户对所述付款金额核验后,由所述付款方设备接收用户的身份识别信息,并根据所述身份识别信息对所述用户的身份进行验证,待验证成功后,将所述确认按键由常锁状态变为解锁状态;
S107,接收所述用户对确认按键的点选,所述付款方设备将所述付款信息广播到数字货币网络,并将所述付款信息发送给所述收款方设备;
S108,所述收款方设备接收所述付款信息,使用所述付款方设备的公钥对所述签名结果进行验证,待验证通过后;
S109,所述收款方设备从所述付款信息中获取所述交易标识,根据所述交易标识从所述数字货币网络中找到所述付款信息,判断在预设时间内对所述付款信息的验证通过次数是否大于预设阀值,如是则完成交易。
进一步的,在步骤S102或S108中,如果验证未通过,则拒绝交易。
进一步的,在根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息之后,所述方法还包括:
所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果、确认按键及解锁按键,所述确认按键为常锁状态;
通过所述解锁按键接收用户对所述确认按键的解锁请求;
根据所述解锁请求调用所述付款方设备的身份识别模块对所述用户的身份进行验证,待验证成功后;
将所述确认按键由常锁状态变为解锁状态。
具体的,所述TUI人机交互模块至少包括显示界面,在所述显示界面上呈现所述付款金额、所述签名结果、确认按键及解锁按键,以供用户进行查看核验。在身份验证之前,所述确认按键为灰色,且无法点选,在身份验证成功后,即可解锁所述确认按键。用户可以通过点选所述确认按键进行付款。
进一步的,在根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息之后,所述方法还包括:
所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果、确认按键、验签按键及解锁按键,所述确认按键为常锁状态;
通过所述验签按键接收对所述签名结果的验签请求;
根据所述验签请求调用所述付款方设备的安全模块对所述签名结果进行解密验签,并判断解密验签的结果与所述付款金额是否匹配,如匹配;
通过所述解锁按键接收用户对所述确认按键的解锁请求;
根据所述解锁请求调用所述付款方设备的身份识别模块对所述用户的身份进行验证,待验证成功后;
将所述确认按键由常锁状态变为解锁状态。
具体的,在TUI人机交互模块中显示验签按键,用户点击验签按键,触发安全模块根据付款方设备的公钥进行验签,并将验签结果反应在TUI人机交互模块的显示界面上,供用户进行核对验签结果。待验签结果核对成功后,则用户可以点击解锁按键,触发身份识别模块对用户的身份进行识别认证,且待身份识别认证成功后,所述确认按键得以解锁,用户即可通过点击确认按键将付款信息发送给收款方设备和数字货币网络。
可以理解,通过增加验签按键,使用户在确认付款之前可以对签名结果进行自检(验签),并核实自检的结果是否与所述付款金额匹配,进而有效防止签名结果被篡改,或者签名结果不正确而导致后续交易失败的问题,提升了交易的可靠性。
进一步的,在收款方设备向付款方设备发送付款请求之前,所述方法还包括:
所述收款方设备产生欲收款金额,并根据所述付款金额和所述收款方设备的电子证书形成付款请求信息;
所述收款方设备采用自身的私钥对所述付款请求信息进行签名,生成所述付款请求信息的签名信息;
所述收款方设备根据所述付款请求信息和所述付款请求信息的签名信息组织形成付款请求。
进一步的,收款方设备向付款方设备发送付款请求,具体包括:
所述收款方设备与所述付款方设备进行密钥协商,并生成会话密钥;
所述收款方设备采用所述会话密钥对所述付款请求进行加密,以生成密文;
所述收款方设备将所述付款请求的密文发送至付款方设备,并由所述付款方设备采用所述会话密钥对所述付款请求的密文进行解密。
可以理解,本发明的收款方设备与付款方设备通过密钥协商,建立安全链路,有效防止不法分子窃取或篡改交易信息,从而确保收款方设备与付款方设备之间通信的安全性、可信性。
进一步的,在收款方设备向付款方设备发送付款请求之后,所述方法还包括:
由所述付款方设备接收用户在数字货币钱包列表中的选择指令;
所述付款方设备根据所述选择指令确定对应的数字货币钱包;
由对应的数字货币钱包生成付款金额、以及与所述付款金额对应的交易标识。
需要说明的是,付款方设备是通过数字货币钱包来执行付款业务的。所述付款方设备包括数字货币钱包列表,且所述数字货币钱包列表可以包括多种数字货币钱包,用户可以在数字货币钱包列表中选择对应的数字货币钱包进行付款。
优选的,所述收款方设备和所述付款方设备分别为手机、电脑、PAD中的任意一种。但不限于此。
图2示出了本发明一种基于数字货币的可信交易系统的框图。
如图2所示,本发明第二方面还提出一种基于数字货币的可信交易系统,用于实现上述的基于数字货币的可信交易方法,所述系统包括:收款方设备、付款方设备和数字货币网络;
所述收款方设备用于向所述付款方设备发送付款请求,所述付款请求包括付款请求信息和所述付款请求信息的签名信息,所述付款请求信息中包括收款方设备的电子证书、欲收款金额;
所述付款方设备用于从所述付款请求中获取所述收款方设备的电子证书、欲收款金额,使用所述收款方设备的公钥对所述签名信息进行解密验签,待验签成功后,由所述付款方设备生成付款金额、以及与所述付款金额对应的交易标识,且所述付款金额与所述欲收款金额相等;所述付款方设备采用自身的私钥对所述付款金额和所述收款方设备的公钥进行签名,得到签名结果,根据所述签名结果、所述交易标识和与所述付款方设备的公钥形成付款信息;所述付款方设备通过TUI人机交互模块呈现所述付款金额、所述签名结果及确认按键,所述确认按键为常锁状态;在用户对所述付款金额核验后,由所述付款方设备接收用户的身份识别信息,并根据所述身份识别信息对所述用户的身份进行验证,待验证成功后,将所述确认按键由常锁状态变为解锁状态;所述付款方设备接收所述用户对确认按键的点选,所述付款方设备将所述付款信息广播到数字货币网络,并将所述付款信息发送给所述收款方设备;
所述数字货币网络用于接收所述付款方设备广播的付款信息,并动员所述数字货币网络中的验证方为所述付款信息进行验证;
其中,当所述收款方设备接收所述付款信息时,使用所述付款方设备的公钥对所述签名结果进行验证,待验证通过后,所述收款方设备从所述付款信息中获取所述交易标识,根据所述交易标识从所述数字货币网络中找到所述付款信息,判断在预设时间内对所述付款信息的验证通过次数是否大于预设阀值,如是则完成交易。
进一步的,所述付款方设备包括身份识别模块和安全模块;
所述身份识别模块,用于对所述用户的身份进行验证;
所述安全模块,采用所述收款方设备的公钥对所述签名信息进行解密验签,并采用所述付款方设备的私钥对所述付款金额和所述收款方设备的公钥进行签名。
具体的,所述安全模块支持Diffie-Hellman密钥协商算法、对称密码算法、非对称密码算法和杂凑、哈希密码算法等。
进一步的,所述付款方设备还包括多个数字货币钱包以供用户进行选择,每一个数字货币钱包包括普通应用模块和可信应用模块;
所述普通应用模块,用于响应所述付款方设备上各应用程序的付款需求,启动付款业务;
所述可信应用模块,通过调用所述安全模块、身份认证模块及TUI人机交互模块对所述普通应用模块启动的付款业务构建可信环境。
具体的,普通应用模块应用于普通运行环境中,普通运行环境是由操作系统管理和控制的环境,所述操作系统如Windows、安卓、苹果等。可信应用模块应用于可信运行环境中,可信执行环境(TEE)是存在于付款方设备内,与普通运行环境相分离的安全区域,它与普通运行环境以及普通运行环境上面的应用相分离,确保各种敏感数据在一个可信环境中被存储、处理和受到保护,同时可信运行环境为装载在其中的可信应用提供一个安全的运行环境。
具体的,普通应用模块响应普通运行环境中各应用程序的付款需求,并产生相应的付款信息,然后将所述付款信息传送给可信应用模块,由可信应用模块调用安全模块进行签名,身份识别模块进行用户身份认证,TUI人机交互模块进行可信交互。
本发明的基于数字货币的可信交易方法和系统能够增强数字货币交易的安全性、可信性,推动了数字货币的发展。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。