iOS数据安全性问题

做为一个移动互联网App,天生是须要和服务器通讯的。那么,服务器如何识别客户端的身份?咱们如何保证数据传输过程当中的安全性?要靠两个东西:使用AppKey作身份识别,使用AppSecret校验数据。

这两个东西的定义能够参考淘宝开放平台上这种比较严肃的说法:
AppKey
客户端调用API时的惟一标识,服务器经过App Key来鉴别应用的身份。调用API接口时必须传入的参数。
App Secret
App Secret是服务端给客户端分配的密钥,用来保证应用来源的可靠性,防止请求数据被伪造。

其中,AppKey用来标识客户端的身份,一般保密性没有什么要求。就比如别人知道了咱们的名字并不能假冒咱们的身份同样。但AppSecret就不同了。
先说一下App Secret的使用流程。

一个App请求中,一般包含AppKey、业务数据、时间戳等等。咱们把这些信息定义为A、B、C。咱们要把A、B、C这些信息发往服务器确定不能直接扔过去,那么毫无安全性可言。一般的作法是把A、B、C和AppSecret(D)一块儿须要作一个校验,生成一个校验码(sign client),把校验码和A、B、C一块儿发送给服务器,服务器收到信息后,根据客户端发来的AppKey从数据库中检索对应的AppSecret,而后也一样把A、B、C和AppSecret(D)一块儿作一个校验,生成一个校验码(sign server)。若是sign client和sign server相同,就证实数据在传输过程当中没有被修改过。
能够看出,整个过程当中D(AppSecret)和校验过程是旁观者没法得知的。可是校验过程无非就那么几种算法,很好破解。因此说,AppSecret的保密工做就很重要了。算法

 

也有一种加密方式是在URL前加https://前缀代表是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。数据库

Web服务器启用SSL须要得到一个服务器证书并将该证书与要使用SSL的服务器绑定。安全

http和https使用的是彻底不一样的链接方式,用的端口也不同,前者是80,后者是443。服务器

http的链接很简单,是无状态的。网络

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全!加密

相关文章
相关标签/搜索