网络安全与密码学

Posted ccluck-tian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全与密码学相关的知识,希望对你有一定的参考价值。

1、网络安全威胁

  破坏网络安全的一些理论方式:

    窃听:窃听信息,在网路通信双方直接进行窃听。

    插入:主动在网络连接中插入信息(可以在message中插入恶意信息)

    假冒:伪造(spoof)分组中的源地址,假冒客户端或服务器。

    劫持:通过移除/取代发送方发或接收方“接管”(take over)连接

    拒绝服务(dos):阻止服务器为其他用户提供服务。

  破坏网络安全的一些实践方式:

    映射(mapping):①探路。②ping命令获取主机地址。③端口扫描(nmap www.insecure.org/nmap/)

    嗅探(sniffing):在广播介质(共享的以太网或无线网络中),混杂(promiscuous)模式的网络接口卡,可以接受所有经过的分组。(wireshark就是一个分组嗅探软件)

    ip欺骗(spoofing)发送分组的源ip地址可以任意改写。网络攻击中大量使用ip欺骗。(应对策略,入口过滤:路由器不转发源ip地址不属于此网络的分组)

    DOS拒绝服务攻击:向接受方恶意泛洪(flood)分组,淹没(swamp)接受方(即耗尽接受方的资源)。

    DDOS分布式拒绝服务攻击:入侵网络中的主机,构建僵尸网络(肉鸡),发动僵尸网络同时攻击目标服务器。

    反射式DDOS攻击:控制僵尸网络,选择反射服务器,运用ip欺骗将请求发向反射服务器,反射服务器将服务响应发送给要攻击的服务器。

    技术图片

    DOS应对策略:过滤泛洪分组,追溯攻击源,SYN cookie(测试第三次握手的确认序列号)

    技术图片

2、密码学(cryptography)

  密码学基本概念:

    明文(plaintext)--->加密算法(已知) + 秘钥KA(未知)---->密文(ciphertext)---->解密算法 + 秘钥KB ---->明文。    m = KB(KA(m))

    对称秘钥加密:KA == KB。  明文m = KS(KS(m))

    非对称秘钥加密(公开秘钥加密):KA+,KA-;KB+,KB-;m = KB-(KB+(m))

    破解加密方法:暴力破解;统计分析(对传统加密方法很有效);

  传统加密方式:

    替代密码:利用一种东西替代另一种东西

      凯撒密码(Casesar cipher):利用字母表中后面的第k个字母替换当前字母;如果k=3,则a->d;b->e,c->f...........x->a;y->b;z->c。

      单字母替代:每一个字母都有一个固定的替代值。

      多字母替代:明文不同位置的字母使用不同的单码替代密码。

      技术图片

    换位密码:

      置换法:将明文划分为固定长度(d)的分组,每个分组内的字母按置换规则(f)变换位置,秘钥(d,f)

      技术图片

  现代加密技术:

    不在针对一个个字母处理,而是针对二进制位操作

    对称秘钥加密:(存在秘钥分发问题,如何让对方知道加密秘钥)

      流密码:秘钥流z = z0z1z2z3....;明文流(串)x = x0x1x2x3.....;加密y = y0y1y2...... = Ez0(x0)Ez1(x1)Ez2(x2).....。解密时,使用相同的秘钥流与密文做异或运算(XOR)

      技术图片

      分组密码:将明文划分长度为m的明文组(m = 64bit,128bit,256bit等);各明文组在长为i的秘钥组的控制下变成长为n的密文组。通常m == n。

        Feistel分组密码结构(思想):DES(Date Encryption Standard)加密算法(IBM公司研制,1998年12不在成为加密标准)。分组长度64bit(左32bit,右32bit),56bit初始秘钥,16次迭代加密。

    AES(Advanced Encryption Standard)加密算法(Rijndael加密算法):不属于Feistel结构,数据块长度(128/192/256bit),秘钥(128/192/256bit),10轮加密,安全性更高,如果1秒破解DES,则需要149万亿年破解AES。

    非对称秘钥加密(公开秘钥加密):

      RAS加密算法,前提条件:

      技术图片

      秘钥生成:

      技术图片

       确实有点难。。。先到这里

3、身份认证

  身份认证过程中存在:假冒身份,ip欺骗,回放攻击。

  提出一种机制:一次性随机数(nonce)

  技术图片

  存在问题:在传输过程开始时必须知道本次通信的秘钥KA-B(对称秘钥)。

  技术图片

  存在问题:中间人攻击

  技术图片

 

 4、消息完整性和数字签名

  message integrity:确定来自声称的发送发,传输过程中没有被篡改(内容,时间,顺序),持有期被修改,抵赖(发送方抵赖,接收方抵赖)。

  密码散列函数:H(m) ,m为message。

    特性:散列算法公开;H(m)足够快;对于任意长度message均生成定长的输出;不同message不能产生相同散列值,根据散列值不能倒推出message。

    技术图片

 

    MD5算法:通过4个步骤,对任意长度的message输出128bit的散列值。不是足够安全,1996曾被找到两个不同的512bit块在MD5算法下产生两个相同的散列值。

    SHA-1:消息长度不超过2的64次方bit,散列值固定160bit,速度慢于MD5,安全性高于MD5。

  message digests(消息摘要):H(m) 可以作为m的数字指纹。

  message认证:将message 和 message digests组成新的message发送。(m,H(m))。存在问题:伪造m

  message认证码(MAC):m + s认证秘钥 + H数列函数 ---->(m,H(m+s))。如果s为对称秘钥,存在接受方和发送方抵赖问题。

  数字签名(Digital signatures):

    要求:可验证性,不可伪造性,不可抵赖性。

    采用私钥加密技术,将私钥加密的密文和message一起发送给接收方。(m,KB-(m))。缺点:message过大,因此加密后的KB-(m)太大,导致速度慢

    采用签名消息摘要:(m,KB-(H(m)))。解决数字签名问题。

 5、秘钥分发:

  在身份认证中,对称秘钥如何分发?

  机制:秘钥分发中心(KDC):在网络上是一个服务器的存在,这是一个可信任机构。

    在KDC上注册自己的秘钥(对称秘钥,此秘钥只有用户和KDC知道)。

    技术图片

  机制:认证中心(CA):在网络上是一个服务器的存在,这是一个可信任机构。

    在CA上注册公钥 ---->生成公钥证书

    技术图片

 

     技术图片

6、总结:

  ①如何建立安全的传输:秘钥分发中心和认证中心,有了这两个可以说在用户之间建立连接时是安全的,意味着不会和第三方(恶意中间方)建立连接。在认证中心中用到了私钥和公钥技术,但这是为了解决身份问题(在建立连接时的身份问题)

  ②如何在传输中保持数据安全:对称加密中随机的R1(对称秘钥)加密数据。非对称加密中使用私钥加密和公钥解密。

  ③如何保证传输的数据不会让对方抵赖。对明文进行hasn算法得到固定的消息摘要H(m),再对消息摘要进行私钥加密KB-(H(m)),最后得到新消息(m,KB-(H(m)))。传输过程可以为:密文 = KA+((m,KB-(H(m)))),即可保证传输安全性,又可保证不可抵赖性。

  ④有一个很重要的概念:私钥加密的数据公钥解密,公钥加密的数据私钥解密。

以上是关于网络安全与密码学的主要内容,如果未能解决你的问题,请参考以下文章

《密码编码学与网络安全》William Stalling著---学习笔记知识点速过传统密码+经典对称加密算法+经典公钥密码算法+密码学Hash函数

密码学读书笔记系列:《商用密码应用与安全性评估》

密码学基本概念与古典密码

区块链快速入门——区块链密码学与安全相关技术

古典密码和网络安全之间的关系

密码编码学与网络安全(第五版)课后习题-CH03