网络中数据如何保证数据的安全性?

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

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


一、安全标准

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

  • 保密性(Confidenciality)

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

  • 完整性(Integrity)

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

  • 可用性(Availability)

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


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

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


二、密码算法类型

1、对称加密

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

wKioL1PdHYqA9jfuAADLsGTNEF0127.jpg

    关键字说明:

        明文:加密之前的文本

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

        密文:加密和后的字符串

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

    对称加密的特性:   

        加密和解密使用同一秘钥

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

    缺陷:

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

  

2、公钥加密 

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

wKioL1PdIymyibILAADJd7PPxUM282.jpg

    常用的加密算法:

        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

    算法的特点:

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

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


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

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

wKioL1Pdi7SAQAwqAAIiKawPgU4783.jpg

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

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

    

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

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

wKiom1PdjQmzIa62AAGRHygS8u4975.jpg

    最重要的一环的实现如上图,大致的流程是: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 获得证书。










本文转自 羊木狼 51CTO博客,原文链接:http://blog.51cto.com/guoting/1534372,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
监控 安全 网络安全
云计算与网络安全:保护数据的关键策略
【9月更文挑战第34天】在数字化时代,云计算已成为企业和个人存储、处理数据的优选方式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨云计算环境中的网络安全挑战,并提供一系列策略来加强信息安全。从基础的数据加密到复杂的访问控制机制,我们将一探究竟如何在享受云服务便利的同时,确保数据的安全性和隐私性不被侵犯。
65 10
|
2月前
|
存储 安全 网络安全
云计算与网络安全:守护数据,构筑未来
在当今的信息化时代,云计算已成为推动技术革新的重要力量。然而,随之而来的网络安全问题也日益凸显。本文从云服务、网络安全和信息安全等技术领域展开,探讨了云计算在为生活带来便捷的同时,如何通过技术创新和策略实施来确保网络环境的安全性和数据的保密性。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的魔法:如何用神经网络解锁数据的奥秘
在人工智能的璀璨星空中,深度学习犹如一颗最亮的星,它以其强大的数据处理能力,改变了我们对世界的认知方式。本文将深入浅出地介绍深度学习的核心概念、工作原理及其在不同领域的应用实例,让读者能够理解并欣赏到深度学习技术背后的奇妙和强大之处。
46 3
|
17天前
|
存储 安全 网络安全
远程工作的新常态:确保家庭网络的安全性
远程工作的新常态:确保家庭网络的安全性
25 3
|
22天前
|
存储 安全 网络安全
云计算与网络安全:保护数据的新策略
【10月更文挑战第28天】随着云计算的广泛应用,网络安全问题日益突出。本文将深入探讨云计算环境下的网络安全挑战,并提出有效的安全策略和措施。我们将分析云服务中的安全风险,探讨如何通过技术和管理措施来提升信息安全水平,包括加密技术、访问控制、安全审计等。此外,文章还将分享一些实用的代码示例,帮助读者更好地理解和应用这些安全策略。
|
27天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:从漏洞到加密,保护数据的关键步骤
【10月更文挑战第24天】在数字化时代,网络安全和信息安全是维护个人隐私和企业资产的前线防线。本文将探讨网络安全中的常见漏洞、加密技术的重要性以及如何通过提高安全意识来防范潜在的网络威胁。我们将深入理解网络安全的基本概念,学习如何识别和应对安全威胁,并掌握保护信息不被非法访问的策略。无论你是IT专业人士还是日常互联网用户,这篇文章都将为你提供宝贵的知识和技能,帮助你在网络世界中更安全地航行。
|
30天前
|
存储 安全 网络安全
云计算与网络安全:如何保护您的数据
【10月更文挑战第21天】在这篇文章中,我们将探讨云计算和网络安全的关系。随着云计算的普及,网络安全问题日益突出。我们将介绍云服务的基本概念,以及如何通过网络安全措施来保护您的数据。最后,我们将提供一些代码示例,帮助您更好地理解这些概念。
|
2月前
|
数据采集 存储 监控
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据
本文探讨了如何利用 PHP 的 `set_time_limit()` 与爬虫工具的 `setTrafficLimit()` 方法,结合多线程和代理 IP 技术,高效稳定地抓取百度云盘的公开资源。通过设置脚本执行时间和流量限制,使用多线程提高抓取效率,并通过代理 IP 防止 IP 封禁,确保长时间稳定运行。文章还提供了示例代码,展示了如何具体实现这一过程,并加入了数据分类统计功能以监控抓取效果。
70 16
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据
|
1月前
|
SQL 安全 测试技术
网络安全与信息安全:保护数据的艺术
【9月更文挑战第36天】在数字化时代,网络安全和信息安全已成为维护个人隐私和企业资产的基石。本文深入探讨了网络安全漏洞、加密技术以及安全意识的重要性,旨在为读者提供一份知识宝典,帮助他们在网络世界中航行而不触礁。我们将从网络安全的基本概念出发,逐步深入到复杂的加密算法,最后强调培养安全意识的必要性。无论你是IT专业人士还是日常互联网用户,这篇文章都将为你打开一扇了解和实践网络安全的大门。
42 2
|
2月前
|
数据采集 存储 JavaScript
构建您的第一个Python网络爬虫:抓取、解析与存储数据
【9月更文挑战第24天】在数字时代,数据是新的金矿。本文将引导您使用Python编写一个简单的网络爬虫,从互联网上自动抓取信息。我们将介绍如何使用requests库获取网页内容,BeautifulSoup进行HTML解析,以及如何将数据存储到文件或数据库中。无论您是数据分析师、研究人员还是对编程感兴趣的新手,这篇文章都将为您提供一个实用的入门指南。拿起键盘,让我们开始挖掘互联网的宝藏吧!
下一篇
无影云桌面