网易首页 > 网易号 > 正文 申请入驻

三方接口签名验签简易设计与实现

0
分享至

  写在前面

  接口安全防护是个永恒的话题,提供给前端的接口需要登录,提供给服务的接口(下文简称"三方接口")也需要鉴权;

  当前大环境下,http restful(甚至不restful)盛行,因为简单。性能上,额…至少比soap webservice好;

  对于三方接口鉴权,规范的协议有不少,比如OAUTH2, 但完整的OAUTH2协议对客户端有着苛刻的要求,阉割的OAUTH2协议看起来好像没啥用(我个人这么觉得);

  除了鉴权,还有一个难点是防劫持。如果被劫持了,包括鉴权在内的所有请求都不再可信;

  防劫持的唯一可靠措施似乎是https,然而总有一些网站没有https,包括一些从来不会被攻击,但是天天报漏洞需要修复的头疼系统;

  即使如此,也不能破罐子破摔,多加点防护,提升点攻击成本,至少一眼看起来没啥问题。这样就差不多了。

  
整体设计 1.1 大体思路

  服务端维护客户服务列表,仅提供服务给已知的客户端;

  客户端持有两个密钥, 一个是对称加密的密钥,一个是非对称加密的公钥,两个密钥同时泄露请打110. 客户端发出请求前,使用公钥加密少量信息(例如客户端标识等),使用对称密钥加密请求体,最后使用加密后的请求体加盐(例如两个密钥组合起来)生成摘要,签名由非对称加密后的字符串拼接摘要组成

  服务端接收到请求后,查询客户服务列表获取密钥等信息,对比摘要后,私钥解密对比签名的剩余部分,最后对称解密。

  1.2 详细设计 1.2.1 服务属性 属性名称 中文释义 备注 clientId 服务唯一标识
clientSecret 对称密钥
privateKeyServer 服务端私钥 仅服务端持有 publicKeyServer 服务端公钥
1.2.2 客户端处理流程

  程序参与方:

  Invoker: 调用者,即程序引用方;

  RpcEncrypt: 程序入口;

  Signature: 签名接口,客户端签名和服务端验签等逻辑在这里实现;

  Digest: 摘要接口,默认实现为HMAC;

  Asymmetric: 非对称加密接口,默认实现为RSA;

  Symmetric: 对称加密接口,默认实现为AES;

  Storage: 存储接口,默认实现为内存。

  github
https://github.com/jiashuaizhang/rpc-encrypt

  gitee
https://gitee.com/cheapCabbage/rpc-encrypt

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
提前24小时生效,中方停止对欧投资,法部长来访,要当面讨说法?

提前24小时生效,中方停止对欧投资,法部长来访,要当面讨说法?

国学长亭
2024-11-04 15:28:24
刚刚,美国大选投票正式开始:首个投票点结果出炉!现场选民发声

刚刚,美国大选投票正式开始:首个投票点结果出炉!现场选民发声

每日经济新闻
2024-11-05 15:08:24
卸任篮协主席!姚明去向曝光,即将赴任新职务,已获名记杨毅确认

卸任篮协主席!姚明去向曝光,即将赴任新职务,已获名记杨毅确认

体坛亦说
2024-11-05 08:44:39
国务院,重磅官宣!

国务院,重磅官宣!

第一财经资讯
2024-11-04 21:59:04
员工发现8个月工资未达上海最低工资标准!公司神回复……

员工发现8个月工资未达上海最低工资标准!公司神回复……

环球网资讯
2024-11-05 14:36:50
郭文静说,只要上头敢下令,她将毫不犹豫击落歼-20

郭文静说,只要上头敢下令,她将毫不犹豫击落歼-20

史诗长歌
2024-11-05 07:30:03
32岁就成玻璃人!名宿炮轰内马尔:受伤都怪他自己,1年毫无贡献

32岁就成玻璃人!名宿炮轰内马尔:受伤都怪他自己,1年毫无贡献

奥拜尔
2024-11-05 13:31:56
成都警方通报网传“三娃打闹家长先指挥后互殴”:已达成和解

成都警方通报网传“三娃打闹家长先指挥后互殴”:已达成和解

界面新闻
2024-11-05 14:59:28
今日,突发大涨!原因是什么?接下来,A股会有更大动作?

今日,突发大涨!原因是什么?接下来,A股会有更大动作?

阿握聊事
2024-11-05 11:32:47
航天员朱杨柱:返航过程如同坐在炼丹炉 一路火花带闪电

航天员朱杨柱:返航过程如同坐在炼丹炉 一路火花带闪电

极目新闻
2024-11-04 14:27:34
鲁迅逝世当天制作石膏遗容,意外粘下20根胡须,如今列为一级文物

鲁迅逝世当天制作石膏遗容,意外粘下20根胡须,如今列为一级文物

眉宇奇侃
2024-11-05 03:44:07
WTT德国赛:世界亚军被轰11-1,张本美和剃光头,王曼昱丢局过关

WTT德国赛:世界亚军被轰11-1,张本美和剃光头,王曼昱丢局过关

知轩体育
2024-11-05 10:56:34
世界上最大的锂电池回收厂,爆炸了

世界上最大的锂电池回收厂,爆炸了

视知产研院
2024-11-04 21:45:46
或致癌!这款中国零食被德国11个州联合召回

或致癌!这款中国零食被德国11个州联合召回

德国吃喝玩乐
2024-11-04 18:05:49
果然爆了!刚刚,全部20CM涨停!

果然爆了!刚刚,全部20CM涨停!

中国基金报
2024-11-05 09:39:38
20点30!央视CCTV5直播:郑钦文第3场生死战,赢球=出线+创纪录

20点30!央视CCTV5直播:郑钦文第3场生死战,赢球=出线+创纪录

大秦壁虎白话体育
2024-11-05 08:03:00
CCTV5直播郑钦文VS保利尼,比赛时间敲定,赢球=进4强,奖金多少

CCTV5直播郑钦文VS保利尼,比赛时间敲定,赢球=进4强,奖金多少

体育大学僧
2024-11-05 11:03:14
刚刚,很热闹!证监会,上交所发声了

刚刚,很热闹!证监会,上交所发声了

一丛深色花儿
2024-11-05 12:45:00
破案了!郑钦文怒吼的粉丝身份曝光,她失去了尊重

破案了!郑钦文怒吼的粉丝身份曝光,她失去了尊重

体育就你秀
2024-11-05 11:00:55
热搜第一!海马体回应!

热搜第一!海马体回应!

鲁中晨报
2024-11-05 15:11:22
2024-11-05 15:52:49
IT架构师联盟
IT架构师联盟
IT架构实战分享
708文章数 7654关注度
往期回顾 全部

科技要闻

字节跳动上半年营收直逼Meta:TikTok狂飙

头条要闻

马斯克"百万美元抽奖"传出新内幕:获奖者并非随机挑选

头条要闻

马斯克"百万美元抽奖"传出新内幕:获奖者并非随机挑选

体育要闻

一个想改变中国足球的日本人

娱乐要闻

金星演出再度被取消 发文内涵又秒删

财经要闻

创业板指涨4.75% 全市场超5000股上涨

汽车要闻

新款别克世纪将11月12日上市 预售价48.99万起

态度原创

本地
亲子
数码
时尚
公开课

本地新闻

云游中国|我与这座城市 合得来 不怕肥

亲子要闻

一老一小将家和人兴体现得淋漓尽致,这大概就是天伦之乐吧

数码要闻

别问我硬盘买多大容量,反正500GB是不太够了!

20岁不火,50岁当模特爆红,她说人生慢点也没关系

公开课

AI如何揭开大自然和宇宙的奥秘

无障碍浏览 进入关怀版