第二十一章 CSP Session 管理 - 身份验证和加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 第二十一章 CSP Session 管理 - 身份验证和加密

第二十一章 CSP Session 管理 - 身份验证和加密

身份验证和加密

在发送到 HTTP 客户端的页面上放置状态信息是很常见的。当从这些页面发出后续请求时,会将状态信息发送回服务器。很多时候,重要的是将状态信息放置在网页上,以便 a) HTTP 源的查看者无法确定状态信息的值,并且 b) 服务器可以验证返回的信息是,实际上,从同一服务器和会话发送出去。通过其加密服务,CSP 提供了一种易于使用的机制来实现这一点。

Session Key

CSP 可以使用加密密钥对服务器上的数据进行加密和解密。每个 CSP session 都有一个唯一的会话密钥(可通对象 Key 属性中的 %CSP.Session 访问),用于加密会话数据。这种机制是安全的,因为会话密钥永远不会发送到 HTTP 客户端;它作为 %CSP.Session 的一部分保留在 CSP 服务器上,位于对象中。

可以在类中使用 %CSP.PageEncrypt 方法手动加密服务器上的值。可以随后使用 Decrypt 方法解密此值。

加密 URL 和 CSPToken

在某些情况下(如下所述),从 .csp 文件生成的类会自动加密发送到客户端的 URL 值(对于手动创建的类,必须在类中调用 %CSP.PageLink 方法才能执行此操作)。

例如,假设 .csp 文件包含定义指向另一个页面的链接的锚标记:

<a href="page2.csp?PI=314159">Page 2</a>
复制代码

如果此 URL 已加密,则可能会向客户端发送以下内容:

<a href="page2.csp?CSPToken=8762KJH987JLJ">Page 2</a>
复制代码

当用户选择该链接时,加密参数 CSPToken 被发送到 CSP 服务器。然后服务器对其进行解密并将其解密后的内容放入 %request 对象中。如果加密值已被修改或从不同的会话发送,则服务器将引发错误。可以在类 IsEncrypted 方法中使用 %CSP.Request来确定参数值是否最初是加密的。

CSP 编译器会自动检测 HTML 文档中可能出现 URL 的所有位置,并根据需要执行加密(基于目标页面的类参数,如下节所述)。如果以编程方式创建页面,则可以在类中使用 %CSP.PageLink 方法获得相同的行为。

如果将链接作为参数传递给函数,请始终类中使用 %CSP.PageLink 方法,而不是 #url()# 指令,如下例所示:

window.showModalDialog('#(..Link("locks.csp"))#','',windowFeatures);
复制代码

这个使用#url()# 作为函数参数的例子不起作用:

window.showModalDialog('#url(locks.csp)#','',windowFeatures); 
复制代码

如果需要在 .csp 文件中 CSP 编译器未检测到的位置提供加密 URL,请使用 #url()# 指令。例如,在链接是参数的客户端 JavaScript 函数中,可以使用:

<script language=JavaScript>
function NextPage()
{
    // jump to next page
    CSPPage.document.location = '#url(nextpage.csp)#';
}
</script>


相关文章
|
7月前
|
存储 搜索推荐 安全
ISO/IEC 23001:数字版权管理的加密标准(三)
ISO/IEC 23001:数字版权管理的加密标准(三)
130 0
|
7月前
|
存储 编解码 算法
ISO/IEC 23001:数字版权管理的加密标准(一)
ISO/IEC 23001:数字版权管理的加密标准(一)
145 0
|
4月前
|
存储 数据安全/隐私保护
.NET Core 究竟隐藏着怎样的神秘力量,能实现强身份验证与数据加密?
【8月更文挑战第28天】在数字化时代,数据安全与身份验证至关重要。.NET Core 提供了强大的工具,如 Identity 框架,帮助我们构建高效且可靠的身份验证系统,并支持高度定制化的用户模型和认证逻辑。此外,通过 `System.Security.Cryptography` 命名空间,.NET Core 还提供了丰富的加密算法和工具,确保数据传输和存储过程中的安全性。以下是一个简单的示例,展示如何使用 .NET Core 的 Identity 框架实现用户注册和登录功能。
41 3
|
4月前
|
算法 安全 网络安全
|
7月前
|
存储 编解码 算法
ISO/IEC 23001:数字版权管理的加密标准(四)
ISO/IEC 23001:数字版权管理的加密标准(四)
119 0
|
7月前
|
存储 数据安全/隐私保护 数据格式
ISO/IEC 23001:数字版权管理的加密标准(二)
ISO/IEC 23001:数字版权管理的加密标准(二)
94 0
|
存储 Go 数据安全/隐私保护
第二十五章 CSP Session 管理 - 选择策略时的注意事项
第二十五章 CSP Session 管理 - 选择策略时的注意事项
91 0
|
安全 Go API
第二十四章 CSP Session 管理 - 认证架构
第二十四章 CSP Session 管理 - 认证架构
103 0
|
安全 Go API
第二十三章 CSP Session 管理 - 身份验证共享策略
第二十三章 CSP Session 管理 - 身份验证共享策略
79 0
|
Go 数据安全/隐私保护
第二十二章 CSP Session 管理 - Private Pages
第二十二章 CSP Session 管理 - Private Pages
120 0