一、 密码的基本概念以及密码主要解决的事情 互联网访问场景中有以下几个安全问题:
1、如何确认访问人的是谁,是否有合法的身份,访问的服务器是否是要访问的合法的;
2、传输的数据是否会被窃听;
3、传输的数据是否会劫持遭篡改;
4、访问人是否会抵赖自己做的事情。
密码不但可以解决以上问题,并能够构建整体安全体系的核心组成部分。
目前互联网上常用的密码主要有对称密码体系(AES、3DES、SM4等)、非对称密码体系(RSA、ECC、SM2等)、散列函数(SHA1、SHA2、SM3等)。下面主要讲讲这些密码的应用场景。 1、 对称密码分为分组密码和序列密码。 分组密码是根据密钥的长度把数据划分是一块一块,加密后再组装起来,一般用在服务直接的数据传输。主要算法有国家标准SM4算法。 序列密码也叫流密码,它是由密钥产生密钥流,使用密钥流再对数据进行加密,一般应用在无线通讯和外交通讯。主要算法有国家标准算法祖冲之算法。 2、 非对称密码目前有两类主要算法RSA和ECC,主要应用于身份认证或密钥协商。 RSA其数学的基础是基于大数分解问题是困难的,但目前国家标准要求假如要使用其密钥的长度是必须是2048位。 ECC其数学的基础是离散对数求解的困难性,目前国家的标准SM2就是这类算法。 二、 区块链中的密码的应用以及与PKI/CA的区别首先谈一下PKI/CA体系,与大家结合最紧密的就是银行的U盾或者支付宝的支付盾。这个是可以看的见摸的着的东西。这是把由CA中心颁发出来的数字标识——证书存放到了一个安全的载体中供用户来进行登录网银以及在交易环节进行确认签名。这里面就用到上述的非对称加密算法、对称加密算法和摘要。 再看看区块链中的密码,最重要的是摘要。在POW共识算法中,摘要用来表达一种工作量的证明,其中就是用到了摘要的性质。目前的矿机也是专门为计算摘要设计的电路。对称算法用来在软件钱包中加密密钥文件以及其他的一些私密信息。非对称算法提供了交易时的确认和抗抵赖。 这里面最大的区别就是在PKI/CA体系是中心化的组织,它是需要首先进行实名认证才可以颁发证书,才能有后面的场景应用。而纯粹的区块链是去中心化的组织,个人都是匿名的。交易时给对方提供公钥地址,就可以接受代币。而链为了提高安全性,也加入了多重签名机制。也就是说一次交易需要两方或者以上的人确认才交易成功。 三、 区块链中的钱包首先谈一下硬件钱包,这个有点类似U盾,大小和外观也差不多。它把密钥存放在了硬件的安全芯片中,这个安全级别是金融级的。它与传统的U盾不同的地方在于有一些交互需要人工参与,比如在初始化的时候,要进行助记词的选择和记忆,当该设备丢失的时候,就可以通过助记词的输入来恢复密钥对。 第二类叫软件钱包,这个根据密钥的存放地方和操作地点不同分为:桌面型、App型、WEB型和分布型的。桌面型就是安装在PC上,App型就是安装在移动端,WEB型就是纯SaaS模式如火币,这些模式其密钥对的存储是放在了本地,密钥使用在是在内存中进行操作。分布式则把私钥拆分为多段,在本地和服务端各有一部分,联合运算才能得到最终结果。这些模式安全性最强的是分布式型的。
|