您的位置:首页 > 理论基础 > 计算机网络

http请求通常的加密认证方式

2012-05-16 14:34 155 查看
应用背景:当一个应用涉及到不同平台或者不同应用相互调用时,数据交互接口就得考虑数据读取者获取数据的合法性。即只有认证能够被访问的用户才能提供相关数据。其他用户用http请求则不返回数据。

认证方法:通常有三种:IP认证、不可逆参数加密认证、可逆加密私钥认证方式。

一、IP地址认证方式:





[align=center]IP认证[/align]

这种认证方式实现方式比较简单,就是数据提供方将授权访问数据的服务器的IP加到应用程序信任IP地址组,当此服务器访问数据时直接返回数据。

优点:认证方式简单,只需要判断IP就可以。

不足:对于手持设备、或者某些直接让互联网用户直接获取数据的应用无法实现数据控制与授权,只能针对于某一个服务器。

二、不可逆加密认证【用MD5加密】





[align=center]不可逆加密认证[/align]

先举个应用实例来说明这种认证方式。如要做一个APP应用的数据接口,只允许安装此应用的应用终端可以可以访问数据,并且对于同一个http请求URL限制访问频率。首先服务器端和客户端约定一个对接密钥,然后客户端可以加密这个密钥,为了使每次传的参数不一样,我么可以加一个私钥向量。

如:MD5(密钥+当前时间串【这其实是一个私钥向量】)&当时时间参数=‘明文’&其他参数
当服务器端接收到加密后的密钥和时间两个参数后,首先用同样的算法将日期和密钥进行运算,将结果字符串和请求客户端传过来的密文进行比较。如果符合,则说明认证通过,否则认证不通过。在这里可能有人只看到当前时间作为了一个私钥向量。其实它还有另外一个用处,就是用它作为依据限制过期访问,比如某个时间段5分钟内请求可以得到数据。服务器端根据这个时间参数,如果超过了此时间视为过期请求,这样防止别人截获URL链接来请求数据。

优点:由于加密过程是不可逆的,因此数据加密认证安全,可以满足一般的应用,并能够按照时间限定过期访问。

不足:除了约定的私钥外,相当于每一个服务器端需要的参数都需要明文传输一遍,这样服务器端才能够校验。参数公开化了,另参数过长。

三、可逆私钥加密认证方式【DESC加密方式】






[align=center] [/align]
[align=center]可逆加密认证[/align]

可以认为此种加密方式是不可逆加密方式的另一种实现的变通。就是将服务器端需要的所有参数,以及服务器端与客户端约定的私钥按照一定的规则组合起来。然后通过加密算法加密成一个key传给服务器端。然后服务器端根据传过来的密文再根据解密算法和私钥【与加密私钥相同】解析出客户端参数信息,然后认证来决定是否具有数据访问的身份。

优点:参数简洁,参数信息全部用密文传输

不足:由于是可逆算法,如果参数组合简单的话,私钥有可能被破解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: