这里会显示出您选择的修订版和当前版本之间的差别。
encrypted_login [2017/08/23 08:44] |
encrypted_login [2017/08/23 08:44] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ======加密登录机制指南====== | ||
+ | 加密登录机制为官方提供的传输加密约定,用于平台、SDK、应用服务器之间数据通信,<html><font color=red>您可根据具体的业务需求选择是否使用该功能</font></html>,默认情况下我们建议启用加密传输机制以保障开发者账户以及通信过程的安全。 | ||
+ | =====一、基础知识介绍===== | ||
+ | <html> | ||
+ | <em style="float:left;width:75px;font-weight:700"> | ||
+ | HMAC </em><span style="display: block;margin-left: 80px;"> | ||
+ | HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。</span> | ||
+ | <br /> | ||
+ | <em style="float:left;width:75px;font-weight:700">SHA-256</em><span style="display: block;margin-left: 80px;"> | ||
+ | SHA-256是美国国家标准技术研究所发布的国家标准FIPS PUB 180,最新的标准已经于2008年更新到FIPS PUB 180-3。其中规定了SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法。SHA-1,SHA-224和SHA-256适用于长度不超过2^64二进制位的消息。SHA-384和SHA-512适用于长度不超过2^128二进制位的消息。</span></html> | ||
+ | =====二、云之讯的加密登录码SLC生成机制===== | ||
+ | |||
+ | **登录SLC(Security Login Code)格式** | ||
+ | |||
+ | PAAS平台的登录SLC为一个长字符串格式,形如: | ||
+ | |||
+ | |||
+ | |||
+ | <html> | ||
+ | <div style="background-color: #fcf8e3;border-color: #faebcc;color: #8a6d3b;padding: 19px;">eyJBbGciOiJIUzI1NiIsIkFjY2lkIjoiMyIsIkNudW1iZXIiOiIxIiwiRXhwaXJldGltZSI6IjIwMTQwNjIwMTE0NjA3In0=.lhH8pe7wZOvJ0tX7VlDe2hPc+ugNtECBup5LtLM7eWE=</div> | ||
+ | </html> | ||
+ | |||
+ | **登录SLC用途** | ||
+ | |||
+ | * 由于开发者的id、token信息非常重要,为防止开发者的id、token信息泄露给终端用户(client),因此PAAS平台支持各种client SDK使用加密的SLC进行登录。\\ | ||
+ | |||
+ | **登录SLC的使用** | ||
+ | |||
+ | * 登录SLC由开发者的业务服务器(AS)根据按照PAAS平台约定好的加密机制自行生成,然后传递给client,以便client可以使用SLC进行登录操作。\\ | ||
+ | 同样PAAS平台根据约定好的加密机制,进行解密处理,如果信息无误则认为token合法,允许登录,如果token不合法则拒绝登录。 | ||
+ | |||
+ | **登录SLC的加密机制** | ||
+ | |||
+ | 输入:\\ | ||
+ | * 1. 开发者id(开发者在注册时自动分配)\\ | ||
+ | * 2. 开发者token(开发者在注册时自动分配)\\ | ||
+ | * 3. Client号码(开发者通过REST接口申请获得)\\ | ||
+ | * 4. Client密码(开发者通过REST接口申请获得)\\ | ||
+ | * 5. SLC的有效期(开发者根据需要设置)\\ | ||
+ | 输出:\\ | ||
+ | |||
+ | 登录SLC\\ | ||
+ | |||
+ | 加密过程: | ||
+ | |||
+ | |||
+ | {{ ::doc_img4.png?nolink&660 |}} | ||
+ | |||
+ | 说明:\\ | ||
+ | * Step1:准备生成SLC必要的输入参数\\ | ||
+ | * Step2:根据开发者id、Client号码,有效时间生成header信息。根据开发者id、开发者token、Client号码,Client密码、有效时间生成payload信息。Header、payload信息为标准的JSON格式;\\ | ||
+ | * Step3:对payload信息,使用开发者token作为秘钥进行HMAC SHA256加密;获得加密后的payload信息;\\ | ||
+ | * Step4:对header、payload进行base64算法转换,获得SLC header,SLC payload;\\ | ||
+ | * Step5:将SLC header,SLC pyload使用“.”进行连接,获得完整的SLC。\\ | ||
+ | 注意事项:\\ | ||
+ | * 1、加密过程中的所有信息为大小写敏感,大小写错误可能导致SLC不能登录。\\ |