
1) 【一句话结论】
构建分层、协同的数据安全架构,通过数据分类、访问控制、传输加密、存储加密及审计日志的协同,从数据生命周期各阶段防护铁路客票系统,形成纵深防御体系,确保数据安全。
2) 【原理/概念讲解】
老师口吻解释各组件作用:
3) 【对比与适用场景】
| 组件 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| RBAC | 基于角色分配权限,角色对应一组权限 | 静态角色,权限集中管理 | 标准业务流程,角色明确(如售票员、管理员) | 可能僵化,难以适应复杂业务 |
| ABAC | 基于用户属性(角色、设备、时间等)动态授权 | 动态属性,灵活授权 | 复杂场景,如临时权限、设备安全状态 | 属性定义复杂,计算开销大 |
4) 【示例】
伪代码示例(用户查询车票):
GET /api/tickets?from=北京&to=上海&date=2024-05-20 HTTP/1.1
Host: ticket.railway.com
Authorization: Bearer user_token
User-Agent: MobileApp/1.0
SELECT ticket_id, departure, arrival, price
FROM tickets
WHERE departure='北京' AND arrival='上海' AND date='2024-05-20'
AND encrypted_payment IS NULL -- 仅查询非支付信息,支付信息加密存储
{
"timestamp": "2024-05-20T10:30:00Z",
"user_id": "user_123",
"operation": "query",
"resource": "/api/tickets",
"parameters": {"from": "北京", "to": "上海", "date": "2024-05-20"},
"ip_address": "192.168.1.100",
"success": true
}
5) 【面试口播版答案】
面试官您好,针对铁路客票系统的数据安全架构,我设计的是一个分层、协同的体系。首先数据分类,按敏感度分公开(如车次信息)、内部(用户订单)、敏感(支付信息)、核心(系统配置),不同级别采取不同防护。访问控制用基于角色的(RBAC)和基于属性的(ABAC)结合,比如售票员有“售票角色”,能访问订单数据,而普通用户只能查询。传输加密采用TLS 1.3,所有客户端与服务器通信都加密,比如用户登录时,密码和订单信息通过TLS传输。存储加密方面,数据库中的用户支付信息用AES-256加密,密钥由HSM管理,文件系统中的历史数据用文件级加密。审计日志记录所有关键操作,比如用户查询订单、修改密码,日志包含时间、用户ID、操作类型、IP地址,并存储在安全区域,定期审计。各组件协同:数据分类确定防护等级,访问控制决定谁能操作,传输加密保护传输过程,存储加密保护静态数据,审计日志追溯所有操作,形成闭环。这样从数据生命周期各阶段防护,确保数据安全。
6) 【追问清单】
7) 【常见坑/雷区】