数字签名和数字证书

作者&投稿:调标 (若有异议请与网页底部的电邮联系)

数字签名是一种用于信息 真实性 完整性 校验的手段,一套数字签名包含签名和验证两种运算。下面是一套简单的数字签名示意图。

数字签名使用 非对称加密 技术。每个人都有一对钥匙,私钥只有本人知道,公钥公开,私钥签名,公钥验签。

在进行信息传递时,信息发送者用私钥生成签名并将公钥一起发送给信息接收者,接收者使用公钥验签。上述过程中信息完整性得到校验,但发送者的身份是否合法无法得知(因为任何人都可以声称自己是合法的),因此引入了 身份认证机构

身份认证机构是 信息接收者 能信任的机构,所有的公钥必须向该机构进行注册。注册后身份认证机构给发送者颁发一 数字证书 。对文件签名后,发送者把此数字证书连同文件及签名一起发给信息接收者,接收者向身份认证机构求证是否真地是用发送者密钥签发的文件。

数字证书是一种电子档案,用来证明公钥拥有者的身份。此档案包含了公钥信息、拥有者身份信息(主体)、以及数字证书认证机构(发行者)对该文件的数字签名。

证书的本质就是对公钥加数字签名,认证机构用自己的私钥对需要认证的人(或组织机构)的公钥进行数字签名并生成证书。

我们需要了解以下几种类型的证书

自签证书

用户可以自己生成数字证书,不过没有任何可信赖的人签名,它主要用于小范围测试,这种自签名证书通常不会被广泛信任,使用时可能会遇到电脑软件的安全警告。

根证书

根证书获得广泛认可,通常已预先安装在各种软体(包括操作系统、浏览器、电邮软件等),作为信任链的起点,来自于公认可靠的政府机关、证书颁发机构公司、非营利组织等,与各大软件商透过严谨的核认程序才在不同的软件广泛部署。由于部署程序复杂费时,需要行政人员的授权及机构法人身份的核认,一张根证书有效期可能长达二十年以上。在某些企业,也可能会在内部电脑自行安装企业自签的根证书,以支援内部网的企业级软件;但是这些证书可能未被广泛认可,只在企业内部适用。

中介证书

认证机构的一个重要任务就是为客户签发证书,虽然广泛认可的认证机构都已拥有根证书,相对应的私钥可用以签署其他证书,但因为密钥管理和行政考虑,一般会先行签发中介证书,才为客户作数位签署。中介证书的有效期会较根证书为短,并可能对不同类别的客户有不同的中介证书作分工。

TLS服务器证书

网站在互联网上提供服务时,域名就是服务器证书上主体,相关机构名称则写在组织或单位一栏上。证书和私钥会安装在服务器。客户端的软件(如浏览器)会执行认证路径验证算(Certification path validation algorithm)以确保安全,如果未能肯定加密通道是否安全(例如证书上的主体名称不对应网站域名、伺服器使用了自签证书、或加密算法不够强),可能会警告用户。

TLS客户端证书

客户端证书包含电子邮件地址或个人姓名,而不是主机名。客户端证书比较不常见,因为考虑到技术门槛及成本因素,通常都是由服务提供者验证客户身份,而不是依赖第三方认证机构。通常,需要使用到客户端证书的服务都是内部网的企业级软件,他们会设立自己的内部根证书,由企业的技术人员在企业内部的电脑安装相关客户端证书以便使用。在公开的互联网,大多数网站都是使用登入密码和Cookie来验证用户,而不是客户端证书。

根证书(自签证书)、中介证书和终端实体(TLS服务器/客户端)证书的形成如下信任链

证书一般遵从X.509格式规范

证书可以二进制或 Base64 形式储存,常见的文件扩展名有.cer、.crt、.der和.pem。如果把证书和私钥一起储存,则可以使用PKCS#12(.p12)格式。

我们在写对外 API 时,针对信息传递的安全考虑,做如下设计

我们使用 SHA256withRSA 进行签名,下面是一个Java简单例子



~

数字证书和数字签名的关系
答:二者的联系:数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。备注:数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者...

...给出使用数字签名的进行签字和验证的操作步骤。
答:1、服务器证书 2、电子邮件证书 3、客户端个人证书 客户端证书主要被用来进行身份验证和电子签名。(网银上用的数字证书就是指的这种)安全的客户端证书被存储于专用的usbkey中。存储于key中的证书不能被导出或复制,且key使用时需要输入key的保护密码。使用该证书需要物理上获得其存储介质usbkey,...

数字证书和数字签名的关系
答:数字证书也必须具有唯一性和可靠性。为了达到这一目的,需要采用很多技术来实现。通常,数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所有的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于...

数字签名和数字证书究竟是什么?
答:我们经常会见到数字签名和数字证书的身影,比如访问一些不安全的网站时,浏览器会提示,此网站的数字证书不可靠等。那么究竟什么是数字签名和数字证书呢?本文就将通过一个场景深入浅出的介绍数字签名和数字证书的概念!Bob有两个密钥,一个叫公钥Public Key,一个叫私钥Private Key。Bob的公钥是公之于众...

电子合同中涉及到的CA颁发的数字证书和数字电子签名是一回事吗?_百度...
答:有了数字证书和电子图章就是有效电子合同吗? 不等于。有效的电子合同是一个法律定义,指的是可以替代纸质合同的电子数据电文。按照我国法律规定,只有在第三方平台上、采用可靠电子签名技术订立的数据电文才可以称得上电子合同,可以替代纸质合同,具有书证的诉讼效力。数字签名电子签名和数字证书之间的区别是...

什么是数字签名 和数字证书技术
答:1、数字证书是由权威机构--ca证书授权(certificate authority)中心发行的如wosign ca,能提供在internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份。2、数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了...

数字签名和数字证书有什么不同?
答:1、数字证书是由权威机构--CA证书授权(Certificate Authority)中心发行的如wosign ca,能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份。2、数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了...

CA、数字证书、数字签名
答:本文介绍 CA、数字证书和数字签名的概念和原理。数字签名,又称公钥数字签名、电子签章,是使用公钥加密技术实现的用于鉴别数字信息的方法。 一套数字签名通常定义两个互补的运算,一个用于生成签名,另一个用于验证签名。对要传输的消息原文使用消息摘要算法(MD5 / SHA)生成消息摘要,发送方使用自己的...

数字证书和数字签名用法有什么不同
答:这就要求参加电子商务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。数字证书是一种权威性的电子文档。它提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构---CA证书授权(Certificate Authority)中心发行的,人们可...

加密、签名、证书的作用及运用场景
答:本文主要是简单介绍了常见的加密类型、各自的运用场景、为什么需要数字签名和数字证书、HTTPS涉及到的加密流程等。这里主要从使用者的角度出发,对算法本身不做过多介绍。对称/非对称加密均属于 可逆加密,可以通过密钥将密文还原为明文 。有时候,我们希望明文一旦加密后,任何人(包括自己)都无法通过密文...