
1) 【一句话结论】:数据库层面需通过数据完整性校验(哈希/数字签名)、加密(传输TLS/存储AES)、访问控制(RBAC/ABAC)等组合措施,从数据全生命周期(生成、传输、存储、访问)保障数据安全,有效应对AIS信号伪造等风险。
2) 【原理/概念讲解】:数据完整性校验用于检测数据是否被篡改或伪造。哈希函数(如SHA-256)将数据映射为固定长度的哈希值,篡改后哈希值改变,可实时验证。数字签名(非对称加密,如RSA)通过私钥签名数据,公钥验证,既验证来源又保证完整性。加密用于保护数据机密性。传输加密(TLS/SSL)在数据传输时加密,防止中间人窃听;存储加密(AES)对存储在数据库中的敏感数据加密,防止物理或逻辑泄露。访问控制用于限制用户对数据的操作权限。基于角色的访问控制(RBAC)按角色分配权限(如船员、管理员),简化权限管理;基于属性的访问控制(ABAC)按用户属性(如部门、角色、时间)动态授权,更细粒度。类比:哈希校验像给文件加“指纹”,伪造后指纹不匹配;数字签名像“电子签名”,证明文件来自谁且未被篡改;传输加密像给数据“穿外套”,传输时隐藏内容;访问控制像公司门禁,不同部门有不同权限。
3) 【对比与适用场景】:
数据完整性校验方法对比:
| 方法 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 哈希校验 | 计算数据哈希值存入数据库,查询时重新计算验证 | 实时检测篡改,无需第三方验证 | 数据入库、传输后验证(如AIS数据实时校验) | 仅能检测篡改,无法验证来源 |
| 数字签名 | 用私钥签名数据,公钥验证 | 既能验证完整性,又能验证来源 | 需要可信第三方(如证书机构)颁发公钥,适用于需要身份验证的场景(如AIS数据源认证) | 需要公私钥对,计算开销较大 |
加密算法对比:
| 算法 | 类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| AES | 对称加密 | 加密解密速度快,密钥短 | 需共享密钥,密钥管理复杂 | 数据库存储加密(如AIS敏感数据) |
| RSA | 不对称加密 | 无需共享密钥,可验证来源 | 加密解密速度慢,密钥长 | 传输加密(如TLS证书)、数字签名 |
| TLS | 传输层加密协议 | 整个传输过程加密,支持证书验证 | 需证书颁发机构(CA),配置复杂 | 数据传输(如AIS数据从设备到数据库) |
访问控制对比:
| 控制类型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| RBAC | 基于角色的权限分配 | 角色对应权限集合,用户属于角色 | 简化权限管理,适用于角色固定场景(如船员、管理员) | 角色定义需合理,避免权限冗余 |
| ABAC | 基于属性的动态授权 | 权限由用户属性(如部门、角色、时间)决定 | 更细粒度,适应复杂业务场景(如临时授权) | 属性定义复杂,需动态计算 |
4) 【示例】:假设AIS数据表(AIS_Data)包含字段:id, vessel_id, position, timestamp, hash_value。插入数据时,计算position字段的SHA-256哈希值,存入hash_value字段;查询时,重新计算position的哈希值,与数据库中的hash_value比较,若匹配则数据完整。示例伪代码:
-- 插入数据时计算哈希
INSERT INTO AIS_Data (vessel_id, position, timestamp, hash_value)
VALUES (1, '40.123, -74.567', '2023-10-01 10:00:00',
SHA2(CONCAT(position, timestamp), 256));
-- 查询时验证哈希
SELECT * FROM AIS_Data WHERE vessel_id = 1 AND
SHA2(CONCAT(position, timestamp), 256) = hash_value;
传输加密示例:使用TLS 1.3协议,客户端(AIS设备)与数据库服务器建立加密连接,所有数据传输(如设备上报的AIS数据)通过TLS加密,防止中间人窃听。存储加密示例:对vessel_id、position等敏感字段使用AES-256加密,密钥由数据库密钥管理服务(KMS)管理,确保存储数据安全。
5) 【面试口播版答案】:面对行业中的数据安全风险,比如AIS信号伪造,数据库层面的防护需从数据完整性、加密、访问控制三方面综合设计。首先,数据完整性校验:采用哈希函数(如SHA-256)实时验证数据是否被篡改,比如插入AIS数据时计算位置和时间的哈希值存入数据库,查询时重新计算验证;若数据被伪造,哈希值不匹配,能立即检测。其次,加密措施:传输时用TLS加密(HTTPS协议),防止数据在传输中被窃听或篡改;存储时用AES加密敏感字段(如船舶标识、位置),防止数据泄露。最后,访问控制:采用基于角色的访问控制(RBAC),按角色分配权限,比如船员只能查询自身船舶的AIS数据,管理员可全查,细粒度控制避免越权访问。这些措施从数据生成、传输、存储、访问全流程保障数据安全,有效应对AIS信号伪造等风险。
6) 【追问清单】:
7) 【常见坑/雷区】: