本任务中确定的高级别安全性模式如下。受安全需求影响的系统体系结构元素(安全性同时影响软件元素和硬件元素)现在可以与一个或多个模式(首选工件:软件体系结构文档中记录的模式)关联,这样就可以在设计期间的活动中对它们进行优化。
身份和认证
最终用户具有一个标识(用户名)和/或一组标识(标题、角色和别名)以及证明(密码),它们可能存放在膝上型计算机或 PDA 等客户机系统上的某个位置。 为了进行认证,当提示用户向应用程序确认自身时,他应向该应用程序出示标识和证明。
如果应用程序验证了标识和证明,则用户就成功地“通过认证”,且身份立即变为“已认证身份”。 如果应用程序实施了业务逻辑并强制使用其自己的安全性策略,它需要将其数据/ 元数据存储在身份数据/元数据存储库(文件系统,数据库等)中。 随着 Web
的出现,最终用户不再仅在自己的系统上存储应用程序客户机代码,而是经常通过浏览器来访问应用程序,而网络会通过最终用户提供的 URI(统一资源标识符)找到应用程序。
单点登录
当用户具有多个应用程序,且这些应用程序分别具有不同的标识和证明时,有时候很难对身份数据和元数据进行管理以作出正确的决策。 单点登录(SSO)是适用于各种技术(人工或自动)的术语,它用于降低复杂度。
SSO 解决方案可以基于客户机或服务器/服务,并且可以与应用程序进行紧耦合或松耦合。 基于 Web 的 SSO 涉及基于浏览器的解决方案,通常包含 Cookie。 在基于客户机的紧耦合 SSO
中,用户的责任是对保留在多个应用程序存储库中的多个标识/密码进行注册和同步。 有些 SSO 依赖于“身份映射”,有些则提供“身份传播”或“身份声明”。 联合 SSO
中的新启动计划允许用户向第三方身份服务供应商注册,随后由该第三方来管理用户信息,因此提供了一种松耦合方式。在企业中,后端 SSO 可包含用作 ISP 的企业。后端 SSO
包含用于所有应用程序的公用存储库,且每个应用程序/服务器都重新配置为不使用本地存储库。 后端 SSO 还可以为用户信息保留多个存储库,并利用管理进程强制对多个存储库中的身份数据进行同步。
当涉及多个身份时,通常需要将应用程序划分为多个域,这些域通常与管理域关联。
数字身份
随着人们和企业越来越依赖于计算机技术,创建的与身份相关的信息大量增加。 由于意识到身份盗用问题,政府正在立法以对作为身份信息保管者的企业提出保护这些信息方面的要求。
数字身份解决方案 - 有两大策略用于管理数字身份。一种是“以用户为中心”,即依靠用户主动地参与身份保护,方法是向第三方供应商注册,然后向他们信任的供应商授予访问其身份数据和元数据的许可权。Liberty Alliance
是引领此策略的组织,但还有一个与 The Apache Foundation 合作 Higgins 启动计划正致力于开放式源代码工作。
第二种是以企业为中心的模型,在此模型中,由企业为其客户、合作伙伴以及员工提供身份管理服务。 每种方法所使用的底层技术是相同的,但提供数字身份管理的监管和职责有所不同。 企业所处理的信息量与个人不同,因此具有不同的伸缩需求。
企业还需要具有自己的系统,以便根据企业角色管理用户访问以及更改企业情况(即您始终是“我自己”,但您不一定始终在同一家公司工作。)
权限
随着人们和企业越来越依赖计算机技术,谁能访问什么资源已编写为规则。 设计应用程序时,谁能访问什么信息的决定可能取决于业务环境信息,或可将其外部化为应用程序并由单独的中间件来处理。
大多数产品和计算机系统都实施了一组“访问控制”机制,但通常都将自己的已授权用户名与资源名称相映射,这称为“访问控制表”。
消息保护
有两种基本保护类型:完整性保护(证明消息在传输过程中未经更改)和机密性(应用密码术来确保只有经过授权的接收方才能够看到此消息)。 当消息通过协议发送时,可对每条消息进行数字签署或加密,或者网络协议可以签署/加密两个入口点之间的所有流量。
当协议提供此保护时,即通常所说的“点对点”(即网络端点到网络端点)。
|