文件传输加密原理

文件传输加密原理

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

以下内容摘自笔者编著的《网管员必读——网络安全》(第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如需转载请自行联系原作者


茶乡浪子

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Netstat 网络命令详解

    Netstat 网络命令详解Netstat简介Netstat是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括tcp,udp以及unix套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。

    2022年7月3日
  • 已成功刷新dns解析缓存后怎么操作_刷新dns缓存的命令

    已成功刷新dns解析缓存后怎么操作_刷新dns缓存的命令步骤一、首先按住键盘win+R组合键,打开了一个运行窗口,之后在运行窗口上输入“CMD”命令,执行该命令即可打开命令提示符窗口了。步骤二、然后在命令提示符上线查看下你的电脑上的dns缓存的全部信息,输入“ipconfig/displaydns”即可查询dns缓存信息了。之后在输入“ipconfig/flushdns”命令敲回车键即可将你本机上的dns缓存清空了。当然如果你不信的话,可以重新输入“ipconfig/displaydns”查询dnd缓存就能知道是否清空了本机dns缓存信息了。运行:ip

    2022年11月1日
  • Resnet 18网络模型[通俗易懂]

    Resnet 18网络模型[通俗易懂]1.残差网络:(Resnet)残差块:让我们聚焦于神经网络局部:如图左侧所示,假设我们的原始输入为x,而希望学出的理想映射为f(x)(作为上方激活函数的输入)。左图虚线框中的部分需要直接拟合出该映射f(x),而右图虚线框中的部分则需要拟合出残差映射f(x)−x。残差映射在现实中往往更容易优化。以本节开头提到的恒等映射作为我们希望学出的理想映射f(x),我们只需将右图虚线框内上方的加权运算(如仿射)的权重和偏置参数设成0,那么f(x)即为恒等映射。实际中,当理想映射f(x)极接近于恒等映..

    2022年5月25日
  • 我的博客文章快速索引[通俗易懂]

    我的博客文章快速索引[通俗易懂]授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。    为了方便大家了解最新博客内容,博哥在此置顶汇总贴,方便大家查阅所需内容。    此贴,大家可以看到博哥近期的进展情况:待写(计划写中)目前正在写(表示已经有初稿)期待中(表示正在考虑)一、你如果想学基于Arduino的E…

    2022年5月29日
  • tar打包指定文件[通俗易懂]

    tar打包指定文件[通俗易懂]find-name"*.txt"-print>filelisttarczfxxx.tar-Tfilelist

    2022年5月31日
  • pycharm定义函数无法运行_把一个命令按钮设置成无效

    pycharm定义函数无法运行_把一个命令按钮设置成无效Pycharm命令行Terminal命令无效欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与…

    2022年8月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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