美文网首页
安全接口

安全接口

作者: 枫林风雨 | 来源:发表于2019-01-03 14:43 被阅读4次
个人总结接口安全需要注意以下几点
一、避免明文:
  1. post —— post、get等请求方式只是语义不同,本质都是基于TCP/IP协议的http数据传输,在安全性上区别很小,在开发者眼里等于是没有区别。
  • get在请求地址上明文拼接参数,请求会被浏览器记录,数据会被缓存;
  • post参数不会被浏览器记录或缓存,也不会被服务器日志记录;
  1. cookie —— cookie主要作用就是会话保持,它本身其实并不是什么安全机制,要保证cookie安全仍然需要配合其它安全机制,如设置过期时间、数据加密。

  2. 编码 —— 使用类似base64等编码的自定义编码方式,或者用通用的加密算法,如md5,DES,AES,根据安全性需求自己决定使用什么算法和编码。

二、防止信息截取,伪造用户行为,篡改
  1. 前端和后端以约定的算法加密参数拼接在一起字符串,后端拿到加密串后解密验证参数,验证一致才接受请求。
  • 这种方式存在app被反编译算法泄露的风险,也存在开发者泄露算法的风险。
  1. 登录的时候后端生成token并返回给前端,token使用公钥、uid、时间戳等来计算后生成,请求接口时再带上token。
  • 使用非对称加密算法,前端数据全部使用公钥加密,后端使用私钥来解密和验证。需要注意的是:后端私钥要妥善保管。
  • 这种方式需要让用户隔一段时间自动退出(可以通过设置token时效实现),使token只在用户人为登录登出之间有用。token可以放进redis缓存等一段时间自动失效,也可以存在数据库,但需要在登录登出时修改数据库使token失效或删除token。
三、防止中间人攻击

对于开发者来说避免MITM攻击最有效的方式就是使用https接口。https本质也是非对称加密,是在http协议上添加了SSL协议。

  • 需要先向服务器发起一个无保护的请求,来初始化SSL,因为第一次连接https服务器要先把证书和签名发给客户端。
  • https首次连接时比较慢,因为SSl协议包含两部分,握手协议和记录协议,握手协议部分需要使用非对称算法计算出当前通信的秘钥。这个秘钥是当前通信的对称加密秘钥。
四、防内鬼

由内部人员开发固定写死的加密方案都存在被内部人员破解的风险,当然可以引入可靠第三方的黑箱算法,而作为普通开发者最实用的方式就是在算法签名字符串中引入随机字符串。
使用时间戳或者随机数参与生成加密签名,并保存在数据库或者redis,配合使用数据库权限和Linux用户权限,开发人员只能修改算法,数据库只有有权限的人能获取。结合非对称加密、随机串、数据库和Linux用户权限,已经可以很好地保证安全了,可以既防外又防内。

五、安全登录

接口安全的第一道也是最重要的一道关便是安全登录,如果用户使用网站或者app登录的过程中泄露了密码,那什么安全机制都是空谈了。
对于登录的安全性,银行网站和app的实现方式最值得参考,主要有如下方式:

  • 短信验证码
  • 密码错误次数限制
  • 异地登录、更换设备登录时短信通知
  • 使用https接口
  • 密码输入使用自定义的键盘
  • 登录参数使用非对称加密
  • 人脸识别

相关文章

  • 安全接口

    个人总结接口安全需要注意以下几点 一、避免明文: post —— post、get等请求方式只是语义不同,本质都是...

  • 接口安全

    接口安全问题 请求身份是否合法? 请求参数是否被篡改? 请求是否唯一? AccessKey&SecretKey (...

  • 接口安全

    接口安全要求: 防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口) 防篡改攻击(案例:在公...

  • app接口设计之安全性

    1. 什么是接口 2. 接口的作用 3. API接口保障安全性原则 4. 接口安全需求 5. signature签...

  • API接口安全性设计

    API接口安全性设计 接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据...

  • 开放平台API接口安全策略汇总

    开放平台API接口安全策略汇总 在设计开放平台接口过程中,往往会涉及接口传输安全性相关的问题,本文对接口加密及签名...

  • SpringBoot 如何保证接口安全?老鸟们都是这么玩的!

    为什么要保证接口安全 对于互联网来说,只要你系统的接口暴露在外网,就避免不了接口安全问题。 如果你的接口在外网裸奔...

  • 『居善地』接口测试 — 17.接口测试的认证

    1、接口的安全机制 一般在实际项目的接口开发中,接口的安全机制是绕不开的一个话题。不管是自己内部使用的接口也好,还...

  • PHP接口安全

    在接口及过程加密方法上,使用md5、AES等算法,进行比对,相同就allow,不同就deny; 或者通过当前use...

  • 接口安全方法

    服务端对外开放API接口,尤其对移动应用开放接口的时候,更需要关注接口安全性的问题,要确保应用APP与API之间的...

网友评论

      本文标题:安全接口

      本文链接:https://www.haomeiwen.com/subject/nfbfrqtx.html