一种数字货币硬钱包应用实现方法、SIM卡及系统与流程

文档序号:19351994发布日期:2019-12-06 21:30阅读:802来源:国知局
一种数字货币硬钱包应用实现方法、SIM卡及系统与流程

本申请涉及数字货币技术领域,尤其涉及一种数字货币硬钱包应用实现方法、sim卡及系统。



背景技术:

自从区块链技术诞生以来,数字货币钱包的市场需求越来越大。数字货币钱包从操作便捷性、安全性以及功能上又有很多种分类,轻钱包、冷钱包、热钱包、硬钱包等等。

现有数字货币钱包业务都是通过手机app客户端实现的,包括随机数的产生,密钥派生、私钥签名等功能,但是由于移动终端的数据保护安全性低,使得在客户端上存储的密钥、密码等敏感数据易被不法分子窃取,导致了现有数字货币业务安全性低的技术问题。



技术实现要素:

本申请提供了一种数字货币硬钱包应用实现方法、sim卡及系统,用于解决现有的数字货币钱包业务安全性低的技术问题。

有鉴于此,本申请第一方面提供了一种数字货币硬钱包应用实现方法,包括:

响应于客户端应用向sim卡发送的交易支付消息,提取所述交易支付消息中的交易数据和第一账户地址数据;

根据所述第一账户地址数据,基于保存在所述sim卡中的预存密钥对数据集,确定所述第一账户地址数据对应的第一密钥对数据;

基于所述第一密钥对数据对所述交易数据进行数字签名操作,得到签名结果数据;

向所述客户端应用返回包括有所述签名结果数据的支付交易响应消息,以便于所述客户端应用根据所述签名结果数据完成支付交易。

可选地,所述方法还包括:

响应于客户端应用向sim卡发送的硬钱包创建消息,提取所述硬钱包创建消息中的密码数据;

根据所述密码数据和即时生成的助记词数据生成主密钥对和主链码;

保存所述主链码及所述主密钥对,以便用于派生子密钥对。

可选地,所述保存所述主链码及所述主密钥对,以便用于派生子密钥对之后还包括:

向所述客户端应用发送所述助记词数据。

可选地,所述方法还包括:

响应于客户端应用向sim卡发送的硬钱包恢复消息,提取所述硬钱包恢复消息中的所述助记词数据和密码数据;

根据所述助记词数据和所述密码数据生成所述主密钥对和主链码;

保存所述主链码及所述主密钥对,以便用于派生子密钥对。

可选地,所述方法还包括:

响应于客户端应用向所述sim卡发送的账户地址生成消息,提取所述账户地址生成消息中的密钥索引路径数据;

根据所述密钥索引路径数据生成对应的第二密钥对数据和链码;

根据所述第二密钥对数据中的公钥数据生成账户地址数据,并将所述账户地址数据发送至所述客户端应用,以便于所述客户端应用根据所述账户地址数据完成余额查询业务;

将密钥索引路径、第二密钥对数据、链码和账户地址作为密钥对数据集保存,以便用于支付交易。

本申请第二方面提供了一种sim卡,包括:支付交易模块;

所述支付交易模块具体用于:响应于客户端应用向sim卡发送的交易支付消息,提取所述交易支付消息中的交易数据和第一账户地址数据;根据所述第一账户地址数据,基于保存在所述sim卡中的预存密钥对数据集,确定所述第一账户地址数据对应的第一密钥对数据;基于所述第一密钥对数据对所述交易数据进行数字签名操作,得到签名结果数据;向所述客户端应用返回包括有所述签名结果数据的支付交易响应消息,以便于所述客户端应用根据所述签名结果数据完成支付交易。

可选地,还包括:硬钱包创建模块;

所述硬钱包创建模块具体用于:响应于客户端应用向sim卡发送的硬钱包创建消息,提取所述硬钱包创建消息中的密码数据;根据所述密码数据和即时生成的助记词数据生成主密钥对和主链码;保存所述主链码及所述主密钥对,以便用于派生子密钥对;以及向所述客户端应用发送所述助记词数据。

可选地,还包括:硬钱包恢复模块;

所述硬钱包恢复模块具体用于:响应于客户端应用向sim卡发送的硬钱包恢复消息,提取所述硬钱包恢复消息中的所述助记词数据和密码数据;根据所述助记词数据和所述密码数据生成所述主密钥对和主链码;保存所述主链码及所述主密钥对,以便用于派生子密钥对。

可选地,还包括:余额查询模块;

所述余额查询模块具体用于:响应于客户端应用向所述sim卡发送的账户地址生成消息,提取所述账户地址生成消息中的密钥索引路径数据;根据所述密钥索引路径数据生成对应的第二密钥对数据和链码;根据所述第二密钥对数据中的公钥数据生成账户地址数据,并将所述账户地址数据发送至所述客户端应用,以便于所述客户端应用根据所述账户地址数据完成余额查询业务;

将密钥索引路径、第二密钥对数据、链码和账户地址作为密钥对数据集保存,以便用于支付交易。

本申请第三方面提供了一种数字货币硬钱包系统,包括:移动终端和如本申请第二方面所述的sim卡;

所述移动终端中安装有硬钱包客户端应用,用于与所述sim卡进行数据交互,使得所述sim卡根据接收到的消息执行如本申请第一方面所述的数字货币硬钱包应用实现方法;

其中,所述应用具体通过机卡通道交互的方式或通过服务器转发的方式与所述sim卡进行数据交互。

从以上技术方案可以看出,本申请具有以下优点:

本申请提供了一种数字货币硬钱包应用实现方法,包括:响应于客户端应用向sim卡发送的交易支付消息,提取所述交易支付消息中的交易数据和第一账户地址数据;根据所述第一账户地址数据,基于保存在所述sim卡中的预存密钥对数据集,确定所述第一账户地址数据对应的第一密钥对数据;基于所述第一密钥对数据对所述交易数据进行数字签名操作,得到签名结果数据;向所述客户端应用返回包括有所述签名结果数据的支付交易响应消息,以便于所述客户端应用根据所述签名结果数据完成支付交易。

本申请通过将数字钱包需要的密钥信息保存在sim卡中的安全模块内,使得原来在客户端应用上执行的随机数的产生、密钥的派生等转移到sim卡的安全模块实现,解决了由于移动终端数据安全性低导致的数字货币业务安全性低的技术问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本申请提供的一种数字货币硬钱包应用实现方法的一个实施例的流程示意图;

图2为本申请提供的一种数字货币硬钱包应用实现方法中的交易支付流程的第一个实施例的流程示意图;

图3为本申请提供的一种数字货币硬钱包应用实现方法中的交易支付流程的第二个实施例的流程示意图;

图4为本申请提供的一种数字货币硬钱包应用实现方法中的硬钱包创建流程的第一个实施例的流程示意图;

图5为本申请提供的一种数字货币硬钱包应用实现方法中的硬钱包创建流程的第二个实施例的流程示意图;

图6为本申请提供的一种数字货币硬钱包应用实现方法中的硬钱包恢复流程的第一个实施例的流程示意图;

图7为本申请提供的一种数字货币硬钱包应用实现方法中的硬钱包恢复流程的第二个实施例的流程示意图;

图8为本申请提供的一种数字货币硬钱包应用实现方法中的余额查询流程的第一个实施例的流程示意图;

图9为本申请提供的一种数字货币硬钱包应用实现方法中的余额查询流程的第二个实施例的流程示意图;

图10为本申请提供的一种sim卡的结构示意图;

图11为本申请提供的一种数字货币硬钱包系统的系统架构示意图。

具体实施方式

本申请实施例提供了一种数字货币硬钱包应用实现方法、sim卡及系统,用于解决现有的数字货币钱包业务安全性低的技术问题。

在区块链中,数字资产对应到一个账户地址,只有拥有账户的私钥才可以对资产进行交易。私钥和地址的关系概括起来就是,私钥通过椭圆曲线生成公钥,公钥通过哈希函数生成地址,这两个过程都是单向的。

现有数字货币钱包业务都是通过移动终端app实现的,包括随机数的产生,密钥派生、私钥签名等功能,由于移动终端app的数据保护安全能力较差,使得在客户端上存储的密钥、密码等敏感数据容易被不法分子窃取,从而造成个人的财产损失。

为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

请参阅图1,本实施例提供了一种数字货币硬钱包应用实现方法,包括:

步骤101、响应于客户端应用向sim卡发送的交易支付消息,提取交易支付消息中的交易数据和账户地址数据。

需要说明的是,首先,在实施本实施例的方法之前,用户可以先通过客户端应用输入相应的支付信息,包括但不限于:收款账户地址(可通过直接输入或扫码获取),付款账户地址,支付金额等。

然后,客户端应用再将交易数据、付款账户地址通过交易支付消息发送给sim卡。

当sim卡接收到由客户端应用发送的交易支付消息后,提取交易支付消息中的交易数据和第一账户地址数据,其中本实施例的第一账户一般指代为付款方账户。

步骤102、根据第一账户地址数据,基于保存在sim卡中的预存密钥对数据,确定账户地址数据对应的第一密钥对数据。

需要说明的是,根据通过步骤101得到的第一账户地址数据,从保存在sim卡中的预存密钥对数据集中确定与该第一账户地址数据相对应的第一密钥对数据,其中,预存密钥对数据集包括:密钥索引路径、密钥对、链码和账户地址,密钥对包括:公钥和私钥。

步骤103、基于第一密钥对数据对交易数据进行数字签名操作,得到签名结果数据。

需要说明的是,基于步骤102获取到的第一密钥对数据,通过该第一密钥对中的私钥对交易数据进行签名操作,得到签名结果。

步骤104、向客户端应用返回包括有签名结果数据的支付交易响应消息,以便于客户端应用根据签名结果数据完成支付交易。

需要说明的是,在获得了签名结果后,可以将该签名结果通过支付交易响应消息发送给客户端应用,以便于客户端应用基于签名结果数据完成支付交易。

本实施例通过将数字钱包需要的密钥对数据保存在sim卡中的安全模块内,使得原来在客户端应用上执行的随机数的产生、密钥的派生等转移到sim卡的安全模块实现,解决了由于移动终端数据安全性低导致的数字货币业务安全性低的技术问题。

以上为本申请提供的一种数字货币硬钱包应用实现方法的一个实施例的详细说明,为了更清楚其阐述本申请的技术方案,下面将基于本申请第一个实施例提供的一种数字货币硬钱包应用实现方法,对本申请的支付交易流程进行更详细的说明。

请参阅图2,本实施例提供的一种数字货币硬钱包应用实现方法,包括:

步骤201、获取交易数据。

需要说明的是,在执行本实施例的支付流程之前,用户可以先通过客户端应用在进行支付交易时,点击“支付”,根据提示输入收款账户地址(或通过扫码获取收款账户地址),选择付款账户地址,输入支付金额,然后点击“确认”按钮,触发下一步骤。

步骤202、客户端应用发送select命令给sim卡。

步骤203、sim卡将选择结果通过select命令响应回复给客户端应用。

步骤204、客户端应用通过机卡通道将交易数据、付款账户地址通过交易支付消息发送给sim卡。

需要说明的是,本实施例的步骤201至步骤204为sim卡在接收到交易支付消息前,用户通过客户端应用执行的预交互步骤的过程。

步骤205、sim卡响应于收到的交易支付消息后,由付款账户地址查找到对应的公钥和私钥,用私钥对交易数据进行签名操作得到签名结果。

步骤206、sim卡将公钥和签名结果通过交易支付消息响应回复给客户端应用。

需要说明的是,本实施例的步骤205和步骤206为sim卡在接收到交易支付消息后,对交易数据进行签名认证的过程。

步骤207、客户端应用收到交易支付响应消息后,将公钥、交易数据、签名结果、交易金额、付款账户地址(亦为找零地址)、收款账户地址信息通过支付交易请求报文(网络方式)发送给区块链系统。

步骤208、区块链系统收到支付交易请求报文后,以广播的形式发布交易信息,所有收到信息的主机在确认信息无误后记录下交易信息,交易完成后,将交易结果通过支付交易响应报文(网络方式)发送给客户端应用。

步骤209、客户端应用收到支付交易响应报文后,根据交易结果刷新余额信息,同时显示交易结果给用户查看。

需要说明的是,本实施例的步骤207至209为sim卡将签名结果返回给客户端应用后,客户端应用根据签名结果完成交易的完成过程。

以上为本申请客户端应用通过机卡通道与sim卡交互时的交易支付实施方式,下面为本申请客户端应用通过服务器与sim卡交互时的交易支付实施方式。

另外,请参阅图3,本实施例提供的一种数字货币硬钱包应用实现方法,包括:

步骤301、获取交易数据。

需要说明的是,在执行本实施例的支付流程之前,用户可以先通过客户端应用在进行支付交易时,点击“支付”,根据提示输入收款账户地址(或通过扫码获取收款账户地址),选择付款账户地址,输入支付金额,然后点击“确认”按钮,触发下一步骤。

步骤302、客户端应用将交易数据、付款账户地址通过交易支付消息以网络方式发送给服务器平台。

步骤303、服务器平台收到交易支付消息后,通过安全数据短信方式将包含有交易数和付款账户地址的交易支付消息发送给sim卡的硬钱包应用。

步骤304、sim卡的硬钱包应用响应于收到的交易支付消息,通过付款账户地址查找到对应的公钥和私钥,并用私钥对交易数据进行签名操作得到签名结果。

步骤305、sim卡硬钱包应用将公钥和签名结果通过交易支付消息(安全数据短信方式)发送给服务器平台。

步骤306、服务器平台收到交易支付消息后,将公钥和签名结果通过交易支付消息(网络方式)发送客户端应用。

步骤307、客户端应用收到交易支付响应消息后,将公钥、交易数据、签名结果、交易金额、付款账户地址(亦为找零地址)、收款账户地址信息通过支付交易请求报文(网络方式)发送给区块链系统。

步骤308、区块链系统收到支付交易请求报文后,以广播的形式发布交易信息,所有收到信息的主机在确认信息无误后记录下交易信息,交易完成后,将交易结果通过支付交易响应报文(网络方式)发送给客户端应用。

步骤309、客户端应用收到支付交易响应报文后,根据交易结果刷新余额信息,同时显示交易结果给用户查看。

以上为本申请提供的一种数字货币硬钱包应用实现方法中的交易支付流程的详细实施方式说明。然而,硬钱包业务的正常使用必须要先创建硬钱包,下面为本申请提供的一种数字货币硬钱包应用实现方法中的硬钱包创建流程的详细说明。

请参阅图4、本申请实施例提供了一种数字货币硬钱包应用实现方法,包括:

步骤401、用户打开客户端应用,点击“创建硬钱包”按钮,然后根据提示输入‘硬钱包密码’,点击“完成”按钮,以触发下一步骤。

步骤402、客户端应用通过机卡通道发送select命令给sim卡。

步骤403、sim卡将选择结果通过select命令响应回复给客户端应用。

步骤404、客户端应用将用户输入的硬钱包密码按约定方式加密得到密码密文数据,然后将密码密文通过硬钱包创建消息发送给sim卡。

步骤405、sim卡响应于收到硬钱包创建消息,按照约定方式解密密码密文数据得到明文密码,先生成助记词,然后根据助记词和明文密码由主密钥生成模块生成主密钥对和主链码,保存备用,以便进行密钥派生。

其中,助记词的生成过程具体为:

1)创建一个128位的随机序列(熵);

2)对上一步生成的随机序列进行sha256生成hash值,取hash值的前4位作为随机序列的校验和(checksum);

3)将checksum添加至第一步生成的随机序列的尾部,从而得到一个132位的随机序列;

4)将上一步的随机序列按照11位一段进行分隔,这样128位熵长的序列就会生成12段;

5)此时将每个包含11位部分的值与一个预定义的2048个单词的词典进行对应;

6)按照切割顺序生成的最终的单词组就是助记词。

主密钥的生成过程包括:

1)助记词生成密钥种子通过密钥拉伸函数pbkdf2算法来实现,该函数需要提供两个参数:助记词和salt值,其中salt的目的就是增加破解难度,我们引用密码(passphrase)来作为保护种子的附加安全因素;

2)pbkdf2使用hmac-sha512算法,使用2048次hash之后产生一个512位的值作为密钥种子;

3)以上一步生成的密钥种子作为data,常量值“bitcoinseed”作为key,采用hmac-sha512算法得到一个512位的hash;

4)上一步计算得到的512位hash值的左256位作为主私钥,右边256位作为主链码;

5)主私钥通过ecc点乘运算计算得到主公钥。

步骤406、sim卡将生成的助记词按约定方式加密得到助记词密文数据,并将助记词密文数据通过硬钱包创建消息响应回复给客户端应用。

步骤407、客户端应用收到硬钱包创建响应消息后,按约定方式解密助记词密文数据得到助记词明文,并将助记词明文显示给用户查看,并提示用户记录助记词信息和硬钱包密码信息,以备恢复硬钱包时使用。

以上为本申请客户端应用通过机卡通道与sim卡交互时的硬钱包创建实施方式,下面为本申请客户端应用通过服务器与sim卡交互时的硬钱包创建实施方式。

请参阅图5,本申请实施例提供了一种数字货币硬钱包应用实现方法,包括:

步骤501、用户通过客户端应用进行操作,点击“创建硬钱包”按钮,然后根据提示输入‘硬钱包密码’,点击“完成”按钮,以触发下一步骤;

步骤502、客户端应用将用户输入的硬钱包密码按约定方式1加密得到密码密文1数据,然后将密码密文1通过硬钱包创建请求ⅰ报文以网络方式发送给服务器平台;

步骤503、服务器平台收到硬钱包创建请求ⅰ报文后,按约定方式1解密密码密文1数据得到密码明文,再按约定方式2加密得到密码密文2数据,并将密码密文2数据通过硬钱包创建请求ⅱ报文以安全数据短信方式发送给sim卡;

步骤504、sim卡收到硬钱包创建请求ⅱ报文后,按照约定方式2解密密码密文2数据得到明文密码,先由助记词生成模块生成助记词,然后根据助记词和明文密码由主密钥生成模块生成主密钥对和主链码,保存备用;

步骤505、sim卡将生成的助记词按约定方式2加密得到助记词密文2数据,并将助记词密文2数据通过硬钱包创建响应ⅱ报文(安全数据短信方式)发送给服务器平台;

步骤506、服务器平台收到硬钱包创建响应ⅱ报文后,按约定方式2解密助记词密文2数据得到助记词明文,再按照约定方式1加密助记词明文得到助记词密文1数据,然后将助记词密文1数据通过硬钱包创建响应ⅰ报文(网络方式)发送给客户端应用;

步骤507、客户端应用接收到硬钱包创建响应ⅰ报文后,按约定方式1解密助记词密文1数据得到助记词明文,并将助记词明文显示给用户查看,并提示用户记录助记词信息和硬钱包密码信息,以备恢复硬钱包时使用。

以上为本申请提供的一种数字货币sim卡实现方法中的硬钱包创建流程的详细实施方式说明,下面为本申请提供的一种数字货币sim卡实现方法中的硬钱包恢复流程的详细说明。

当客户端应用发生故障需要卸载重新安装时,之前的硬钱包数据就不存在了,此时就需要使用创建硬钱包时备份的助记词和硬钱包密码信息来恢复硬钱包。

请参阅图6,本申请实施例提供了一种数字货币硬钱包应用实现方法,包括:

步骤601、用户打开客户端应用,点击“恢复硬钱包”按钮,然后根据提示输入‘助记词序列’和‘硬钱包密码’,点击“完成”按钮,以触发下一步骤。

步骤602、客户端应用发送select命令给sim卡。

步骤603、sim卡将选择结果通过select命令响应回复给客户端应用。

步骤604、客户端应用将用户输入的助记词序列和硬钱包密码按约定方式加密得到密文数据,然后将密文数据通过硬钱包恢复消息发送给sim卡。

步骤605、sim卡收到硬钱包恢复消息后,按照约定方式解密密文数据得到助记词序列和硬钱包密码数据明文,然后根据助记词和密码由主密钥生成模块生成主密钥对和主链码,保存备用,以便进行密钥派生获取子密钥对。

步骤606、sim卡将硬钱包恢复结果通过硬钱包恢复消息响应回复给客户端应用。

步骤607、客户端应用接收到硬钱包恢复消息响应后,将硬钱包恢复结果显示给用户查看。

以上为本申请提供的一种数字货币sim卡实现方法中的硬钱包恢复流程的详细实施方式说明,下面为本申请提供的一种数字货币sim卡实现方法中的硬钱包恢复流程的详细说明。

请参阅图7,本申请实施例提供了一种数字货币sim卡实现方法,包括:

步骤701、用户打开客户端应用,点击“恢复硬钱包”按钮,然后根据提示输入‘助记词序列’和‘硬钱包密码’,点击“完成”按钮,以触发下一步骤的执行;

步骤702、客户端应用将用户输入的助记词序列和硬钱包密码按约定方式1加密得到密文1数据,然后将密文1数据通过硬钱包恢复请求ⅰ报文(网络方式)发送给服务器平台;

步骤703、服务器平台收到硬钱包恢复请求ⅰ报文后,按约定方式1解密密文1数据得到助记词序列和硬钱包密码数据明文,再按约定方式2加密得到密文2数据,并将密文2数据通过硬钱包恢复请求ⅱ报文(安全数据短信方式)发送给sim卡中的硬钱包应用;

步骤704、sim卡收到硬钱包恢复请求ⅱ报文后,按照约定方式2解密密文2数据得到助记词序列和硬钱包密码数据明文,然后根据助记词和密码由主密钥生成模块生成主密钥对和主链码,保存备用;

步骤705、sim卡将硬钱包恢复结果通过硬钱包恢复响应ⅱ报文(安全数据短信方式)发送给服务器平台;

步骤706、服务器平台收到硬钱包恢复响应ⅱ报文后,将硬钱包恢复结果通过硬钱包恢复响应ⅰ报文(网络方式)发送给客户端应用;

步骤707、客户端应用接收到硬钱包恢复响应ⅰ报文后,将硬钱包恢复结果显示给用户查看。

以上为本申请提供的一种数字货币sim卡实现方法中的硬钱包恢复流程的详细实施方式说明,下面为本申请提供的一种数字货币sim卡实现方法中的余额查询流程的详细说明。

在硬钱包创建成功后,即可执行查看余额信息操作。

请参阅图8,本申请实施例提供了一种数字货币sim卡实现方法,包括:

步骤801、用户登录客户端应用成功时,客户端应用自动判断不存在账户地址,则需要用户新增地址,根据客户端提示输入密钥索引路径,然后点击“确认”按钮;客户端应用通过中间件判断终端支持机卡通道;

步骤802、客户端应用发送select命令给sim卡;

步骤803、sim卡将选择结果通过select命令响应回复给客户端应用;

步骤804、客户端应用将用户输入的密钥索引路径通过账户地址生成消息发送给sim卡;

步骤805、sim卡收到账户地址生成消息后,由子密钥生成模块根据密钥索引路径生成子密钥对,然后由账户地址生成模块根据子公钥生成账户地址,最后将密钥索引路径连同生成的公钥、私钥、链码和账户地址信息打包保存;

其中,子密钥的生成过程包括:

1)检查是否i>=2^31,根据结果拼装data数据;

如果否(正常衍生):data为0x02/0x03||ser256(父公钥)||ser32(i);

如果是(硬化衍生):data为0x00||ser256(父私钥)||ser32(i);

2)以上一步拼装数据作为data,父链码作为key,采用hmac-sha512算法得到一个512位的hash,右256位为子链码;

3)将上一步计算得到的hash值的左256位与父私钥求和,然后对n(整数模化曲线的阶数)取模从而得到子私钥;

4)子私钥通过ecc点乘运算计算得到子公钥。

账户地址生成过程包括:

1)将公钥进行sha256运算得到256位hash值,再将此hash值进行ripemd160运算得到160位hash值;

2)在160位hash值前添加版本信息得到数据data,

3)对添加版本号后的data数据进行双sha256运算得到哈希值;

4)取上一步计算得到的哈希值前4字节作为校验码添加至第2步得到的数据data尾部形成data1数据;

5)对上一步得到的data1数据进行base58编码得到账户地址。

步骤806、sim卡将生成的账户地址通过账户地址生成消息响应回复给客户端应用;

步骤807、客户端应用收到账户地址生成消息响应后,将账户地址信息通过余额查询请求报文(网络方式)发送给区块链系统;

步骤808、区块链系统收到余额查询请求报文后,根据账户地址查询到对应的余额信息,并将余额信息通过余额查询响应报文(网络方式)发送给客户端应用;

步骤809、客户端应用收到余额查询响应报文后,保存账户地址,并将账户地址和对应的余额信息显示给用户。

以上为本申请客户端应用通过机卡通道与sim卡交互时的余额查询实施方式,下面为本申请客户端应用通过服务器与sim卡交互时的余额查询实施方式。

请参阅图9,本申请实施例提供了一种数字货币sim卡实现方法,包括:

步骤901、用户登录客户端应用成功时,且当客户端应用判断不存在账户地址时,则需要用户新增地址,此时用户可以根据客户端提示输入密钥索引路径数据,然后点击“确认”按钮,以触发下一步骤。

步骤902、客户端应用将用户输入的密钥索引路径通过余额查询请求ⅰ报文(网络方式)发送给服务器平台;

步骤903、服务器平台收到余额查询请求ⅰ报文后,将密钥索引路径通过账户地址查询请求报文(安全数据短信方式)发送给sim卡中的硬钱包应用;

步骤904、sim卡中的硬钱包应用收到账户地址查询请求报文后,由子密钥生成模块根据密钥索引路径生成子密钥对,然后由账户地址生成模块根据子公钥生成账户地址,最后将密钥索引路径连同生成的子密钥对、链码和账户地址信息打包保存;

步骤905、sim卡中的硬钱包应用将生成的账户地址数据通过地址查询响应报文(安全数据短信方式)发送给服务器平台;

步骤906、服务器平台收到地址查询响应报文后,将账户地址信息通过余额查询请求ⅱ报文(网络方式)发送给区块链系统;

步骤907、区块链系统收到余额查询请求ⅱ报文后,根据账户地址查询到对应的余额信息,并将余额信息通过余额查询响应ⅱ报文(网络方式)发送给服务器平台;

步骤908、服务器平台收到余额查询响应ⅱ报文后,将余额信息和之前保存的账户地址打包一起通过余额查询响应ⅰ报文(网络方式)发送给客户端应用;

步骤909、客户端应用收到余额查询响应ⅰ报文后,保存账户地址,并将账户地址和对应的余额信息显示给用户

以上为本申请提供的一种数字货币sim卡实现方法的各个实施例的详细说明,下面为本申请提供的一种用于实现数字货币sim卡实现方法的sim卡的详细说明。

请参阅图10,本申请实施例提供了一种sim卡,用于实现上述各个实施例提及的方法,包括:支付交易模块c1;

支付交易模块c1具体用于:响应于客户端应用向sim卡发送的交易支付消息,提取交易支付消息中的交易数据和第一账户地址数据;根据第一账户地址数据,基于保存在sim卡中的预存密钥对数据集,确定第一账户地址数据对应的第一密钥对数据,预存密钥对数据集包括:密钥索引路径、密钥对、链码和账户地址,密钥对包括:公钥和私钥;基于第一密钥对数据对交易数据进行数字签名操作,得到签名结果数据;向客户端应用返回包括有签名结果数据的支付交易响应消息,以便于客户端应用根据签名结果数据完成支付交易。

可选地,还包括:硬钱包创建模块c2;

硬钱包创建模块c2具体用于:响应于客户端应用向sim卡发送的硬钱包创建消息,提取硬钱包创建消息中的密码数据;根据密码数据和即时生成的助记词数据生成主密钥对和主链码;保存主链码及主密钥对,以便用于派生子密钥对;以及向客户端应用发送助记词数据。

可选地,还包括:硬钱包恢复模块c3;

硬钱包恢复模块c3具体用于:响应于客户端应用向sim卡发送的硬钱包恢复消息,提取硬钱包恢复消息中的助记词数据和密码数据;根据助记词数据和密码数据生成主密钥对和主链码;保存主链码及主密钥对,以便用于派生子密钥对。

可选地,还包括:余额查询模块c4;

余额查询模块c4具体用于:响应于客户端应用向sim卡发送的账户地址生成消息,提取账户地址生成消息中的密钥索引路径数据;根据密钥索引路径数据生成对应的第二密钥对数据;根据第二密钥对数据中的公钥数据生成账户地址数据,并将账户地址数据发送至客户端应用,以便于所述客户端应用根据所述账户地址数据完成余额查询业务。

以上为本申请提供的一种用于实现数字货币sim卡实现方法的sim卡的详细说明,下面为本申请提供的一种数字货币硬钱包系统的详细说明。

请参阅图11,本申请实施例提供了一种数字货币硬钱包系统,包括:移动终端和如本申请第二方面的sim卡;

移动终端中安装有硬钱包客户端应用,用于与sim卡进行数据交互,使得sim卡根据接收到的消息执行如本申请第一方面的数字货币硬钱包应用实现方法;

其中,应用具体通过机卡通道交互的方式或通过服务器转发的方式与sim卡进行数据交互。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干消息用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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