密码在区块链中的应用(演讲稿)

大家好,我是李兆森。目前在北京天威诚信研究院担任研究员一职,一直从事密码技术研究和国产密码算法的推广工作。自从2015年区块链概念火起来后,也开始关注和研究区块链,主要是从密码学角度研究。今天要分享的题目是《密码在区块链中的应用》,主要有以下三个部分:

第一:介绍密码的基本概念以及密码主要解决的事情

如下图所示是一个完整的互联网访问场景,这里有几个安全问题:1、如何确认访问人的是谁,是否有合法的身份,访问的服务器是否是要访问的合法的 ;2、传输的数据是否会被窃听; 3、传输的数据是否会劫持遭篡改; 4、访问人是否会抵赖自己做的事情。那密码就可以解决以上问题的,能够构建整体安全体系的核心组成部分。

密码主要由对称密码体系、非对称密码体系、散列函数。目前互联网上常用的密码有对称密码体系AES、3DES、SM4,非对称密码体系RSA、ECC、SM2等,散列函数主要有SHA1、SHA2、SM3等。下面主要讲讲这些密码的应用场景。

对称密码:分为分组密码和序列密码。分组密码是根据密钥的长度把数据划分是一块一块,加密后再组装起来,一般用在服务直接的数据传输。主要算法有国家标准SM4算法。序列密码也叫流密码,它是由密钥产生密钥流,使用密钥流再对数据进行加密,一般应用在无线通讯和外交通讯。主要算法有国家标准算法祖冲之算法。

非对称密码:目前有两类主要算法,一种是RSA,其数学的基础是基于大数分解问题是困难的,但目前国家标准要求假如要使用其密钥的长度是必须是2048位。另一种是ECC,其数学的基础是离散对数求解的困难性,目前国家的标准SM2就是这类算法。非对称密码有两类应用一种是身份认证,一种是密钥协商。

散列函数:也叫消息摘要、HASH函数。主要的算法有MD5、SHA-1、SHA-2。它的用途是保证数据的完整性,它是单向的能够很快进行验证但是无法还原或者解密。主要是在数据传输、文档版本管理、索引、电子签名中使用。

电子签名:其实是非对称算法的一种应用,简单来说就是接受方为了验证是否是发送方发来的数据,同时发送方无法抵赖的。其利用了非对称算法的私钥只有本人所有的特性。在实际的应用中往往结合摘要一起使用。传统的证书应用场景中通常是使用零知识证明结合电子签名的方式进行身份认证替代传统的用户名口令方式。

国家的密码标准体系主要由密标委、安标委制定,国家密码管理局批准发布。按图所示主要由技术类标准、产品类标准、以及行业应用标准几个部分组成。技术类标准由数据标准、算法标准、协议标准和密码模板标准。

第二:介绍一下区块链中的密码的应用以及与PKI/CA的区别

首先谈一下PKI/CA体系,与大家结合最紧密的就是银行的U盾或者支付宝的支付盾。这个是可以看的见摸的着的东西。这是把由CA中心颁发出来的数字标识——证书存放到了一个安全的载体中供用户来进行登录网银以及在交易环节进行确认签名。这里面就用到上述的非对称加密算法、对称加密算法和摘要。

再看看区块链中的密码,最重要的是摘要。在POW共识算法中,摘要用来表达一种工作量的证明,其中就是用到了摘要的性质。目前的矿机也是专门为计算摘要设计的电路。对称算法用来在软件钱包中加密密钥文件以及其他的一些私密信息。非对称算法提供了交易时的确认和抗抵赖。

这里面最大的区别就是在PKI/CA体系是中心化的组织,它是需要首先进行实名认证才可以颁发证书,才能有后面的场景应用。而纯粹的区块链是去中心化的组织,个人都是匿名的。交易时给对方提供公钥地址,就可以接受代币。而链为了提高安全性,也加入了多重签名机制。也就是说一次交易需要两方或者以上的人确认才交易成功。

第三:区块链中的钱包

首先谈一下硬件钱包,这个有点类似U盾,大小和外观也差不多。它把密钥存放在了硬件的安全芯片中,这个安全级别是金融级的。它与传统的U盾不同的地方在于有一些交互需要人工参与,比如在初始化的时候,要进行助记词的选择和记忆,当该设备丢失的时候,就可以通过助记词的输入来恢复密钥对。

第二类叫软件钱包,这个根据密钥的存放地方和操作地点不同分为:桌面型、App型、WEB型和分布型的。桌面型就是安装在PC上,App型就是安装在移动端,WEB型就是纯SaaS模式如火币,这些模式其密钥对的存储是放在了本地,密钥使用在是在内存中进行操作。分布式则把私钥拆分为多段,在本地和服务端各有一部分,联合运算才能得到最终结果。这些模式安全性最强的是分布式型的。

你可能感兴趣的:(密码在区块链中的应用(演讲稿))