赞
踩
1、HMAC-SHA1:
HMAC是哈希运算消息认证码 (Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。HMAC-SHA1签名算法是一种常用的签名算法,用于对一段信息进行生成签名摘要。
2、需要注意哪些问题:
a) hmac-sha1可以认为是不可逆的加密算法,sk只能保存在服务器,不能通过任何途径传输给客户端
b) 服务器发一个签名给客户端,此后服务器通过签名来校验客户端的访问权限
c) msg通过明文传输,然后服务器使用sk和传输的msg生成签名进行校验
d) 客户端和服务器通过生成的签名是否一致判断校验是否通过
3、适用场景:
比如亚马逊对外提供云存储服务,A公司购买了亚马逊的服务,亚马逊给A公司注册了独有的ak/sk(每个公司的秘钥都不一样)并告知A公司,同时告知A公司加密算法原理,并要求A公司必须把sk保存在服务器上,否则秘钥泄露了A公司需要自行承担责任。
A公司在亚马逊存放了一批资源,那么A公司的用户B访问亚马逊时,用户B先到A公司的服务器申请一个签名,用户B拿着签名到亚马逊获取资源,亚马逊根据约定的算法校验用户B的访问权限。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。