`
hougbin
  • 浏览: 502573 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

数字证书原理

阅读更多

概念介绍

    对称加密算法:加密和解密使用同一个密钥。

    非对称加密算法:加密和解密使用的密钥不是同一个。典型的如RSA

    公钥加密算法:拥有一对密钥,公钥和私钥,用私钥进行解密和数字签名,用公钥来进行加密及验证签名。

    encryption :加密

    decryption:解密

    asymmetric :非对称

    public key: 公钥

    private key: 私钥

    message digest:消息摘要

一 数字证书原理介绍
      数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用 自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加 密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制中,常用的一种是RSA体制。其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而保留其私有密钥。购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送给商户,然后由商户用自己的私有密钥 进行解密。

二 数字签名
      用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
(2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。
数字签名具体做法是:
(1)将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
(2)将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名。
(3)接收方收到数字签名后,用同样的HASH算法对报文计算摘要值,然后与用发送者的公开密钥进行解密解开的报文摘要值相比较。如相等则说明报文确实来自所称的发送者。 

      在具体过程中,有2种操作:1.签名操作 2.解密操作

     签名操作:是发送方用私钥进行签名,接受方用发送方证书(即公钥)来验证签名;

     加密操作:则是用接受方的证书(即公钥)进行加密,接受方用自己的私钥进行解密。

 因此,如果说数字证书是电子商务应用者的网上数字身份证话,那么证书相应的私钥则可以说是用户的私章或公章。

  本人有幸负责过邮政网关与邮政ca服务器的通讯工作,对数字证书有自己的经历,谈谈双方验证的过程。
  1.首先生成原始信息,也就是原始报文,是双方约定的一个格式。

  2.对信息进行hash算法(附录1),用的是md5算法,这个是公开的一个算法。目的是为了生成一个摘要值,即hash值,这里简称为数字指纹。

  3.用私钥对数字指纹进行签名,然后连同原报文一起发送给ca服务器,这个原串+签名串合起来的数据,为整个发送数据。

  4.验证签名,先得到原串和签名串,用证书的公钥对签名串进行解密,即得到数字指纹,再对原串进行相同的hash算法,比较2个指纹,即验签。该验证过程包括2个,首先还原数字指纹,如果私钥不正确,或者原信息在传输过程中被篡改,则还原出来的数字指纹不能和新生成的数字指纹相匹配,从而保证了传输过程的安全性。

  5.ca服务器回应网关的时候,也是拿自己的私钥签名,网关用公钥验签。

  附录1:在数字签名中有重要作用的数字指纹是通过一类特殊的散列函数(HASH函数) 生成的。对这些HASH函数的特殊要求是:

1.接受的输入报文数据没有长度限制;

2.对任何输入报文数据生成固定长度的摘要(数字指纹)输出;

3.从报文能方便地算出摘要;

4.难以对指定的摘要生成一个报文,而由该报文可以算出该指定的摘要;

5.难以生成两个不同的报文具有相同的摘要

分享到:
评论

相关推荐

    数字证书原理,公钥私钥加密原理

    以下是对数字证书原理和公钥私钥加密原理的详细解读。 数字证书是一种安全证书,用来证明某一实体(如个人、服务器或组织)的身份,它是由一个权威的认证机构(CA)签发的。数字证书包含的主要信息有证书拥有者的...

    数字证书原理,公钥私钥加密原理1

    【数字证书原理与公钥私钥加密概述】 在信息技术领域,数据安全至关重要,尤其是在网络通信中。为了确保信息不被未经授权的用户访问或篡改,加密技术被广泛应用。本文将探讨数字证书的基本原理以及公钥私钥加密的...

    数字证书原理加解密

    【数字证书原理与加解密通讯】\n\n数字证书是一种在网络通信中验证身份和确保信息安全的重要工具。它基于公钥密码体制,如RSA,确保数据的加密和解密过程安全可靠。在这个体制中,每个参与者都有一对密钥:公钥和...

    数字证书原理与简单应用

    "数字证书原理与简单应用" 数字证书是一种电子凭证,用于验证用户的身份和网络资源的访问权限。数字证书包含了证书拥有者的姓名、公共密钥、证书的有效期、证书的序列号、颁发证书的单位机构、颁发证书单位的数字...

    通俗易懂的数字证书原理

    ### 数字证书原理详解 #### 一、基础知识 在深入探讨数字证书之前,我们需要了解一些基本的概念和技术背景,包括公钥密码体制、对称加密算法、非对称加密算法、RSA算法及其应用。 ##### 1.1 公钥密码体制(Public...

    CA数字证书原理、算法、应用领域

    ### CA数字证书原理、算法与应用领域 #### 数字证书技术概述 数字证书技术作为一种重要的信息安全保障手段,在网络通信中发挥着至关重要的作用。通过数字证书,我们可以确保网络中的数据交换安全可靠,防止数据被...

    SSL协议与数字证书原理.pdf

    不过,鉴于标题提到了“SSL协议与数字证书原理”,我可以从这两个方面展开详细的介绍,以满足您的要求。 SSL协议(安全套接层协议)是一种位于TCP/IP协议与各种应用层协议之间的安全协议,它最初是由网景(Netscape...

    数字证书原理之详细解析

    文章中详细讲解 数字证书中是如何工作的。 公钥私钥是怎么回事。如何验证证书等。

    CA数字证书原理及应用介绍.pptx

    本文主要介绍CA数字证书的基本原理和关键技术,以及数字证书的相关机构以及应用,结合实际案例分析CA数字证书的组成,涉及的非对称密码等关键技术。适合对数字证书、数字签名加密感兴趣的同学。

    数字证书实验详细步骤及原理

    数字证书实验详细步骤及原理 数字证书是实现安全通信的重要手段之一。实验目的旨在让学生了解 PKI 体系、用户证书申请和 CA 颁发证书过程、认证服务的安装及配置方法、使用数字证书配置安全站点的方法、使用数字...

    数字证书应用系统的设计与实现

    【数字证书应用系统设计与实现】的论述集中在构建一个基于Java和Microsoft SQL Server 2008的数字证书系统,该系统旨在加深学习者对数字证书原理和应用的理解,同时改进实验室教学环境。数字证书是网络安全领域的...

    PKI/CA与数字证书技术大全

    标题"PKI/CA与数字证书技术大全"暗示了主题是关于公钥基础设施(Public Key Infrastructure, PKI)和认证授权机构(Certification Authority, CA),以及与之相关的数字证书技术。这是一套全面的资料,旨在帮助读者...

    java代码生成数字证书

    Java代码生成数字证书涉及到几个关键概念和技术,包括...以上就是使用Java代码生成数字证书的基本原理和过程,以及如何不通过keytool工具进行操作。通过理解这些概念,您可以根据需要创建自定义的证书生成解决方案。

    数字证书的代码以及文档说明

    这份PPT可能详细讲解了数字证书的原理,Java中如何生成和使用数字证书的步骤,以及相关的安全概念。内容可能涵盖证书生命周期管理,如何导入和导出证书,以及如何在HTTPS连接中使用证书等。 六、证书的应用场景 ...

    数字证书上海市

    3. 加密算法,如RSA和AES,它们在数字证书中的应用和工作原理。 4. 人保数字证书的具体实践,可能在保险行业的业务中提供安全保障。 5. 基于Windows系统的可执行文件,如"ShecAid.exe",它是如何协助用户管理和使用...

    数字证书制作工具

    学习这部分内容,对于理解数字证书的工作原理和应用至关重要。 总的来说,"数字证书制作工具"提供了创建和管理数字证书的能力,这对于IT专业人员进行系统安全配置、应用开发和网络通信安全测试都具有重要意义。通过...

    IOS RAS 数字证书Demo

    总之,iOS RAS数字证书Demo是一个展示如何在iOS环境中安全地使用远程访问服务的实例,涉及到了数字证书的导入、SSL/TLS协议的应用、加密解密操作以及安全性配置等多个核心知识点。理解和掌握这些内容对于提升iOS应用...

    数字证书与加密认证试验

    通过本次实验的学习,不仅可以深入了解数字证书与加密认证的基本原理,还能掌握相关的技术和工具,这对于从事网络安全领域的专业人士来说是非常宝贵的实践经验。希望以上内容能帮助你更好地理解数字证书与加密认证的...

    易语言源码易语言创建自签名证书源码.rar

    易语言是一种专为非专业程序员设计的中文编程语言,它以直观的中文语法,使得编程更加简单、快捷。本资源是关于使用易语言创建自签名证书的...同时,对于初学者来说,这也是一个了解易语言编程和数字证书原理的好机会。

Global site tag (gtag.js) - Google Analytics