织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

交易设备端视角探讨央行数字货币双离线支付原理、难点与技术方案 (8)

时间:2020-06-23 17:21来源:未知 作者:admin 点击:
钱包在激活过程中,应当安全下载央行为其派生的唯一钱包认证私钥并保存在 TEE 中。钱包应当在 TA 中初始内置用于验证的央行钱包认证根公钥。 钱包应
  • 钱包在激活过程中,应当安全下载央行为其派生的唯一钱包认证私钥并保存在 TEE 中。钱包应当在 TA 中初始内置用于验证的央行钱包认证根公钥。
  • 钱包应当在联网时与央行数字货币登记系统同步。钱包内始终应存储所绑定的用户账号的 UTXO 的最新信息,以便离线时使用这些信息发起交易,以及将离线状态的已签名交易报文提交给央行数字货币登记系统。
  • 在以上基础上,在交易中执行前述判断。
  • 上述提到的三个需要预置在钱包 TA 中的公钥 / 证书的作用是:

    央行数字货币发行公钥

    央行数字货币发行私钥用于签署每一个央行发行的数字货币。其对应公钥应内置于钱包 TA 中,以便在离线情况下也能验证数字货币的真伪。

    若央行数字货币采用不定面额 UTXO 模型,那么只有最后一次联网交易时产生的 UTXO 可以由央行数字货币发行私钥签名,而离线交易中产生的 UTXO 无法由央行数字货币发行私钥签名,无法在后续流转中验签,因此,只能进行单次离线交易。

    若央行数字货币采用固定面额 UTXO 模型,那么每一个数字货币都由央行在初始发行时用央行数字货币发行私钥签名,流通过程中不需要重新签名,因此,可以进行离线二次流转。

    央行数字货币登记系统的服务器根证书

    该根证书用于钱包软件连接央行数字货币登记系统时,验证央行数字货币登记系统是真实的,从而抗 DNS 攻击、中间人攻击等。央行数字货币登记系统可能有多个服务入口,根证书用于验证所有这些入口服务器的证书。

    该证书亦用于协商远程通信的通信密钥。

    央行钱包认证根公钥

    央行钱包认证根公钥对用于在离线交易时,收付双方互相验证对方的数字钱包是经过央行认证的合法钱包。

    因为用户知道自己的私钥,恶意用户有可能利用私钥签署形式合法的交易报文,在离线情况下,对自己的一个数字货币签发多次交易。为抵御离线双花攻击,收款方必须验证付款方的交易报文,是由经过央行认证的数字钱包发出的。

    钱包在激活过程中,央行通过手机远程认证完成钱包和智能手机的绑定后,由央行钱包认证根私钥根据钱包标识、绑定时刻、密钥有效期等要素,派生出该钱包的认证子私钥,并通过央行数字货币登记系统的服务器根证书所建立的安全通道,下载到钱包内并保存在 TEE 中。

    交易中,付款方必须使用上述钱包认证子私钥,对交易中通信的报文(其中包含派生该子私钥的要素和由用户私钥签名的交易报文)进行签名。收款方必须根据派生要素,从预置的央行钱包认证根公钥派生出与该付款钱包对应的子公钥,检查该密钥在有效期内,并验证交易通信报文是否来自合法钱包。 (责任编辑:admin)

    织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容