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


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


一、安全标准

    网络信息安全标准由美国国家标准与技术研究院(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

    算法的特点:

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

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


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

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

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

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