数据库管理系统中的隐通道传输机制

需积分: 10 2 下载量 137 浏览量 更新于2024-08-26 收藏 1.33MB PPT 举报
"数据库管理系统中的隐通道是一种利用系统内部机制,尤其是数据表的主键唯一性约束,来在不同安全级别的用户之间秘密传输信息的方法。这种方法通常用于在多级安全数据库环境中,允许高安全级用户向低安全级用户提供特定信息。这种传输方式涉及到了隐蔽信道、数据库操作和数据编码等技术。" 在数据库管理系统中,隐通道的建立和利用通常涉及到以下几个关键步骤: 1. **准备工作**: - **数据库选择**:这里使用的是达梦数据库安全版,这是一款支持多级安全策略的数据库系统。 - **同步机制**:高安全级用户通过设置引用完整性,通知低安全级用户数据传输准备完成。 - **数据传输方式**:主要依赖于主关键字的唯一性约束,作为数据传输的通道。 - **编码方式**:数据通常会被转化为UTF-8编码的0/1二进制码,以便于在隐通道中进行传输。 2. **相关表结构**: - 主要涉及`Employee`、`EmployeeA`、`Payroll`和`PayrollA`四张表。其中`EmployeeA`、`PayrollA`和`EmployeeB`可能用于传输数据,而`Employee`表中包含关键字段`term`,用于跟踪传输过程中的轮数。 3. **具体传输流程**: - **步骤①**:高安全级用户(H)插入数据到`EmployeeA`,然后立即删除,直到无法删除为止,此时标记`tag`为1,表示数据已被引用。低安全级用户(L)继续尝试删除,直到再次成功。 - **步骤②**:L尝试插入`EmployeeB`,成功代表收到0,失败代表收到1,之后删除记录。 - **步骤③**:如果L未能成功插入,H会重新开始步骤①,同时更新`term`值。 - **步骤④**:H插入对`EmployeeA`的引用,开始数据传输。插入`EmployeeB`代表传输1,若有数据则删除,无数据则不操作,表示传输0。 - **步骤⑤**:当`tag`为1时,H删除`PayrollA`,表示数据已输入,L可以开始读取。H读取`EmployeeA`并检查`term`,若增加则表明L已完成读取,否则重复传输。 4. **安全措施**: - `term`字段的作用是防止在L未完全处理数据前,H开始传输新的数据,导致信息丢失。它确保了每一轮传输的完整性和顺序性。 - `Payroll`表的数据对低安全级用户不可见,以防止直接访问敏感信息。 这个隐通道流程展示了如何巧妙地利用数据库操作来实现非直接的信息传递,但同时也揭示了多级安全数据库潜在的安全隐患。为了维护数据安全,必须严格控制权限和监控这类可能的非标准通信行为。