数据库管理系统中的隐通道实现与安全传输

需积分: 10 5 下载量 22 浏览量 更新于2024-09-07 1 收藏 1.33MB PPT 举报
"数据库管理系统中的隐通道实现流程主要讲解了如何在多级安全数据库系统中,利用主关键字的唯一性约束创建一个隐通道,从而在高安全级用户和低安全级用户之间传递信息,如用户名和口令。这种方法涉及到数据库表结构设计、数据插入与删除策略以及信号传递机制。" 在数据库管理系统中,隐通道是一种非传统的信息传递方式,它利用系统固有的特性或约束来隐蔽地传输信息。在这个案例中,华科计算机课程中讨论的隐通道实现主要围绕以下几个关键点: 1. **准备工作** - **数据库系统**: 使用了达梦数据库安全版,这是一款支持多级安全策略的数据库管理系统。 - **同步方式**: 高安全级用户通过引用完整性的设置,向低安全级用户发送准备就绪的信号。 2. **表结构** - 主要涉及的表有`Employee`、`EmployeeA`、`Payroll`和`PayrollA`,以及可能存在的`EmployeeB`表。这些表之间的关联关系用于构建隐通道。 3. **数据传输流程** - **启动传输**:高安全级用户(H)尝试插入一条引用`EmployeeA`的数据,成功插入表示开始传输数据。 - **接收数据**:低安全级用户(L)通过尝试删除`EmployeeA`中的数据,成功删除表示接收到数据0,删除失败则表示接收到数据1。 - **数据确认**:H通过检查`EmployeeA`的`tag`字段,当`tag=1`时,删除`PayrollA`数据,表示数据已输入,L可以开始读取。 - **轮数控制**:`term`字段用于记录传输轮数,防止L未及时删除数据导致数据丢失。每次传输后,`term`会递增,H会检查这个值来确定L是否已经读取完当前数据。 4. **防止数据丢失** `term`字段的引入是为了防止L插入`EmployeeA`数据后,H在L删除之前就开始新的传输,这样可能导致数据丢失。只有当`term`增加时,H才确认L已读取数据,否则将继续传输。 5. **效果验证** 最后,通过效果截图可以直观地展示隐通道的运行过程和结果。 需要注意的是,这种隐通道技术在实际应用中通常被视为安全漏洞,因为它可能被恶意用户利用来绕过安全控制,非法传递敏感信息。因此,在设计和实施数据库系统时,必须充分考虑并防止此类安全风险。