1. 首页 > 创业 > 求职

数字签名(数字签名采用的是什么加密)

数字签名

一、数字签名简介

数字签名是基于公钥密码体制(非对称密钥密码体制)的。

1.1.基本特征

数字签名必须保证以下三点:

  • 报文鉴别 ——接收者能够核实发送者对报文的签名;
  • 报文的完整性 ——接收者不能伪造对报文的签名或更改报文内容。
  • 不可否认 ——发送者事后不能抵赖对报文的签名;

1.2.数字签名的验证过程

上图位用户A使用数字签名向用户B传输一份文件的过程:

  • 首先,文件经过单向散列函数的处理得到一份占128位的摘要(无论文件多大,经过单向散列函数的处理,生成的摘要都是128位),这份摘要相当于该文件的"指纹",能够唯一地识别文件。 注意: 只要文件发生改动,经过单向散列函数处理后得到地摘要都会不一样。所以,文件和文件的摘要具有很强的对应关系。
  • 随后,用户A使用自己地私钥对这份128位地摘要进行加密,得到一份加密的摘要。
  • 然后,用户A把文件、加密的摘要和公钥打包一起发给用户B。传输的过程中并没有对文件进行加密处理。
  • 用户B将收到的文件经过单向散列函数处理得出一份128位摘要,这份摘要是通过收到的文件得到的,存在被更改的可能;使用A提供的公钥对收到的"加密的摘要"进行解密得到另一份128位摘要,这份摘要是通过原始文件得到的,一般认为代表真正的文件;然后将两份摘要进行比较。
  • 如果两份摘要相等,说明文件经过用户A签名之后,在传输的过程中没有被更改;若不相等,说明文件在传输过程中被更改了,或者说已经不是原来的文件了,此时用户A的签名失效。

数字签名三个特征的验证

  • 不可否认 ——只有用户A拥有私钥A,并能使用私钥A产生"加密的摘要",这样用户A就不能否认给用户B发送了经过签名的密文。
  • 报文的完整性 ——用户B通过比较得出的两份摘要是否相等,可以判断签名或文件内容是否发生改变。
  • 报文鉴别 ——用户B可以使用收到的公钥对"加密的摘要"进行解密,从而核实用户A对文件的签名。

需要强调

  • 用户A使用私钥对由文件生成的128位摘要进行加密的过程称为 数字签名的过程 ,得到的 "加密的摘要" ,称为该文件的 数据签名 。
  • 用户A使用私钥加密的是摘要而不是文件。
  • 用户B验证签名实际上是比较得出的两份摘要是否相等。

1.3.数字签名使用的场合

什么时候使用这种不对文件加密,而对文件的摘要加密(对文件进行签名)的技术呢?

  • 数字签名解决的核心问题是: 确保收到的文件没有被更改 。
  • 比如:公司的领导给员工下发放假通知,这时候就需要对邮件进行数字签名来证明这个通知是领导发的。员工收到通知,看到上面有领导的签名,于是就可以放心休假了。如果有人冒充领导发通知,上面没有领导的签名,员工休假回来就要扣工资。同样的,通知有了领导的签名,领导想抵赖也不行。

二、证书颁发机构CA

2.1CA简介

  • 证书颁发机构,即认证中心 CA (Certification Authority),来将公钥与其对应的实体(人或机器)进行 绑定 (binding);即给公司或个人颁发证书。
  • 认证中心一般由政府出资建立。每个实体都有CA 发来的 证书 (certificate),里面有公钥及其拥有者的标识信息。此证书为 CA 进行了数字签名。任何用户都可从可信的地方获得认证中心 CA 的公钥,此公钥用来验证某个公钥是否为某个实体所拥有。有的大公司也提供认证中心服务。

如图所示,用户A使用数字签名时给用户B发送了一个数据包,数据包中包含了A的公钥、文件和加密的摘要。那么问题来了: 用户B如何确定收到的公钥是用户A发送的,而不是他人冒充用户A发送的呢?

  • 举个例子:把用户A的公钥和私钥假设为身份证。如果是用户A自己造的身份证别人会信吗?反之,用户A拿着真正的身份证去住宾馆,老板一开始也不相信身份证是用户A的,但是老板相信给用户A发身份证的公安局,老板通过比对公安网上对应身份证号码的信息就可以判断这个身份证是不是用户A的,由此可以确认用户A的身份。
  • 同理,B一开始并不确认收到的公钥是来自用户A的,用户A也可抵赖B收到的公钥不是自己发送的。这时就需要有一个双方都信任的第三方证书颁发机构来协调。

2.2.证书颁发和使用过程

  • 首先,用户A向证书颁发机构提交个人信息,申请证书。通过CA审核后,CA生成用户A的证书,证书中包括了A的公钥和私钥还有CA的数字签名。证书颁发机构CA本身拥有一对密钥,这是对CA所颁发的证书进行数字签名和保密的基础,绝不能泄露。
  • 用户A收到的证书中包括了带有CA数字签名的,专属A公钥和私钥,CA的数字签名确保了别人不能伪造用户A的公钥和私钥。
  • 同时,用户B也必须信任给用户A颁发证书的第三方认证机构CA,即用户B拥有CA颁发的"CA公钥"。
  • 通信时,用户A向用户B发送的数据包中的"加密的摘要"上有用户A的数字签名,“A公钥” 上有认证机构CA的数字签名。用户B收到数据包之后,先要验证收到的 “A公钥” 是否来源合法:是认证机构颁发的带有CA签名的公钥吗?用户B并不信任用户A,但是用户B信任第三方认证机构CA。所以,用户B先使用证书颁发机构颁发的 "CA公钥" 验证收到的 "A公钥" 是否由同一认证机构颁发,是否在颁发之后更改过。验证通过后,用户B便相信收到的 "A公钥" 确实来自真实的用户A。随后再使用 "A公钥" 对 "加密的摘要" 进行解密,进行上文提到的对比操作,以判断文件是否更改。

2.3.查看计算机信任的认证机构

信任一个第三方认证机构就意味着拥有该机构颁发的包含该机构公钥的证书。

  • 在Windows系统开始菜单中输入"MMC"命令,打开 "Microsoft 管理工具" 。

  • 打开 "文件" 菜单栏,选择 "添加或删除管理单元" 选项,找到 "证书" 。

  • 点击 "添加" ,选择需要查看帐户的证书。可重复操作,添加多个账户。

  • 添加完成之后,点击 "确认" ,即可查看相关帐户的证书。

  • 双击列表中的一个 "证书" ,在 "详细信息" 中可以找到证书对应的 "公钥" 。

2.4.证书的吊销

当用户A遗失或泄露了CA颁发的证书后,为了避免他人使用该证书冒充用户A,用户A向认证机构CA "挂失" 该证书。于是认证机构CA把该证书放入该认证机构的证书吊销列表(CRL)中,并在网上公示。

用户B在收到用户A的公钥时,除了要验证该公钥是否位认证机构颁发的,还要登录认证机构的网站查看该公钥是否已被认证机构吊销变为无效证书。

2.5.总结

认证机构CA的作用:

  • 为企业和用户颁发数字证书,确保这些企业和个人的身份是真实的;
  • 发布证书吊销列表,供用户查询收到的证书是否已被机构吊销而无效;

认证机构发挥作用的前提:

  • 企业和个人都要信任认证机构。

数字货币钱包5大常用名词解释:地址、密码、私钥、助记词、key store

数字货币的钱包,共有5个常用名词:

地址、密码、私钥、助记词、key store。

网上看到一个对比,很形象,可以用来加强理解:

地址=银行卡卡号

密码=银行卡密码

keystore=银行卡

助记词=私钥=银行卡 + 银行卡密码

Keystore + 密码=银行卡 + 银行卡密码

当然并不是完全一致的,仅用来加强理解,接下来会一一讲解。

1、地址

地址是一串字符串,作用是用来转账,可以简单理解为银行卡号(实在找不到一个更合适的对比对象),以加深理解。

地址是对应到数字货币的,也就是说不同的数字货币地址也不相同,例如eos和btc的地址并不一样。

地址信息可以对外随意公开,没有任何风险。

钱包地址和银行卡号也有不同:

和密码的对应关系不同。

银行卡号和密码是对应关系,知道卡号就可以尝试破解密码,破解后存在风险。

例如比较经典的诈骗案例,破解网银密码,然后将钱转入账户内的理财账户,让账户所有人以为自己资金被盗,从而按照某人的指示做事。

而钱包地址和密码没有对应关系,通过钱包地址,不存在任何资产的隐患,因此可以放心公开钱包地址

地址不同。

对于钱包来说,不同币种的地址不同,相同币种在不同平台的地址也不相同。

对于银行卡来说,你在相同银行的卡号可以是相同的。

所以,数字货币你会有很多钱包地址,稍微有点痛苦。尽管有部分平台把地址统一了,但大体上还是不同的。

开放程度不同。

通过钱包地址,可以查询到你的钱包余额和交易记录,更开放。

看起来好像很危险,不过通过地址无法做任何操作,更不知道是谁的账户,因此实际上并没有任何风险。

只通过银行卡号则没有办法查询到这些信息。

2、私钥、助记词

这两个放在一起更容易理解,都是直接关系到账户安全的最私密信息。

助记词=私钥=银行卡 + 密码

助记词=用人类语言描述的私钥

这两者都是最高权限,任何人拿到,就可以直接转走你钱包里的一切财产,就像拿着你的银行卡和密码直接去atm取钱一样。

举个形象的例子:

私钥:x12Nedx3edsrEdfh

助记词:love can play games tomorrow money

看到没有,私钥完全没有意义,而助记词则是由一个个单词组成,虽然意义也不大,但记忆难度小了很多,且不容易错。

3、key store、密码

这两者为何放在一起?

因为对于数字货币的钱包来说,地址和keystore职责分开了,地址只负责转账,keystore则负责安全。

因此,只有keystore需要配合密码使用,而助记词和私钥都不需要密码,这是和银行卡在安全性方面极大不同。

Keystore=银行卡

keystore=加密的私钥

keystore+密码=银行卡+银行卡密码=私钥/助记词

从技术上说,keystore是一段结构化的内容,里面包含了非常多的信息,例如地址、密码、id、编码、加密方式等等,和银行卡比较类似。

拿着银行卡,没有密码也是用处不大的。

常见问题:

1、既然 助记词=私钥,为什么需要两个?通常用哪个?

答:两者记忆的方便程度不同,建议用助记词。

私钥是没有任何意义的一串字符,没办法记忆,且万一记错一个字符,例如把大小写写错,就完蛋。

而助记词则是一些有意义的英语单词,方便记忆,个别字母写错还可以根据单词特征找回。

这就好像,同样100个字符,是一段英文对白好记,还是圆周率某100位好记,显然是前者。

因此,这两者作用完全一致,但应用场景不同,助记词相对更方便记忆一些。

2、关于备份。

对于钱包来说,由于助记词和私钥是最高权限,因此这两者备份要特别小心。

最好是备份keystore,因为存在密码,不存在直接的隐患问题。

其次是备份助记词,建议抄在物理介质上,比如纸上,并放在安全的地方。千万不要放在例如微信、邮箱里,这等于是给别人送钱。

最次是备份私钥,同样也应该备份在物理介质上。

在说下备份丢失的问题:

keystore+密码

私钥

助记词

这三者只要备份了任何一组信息,就可以找回钱包。

切记:

1、如果3组信息全部丢失,钱包绝对不可能找回!

2、备份完,自己验证一下有效性,然后再找地方保存,血的教训!

3、关于信息泄露。

如果认真看了上面内容,其实就很容易确认了。

地址泄露,完全无影响。

密码泄露,只要手机不丢失,无影响。

 1/2    1 2 下一页 尾页

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.longfuchaju.com//chuangye/qiuzhi/2944.html

联系我们

在线咨询:点击这里给我发消息

微信号:wx123456