对信息安全的初探

本文深入剖析了TCP/IP协议的安全隐患及防御措施,详细介绍了HTTPS的工作原理,包括密码学基础概念、对称加密与非对称加密的区别及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     只有对数据敏感的公司,才会投入人力,财力去做信息安全, 硬件电路加密,数据链路加密等等。这篇暂时只提传输加密。 
     先了解TCP/IP的工作原理
     TCP/IP作为Internet最重要的协议,包含了在Internet上的网络通信标准以及一组网络互联协议和路径选择算法TCP(TransportControlPro tocol)是传输控制协议;IP(InternetProtocol)是网络协议 其工作原理是:源主机应用层将一串应用数据流传送给传输层,传输层将其截成分组,并加上TCP报头形成TCP段送交网络层;网络层给TCP段加上包括源主机和目的主机IP地址的IP报头,生成一个IP数据包,并送交数据链路层;数据链路层在其MAC帧的数据部分装上IP数据包,再加上源主机和目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器,目的主机的数据链路层将MAC帧的帧头去掉,将IP数据包送交网络层;网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包,如果一致则去掉IP报头,将TCP段送交传输层;传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据,若正确则向源主机发确认信息,若不正确或丢包,则向源主机要求重发信息  传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序  这样目的主机接收到的字节流,就像是直接来自于源主机一样。

       数据链路层,如Sniffer,攻击方通过某些手段使网卡工作在监听模式下,从而达到非法窃取他人信息的目的。一般情况下,用户账户和密码等信息都是以明文的形式在网络上传输的,很可能被探测到而遭到攻击

      网路层,如ICMP漏洞,ICMP(网络控制信息协议)用来传送一些关于网络和主机的控制信息,如目标主机是不可到达的、路由的重定向等 常用的Ping命令就是使用ICMP协议Ping程序是通过发送一个ICMP回应请求消息和接收一个响应的ICMP回应来测试主机的连通性 通常也可以得到一些附加信息,如收发数据包的往返时间,IP等等。这样的协议还有IP欺骗、arp欺骗与会话劫持等。这些一般可以采用的主要的方法是1、在传输层对数据进行加密 2、使用安全协议,对通信和会话加密,如使用SSH代替telnet和ftp

      应用层,如DNS欺骗,因为网络上的主机都信任DNS服务器,一个被破坏的DNS服务器就可以将客户引导到非法的服务器,从而就可以使某个地址产生欺骗

        接下来讲讲HTTP协议,也是日常用的最多的协议。HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 HTTP 协议和 SSL/TLS 的组合。理解 HTTPS 之前有必要弄清楚一些密码学的相关基础概念,比如:明文、密文、密码、密钥、对称加密、非对称加密、信息摘要、数字签名、数字证书。

密码

密码学中的“密码”术语与网站登录时用的密码(password)是不一样的概念,password 翻译过来其实是“口令”,它是用于认证用途的一组文本字符串。

而密码学中的密码(cipher)是一套算法(algorithm),这套算法用于对消息进行加密和解密,从明文到密文的过程称之为加密,密文反过来生成明文称之为解密,加密算法与解密算法合在一起称为密码算法

密钥

密钥(key)是在使用密码算法过程中输入的一段参数。同一个明文在相同的密码算法和不同的密钥计算下会产生不同的密文。很多知名的密码算法都是公开的,密钥才是决定密文是否安全的重要参数,通常密钥越长,破解的难度越大,比如一个8位的密钥最多有256种情况,使用穷举法,能非常轻易的破解。根据密钥的使用方法,密码可分为对称加密和公钥加密。

对称加密

对称密钥(Symmetric-key algorithm)又称为共享密钥加密,加密和解密使用相同的密钥。常见的对称加密算法有DES、3DES、AES、RC5、RC6。对称密钥的优点是计算速度快,但是它有缺点,接收者需要发送者告知密钥才能解密,因此密钥如何安全的发送给接收者成为了一个问题。

公钥加密

公开密钥加密(public-key cryptography)简称公钥加密,这套密码算法包含配对的密钥对,分为加密密钥和解密密钥。发送者用加密密钥进行加密,接收者用解密密钥进行解密。加密密钥是公开的,任何人都可以获取,因此加密密钥又称为公钥(public key),解密密钥不能公开,只能自己使用,因此它又称为私钥(private key)。常见的公钥加密算法有 RSA。

消息摘要

消息摘要(message digest)函数是一种用于判断数据完整性的算法,也称为散列函数或哈希函数,函数返回的值叫散列值,散列值又称为消息摘要或者指纹(fingerprint)。这种算法是一个不可逆的算法,因此你没法通过消息摘要反向推倒出消息是什么。所以它也称为单向散列函数。下载软件时如何确定是官方提供的完整版呢,如果有中间人在软件里面嵌入了病毒,你也不得而知。所以我们可以使用散列函数对消息进行运算,生成散列值,通常软件提供方会同时提供软件的下载地址和软件的散列值,用户把软件下载后在本地用相同的散列算法计算出散列值,与官方提供的散列值对比,如果相同,说明该软件是完成的,否则就是被人修改过了。常用的散列算法有MD5、SHA。

消息认证码

消息认证码(message authentication code)是一种可以确认消息完整性并进行认证(消息认证是指确认消息来自正确的发送者)的技术,简称 MAC。消息认证码可以简单理解为一种与密钥相关的单向散列函数。

数字签名

Alice 发邮件找 Bob 借1万钱,因为邮件可以被人篡改(改成10万),也可以被伪造(Alice 根本就没发邮件,而是 Attacker 伪造 Alice 在发邮件),Alice 借了钱之后还可以不承认(不是我借的,我没有签名啊)。

消息认证码可以解决篡改和伪造的问题,Alice 不承认自己借了钱时,Bob 去找第三方机构做公正,即使这样,公正方也没法判断 Alice 有没有真的借钱,因为他们俩共享了密钥,也就是说两个都可以计算出正确的 MAC 值,Bob 说:“明明你发的消息和 MAC 值和我自己生成的 MAC 值一样,肯定是你发的消息”,Alice 说:“你把密钥透露给了其他人,是他发的邮件,你找他去吧”。Alice 矢口否认。

数字签名(Digital Signature)就可以解决否认的问题,发送消息时,Alice 和 Bob 使用不同的密钥,把公钥加密算法反过来使用,发送者 Alice 使用私钥对消息进行签名,而且只能是拥有私钥的 Alice 可以对消息签名,Bob 用配对的公钥去验证签名,第三方机构也可以用公钥验证签名,如果验证通过,说明消息一定是 Alice 发送的,抵赖也不行,因为你只有 Alice 可以生成签名。这就防止了否认的问题。

公钥证书

公钥密码在数字签名技术里面扮演举足轻重的角色,但是如何保证公钥是合法的呢,如果是遭到中间人攻击,掉包怎么办?这个时候公钥就应该交给一个第三方权威机构来管理,这个机构就是认证机构(Certification Authority)CA,CA 把用户的姓名、组织、邮箱地址等个人信息收集起来,还有此人的公钥,并由 CA 提供数字签名生成公钥证书(Public-Key Certificate)PKC,简称证书。

参考链接  HTTPS为什么更安全  http://blog.jobbole.com/110373/  

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值