7、基于模型的安全权限运行时检查

基于模型的安全权限运行时检查

1. 序列图的动态检查

在系统中,需要解决的一个问题是:系统中分配的所有权限是否能保证序列图中建模的进程得以完成。若一个对象要发送消息,它必须拥有该操作所需的所有权限。静态分配的权限通常不是问题,但动态委托分配的权限则需满足以下条件:
- 权限证书必须在使用前接收,包括使用证书中的权限以及将证书传递给其他对象。
- 证书的发出者必须能够创建该证书,即其必须静态拥有该权限,且该权限可用于委托。
- 证书在使用时必须有效,其有效性的丧失由证书中的时间戳定义。
- 定义为只能使用一次的证书,使用后即失效,其他对象不能再次使用。

以即时通讯服务的序列图为例,对象 Sender 调用 ForS forward() 方法,需要 forward 权限。由于 Sender 没有该权限,它通过消息 create() 传递的证书进行委托:

{certificate = (SubS, null, ForS, forward, InstantMessenger, −1, −1)}

由于缺乏该权限,消息发送者 SubSender 无法创建此证书,必须通过发送 subscriptionConfirmation() SubS 处获取。 SubS </

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值