本地存储暗码的安全规划

访客5年前黑客资讯678

 有些使用需要把用户暗码保存在本地,本计划规划了一种较为安全的暗码本地存储的计划。

1 安全要求

1.1 要完成的

避免攻击者得到用户暗码的明文 避免攻击者拿到主动登录token后,一向都可以登陆 即便两个用户的暗码相同,服务器保存的密文暗码也不一样 可在服务器端铲除salt,让用户的主动登录token失效,需手动登录 用户在多个终端登录同一个帐号,各终端的主动登录功用都收效

1.2 不完成的

更安全的计划能做到“把本地保存的文件复制到其他客户端”登录就会失效,这依赖于客户端做处理,本计划不完成 有的计划选用RSA非对称加密,本计划直接选用AES对称加密

2 APP场景剖析

2.1 注册时

AesKey = 前后端约定好的密钥 ClientSalt = 客户端随机生成8个字符(从0-9A-Za-z中选) HashedPassword = SHA1(明文暗码) EncryptedPassword = Base64(AesEncrypt(ClientSalt + HashedPassword, AesKey))

阐明:

注册时客户端在注册接口里提交EncryptedPassword 服务器用AesKey解出ClientSalt + HashedPassword,由于ClientSalt固定22字节,能核算得到HashedPassword

注册成功后,服务器保存的用户暗码是SavedPassword。生成办法如下:

ServerSalt = 服务器随机生成8个字符(从0-9A-Za-z中选) SavedPassword = Base64(AesEncrypt(ServerSalt + HashedPassword, 服务器专用密钥))

阐明:

有了ServerSalt,即便两个用户的暗码相同,最终的EncryptedPassword也会不一样。 用户暗码在数据库中没有明文存储。

2.2 手动登录时

阐明:

1、客户端在手动登录接口里提交EncryptedPassword(生成办法同2.1注册时)

2、服务器验证的进程:

1) 用AesKey从客户端的EncryptedPassword里解出HashedPassword

2) 用服务器专用密钥从数据库的SavedPassword里解出HashedPassword

3) 比较两个HashedPassword

4) 验证成功后返给客户端SaltExpire和AutoLoginToken,生成 *** 如下:

Salt = 随机8字符(从0-9A-Za-z中选) SaltExpire = 该Salt最终有用时刻 AutoLoginToken = Base64(AesEncrypt(Salt + HashedPassword, 服务器专用密钥))

5) 把用户ID、Salt和SaltExpire保存在Salt缓存表中

3、客户端本地存储的是SaltExpire和AutoLoginToken,没有保存明文暗码

4、客户端由于不知道服务器的Aes密钥,无法解出HashedPassword

[1] [2]  黑客接单网

相关文章

黑客怎么接单知乎_怎么找一个网络上的黑客师傅

5. 修正 Peach 的版别 oneof command {在2018年11月,咱们发现了CozyDuke安排的一些活动痕迹,首要针对欧洲的外交安排和政府安排。 该安排所运用的TTP,也曾在其他安排...

我在网上参与赌博被骗了元可以报警吗

当仓库为mirror仓库时,settings页面会显示关于mirror的配置ExecStart=/usr/sbin/apachectl start192.168.123.62我在网上参与赌博被骗了元可...

诈骗赌博我赌博被朋友算计了,输了元。我有

· https://www.shodan.io/search?query=port%3A3389+os%3A%22Windows+XP%22攻击方式一:Exchange1、概述诈骗赌博我赌博被朋友算计...

运用WinDbg调试Windows内核(一)

假如能够查看操作体系的内部作业进程,那么将会是一种强壮的才能。一些先进的歹意软件都将内核作为一起的方针,许多最强壮的缝隙也体现在内核组件中。因而运用一款调试器来探求这个环境是任何研究人员武器库中必备的...

约单有黑客接单的平台,彩票输了很多钱可以找黑客吗,找黑客破解mmm登录帐号

那么union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 from admin...

勋章,找黑客查火车票信息,广东找黑客联系方式

1.Burp中Options->Upstream Proxy Servers,装备原Proxy(你本来上网的)。 root@e:/rootkit# python -m SimpleHTTPSer...