文件传输加密原理

文件传输加密原理

大家好,又见面了,我是全栈君。

以下内容摘自笔者编著的《网管员必读——网络安全》(第2版)

 

9.5.2  文件传输加密原理

    文件传输加密的目的是保护文件不被非法用户打开,防止别人查看文件内容。现在网络还存在许多不安全因素。在发送电子邮件或进行文件传输时,或许有很多人在别处密切监视着,特别是对一些著名的大公司。怎样实现安全传输呢?公钥基础结构就是应用最广的一种安全技术。
    在公钥基础结构中,最关键的就是公/
私钥密钥对的获取,其实就是证书的发证机构,不同的机构颁发的证书公信效力不一样,也就决定了有不同的主要应用领域。如利用自己的Windows
系统颁发的密钥证书,主要应用于企业内部网络用户之间。因为它的证书颁发机构就是企业自己,对其他非本单位用户来说缺乏必要的公信力。如果这个密钥对证书是由地方,甚至是国家认可的机构颁发的,则它的公信力就广了,可以在相应地方或全国有效。在此就要介绍利用公钥基础结构中的密钥,进行文件加密和数字签名的原理。其实这也是后面将要介绍的PGP
加密和数字签名原理。
    在文件传输中的加密不再是利用EFS
加密技术,而是纯粹地使用PKI
/
私钥对。首先要清楚公钥基础结构中的两个密钥在文件加密中是如何应用的。其实很简单,就是发送文件的用户(假如为A
)先用接收文件方用户(假如为B
)的公钥加密文件,然后发给接收方用户B
B
在收到A
发来的用自己公钥加密的文件后,再用自己的私钥即可打开文件。下面以一个具体例子来讲解加密和解密,以及保护加密文件的过程。
    现假设有A
公司的老板名叫Alice
B
公司的老板名叫Bob
,现在Alice
想传输一个文件files
Bob
,这个文件是有关于一个合作项目标书议案,属公司机密,不能给其他人知道。而另一个竞争对手C
公司的老板Andy
A
B
公司有关那项合作标书非常关注,总想取得A
公司的标书议案。于是他时刻监视他们的网络通信,企图通过各种各样的方法从A
公司与B
公司之间的邮件通信中截取他们的邮件,从中获取有关标书标的等信息。因为对于没有加密防范措施的邮件是很容易截取的,为了防止其他人在邮件通信中截取这份重要的邮件,并从中获取标书标的等重要信息,A
公司与B
公司老总商议采取公钥基础结构的文件加密方式传输。下面就是具体的加密邮件发送步骤。
    (1
)首先B
公司老总Bob
把自己的公钥(假设为)通过网络或者电话告诉A
公司老总Alice
,这个过程不怕别人知道,无须加密。
2
Alice
Bob
的公钥Public Key B
给标书议案文件files
加密。
    (
3

Alice
把已用
Bob
的公钥加密的文件通过邮件或者其他传输途经(如
QQ

MSN
等)传给
B
公司老总
Bob
    (4
Bob
在收到Alice
发来的带有files
文件附件的邮件后,打开附件中的files
文件,在提示中用自己的私钥(假设为“Private Key B
”)解密即可。

    或许有朋友会问,在第一步中C公司的老板Andy同样可以截取Bob的公钥,且在第三步中也可以截取加密后的标书议案文件files,这样做并没有起到安全保障的作用。其实这种认识是错误的。因为Andy用户知道Bob公钥,已截取了传输files标书文件的邮件都是没有任何意义的。因为Andy虽然获取了Bob的公钥和标书议案文件files,但用Bob公钥加密后的文件只能用Bob的私钥来解开,即使使用Bob的公钥也无法自己解密。因为这里采用的是非对称密钥策略,公钥和私钥必须配对使用,这就是发明这种加密方法的绝妙之处,所以在这个传输中是安全的。

本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/36961如需转载请自行联系原作者


茶乡浪子

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107927.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 01_ElasticSearch学习笔记

    01_ElasticSearch学习笔记

  • mysql中字符串转数字「建议收藏」

    mysql中字符串转数字「建议收藏」mysql中字符串在进行计算或排序的时候转数字比如以字符串111为例,方法一:SELECTCAST(‘111’ASSIGNED);方法二:SELECTCONVERT(‘111’,SIGNED);或者SELECTCONVERT(‘111’,decimal(10,5));方法三:SELECT‘111’+0;…

  • 求矩阵的逆的三种方法

    求矩阵的逆的三种方法我们知道求矩阵的逆具有非常重要的意义,本文分享给大家如何针对3阶以内的方阵,求出逆矩阵的3种手算方法:待定系数法、伴随矩阵法、初等变换法(只介绍初等行变换)待定系数法求逆矩阵 1 首先,我们来看如何使用待定系数法,求矩阵的逆。 举例: 矩阵A= 12 -1-3 2 假设所求的逆矩阵为 ab cd 则 3 从而可以得出方程组 a+2c=1 b+2d=0 -a-3c=0 -b-3d=1

  • NHibernate教程

    NHibernate教程 一、NHibernate简介在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。NHibernate是一个面向.Net环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relationalmapping(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。NHibernate除了能将一张表映射为

  • 求助:为什么登陆不上codelf[通俗易懂]

    求助:为什么登陆不上codelf[通俗易懂]笔记本和手机都能登陆上这个网站,为什么台式电脑就打不开网页了呢?在线求助!!!

  • preference 意思_Preferences

    preference 意思_Preferences提要:PreferenceFragment展示中设置的值可以通过PreferenceManager.getDefaultSharedPreferences(context).来实现【正文】一、PreferenceFragment的引入:PreferenceActivity是一个非常有用的基类,当我们开发Android项目时避免不了选项设置,这些设置习惯用Preference来保存。Android专…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号