`
Liner
  • 浏览: 141625 次
  • 性别: Icon_minigender_1
  • 来自: 西南边陲
社区版块
存档分类
最新评论

普通 http 下可靠的网路认证方式

阅读更多
认证过程:

    服务器:对客户端的每次请求,每一次都生成一个随机字符串(变码),该字符串传递到客户端,同时也存储到 Session 中,用于客户端下一次的身份认证。

    客户端:在每次请求发出前,用上次接收的变码和基码计算:md5(基码 + 变码)。请求发出时,将该值一同发送到服务器进行身份的确认。

原理简图:


(图注:在一次会话中,基码的传递是一次性的,随后即脱离 https 进入普通的 http 通讯)

功能:

    可以完全地保证普通 http 网路中会话的身份可靠性 ——即使会话 ID 被劫持盗用也是安全的。
    这里,会话 ID 不是用于身份的确认,而只是用于检索会话数据的索引,如果认证不通过,便不会使用该索引检索进一步的数据。

    其次,因为基码是不会在客户端和目标网站间传递的,所以,它也可以被用作数据加/解密的密钥。这样,在普通 http 明文传输的情况下,不但用户身份可唯一安全的确定,并且其内容数据也可得到安全的加密传输。


前提:

    目标网站可以与 https 认证系统进行通讯以创建和取得基码。

    方法可以有多种,如:

    A、 由目标网站创建基码,发起 https 请求传递基码(和一个索引码)到认证服务器;用户从 https 认证服务器登录,成功后按索引码取得基码。这种方法具有完全的安全性。

    B、 目标网站可以访问 https 认证系统的后台数据库取得基码。这时是由认证服务器创建基码(和一个索引码),客户端通过索引码让目标网站从认证系统的后台数据库中获得基码。

    C、 可以通过文件系统存储基码达到目的。此时也由认证服务器创建基码(和一个索引名),同时向目标网站请求写入基码,文件名为索引名,文件内容为基码。客户端在 https 下获取基码存储到本地,同时以此索引码确认当前会话中服务器使用的基码。

说明:

    如果 https 认证服务器是完全独立的,即目标网站无法或不设置和认证服务器后台数据库通讯的权力,则可采用 A、C 两种方式。这两种方式中后者是不完全安全的,因为认证服务器和目标网站的基码传递是明码。

    这种 https 认证服务器独立的方式,使得可以创建通用的认证服务器。

    如果 https 认证服务器和目标网站共享用户数据库,则可采用 B 的方式,其安全性决定于 Web 服务器和数据库间的连接。


< 浏览器中实现的思路 >
==================
(对应上述获取基码的 A 方式)

    开创 3 个类型的数据存储,处于安全性考虑,存储区仅由浏览器内部使用,不对外开放。
    存储区可以限定为只存储字符串。

    1、
    特定于窗口的「暂存区」,需要引用窗口才能操作该数据,功能取代在 location hash 存储跨域交换数据(指 JS 实现版本)。
    该区为只写,由服务器端的回应头设置,比如:

        WWW-Authenticate: third2auth    # 声明认证类型(乱取的名字哦 ^o^)
        Pragma: code-temp name string   # 对命名窗口 name 设置其暂存区数据为 string。

    2、
    与特定域相关的「基码区」。该区数据只能由浏览器取暂存区数据设置。它由回应头发出一个请求来实施。比如:

        WWW-Authenticate: third2auth
        Pragma: code-base name     # 请求 winname 窗口暂存区的数据为自身域的基码。

    3、
    与特定域相关的「变码区」。该区数据由回应头携带的数据设置,比如:

        WWW-Authenticate: third2auth
        Pragma: code-case string     # 设置变码区数据为 string。


    认证前过程:

    1、
    用户请求目标网站登录页面,登录页面创建基码,并与 https 认证服务器通讯传递基码和一个索引码A。
    如果与认证服务器的通讯成功完成,携带索引码A嵌入(或跳转到)认证服务器的登录窗口。
    用户在 https 登录窗口填写登录信息进行登录认证。

    图示:


    2、
    用户通过 https 认证服务器登录,成功后服务器根据索引码获取基码,同时生成用户身份 ID 的检索码B。
    认证服务器返回一个设置基码到暂存区的请求(code-temp),同时携带检索码B嵌入(或跳转到)原始目标网站的认证确认页面。

    图示:


    3、
    目标网站的认证确认页面根据检索码获取用户身份 ID(目标网站的授权是根据用户的身份 ID 进行的),同时返回一个包含了提取基码的头信息(code-base),于是将基码存储在了浏览器的本域基码区中。

    图示:


    至此,通过 https 的预认证完成,以后的动态认证和通讯就完全脱离对 https 的依赖。

===============================================================================
※ 授权:原创文章,欢迎转载,但请注明出处 @ Liner@iteye.com

  • 大小: 12.1 KB
  • 大小: 15.1 KB
  • 大小: 9.6 KB
  • 大小: 11.4 KB
分享到:
评论

相关推荐

    oracle链接的认证方式

    ### Oracle链接的认证方式 #### 一、Oracle TNS简介 在Oracle中,TNS(Transparency Network Substrate)指的是透明网络底层,它是Oracle数据库网络通信的重要组成部分。TNS不仅包括了监听服务,还涉及到了如何...

    华为路由器怎么做普通密码Telnet认证 (2).docx

    ### 华为路由器普通密码Telnet认证方法详解 #### 一、引言 随着网络技术的发展,路由器成为了连接不同...在实际部署过程中,建议结合具体情况选择合适的认证方式,并结合其他安全措施共同构建稳固的网络安全体系。

    华为路由器怎么做普通密码Telnet认证.docx

    这种认证方式较为简单,适用于基本的安全需求场景。 #### 三、配置步骤详解 **方法一:普通密码认证** 1. **建立网络拓扑模型**:本示例中使用两台华为路由器R1和R2,其中R1的IP地址为192.168.1.1/24,R2的IP地址...

    普通发票网络开具与认证管理系统功能培训.ppt

    普通发票网络开具与认证管理系统功能培训.ppt

    华为路由器怎么做普通密码Telnet认证.pdf

    - **可靠性与线路安全**:路由器应具备备份接口,以应对接口故障或高负载情况,确保网络稳定运行。 - **身份认证**:对访问路由器的用户和路由器间通信进行身份验证,提供不同级别的权限控制。 - **访问控制**:基于...

    网络游戏-家庭网络中认证装置和用户的系统和方法.zip

    综上所述,这个压缩包文件提供的信息涵盖了网络游戏环境中的关键安全要素,特别是家庭网络中的认证装置和用户认证方法,这对于网络管理员、游戏开发者、网络安全专业人员以及普通玩家来说都具有很高的学习价值。...

    酒店无线认证解决方案.pdf

    蓝海卓越酒店行业无线认证解决案基于多年的产品运营经历及对无线认证网络运营需求的深刻理解,旨在为客户建立一个高效可靠、运营本钱低的商用无线认证网络,使无线网络部署轻松、可靠、高效。 该解决方案的设计原则...

    SANGFOR_SSL_v7.6.8_CONF_HTTP(S)短信认证配置指导.pdf

    - **普通模式**下可以使用模板变量user、config、env来构造认证请求。这些模板变量允许在认证请求中嵌入用户信息、全局配置变量和环境变量,从而实现更加灵活的认证流程。 - **高级模式**涉及“自定义请求变量”和...

    华为路由器怎么做普通密码Telnet认证 (2).pdf

    本文将详细讲解如何在华为路由器上设置普通密码和AAA(Autentication, Authorization, and Accounting)认证,确保网络资源的安全访问。 首先,我们来看如何进行普通密码的Telnet认证。在华为路由器中,我们可以按照...

    基于可信联盟的P2P网络身份认证机制.docx

    通过结合区块链技术和局部中心化的管理方式,该机制不仅能提高网络身份认证的安全性和可靠性,还能降低管理成本,提升用户体验。未来,随着区块链技术的不断发展和完善,该机制有望在更广泛的领域内得到应用,进一步...

    上网认证客户端

    然而,在很多场景下,如学校、公司以及公共WiFi热点,用户往往需要面对复杂的网络认证流程,这在一定程度上影响了上网的便捷性。为了解决这一问题,"上网认证客户端"应运而生,它的出现不仅简化了网络认证过程,也极...

    网络可靠性-DLDP技术介绍-D.docx

    通过上述详尽的解析,我们可以看出DLDP作为一种链路层协议,不仅能够有效检测单向链路问题,还能通过不同的工作模式和认证方式提高网络的可靠性和安全性。这对于构建稳定高效的网络环境具有重要的意义。

    锐捷网络认证中心网络管理.pdf

    ### 锐捷网络认证中心网络管理知识点解析 #### 一、网络协议与层次 - **题目1**: IP、Telnet、UDP 分别是 OSI 参考模型的哪一层协议? - **答案**: D(3、7、4) - **解析**: - **IP** (Internet Protocol): ...

    电网核心业务可信身份认证应用研究.pdf

    而在普通场景下,则可采用相对简便的认证方式以保证操作的便捷性。这种模式的可扩展性和灵活性,使得它能够无缝对接电网的核心业务,并在实际操作中实现安全与效率的平衡。 电网业务中可信身份认证的应用,不仅关乎...

    SANGFOR_SSL_v7.6.8_CONF_HTTP(S)令牌认证配置指导.pdf

    总的来说,这份配置指南为SANGFOR SSL设备的管理员提供了详细的步骤,帮助他们成功地集成第三方认证服务器,实现安全的HTTP(S)令牌认证,以确保网络资源的安全访问。在实际操作中,务必遵循文档中的指导,结合第三方...

    淘宝认证大纲

    《淘宝平台操作基础技能认证》的考核内容广泛而深入,它不仅仅局限于淘宝平台的操作技能,更涵盖了电子商务基础、网络营销等多个领域。考试大纲中提到的六个方面的考核内容,每一个都对应了电子商务领域的关键知识点...

    HN华为认证网络工程师HCNP-UC模拟试题(中级含答案).pdf

    HN华为认证网络工程师HCNP-UC模拟试题(中级含答案) 华为认证网络工程师HCNP-UC Fast-Track 模拟考试是华为认证网络工程师HCNP-UC Fast-Track考试的模拟试题,共20题,总分1000分。下面是对每个问题的详细解释和答案...

    无线传感器网络安全认证技术研究.pdf

    通过探索和实现更为高效、安全的网络认证技术,将为无线传感器网络在各行业的广泛应用提供坚实的保障,并进一步拓展其在智能社会发展中的应用空间。随着相关技术的持续进步,未来的无线传感器网络将更加智能化、安全...

    详解Nginx SSL快速双向认证配置(脚本)

    **Nginx SSL双向认证配置详解** 在网络安全日益重要的今天,服务器与客户端之间的通信安全成为了一个不可忽视的问题。...但请注意,这仅适用于那些对安全性有较高要求的场景,对于普通网站,单向认证通常是足够的。

    海关AEO高级认证培训内容(IT).doc

    海关AEO高级认证是针对企业的一种重要资质,旨在确保企业在国际贸易中的合规性和安全性。在IT领域,这一认证涉及企业的信息管理系统、数据管理以及信息安全等多个方面。以下是对这些内容的详细阐述: 1. **信息系统...

Global site tag (gtag.js) - Google Analytics