asp.net – 加密cookie中的会话ID(或其他身份验证值)是否有用?

在Web开发中,当启用会话状态时,会话ID存储在cookie中(在cookieless模式下,将使用查询字符串).在asp.net中,会话ID自动加密.互联网上有很多关于你应该如何加密你的cookie的话题,包括会话ID.我可以理解为什么要加密私人信息(如dob),但任何私人信息都不应该存储在cookie中.因此,对于其他cookie值,例如会话ID,目的加密是什么?它会增加安全性吗?无论你如何保护它,它都会被送回服务器进行解密.

更具体,

出于认证目的,

>关闭会话,我不想再处理会话超时了
>在cookie中存储某种id值,
>在服务器端,检查id值是否存在并匹配(如果是),验证用户身份.
>这样,当浏览器会话结束时,让cookie值到期.

VS

Asp.net表单身份验证机制(我认为它依赖于会话或会话ID)

后者提供更好的安全性吗?

解决方法

对Session Hijacking等会话的攻击旨在获得有效的会话ID.如果您现在要加密会话ID,攻击者只会瞄准加密的会话ID,您就没有任何优势.因此加密会话ID是没用的.请记住,会话ID只是用于标识会话的随机值.攻击者不需要知道该随机值是否具有某些特定含义;他们只需要知道随机值.

如果要保护会话安全,请使用HTTPS通过SSL加密整个HTTP通信,并仅使用标志设置cookie

>安全只允许通过HTTPS发送cookie
> HttpOnly禁止通过JavaScript进行本地访问.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....