Http三次握手
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入
SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己
也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包
ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完
成三次握手。完成三次握手,客户端与服务器开始传送数据.
HTTPS SSL
客户端请求建立SSL连接,发送支持的加密方式以及一个随机数client
random给服务器;
服务器选择其中的一种加密方式,并且再加上另外一个随机数server
random,和数字证书(其中有公钥),发送给客户端;
客户端确认这个数字证书是有效的,并且再生成一个新的随机数,将这个随机数
用服务器发送给它的数字证书中的公钥进行加密发送给服务器;
服务器收到客户端的回复,利用自己的私钥进行解密,获得这个随机数,然后通
过将前面这三个随机数以及他们协商的加密方式,计算生成一个对称密钥。
释放连接时,被动方服务器,突然收到主动方客户端释放连接的请求时并不能立即释放连接,
因为还有必要的数据需要处理,所以服务器先返回ACK确认收到报文,经过CLOSE-WAIT阶段准备好释放连接之后,才能返回FIN释放连接报文。
所以,客户端要经历时长为2SML的TIME-WAIT阶段;这也是为什么客户端比服务器端晚进入CLOSED阶段的原因
iOS 如何做才安全:
1、ipa包加壳
2、敏感信息存储位置
3、设备安全(越狱,丢失)
4、APP反编译(逆向工程)
5、代码内容加密(对称加密/非对称加密)
6、安全密钥更新周期
7、代码混淆
8、接口安全(双向加密)
9、通讯安全,第三方库漏洞
10、敏感信息安全加密
11、通讯网络安全
12、代码调试信息安全管理
OSI七层协议中每层分别有哪些协议
1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种
传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强
弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数
转换)。这一层的数据叫做比特。
2.数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介
质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
3.网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选
择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层
正是管理这种连接的层。
4.传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:
TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量
大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要
求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是
将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一
层数据叫做段。
5.会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。
主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是
IP也可以是MAC或者是主机名)
6.表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读
取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进
制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示
相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间
的转换。
7.应用层: 是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮
件、文件传输和终端仿真)提供网络服务。
对称加密和非对称加密
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥
加密
也就是密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称
加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准
(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的
加密性好,而且对计算机功能要求也没有那么高
常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和
AES
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥
(privatekey)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私
有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥
才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称
加密算法。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的
一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息
进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息
进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密的典型应用是数字签名。
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、
El Gamal、DSA(数字签名用)
Hash算法(摘要算法)
Hash算法特别的地方在于它是一种单向算法,用户可以通过hash算法对目标信
息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信
息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
常见的Hash算法有MD2、MD4、MD5、HAVAL、SHA