美文网首页
数据安全 如何保证外网开放接口的安全性

数据安全 如何保证外网开放接口的安全性

作者: dylan丶QAQ | 来源:发表于2020-12-14 10:40 被阅读0次

简书日更 第6篇: 如何保证外网开放接口的安全性

这算一个总的概述,抽空对每个详细写一下。


[TOC]

转载地址:https://blog.csdn.net/zhou920786312/article/details/95536556

如何保证外网开放接口的安全性

  1. 使用加签名方式,防止数据篡改
  2. 信息加密与密钥管理
  3. 搭建OAuth2.0认证授权
  4. 使用令牌方式
  5. 搭建网关实现黑名单和白名单

一. 令牌方式搭建搭建API开放平台

20190711234839811

方案设计:

  1. 第三方机构申请一个appId,通过appId去获取accessToken,每次请求获取accessToken都要把老的accessToken删掉
  2. 第三方机构请求数据需要加上accessToken参数,每次业务处理中心执行业务前,先去dba持久层查看accessToken是否存在(可以把accessToken放到redis中,这样有个过期时间的效果),存在就说明这个机构是合法,无需要登录就可以请求业务数据。不存在说明这个机构是非法的,不返回业务数据。
  3. 好处:无状态设计,每次请求保证都是在我们持久层保存的机构的请求,如果有人盗用我们accessToken,可以重新申请一个新的taken.

二. 基于OAuth2.0协议方式

原理

第三方授权,原理和1的令牌方式一样

  1. 假设我是服务提供者A,我有开发接口,外部机构B请求A的接口必须申请自己的appid(B机构id)
  2. 当B要调用A接口查某个用户信息的时候,需要对应用户授权,告诉A,我愿同意把我的信息告诉B,A生产一个授权token给B。
  3. B使用token获取某个用户的信息。

联合微信登录总体处理流程

  1. 用户同意授权,获取code
  2. 通过code换取网页授权access_token
  3. 通过access_token获取用户openId
  4. 通过openId获取用户信息

三. 信息加密与密钥管理

  1. 单向散列加密
  2. 对称加密
  3. 非对称加密
  4. 安全密钥管理

非对称加密

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。

公钥与私钥是一对

  1. 公钥对数据进行加密,只有用对应的私钥才能解密
  2. 私钥对数据进行加密,只有用对应的公钥才能解密

过程:

  1. 甲方生成一对密钥,并将公钥公开,乙方使用该甲方的公钥对机密信息进行加密后再发送给甲方;
  2. 甲方用自己私钥对加密后的信息进行解密。
  3. 甲方想要回复乙方时,使用乙方的公钥对数据进行加密
  4. 乙方使用自己的私钥来进行解密。

甲方只能用其私钥解密由其公钥加密后的任何信息。

特点:

  1. 算法强度复杂
  2. 保密性比较好
  3. 加密解密速度没有对称加密解密的速度快。
  4. 对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多
  5. 适用于:金融,支付领域

四. 使用加签名方式,防止数据篡改

  1. 客户端:请求的数据分为2部分(业务参数,签名参数),签名参数=md5(业务参数)
  2. 服务端: 验证md5(业务参数)是否与签名参数相同

相关文章

  • 数据安全 如何保证外网开放接口的安全性

    简书日更 第6篇: 如何保证外网开放接口的安全性 这算一个总的概述,抽空对每个详细写一下。 [TOC] 转载地址:...

  • WebApi安全性 使用TOKEN+签名验证

    首先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中...

  • 腾讯二面:说出10种保证接口数据安全的方案

    前言 我们日常开发中,如何保证接口数据的安全性呢?个人觉得,接口数据安全的保证过程,主要体现在这几个方面:一个就是...

  • 开放api接口签名验证

    你在写开放的API接口时是如何保证数据的安全性的?我们通过http Post或者Get方式请求服务器的时候,会面临...

  • API接口安全性设计

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

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

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

  • 2018-08-01

    Android接口怎么保证安全性?怎么保证接口不被抓包工具抓取? 接口inteface的作用: 解决了多重继承问题...

  • 加密接口如何测试?

    随着互联网技术的发展,服务安全性和数据安全性变的越来越重要,提供接口服务的系统往往会应用各种加密技术,保证接口的安...

  • API接口安全性设计

    接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,...

  • API接口安全性设计

    接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,...

网友评论

      本文标题:数据安全 如何保证外网开放接口的安全性

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