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传给服务器端。然后服务器端根据传过来的密文再根据解密算法和私钥【与加密私钥相同】解析出客户端参数信息,然后认证来决定是否具有数据访问的身份。
优点:参数简洁,参数信息全部用密文传输
不足:由于是可逆算法,如果参数组合简单的话,私钥有可能被破解。
认证方法:通常有三种: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传给服务器端。然后服务器端根据传过来的密文再根据解密算法和私钥【与加密私钥相同】解析出客户端参数信息,然后认证来决定是否具有数据访问的身份。
优点:参数简洁,参数信息全部用密文传输
不足:由于是可逆算法,如果参数组合简单的话,私钥有可能被破解。
相关文章推荐
- 简述http/https加密和认证方式
- 项目背景: 1、接口URL:http://192.168.xx.xx:8080/mserver/rest/ms 2、接口参数:data=xxxxx&key=xxxxx,数据是加密的 3、请求方式
- Java http处理get请求,参数中带特殊字符处理方式
- Android中的HttpURLConnection网络请求方式
- HTTP 请求方式: GET和POST的比较
- Servlet之HTTP协议、注册案例、Servlet运行原理、请求方式、乱码解决方案
- 通过telnet进行http请求的两种方式
- WiFi无线网络的几种认证与加密方式
- HTTP认证方式与https简介
- httpclient 两种方式请求网络
- Android中使用Volley开源库进行Http网络请求(POST方式)
- 开源库android-async-http添加https请求方式
- ASIHTTPRequest实现https双向认证请求
- iOS ASIHTTPRequest用https协议加密请求
- HttpURLConnection--HttpURLConnection的Post请求方式
- 【学习】http的8种请求方式
- curl外另外一种发送http请求和接收http请求的方式
- linux的PAM认证和shadow文件中密码的加密方式
- 面试-Http的请求方式GET和POST的区别
- 网络知识---http请求几种方式