摘要:我带领团队开发过以太坊钱包,开发过EOS钱包EOSPocket,Cosmos钱包设计,钱包最重要的一点是什么,管理私钥。所以,我们的DApp都有一个功能就是,备份私钥,但是私钥又长又难记。一直困扰用户使用。我们的DApp应用,还需要帮助用户在本地加密后保存私钥,如果钱包遭到攻击,用户私钥很有可能丢失,基于用户特定的生物特征信息生成的私钥不仅随时携带不丢失,而且破解困难,他是目前信息安全领域的一个研究热点,从指纹,眼虹膜,视网膜、人脸识别,手指血管切片等领域,概述生物特征生成密钥的框架。并介绍密钥生成系统的安全性。并利用区块链生成公私钥的办法,生成公私钥,应用到本系统中。DApp中不再保存用户私钥,只有在需要发送交易瞬间,采集生物特征,生成私钥,签名,发送交易即可。交易发送完毕,丢掉私钥。我们的DApp不再帮助客户保存私钥,客户私钥永久的保存在客户的人体特征中。这样客户可以放心使用我们的DApp。不要担心私钥丢失或者被盗的情况。

  1. 如何生成基于生物特征的密钥。
    很多研究人员研究基于生物特征的认证,该认证与基于生物特征的密钥生成存在根本差异,前者认证基于生物特征的密钥生成存在根本差异,前者基于具有用户模板的分类器来区别已认证的用户和冒名顶替者,我们研究的是将生物特征转换为一个唯一的密钥,该密钥不能够从冒名顶替者的生物特征生成。我们提出一种基于生物特征生成密钥的框架。
    如下图:

    1.1 首先收集可信用用户和其他用户的生物特征作为训练数据,进行一个用户依赖的特征变换,使得可信用用户变换后的特征在特征空间是紧凑的,而其他用户(顶替用户)的特征是分散的,那么可信用户变换后的特征与顶替用户特征是可区分的。这样我们就可以利用一个稳定的密钥生成机制生成稳定的密钥,根据可区分度,每个变换后的特征可以贡献一位或者多位数据,作为密钥生成的种子。不仅生成了密钥,而且扩大了密钥空间以抵抗穷举搜索攻击。

    1.2 其次可区分特征生成的目标是找到一个变化使得每个以变换的特征是可区分的。可以将可信用户与顶替用户区分。根据理论,可信用户与顶替用户之间已变换特征的分离或多样性均能提供两者之间的区分度。所以给定生物特征的集合作为训练数据,有不同的标准以找到最佳变化。Fisher线性判别分析(Linear Discriminant Analysi,LDA)广泛应用于特征提取和维度降低。Fisher线性判别式的目标是寻找一个最优的方向使得投影样本的类间散度和类内散度矩阵之比达到最大值,也就是最佳的可区分度。

    1.3最后稳定密钥根据生物特征的可区分性生成稳定的密钥。对于一个特征,如果可行均值与全局均值之间的距离大于可信标准方差K倍,则认为该特征是可区分的。否则基于Shamir的密钥共享方案将抛弃该特征。

  2. 基于指纹的密钥生成办法
    2.1、相对于人的其他生物特征来说,指纹特征数据提取技术研究要成熟的多。并且取得了丰富的学术成功,与其他生物统计学特征相比,指纹特征更容易提取,预处理,更可信,且特征尺寸也很小,有利于数据的保存于处理。

    人的指纹特征有总体特征和局部特征两种。在密钥生成研究中我们采用指纹的局部特征,局部特征是指指纹拓扑图中的集中有效的特征,他是指纹密钥的最基本依据。即便是两种指纹的总体特征相同,但是他们的局部特征缺不可能完全相同,美国国家标准测量局NISTC(National Instituteof Stardardsand Testing)提出了一种指纹细节分类方式,将指纹特征分为四类:端点,分叉点,复合点和未定义特征,而最为重要的细节特征就是端点和分叉点。

    2.2、端点(Ending)分叉点(fBifurcatb)指纹特征最常用的是细节特征提取,因此基于细节特征点的位置,类型和方向进行匹配是目前最为广泛的匹配方法。我们今天研究一下指纹图像的特征提取算法所提取的细节特征是端点和分叉点,我们将指纹特征作为一个特征信息集合,可将其转换为欧氏空间上的指纹特征向量X=,…,X),其中蕾表示第S个特征,算法非常复杂,我们这里不再赘述。

  3. 我们研究一下如何利用获取的生物特征,生成区块链领域使用的公私钥。
    我们分析EOS源代码中实现公私钥加密部分,可以参看源代码eos/libraries/fc/src/crypto下,private_key.cpp文件
    这个文件清晰描述了私钥的生成办法。
    获取公钥的方法:

public_key private_key::get_public_key() const{return public_key(_storage.visit(public_key_visitor()));}

对private_key进行sign的方法。

  signature private_key::sign( const sha256& digest, bool require_canonical ) const{return signature(_storage.visit(sign_visitor(digest, require_canonical)));}

这个文件的方法非常多,都是帮助客户生成公私钥的。
关键的方法private_key::private_key(…)可以帮助我们生成客户私钥
我们可以通过采集生物特征,利用稳定的生物特征生成base58str,
来生成客户私钥。

   private_key::private_key(const std::string& base58str):_storage(parse_base58(base58str)){}

本文不在详细介绍具体生成办法。

2018年12月14日深夜,写于深圳。

基于生物特征密钥生成研究 ------应用于区块链领域密钥的生成办法相关推荐

  1. 基于生物特征信息的身份识别(指纹、面部识别的方式和原理)的使用问题的思考

    1.应用现状及应用案例介绍 近年来,随着互联网的飞速发展,各式各样的应用也不断发展,给我们的生活带来了极大的便捷.生活中,我们日常使用我们个人的指纹以及面部信息来识别个人身份,还有虹膜技术和声纹识别技 ...

  2. 闪电网络——区块链领域基于 Golang 的核心技术之一

    在 2019年第五届 Gopher China 大会上,讲师方圆进行了主题为<闪电网络--BTC小额支付解决方案>的演讲,以下为演讲实录. 00 前言 今天我分享的主要内容包括以下两部分: ...

  3. 基于门限环签名的可删除区块链(未完)

    基于门限环签名的可删除区块链 [1]任艳丽,徐丹婷,张新鹏,谷大武.基于门限环签名的可删除区块链[J].通信学报,2019,40(04):71-82. 摘要:随着区块链的发展,存储所有区块数据需要巨大 ...

  4. 区块链-高级密钥和地址

    目录:https://blog.csdn.net/qq_40452317/article/details/89646633 摘自<精通比特币> 1.加密私钥(BIP0038) 私钥必须保密 ...

  5. 专注区块链底层技术研究 上海树图区块链研究院揭牌

    人民网 1月9日,上海期智研究院.上海树图区块链研究院正式揭牌,这两家专注开展基础研究的新型研发机构,由图灵奖得主.中国科学院院士.清华大学交叉信息研究院院长姚期智领衔组建,旨在提升上海在人工智能.量 ...

  6. 基于比特币现金BCH二层网络能实现区块链2.0以太坊的智能化吗

    第0章 引言 现在市场上有不计其数的区块链项目,多如牛毛,各个项目都认为自己是最牛逼的,都声称自己能改变世界.区块链1点零,2点零,3点零,现在已经有项目喊自己是区块链5点零了.在这样下去,区块链25 ...

  7. 基于陷门单向函数可删除可修改的区块链方案--POSpace

    实现思路 通过引入机动因子,重构区块签名子块,在数据失效或错误时,只要超过阈值数节点同意,便可实现区块数据的合法修改,同时保持区块链接不变,除修改数据,其余数据不变,全网仍可按原始验证方式对数据合法性 ...

  8. 四大审计事务所如何深入研究区块链:普华永道,德勤,安永和毕马威的方法比较(上)...

    点击上方"蓝色字"可关注我们! 暴走时评:四大审计事务所普华永道(PwC),德勤(Deloitte),安永会计师事务所(EY)和毕马威会计师事务所(KPMG),都建立了稳固的长期区 ...

  9. 生物特征模板保护技术

    生物特征模板保护 文章目录 生物特征模板保护 一.生物特征模板简介 1.生物特征模板定义 2.生物特征模板保护定义 3.一个理想的生物识别模板保护方案应具备四个属性 二.生物特征模板保护技术分类 1. ...

  10. 基于区块链的链上数据安全共享体系研究

    点击上方蓝字关注我们 基于分层注意力网络的方面情感分析 刘彦松1, 夏琦1, 李柱1, 夏虎1, 张小松1, 高建彬2 1 电子科技大学计算机科学与工程学院,四川 成都 611731 2 电子科技大学 ...

最新文章

  1. Python使用matplotlib可视化绘制并导出可视化结果图表到PDF文件中
  2. 在程序员的道路上,义无反顾的努力,有思想的人,很多,好的想法,需要学习。(以此共勉)...
  3. 工业交换机是什么?矿用交换机采用的是工业级交换机吗?
  4. angular 定义对象_angularjs – 如何创建一个可以在Angular中使用的自定义对象类
  5. IBM携手MIT组建新实验室:人工智能将有像人一样的视听功能
  6. SqlServer2005安装详解
  7. tp5 根据身份证号码判断性别 男女
  8. HTML-定位网页元素
  9. 旋度的散度恒为0公式推导
  10. 统计二叉树中不平衡节点树的个数
  11. 干货!5招搞定问卷调查差异化分析
  12. 抖音名字怎么改不了_抖音名字怎么改,抖音名字改不了,抖音名字已重置什么意思...
  13. duxing201606很快乐
  14. java返回当年的天数_获取Java中当年剩余的天数
  15. wordpress主题html5,Salutation 强大的HTML5商务WordPress主题集成BuddyPress[更新至v3.0.7]
  16. [附源码]java毕业设计药品销售管理系统
  17. win7下笔记本玩游戏不能全屏的解决
  18. python用户登录代码_Python基础练习之用户登录实现代码分享
  19. 玩转 matlab 之一维 gauss 数值积分公式及matlab源代码
  20. 2011 IT行业薪酬

热门文章

  1. 无线通信中各种常用技术及特点
  2. Linux根目录解析
  3. 初了解IsPostBack
  4. php xml网站地图生成,PHP代码自动生成XML版网站地图
  5. 客车网上售票系统(Java源码+sql脚本)
  6. USB转RJ45串口调试线(console线)
  7. 免费又好用的Redis可视化工具,强烈推荐!
  8. Git 2.29.2 64位安装包
  9. 机器学习实战笔记1——机器学习导论
  10. 10秒钟的Cat 6A网线认证仪_DSX2-5000 CH