在当今网络的时代中,到底是如何保证数据传输的安全的呢?下面在原理上来阐述实现过程。

一、安全标准

网络信息安全标准由美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)制定的,标准有:

  • 保密性(Confidenciality)

    确保信息在存储、使用、传输过程中不会泄漏给非授权用户或实体。

  • 完整性(Integrity)

    确保信息在存储、使用、传输过程中不会被非授权用户篡改,同时还要防止授权用户对系统及信息进行不恰当的篡改,保持信息内、外部表示的一致性。

  • 可用性(Availability)

    确保授权用户或实体对信息及资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息及资源。

    这就是我们通常说的信息安全的三原则。

    现在往往还需要真实性和可追溯性。

二、密码算法类型

1、对称加密

对称加密是加密和解密使用同一秘钥。具体如下:

关键字说明:

明文:加密之前的文本

秘钥:其实就是一串字符串,在加密和解密时结合密码算法实现加密解密

密文:加密和后的字符串

加密,解密算法:DES,3DES,AES,Blowfish,Twofish,IDEA

对称加密的特性:

加密和解密使用同一秘钥

将明文分隔成固定大小的块,逐个进行加密

缺陷:

A主机和很多机器在很多机器在通行时,需要获得每个主机的秘钥,会导致秘钥过多,从而导致了秘钥传输不安全,身份认证和数据完整性得不到保证。

2、公钥加密

加密和解密使用的不同的秘钥,一般成对出现。分别称为秘钥和公钥。公钥:长度过长,现在一般都是2048为以上。

常用的加密算法:

RSA:既可以加密也可以身份认证

DSA:只能做身份认证

ELGamal:商业版的对称加密算法

使用这种方式的加密是加密速度慢。而且也不能保证数据的完整性,就是在 B 收到 A 的数据之后不能确保数据是否被篡改过。

所以它的应用体现在以下2方面的应用:

1、身份认证

自己私钥加密特征码(指纹),对方公钥加密,实现验证身份

2、 IKE(Internet Key Exchange,秘钥交换)

用对方的公钥加密传送给对方可能会暴力破解。因此会采用 DH 算法来实现,类似于银行的电子口令卡。关于 DH 的详细介绍可参照:http://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange

3、单向加密

单向加密(数据完整性算法):提取数据指纹,具有不可逆的特性。

常用的单向加密算法有:MD5,SHA1,SHA384,SHA512

算法的特点:

定长输出:加密后的指纹是固定长度的。

雪崩效应:原文件微小的变化都会引起指纹信息的巨大变化。

三、网络上传输数据的加密过程

真正在网络上传输的数据时采取每种加密算法的优点来实现,基本模型如下:

假设 A 主机要向 B 主机传输数据,为了保证数据的安全,大致传输过程是这样的:

A主机要将传输的明文信息采取单向加密算法提取明文数据的指纹,使用 A 的私钥加密指纹信息,将加密后的私钥附加到明文后面,定义这种(笔者自定义)信息为第一次加密信息。此时在利用某种算法生成一串秘钥(对称加密的秘钥),将第一次加密信息结合生成的秘钥利用对称加密算法生成第二次加密信息,然后在利用 B 的公钥信息加密秘钥后附加到第二次加密信息后生成最终的加密信息。B 主机在接收到 A 主机的加密信息后,尝试利用自己的私钥解密收到的信息,如果能解密,就会得到对称加密的秘钥,然后提取这个秘钥来解密剩余的信息,得到对称解密后的数据。完成这一步的工作之后,利用 A 的公钥来验证身份确定是 A,此时会得到明文和指纹信息,利用相同的单向加密算法,将提取的指纹信息与公钥解密后的指纹信息对比来实现数据的完整性。

但是,上面得以实现最重要的一环是 A 如何可靠的获取 B 的公钥呢?

所以就出现了第三方机构 CA,通常 CA 是一个公认的,值得信赖的机构。由它来提供相应的公钥信息。大致流程如下:

最重要的一环的实现如上图,大致的流程是:A 要想获得 B 的公钥信息时,首先 B 的向 CA 机构申请注册;申请成功后 CA 会向 B 返回一个证书,证书里面包括的内容 B 提供的公钥信息和组合或者各个的名称等信息,有效期,最后附加的是 CA 的签名等信息;A 要向 B 传输数据时,A 首先向 B 请求获得证书,在 B 同意后,将证书传送给 A;A 获得证书后会去验证CA 的身份和完整性,此时也会询问 CA 证书是否吊销,一切符合条件时,A 就可以向 B 开始传输数据了。

四、PKI

PKI(public key infrastructure,公共秘钥基础建设):是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字凭证(摘自维基百科)。是现代电子商务和网路安全的重要基于规范。

以上在网络上的数据传输过程以及 CA 认证都可由 PKI 实现。

PKI的组成包括:

  • 签证机构:CA

  • 注册机构:RA

  • 证书吊销列表:CRL

  • 证书存取库:用户接口

详细介绍请参照:http://en.wikipedia.org/wiki/Public_key_infrastructure

总结:本文主要介绍了加密算法的类型和实现过程,以及如何通过 CA 获得证书。

转载于:https://blog.51cto.com/guoting/1534372

网络中数据如何保证数据的安全性?相关推荐

  1. 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!

    摘要:在当今信息化时代,大多数企业都需要网络支撑企业的ICT运行,提升企业运行效率,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,比如可以实现网 ...

  2. 【网络】HTTPS 怎么保证数据传输的安全性

    背景 大家都知道,在客户端与服务器数据传输的过程中,HTTP协议的传输是不安全的,也就是一般情况下HTTP是明文传输的.但HTTPS协议的数据传输是安全的,也就是说HTTPS数据的传输是经过加密的. ...

  3. java中的数据解析是_Java从网络中请求获取JSon数据以及解析JSON数据----(自创,请注明)...

    Json数据是比较常用的数据类型解析,优点就不多说啦.来看看方法: public static JSONObject getJsonObject(String url) { JSONObject js ...

  4. 通信工程论文 通信网络中故障数据优化检测仿真研究

    通信网络中故障数据优化检测仿真研究 专业:通信工程 2022年5月 论文题目:通信网络中故障数据优化检测仿真研究 学科专业:通信工程 摘 要 在对通信网络之中的故障数据进行检测时,考虑到在通信网络之中 ...

  5. 企业如何进行数据化管理,如何保证数据的安全?

    随着互联网技术和大数据技术的快速发展,越来越多的企业开始重视数据化管理,将数据作为企业管理和决策的重要依据.数据化管理可以帮助企业更加高效地获取.处理和分析各种数据,从而及时发现问题和机遇,为企业决策 ...

  6. 达梦数据库中如何删除重复数据

    我们在数据库运维环境中有时会出现需删除表中重复数据的情况,比如说,导入时重复导入了,这时候我们怎么办?如何删除重复的数据,保证数据的正确性和完整性? 测试环境: 操作系统:中标麒麟6.0 数据库系统: ...

  7. 网络中的七层协议与TCP/IP五层模型

    socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程 ...

  8. 移动边缘网络中联邦学习效率优化综述

    摘要:联邦学习 将模型训练任务部署在移动边缘设备,参与者只需将训练后的本地模型发送到服务器参与全局聚合而无须发送原始数据,提高了数据隐私性. 解决效率问题是关键 设备与服务器之间的通信消耗--通信-- ...

  9. P2P网络中DHT算法分析

    结构化与非结构化P2P 依照节点信息存储与搜索方式的不同,诸多P2P协议可以分为2大类:结构化(Structured)的与非结构化(Unstructured)的系统. 非结构化P2P系统 在非结构化的 ...

最新文章

  1. Numpy入门教程:07. 随机抽样
  2. 随笔:项目感想、知识总结、未来展望
  3. 秒懂 CountDownLatch 与 CyclicBarrier 使用场景
  4. python教程实例-python 类和实例 - 刘江的python教程
  5. 超图空间数据模型概要1
  6. Ansible搭建hadoop3.1.3高可用集群
  7. unity3d 各个目录的意思
  8. 入门 | 一文介绍机器学习中基本的数学符号
  9. 内置对象session与httpSession对象是同一个东西么?
  10. 6.6使用环境变量配置外部环境
  11. MATLAB R2013 a版及序列号
  12. Eclipse离线安装Svn插件
  13. 数电笔记之逻辑函数卡诺图化简
  14. 细枝末节都交给App 我只负责享受生活 | 2016与我的数字生活
  15. 深度学习之卷积自编码器
  16. new Date()时间格式转时间戳在苹果机iOS上无效
  17. 错误:未将对象引用设置到对象的实例
  18. 自动生成fbi代码网站
  19. append的使用+抽奖(作弊)+打开关闭另一个页面+倒计时
  20. Oracle中取月初,月末,季初,季末及年初,年末时间总结

热门文章

  1. 搭讪培训班 - 名品试用 - YOKA时尚论坛 - YOKA社区
  2. windows中的SC命令
  3. 深度学习之 人脸识别(2) 模型
  4. java listener 模式_Java和GUI-根据MVC模式,ActionListener属于哪里?
  5. Kinect应用开发实战:用最自然的方式与机器对话
  6. java计算机毕业设计springboot+vue青少年编程在线考试系统
  7. Spring Spring-data-redis 实现的消息队列
  8. 谦卑的程序员(The Humble Programmer) by E.W.Dijkstra,1972
  9. FreeRTOS 遇坑(1)
  10. S700K五机牵引转辙设备简介组成及道岔转换设备故障分析【铁路信号技术专栏】—转载自微信公众号铁路信号技术交流