给初学者的RESTful API 安全设计指南!
RESTful API已经是在线开放API实施上的标准,企业API开放平台大多都会采用RESTful API做为实施标准。面向开放的互联网提供API接口,API安全性就是企业必须面对的一个问题,解决API安全要从API设计的第一步开始,而不是上线之后打补丁式的后置解决方案,不但会引发严重的API安全漏洞,且导致用户体验差、品牌口碑变坏。 在开启API安全设计之前,需要了解以下基本知识,会有助于初学者快速上手。 API是什么? RESTful API是什么? 开放API一般使用哪种 API描述规范? 常见的 API安全漏洞有哪些? 结合各路大神的API安全解决方案及个人经验,以下几种方式比较适合初学者。 1、身份认证设计 身份认证包含很多种,有HTTP Basic,HTTP Digest,API KEY,Oauth,JWK等方式,下面简单讲解下: 1.1 HTTP Basic REST由于是无状态的传输,所以每一次请求都得带上身份认证信息,身份认证的方式,身份认证的方式有很多种,第一种便是http basic,这种方式在客户端要求简单,在服务端实现也非常简单,只需简单配置apache等web服务器即可实现,所以对于简单的服务来说还是挺方便的。但是这种方式安全性较低,就是简单的将用户名和密码base64编码放到header中。 base64编码前:Basic admin:admin base64编码后:Basic YWRtaW46YWRtaW4= 放到Header中:Authorization: Basic YWRtaW46YWRtaW4= 正是因为是简单的base64编码存储,切记切记在这种方式下一定得注意使用ssl,不然就是裸奔了。…