`
a453228609
  • 浏览: 35397 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

账号系统的两阶段登录和三阶段登录

 
阅读更多

单的账号登录是一阶段登录, 也即用户提供用户名和密码, 然后服务器端验证账号和密码是否正确以决定是否成功登录. 一阶段登录其实安全性是非常危险了, 其危险性就在于这个登录流程涉及到的数据都是静态的, 因为用户名和密码一般不会改变.

为了在登录流程中引入动态数据, 必须把流程改为两阶段登录: 1, 获取动态临时 secret salt; 2. 利用 secret salt 加密用户名和/或密码. 而为了实现单点登录(SSO), 还需要利用三阶段登录.

1, 获取动态临时 secret salt

在登录之前, 客户端(浏览器)向服务器请求一个有效期非常短的 secret salt(加密盐), 这个 salt 的有效期一般只有数秒, 将在登录成功或者失败, 或者重新获取新的 secret salt 之后自动失效, 从而保证登录过程即使被截获并重放, 也是无效的.

2. 利用 secret salt 加密用户名和/或密码

用户名和经过加密或者 md5 摘要之后的密码被提交到服务器时, secret salt 并不提交给服务器, 因为服务器端在 session 中保存了这个 secret salt. secret salt 保存在服务器端, 可以避免伪装的 secret salt. 服务器接收到提交的用户名和密码后, 再把数据库的用户名和取出来, 用同样的算法进行加密或者 md5, 然后校验登录状态.

3. 设置跨域 cookie 实现 SSO

为了实现单点登录(SSO), 需要使用三阶段登录流程, 这最后的一步登录被是设置跨域的登录 cookie. 例如, 当用户在 a.com 登录网站时, 如果也希望自动地在 b.com, c.com 等待网站自动登录, 那么就必须将登录 cookie 设置到这些域名之下.

在前面的两个步骤完成登录后, 服务器同时生成一个临时的 token, 这个 token 也有较短时间的有效期, 然后, a.com 的网页把这个 token 带在 URL 中, 利用隐藏的 form(或者 iframe 等)访问 b.com 和 c.com, b.com 和 c.com 的服务器端首先验证临时 token, 如果正确便设置自己域名下的登录 cookie. 最终, 完成了多域名同时登录.

分享到:
评论

相关推荐

    数据库之教务管理系统.pdf

    在教务管理系统中,顶层数据流图描绘了整个系统的概览,一层数据流图细化了系统的主要功能,如学生选课,而二层和三层数据流图则进一步展示了诸如教师登陆、账号管理等具体操作的流程。 概念设计阶段,主要涉及E-R...

    图书馆管理信息系统说明书.pdf

    采用面向对象编程和三层架构(表示层、业务逻辑层和数据访问层)设计,确保系统的可维护性和可扩展性。 三、系统测试与上线 系统开发完成后,需进行单元测试、集成测试和系统测试,确保各模块功能正常且相互之间...

    在线招聘系统毕业论文

    数据需求方面,系统需要存储包括但不限于招聘信息、求职者简历、用户账号信息、权限设置等在内的大量数据。因此,数据库的设计至关重要,需要合理规划实体关系,确保数据的一致性和完整性。数据库的概念不仅涉及表...

    Delphi中基于安全灵活的动态连接远程数据库SQL的实现.pdf

    在Form1中加入三个Label控件和三个Edit控件以及两个Button控件,用于输入服务器名称、登录名和登录密码,并通过按钮触发连接事件。在Form2中加入TADOConnection、TADODataSet、TDataSource、TDBGrid以及Button控件,...

    最新分析的QQ登陆协议

    1. **初始化连接**:客户端与服务器建立TCP连接,这个阶段可能涉及到DNS解析和三次握手。 2. **发送登录请求**:客户端发送登录信息,包括用户名、密码(通常经过加密处理)、设备信息等。 3. **身份验证**:服务器...

    linux复习.docx

    用户通过命令行与系统交互,常用命令有`su`切换用户,`useradd`、`usermod`和`userdel`分别用于添加、修改和删除用户,`groupadd`、`groupmod`和`groupdel`处理组账号,`passwd`设置密码,`id`和`groups`显示用户...

    如何使用抢车位-.docx

    为了达到这个目标,你需要一个主账号和三个小账号。初始阶段,系统会赠送一辆二手奥拓和1000金币。利用这四个车位(大号1辆,小号3辆),每辆车每分钟可以获得5金币。经过12小时,你将拥有大约15400金币,足够购买第...

    COMSOL News 2022 多物理场仿真.pdf

    此外,电动汽车领域的创新也在加速,如Exicom和博世(Bosch)公司,他们正在利用仿真技术优化电动汽车的电池管理系统和三相逆变器设计,以提高效率并减少对化石燃料的依赖。 在制造业中,仿真App的应用成为了一种趋势...

    XXXX年重庆市中小学校长网络远程培训.pptx

    1. **项目概况**:该培训于2010年6月25日至10月20日进行,包括培训者的前期准备、学员的预学习、开班典礼、学习阶段、以及结业和总结。培训内容涵盖管理措施、自我反思、中国传统文化的学习和学校文化建设等多个模块...

    麦轮底盘代码,stm32,c语言, cubemx,hal库,带mou6050陀螺仪

    CubeMX是ST公司提供的一个图形化配置工具,能够帮助开发者快速配置STM32芯片的外设,生成初始化代码,大大简化了项目开始阶段的工作。 HAL(Hardware Abstraction Layer)库是STM32生态系统的一部分,它提供了一套...

Global site tag (gtag.js) - Google Analytics