文件传输加密原理

文件传输加密原理

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

以下内容摘自笔者编著的《网管员必读——网络安全》(第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)


相关推荐

  • 什么是java?为什么要学Java? 学Java有什么用?

    什么是java?为什么要学Java? 学Java有什么用?肯定会有许多人或多或少都和我一样,当偶然在电视上看到程序员对着电脑飞快敲下一串代码,不禁为他们发出惊叹,想象着有一天自己也能这样。是的,有一天你也能这样!因为我已经实现了!下面我们来看看到底什么是JAVA?为什么要学习,学习了有什么用?先给大家看一下19年计算机语言排行什么是java?为什么要学Java?学Java有什么用?1.什么是JavaJava它就是一种编程语言,别的编程语言能干的事,它都能干。2.编程语言这么多,我为什么选择Java呢?简单易学首先Java是一个面向对象的编程语言

  • Centos7安装-多节点Torque

    Centos7安装-多节点TorqueCentos7安装-多节点Torque1简介PBS(PortableBatchSystem)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS的目前包括openPBS,PBSPro和Torque三个主要分支.其中OpenPBS是最早的PBS系统,目前已经没有

  • mongovue 导入mysql_MongoVUE简单操作手册「建议收藏」

    mongovue 导入mysql_MongoVUE简单操作手册「建议收藏」本文转自网络,对疑问的地方做了修改MongoVUE是个比较好用的MongoDB客户端,需要注册,但是可以变成永久使用,一、基础操作新增一个连接进入的界面形如二、进阶操作1、查看所有数据,会有三种格式的观看方式,分别为树形,表格,bjosn,详情见1.12、查看特定的数据,使用的时候shell命令,需要一些基础的语法知识,详情见2.13、更新数据,详情见3.14、删除数据,慎用,如果没有备份,删除…

  • linux查看内核版本_ubuntu查看内核版本号

    linux查看内核版本_ubuntu查看内核版本号文章目录前言一、使用`uname`命令查看二、使用`hostnamectl`命令查看三、通过查看`/proc/version`文件确认四、使用`/etc/issue`查看五、使用`lsb_release-a`查看前言以Ubuntu为例,介绍几个用来查看系统与内核版本的命令,拿起小本本记录下来!镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/一、使用uname命令查看uname命令显示多个系统信息,包括Linux内核体系结构,名称版本和

    2022年10月13日
  • Excel快捷键壁纸_桌面壁纸 霸气

    Excel快捷键壁纸_桌面壁纸 霸气PS快捷键桌面壁纸由于上传文件大小的限制,需要高清原图,请私聊……

  • Echarts数据可视化grid直角坐标系(xAxis、yAxis),开发全解+完美注释

    Echarts数据可视化grid直角坐标系(xAxis、yAxis),开发全解+完美注释mytextStyle={color:"#333",//文字颜色fontStyle:"normal",//italic斜体oblique倾斜fontWeight:"normal",//文字粗细boldbolderlighter100|200|300|400…fontFamily:"sans-serif&a

发表回复

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

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