美文网首页
4.1 数字签名技术简介

4.1 数字签名技术简介

作者: saillen | 来源:发表于2018-12-05 16:29 被阅读0次

数字签名技术

信息摘要算法、对称加密、非对称加密的着眼点都在于信息本身的编解码,将信息转换为一种不易被识别的序列,通过对此序列的反向鉴别来鉴定信息的完整性并解密真实的信息。

  • 信息摘要技术:解决了信息完整性的鉴定问题;
  • 对称加密:解决了大数据加密的问题;
  • 非对称加密:解决了密码交换的问题。

在实际使用中,我们需要一种更加实用的身份识别技术,这种技术类似签字画押,一旦我们签出的信息发布后,任何人都可以鉴别这条信息是经我们签发的。数字签名技术就是解决此类问题产生的技术,数字签名技术产生的信息:具有不可抵赖性的。

数字签名技术是现代网络中常用的认证技术,这是一种带有密钥的信息摘要算法,主要用途是抗否认。数字签名技术包对信息摘要使用私钥加密,任何人拿到公钥都可以解密并验证信息。因此可以把数据签名技术看成是非对称加密技术和信息摘要技术的合体技术。

特点

数字签名算法是公钥基础设施(Public Key Infrastructure , PKI)的基础,算法要求:可以验证数据的完整性、有消息,认证数据的来源,起到抗否认的作用。

  • 密钥对:数字签名技术融合了非对称加密技术,包含一对密钥,私钥签名,公钥验证;
  • 核心算法:数字签名技术的核心算法是消息摘要算法;
  • 辅助:非对称加密技术是辅助手段;
  • 结果表示:签名值常用十六进制表示;

和信息摘要技术的不同

数字签名技术本质上还是信息摘要算法,信息摘要算法只是计算出了信息的唯一串,也就是摘要相同的数据,明文数据肯定相同。信息摘要只能做到信息的完整性,但是无法强有力的保证信息的抗抵赖性。信息摘要的痛点:

  • 窃听方:拦截传输数据,利用社工学等手段探听,摘要算法和salt。
  • 窃听方:修改数据并用同样算法和salt来产生签名串,将新数据发送到信息需求方;
  • 需求方:仅能确定数据在传输过程中没有被篡改,无法确定是否被替换;

数据签名技术在摘要只是对摘要数据做加密,保证只有信息产生方才产生此签名串,具体做法如下:

  • 产生方:使用信息摘要技术对信息计算摘要;
  • 产生方:使用自己的私钥对摘要数据加密;
  • 产生方:公布自己的公钥,并传输数据和签名到需求方;
  • 需求方:使用公钥对签名串解密,并计算信息的摘要,比较摘要是否相同;
  • 窃听方:仅能了解双方传递了什么数据,但是无法篡改、替换相关数据;

数字签名技术的本质是:利用私钥加密、公钥解密的特性对信息的摘要做加密产生不可抵赖的签名串。

算法家族

美国NIST公布过DSS( digital signa )

美国国家标准技术局(NIST)在1991年提出过 DSS(数字签名标准,全称:Digital Signature Standard)作为FIPS(美国联邦信息处理标准)。其中DSS仅仅只是一个标准,里面指定采用DSA作为签名算法。

前面提到数字签名的核心是信息摘要算法、辅助是非对称加密算法,因此一般我们提到数字签名都需要表明采用了哪些算法,如:MD5WithRSASHA1withDSA等。

在数字签名中,其安全性是依赖非对称加密算法的。所以通常情况下,我们不是很关注使用的摘要算法,所以,会有如下划分:

  • RSA算法:使用RSA作为加密算法;
  • DSA算法:美国国家安全局开发的专门用在数字签名技术中的算法;
  • ECDSA算法:使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。ECDSA于1999年成为ANSI标准,并于2000年成为IEEE和NIST标准.

ECDSA签名算法,JDK1.7之后才有实现。

算法比较

RSADSAECDSA没有哪一方有决定优势可以将其他竞争对手击败:

  • 创建签名串儿时:DSA比RSA快;
  • 在验证签名时:RAS比DSA快;
  • DSA解密速度快,加密速度慢一些,RSA正好相反;

一般在数字签名中优先推荐使用DSA,如果有其他标准应该先遵循

国际标准 -> 国家标准 -> 行业标准 -> 内部标准

相关文章

  • 4.1 数字签名技术简介

    数字签名技术 信息摘要算法、对称加密、非对称加密的着眼点都在于信息本身的编解码,将信息转换为一种不易被识别的序列,...

  • 数字签名与数字证书

    一、数字签名 数字签名的主要技术是非对称密钥加密技术。数字签名并不能保证信息在传输过程中不被截获。 1.数字签名技...

  • 4.2 RSA数字签名技术

    数字签名技术 - RSA数字签名技术 RSA算法不仅是非对称加密算法,也是数字签名算法中的主力军,和MD、SHA系...

  • 4.3 DSA数字签名技术

    数字签名技术 -- DSA算法 DSA算法是1991年美国国家标准技术协会公布的数字签名标准(DSS)的核心算法。...

  • 数字签名简介

    在移动互联网的今天,更加快速与方便的互联网生活。也使互联网安全极为重要,各种抓取接口,篡改 用户数据的工具层出不穷...

  • USBKey技术在J2EE项目中的应用

    安全 USBKey 引导 USBKey技术和数字证书技术一样,也是数字签名的一种应用。我们知道,数字签名是非对称密...

  • 数字签名

    简介 数字签名技术结合Hash算法和加密算法,来防止消息被篡改和进行身份认证。 消息认证码 消息认证码(Hash-...

  • 浅析 OkHttp 的 TLS 连接过程

    概述 基础2.1. 加密2.2. 数字签名2.3. 数字证书 TLS 原理 主要的类和接口4.1. JDK4.2....

  • 应用签名--数字签名?代码签名?双层代码签名?

    数字签名 数字签名(又称公钥数字签名、电子签章等)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术...

  • 【漫游区块链】密码学技术简介

    简介 区块链使用的基本密码学技术包括哈希算法、对称加密、非对称加密和数字签名。 本文将简单介绍各密码学的基本原理,...

网友评论

      本文标题:4.1 数字签名技术简介

      本文链接:https://www.haomeiwen.com/subject/yjjwcqtx.html