.Net Passport认证过程

【转载】

.Net Passport认证过程[整理]


1 用户通过浏览器访问Passport合作站点并请求某个页面。

2 在创建页面的过程中,会生成一个Passport管理器对象的实例,并由该管理器对象向用户的浏览器发出请求,来检查是否存在有效的Passport Cookies。

3 如果用户浏览器中没有查找的Cookies,或者合作站点需要重新认证,请求的页面就会加载一个登录Passport的链接。否则,用户被认为是合法的,并且会加载一个注销Passport的链接。

4 用户通过点击Passport登录连接开始认证过程,并且被重定向到Passport登录页面。该重定向的URL由Passport管理器生成,附有一个查询字符串,包含合作站点的指派ID以及认证后返回的URL信息。

5 Passport登录服务器首先检查站点ID以及返回URL是否是已注册的合作站点。如果是,将向用户的浏览器发送一个登录页面。如果不是,终止认证。

6 用户在登录页面上输入其Passport登录凭证并通过SSL向登录服务器发送信息。

7 如果用户被Passport登录服务器认证通过,登录服务器将会提取用户的PUID和Passport Profile。并且创建如下的三个Cookies,并用合作站点的公钥对其进行加密:
-Ticket cookie: 包括PUID和时间戳
-Profile cookie: 存储Profile信息
-Visited Sites cookie: 存储用户已经登录的站点列表

8 这些加密的Cookies作为参数被添加到重定向URL,并且返回给用户浏览器。

9 浏览器在用户的机器上保存Cookies,并且重定向到合作站点,同时包含加密Cookies的查询字符串中被附加在URL中。

10 合作站点上的Passport管理器使用该站点的私钥对Cookies进行解密并从中提取用户的PUID以及Profile信息。

11 认证完成,合作站点可以进一步利用Profile信息进行授权。

疑问:
1 如果用户机器上已经存在Cookies,Passport管理器如何检查Cookies的合法性?
-猜想:首先获取Cookies,然后与Passport服务器进行交互,验证通过后由Passport服务器返回用相应站点公钥加密的Cookies。然后,通过浏览器向用户机器写入新的Cookies。

-引出的问题:
1)Cookie中是否包含服务器信息?
2)请求同一个站点时,是否总是携带相应的Cookies?
3)认证后,访问站点的其它受保护的页面时,也是通过Cookies来认证的?

2 Passport管理器如何检查URL附带的查询字符串的有效性?
-猜想:加密Cookies中包含站点ID的加密信息,通过检查站点ID来检测。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Armadillo 是一套强大的软件保护系统,可以为您的程序添加装甲般的外壳。通过艺术性的加密、数据压缩和其它安全特性保护您的程序不被盗版和破解。Armadillo 可以让您在5分钟内为您的程序设计并添加一套完全的软件保护和注册系统,并且不需要您修改任何程序代码!Armadillo 支持所有语言编写的32位 Windows EXE 文件。 1、Nanomites Processing   Nanomites是Armadillo嵌入子进程的INT 3中断,虽然在GETRIGHT FINAL版本里没有使用nanomites 保护,但是却在CRUSADER写的教程里的beta版本里用了。 可能有 50, 100甚至 200个INT 3,它们被放入了子进程的第一个section ,以阻止子进程脱离父进程运行。INT 3中断替代了原始文件的条件跳转。所以每当父进程接收到INT 3中断,它就到存放跳转类型的report中去,看一下标志以决定是否跳转,然后测算出新的EIP,改变到子进程中去然后继续运行直到下一个 INT 3。 2、输入表乱序   Import Table Elimination一般是把输入表放在壳申请的内存处并且乱序处理。   对于输入表乱序,以前有两种解法:①、写代码重新排序;②、直接用ImportRec“创建新的IAT”功能来构造新的输入表。 3、代码拼接   Armadillo会把程序中的部分代码挪移到壳申请的内存段运行,普通dump会导致此部分代码丢失,可以使用ArmInline工具来修复这部分代码 4、内存校验   内存补丁保护可以防止攻击者使用Loader改变更程序的代码。这是付费版本,内存保护将更强大。如果您使用此选项,您必须使用CopyMem-II或Debug-Block,否则本项保护将无法启用。   使用内存保护时应注意,不要在程序里添加自修改代码,否则程序将会自动退出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值