网络加密与认证技术

By | 11月02日
Advertisement

信息加密技术

数据加密过程就是通过加密系统把原始的数字数据(明文),按照加密算法变换成与明文完全不同的数字数据(密文)的过程。

数据加密算法有很多种,密码算法标准化是信息化社会发展的必然趋势,是世界各国保密通信领域的一个重要课题。按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段。古典密码算法有替代加密、置换加密;对称加密算法包括 DES 和 AES;非对称加密算法包括 RSA、背包密码、McEliece 密码、Rabin、椭圆曲线、EIGamal D_H等。目前在数据通信中使用最普遍的算法有 DES 算法、RSA 算法和 PGP 算法等

RSA

网络加密与认证技术

在 CA 系统中,公开密钥系统主要用于对秘密密钥(在 CA 系统中称控制字——Control-Word 用于对数据码流进行加扰)的加密过程。每个用户如果想要对数据进行加密和解密,都需要生成一对自己的密钥对(Key Pair)。密钥对中的公开密钥和非对称加密解密算法是公开的,但私有密钥则应该由密钥的主人妥善保管。对数据信息进行加密传输的实际过程是:

发送方生成一个秘密密钥并对数据流用秘密密钥(控制字)进行加扰,然后用网络把加扰后的数据流传输到接收方。发送方生成一对密钥,用公开密钥对秘密密钥(控制字)进行加密,然后通过网络传输到接收方。

接收方用自己的私有密钥(存放在接收机智能卡中)进行解密后得到秘密密钥(控制字),然后用秘密密钥(控制字)对数据流进行解扰,得到数据流的解密形式。

因为只有接收方才拥有自己的私有密钥,所以其他人即使得到了经过加密的秘密密钥(控制字),也因为无法进行解扰而保证了秘密密钥(控制字)的安全性,从而也保证了传输数据流的安全性。实际上,在数据传输过程中实现了两个加密解密过程,即数据流本身的加解扰和秘密密钥(控制字)的加密解密,这分别通过秘密密钥(控制字)和公开密钥来实现。

数字签名技术

来源与定义

要想了解数字签名,应从电子签名开始。要理解什么是电子签名,需要从传统手工签名或盖印章谈起。在传统商务活动中,为了保证交易的安全与真实,一份书面合同或公文要由当事人或其负责人签字、盖章,以便让交易双方识别是谁签的合同,保证签字或盖章的人认可合同的内容,在法律上才能承认这份合同是有效的。而在电子商务的虚拟世界中,合同或文件是以电子文件的形式表现和传递的。在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依靠技术手段来替代。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵赖性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称为电子签名。从法律上讲,签名有两个功能,即标识签名人和表示签名人对文件内容的认可

联合国贸发会的《电子签名示范法》中对电子签名做如下定义:“指在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据,它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息”;

在欧盟的《电子签名共同框架指令》中就规定:“以电子形式所附或在逻辑上与其他电子数据相关的数据,作为一种判别的方法”称电子签名。实现电子签名的技术手段有很多种,但目前比较成熟的,世界先进国家普遍使用的电子签名技术还是“数字签名”技术。

所谓数字签名就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证无法比拟的。数字签名是目前电子商务、电子政务中应用最普遍、技术最成熟、可操作性最强的一种电子签名方法。

数字签名在 ISO 7498-2 标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所做的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据, 防止被人(例如接收者)进行伪造”

美国电子签名标准(DSS,FIPS186-2)对数字签名做了如下解释:“利用一套规则和一个参数对数据计算所得的结果,用此结果能够确认签名者的身份和数据的完整性”。按上述定义 PKI(Public KeyInfrastructure)可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。

目前,实现电子签名的技术手段有好多种,前提是在确认了签署者的确切身份即经过认证之后,电子签名承认人们可以用多种不同的方法签署一份电子记录。这些方法有:基于 PKI 的公钥密码技术的数字签名;用一个独一无二的以生物特征统计学为基础的识别标识,例如手书签名和图章的电子图像的模式识别;手印、声音印记或视网膜扫描的识别;一个让收件人能识别发件人身份的密码代号、密码或个人识别码 PIN;基于量子力学的计算机等。但比较成熟的、使用方便具有可操作性的、在世界先进国家和我国普遍使用的电子签名技术还是基于 PKI 的数字签名技术。所以,就现在来讲,电子签名就是数字签名。

数字签名的技术实现方法

对一个电子文件进行数字签名并在网上传输,其技术实现过程大致如下:首先要在网上进行身份认证,然后再进行签名,最后是对签名的验证。

1. 认证

PKI 提供的服务首先是认证, 即身份识别与鉴别, 就是确认实体即为自己所声明的实体。认证的前提是甲、乙双方都具有第三方 CA 所签发的证书,认证分单向认证和双向认证。

1) 单向认证

单向认证是甲、乙双方在网上通信时,甲只需要认证乙的身份。这时甲需要获取乙的证书,获取的方式有两种,一种是在通信时乙直接将证书传送给甲,另一种是甲向 CA 的目录服务器查询索取。甲获得乙的证书后,首先用 CA 的根证书公钥验证该证书的签名,验证通过说明该证书是第三方 CA 签发的有效证书。然后检查证书的有效期及检查该证书是否已被作废(LRC 检查)而进入黑名单。

2) 双向认证

双向认证是甲、乙双方在网上通信时,甲不但要认证乙的身份,乙也要认证甲的身份。其认证过程的每一方都与上述单向认证过程相同,即乙方也用同样的过程认证甲方的证书有效性,如图 4.1 所示。甲乙双方在网上查询对方证书的有效性及黑名单时,采用 LDAP协议(Light Directory Access Protocol),它是一种轻型目录访问协议。

网络加密与认证技术

2. 数字签名与验证过程

网上通信的双方,在互相认证身份之后,即可发送签名的数据电文。数字签名的全过程分两大部分,即签名与验证。数字签名与验证的过程和技术实现的原理如图 4.2 所示。参照图 4.2 数字签名过程分两部分:左侧为签名过程,右侧为验证过程。即发方将原文用哈希算法求得数字摘要,用签名私钥对数字摘要加密求得数字签名,然后将原文与数字签名一起发送给收方;收方验证签名,即用发方公钥解密数字签名,得出数字摘要;收方将原文采用同样哈希算法又得一新的数字摘要,将两个数字摘要进行比较,如果两者匹配,说明经数字签名的电子文件传输成功。

网络加密与认证技术

3.数字签名的操作过程

数字签名的操作过程如图 4.3 所示,需要有发方的签名证书的私钥及其验证公钥。

数字签名操作具体过程如下:首先是生成被签名的电子文件(《电子签名法》中称数据电文),然后对电子文件用哈希算法做数字摘要,再对数字摘要用签名私钥做非对称加密,即做数字签名;之后是将以上的签名和电子文件原文以及签名证书的公钥加在一起进行封装,形成签名结果发送给收方,待收方验证。

网络加密与认证技术

4.数字签名的验证过程

收方收到发方的签名结果后进行签名验证,其具体操作过程如图 4.4 所示。收方收到数字签名的结果包括数字签名、电子原文和发方公钥,即待验证的数据。收方进行签名验证。验证过程是:收方首先用发方公钥解密数字签名,导出数字摘要,并对电子文件原文做同样哈希算法得一个新的数字摘要,将两个摘要的哈希值进行结果比较,结果相同签名得到验证,否则签名无效。《电子签名法》中要求对签名不能改动,对签署的内容和形式也不能改动。

网络加密与认证技术

CA认证与数字证书

1.CA

CA (Certification Authority)是认证机构的国际通称,它是对数字证书的申请者发放、管理、取消数字证书的机构。CA 的作用是检查证书持有者身份的合法性,并签发证书(用数学方法在证书上签字),以防证书被伪造或篡改。CA 认证是顺应我国电子商务和电子政务的发展应运而生的。随着网上银行的普遍应用和在线支付手段的不断完善,网上交易已经变得越来越大众化,安全问题就显得日益重要。而网络间的身份认证成为根本。认证机构相当于一个权威可信的中间人,它的职责是核实交易各方的身份,负责电子证书的发放和管理。理想化的状态是,上网的每一个企业或者个人都要有一个自己的网络身份证作为唯一的识别。而这些网络身份证的发放、管理和认证就是一个复杂的过程,也就是所谓的 CA认证。

2.SSL

SSL(Secure Sockets Layer, 安全套接字层)是一种国际标准的加密及身份认证通信协议,一般大家用的浏览器就支持此协议。SSL 最初是由美国 Netscape 公司研究出来的,后来成为了因特网上安全通信与交易的标准。 SSL 协议使用通信双方的客户证书以及 CA 根证书,允许客户/服务器应用以一种不能被偷听的方式通信,在通信双方间建立起了一条安全的、可信任的通信通道。它具备以下基本特征:信息保密性、信息完整性、相互鉴定。

3.数字凭证

数字凭证又称为数字证书、数字标识(Digital Certificate,Digital ID),也被称作 CA 证书(简称证书),实际是一串很长的数学编码,包含有客户的基本信息及 CA 的签字,通常保存在计算机硬盘或 IC 卡中。数字证书一般是由 CA 认证中心签发的,证明证书主体(证书申请者获得 CA 认证中心签发的证书后即成为证书主体)与证书中所包含的公钥唯一对应关系。它提供了一种在因特网上验证身份的方式,是用来标识和证明网络通信双方身份的数字信息文件,与司机的驾照或日常生活中的身份证相似。在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关的交易操作。通俗地讲,数字证书就是个人或单位在因特网的身份证。数字证书主要包括三方面的内容:证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名及证书有效期等内容。

一个标准的 X.509 数字证书包含以下一些内容:

(1) 证书的版本信息。

(2) 证书的序列号,每个证书都有一个唯一的证书序列号

(3) 证书所使用的签名算法

(4) 证书的发行机构名称(命名规则一般采用X.500 格式)及其用私钥的签名。

(5) 证书的有效期。

(6) 证书使用者的名称及其公钥的信息。

4.数字证书能解决的问题

在使用数字证书的过程中应用公开密钥加密技术,建立起一套严密的身份认证系统,它能够保证:信息除发方和收方外不被其他人窃取;信息在传输过程中不被篡改;收方能够通过数字证书来确认发方的身份;发方对于自己发送的信息不能抵赖。

以电子邮件为例,数字证书主要可以解决以下问题:

(1) 保密性,使用收件人的数字证书对电子邮件加密,只有收件人才能阅读加密的邮件,这样保证在因特网上传递的电子邮件信息不会被他人窃取,即使发错件,收件人也由于无法解密而不能够看到邮件内容。

(2) 完整性,利用发件人数字证书在传送前对电子邮件进行数字签名不仅可确定发件人身份,而且可以判断发送的信息在传递的过程中是否被篡改过。

(3) 身份认证:在因特网上传递电子邮件的双方互相不能见面,所以必须有方法确定对方的身份。利用发件人数字证书在传送前对电子邮件进行数字签名即可确定发件人身份,而不是他人冒充的。

(4) 不可否认性,发件人的数字证书只有发件人拥有,所以发件人利用其数字证书在传送前对电子邮件进行数字签名后,发件人就无法否认发送过此电子邮件。

5.数字证书的工作原理

数字证书采用 PKI——公开密钥基础架构技术,利用一对互相匹配的密钥进行加密和解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥),由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发方使用收方的公钥对数据加密,而收方则使用自己的私钥解密,通过数字的手段保证加解密过程是一个不可逆过程,即只有用私有密钥才能解密,这样保证信息安全无误地到达目的地。用户也可以采用自己的私钥对发送信息加以处理,形成数字签名。由于私钥为本人所独有,这样可以确定发送者的身份,防止发送者对发送信息抵赖。收方通过验证签名还可以判断信息是否被篡改过。在公开密钥基础架构技术中,最常用一种算法是 RSA 算法,其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥)在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的 1024位 RSA 密钥,需要上千年的计算时间。简单地讲,结合证书主体的私钥,证书在通信时用来出示给对方,证明自己的身份。证书本身是公开的,谁都可以拿到,但私钥(不是密码)只有持证人自己拥有,永远也不会在网络上传播。在网上银行系统中有三个证书:银行 CA 认证中心的根证书、银行网银中心的服务器证书和每个网上银行用户在浏览器端的客户证书。有了这三个证书,就可以在浏览器与银行网银服务器之间建立起 SSL 连接。这样,浏览器与银行网银服务器之间就有个你),同样,你也可以用与你通信的对方的证书验证他的身份(他确实是他所声称的那个他),而这一验证过程是由系统自动完成的。

6.数字证书的颁发

数字证书是由认证中心颁发的。认证中心是一家能向用户签发数字证书以确认用户身份的管理机构。为了防止数字凭证被伪造,认证中心的公共密钥必须是可靠的,认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性,后一种方法导致了多级别认证中心的出现。数字证书颁发过程如下:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。

参考书籍:《计算机网络安全技术》 主编 王其良 高敬瑜

Similar Posts:

  • 网络与信息安全身份证认证技术分析

    认证技术是信息安全中的一个重要内容,在"网络与信息安全"课程中我们学习了两种认证技术:消息认证与身份认证,消息认证用于保证信息的完整性与抗否认性,身份认证则用于鉴别用户身份.在网上商务日益火爆的今天,从某种意义上说,认证技术可能比信息加密本身更加重要.因为,很多情况下用户并不要求购物信息保密,只要确认网上商店不是假冒的(这就需要身份认证),自己与网上商店交换的信息未被第三方修改或伪造,并且网上商家不能赖帐(这就需要消息认证),商家也是如此.由于认证技术是一项包含很广泛的技术,集中于某一

  • 加密与解密技术

    进入信息和网络化的时代以来,计算机正在我们的工作和生活中扮演着日益重要的角色.用户通过计算机来获取信息.处理信息,同时将自己最重要的信息以数据文件的形式保存在计算机中,方便而快捷的传送给其他用户.但是如果我们的网络中缺少最起码的安全手段,便捷又从何谈起呢?为此,51CTO安全频道特别收集整理了有关加密与解密的一系列文章,希望可以帮助你解决烦恼! 加密解密安全理论 安全从学习一个简单加.. · 加密密钥管理的一些最佳做法 · 详解加密技术概念及加密方法 · 认证与加密 · 加密技术的方方面面 ·

  • 身份认证技术基础知识

    身份认证技术 身份认证技术是指计算机及网络系统确认操作者身份的过程所应用的技术手段. 计算机系统和计算机网络是一个虚拟的数字世界.在这个数字世界中,一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权.而我们生活的现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份.如何保证以数字身份进行操作的操作者就是这个数字身份合法拥有者,也就是说保证操作者的物理身份与数字身份相对应,就成为一个很重要的问题.身份认证技术的诞

  • ASA IPSEC VPN 拨号配置(学习中的小刘) - ≡□≡网络工程师工作笔记/技术文档下载区≡□≡ - 中国CCIE实验室---思科华

    ASA IPSEC VPN 拨号配置(学习中的小刘) 说明一下,我发的这些配置帖子,目标人群都是像我一样刚出来工作,或者刚进入公司实习的朋友们,(也包括好学的校园同学们)扎实的基础是成功的关键,这些配置虽然简单,但却是以后工作中必不可缺的一部分.努力吧大家.祝各位工作顺利.前程似锦.也祝同学们学业有成,找个好公司,有个好工作. 1.接口基本配置 ena password cisco123 int g0/0 nameif outside ip add 61.148.60.46 255.255.25

  • 哈希表 之 接入与身份认证技术概述

    1 概述 随着信息化的快速发展,对国家.组织.公司或个人来说至关重要的信息越来越多的通过网络来进行存储.传输和处理,为获取这些关键信息的各种网络犯罪也相应急剧上升.当前,网络安全在某种意义上已经成为一个事关国家安全,社会经济稳定的重大问题,得到越来越多的重视. 在网络安全中,身份认证技术作为第一道,甚至是最重要的一道防线,有着重要地位,可靠的身份认证技术可以确保信息只被正确的"人"所访问.身份认证技术提供了关于某个人或某个事物身份的保证,这意味着当某人(或某事)声称具有一个特别的身份时

  • 强身份认证技术选型指南

    现由于用户名 / 密码方式的单因素身份认证方式无法应对日益猖獗的在线欺诈犯罪行为,各种强身份认证技术纷纷登场,因为使用双因素或多因素身份认证技术是解决目前网上身份和在线欺诈的唯一有效手段.美国 联邦金融机构检查委员会 (FFIEC) 就 要求美国金融业必须在 2006 年底之前为网上银行提供双因素用户身份认证,这实际上是给各行各业的网上应用指明了一个如何确保用户在线信息安全努力方向. 本文就对现有的各种成熟的身份认证技术做一个简单的介绍,让广大网上应用提供商能够明智地根据自己的业务需要和风险评估

  • 网络搜索引擎与智能代理技术

    网络搜索引擎与智能代理技术 摘 要: 分析搜索引擎与智能代理技术的原理,探讨二者对现在及未 来网络信息检索的重要意义. [关键词] 智能代理 搜索引擎 智能信息检索 互联网在全球范围内的迅速发展与成熟,促使社会各领域信息飞速膨胀,为人们查找.获取有用信息提供了丰富的信息源,但也给信息的准确定位提出了挑战.提供网上资源的检索是网络信息服务的重要内容之一,加之现代人也对信息把握的正确性和全面性提出了越来越高的要求,因此,当务之急是开发性能优越的网络信息检索工具. 1993年,第一批搜索引擎诞生后,发

  • Rethink DB 2.3带来网络加密和ReQL升级

    RethinkDB发布了其2.3版本的开源数据库,这次发布对JavaScript驱动程序进行了升级,并带来了新功能网络加密. 开发者传道士Ryan Paul在题为<RethinkDB 2.3:用户账户.网络加密.支持Windows平台运行>的文章中称,由于引入了TLS的支持,这次称为Fantasia的升级使得"对客户端驱动协议和在一个集群中的数据库服务器之间的通信进行线上加密". 2.3版本同时也"带来了对RethinkDB基于web的管理用户界面的加密,因此你现

  • JAVA网络编程--JSP分页技术实现

    1.Page.java 2.RowSetPage.java(RowSetPage继承Page) 3.PagedStatement.java 4.PagedStatementOracleImpl.java(PagedStatementOracleImpl继承PagedStatement) 您可以任意使用这些源代码,但必须保留author evan_zhao@hotmail.com字样 /////////////////////////////////// // // Page.java // au

  • 进行加密与认证的最有用的10个Perl模块

    随着互联网及其支持的应用变得更为普及,在线安全变得越来越重要.加密与认证成为大多数网站的必要步骤,同时,用户也希望他们使用的工具提供强大的安全功能. 如果你是一个Perl应用开发者,由于Perl综合典藏网(CPAN)的存在,你已经走在前列.这是因为CPAN拥有许多现成的Perl模块,可帮助开发者有效地执行并应用安全.用户认证与数据加密有关的常见任务.本文为你解释了十个最重要的模块,说明其如何运行,并为你提供一个链接,以方便你开始学习(见表A). 注:你可以按它们网站上的提示,直接从互联网上安装C

Tags: