前言
安全技术目标
保密性、完整性、可用性、可靠性、抗否认性
OSI安全体系结构
OSI模型 | TCP/IP模型 | 安全实现 |
应用层 | 应用层 | HTTPS |
表示层 | ||
会话层 | ||
传输层 | 传输层 | SSL/TLS/WTLS协议 |
网络层 | 网络层 | 路由器硬件提高 |
链路层 | 网络接口层 | 物理层加密,如 |
物理层 |
安全服务和安全机制的对应关系
安全服务 | 安全机制 |
认证(鉴别)服务 | 认证机制 |
数字签名机制 | |
访问控制服务 | 访问控制机制 |
路由控制机制 | |
数据保密性服务 | 加密机制 |
业务流填充机制 | |
数据完整性服务 | 数据完整性机制 |
抗否认性服务 | 公证机制 |
八类安全机制
- 加密机制
对称加密算法(如DES算法)、非对称加密算法(如RSA算法)
- 数字签名机制
常用的签名算法如RSA算法和DSA算法
- 访问控制机制
常见基于用户角色的访问控制方式,如RBAC(Role Basic Access Control)
- 数据完整性机制
通常使用单向加密算法对数据加密,生成唯一验证码。常用的有MD5算法和SHA算法
- 认证机制
目的在于验证接收方所接收到的数据是否来源于所期望的发送方,通常可使用数字签名来认证
- 业务流填充机制
通过在数据传输过程中传输随机数的方式,混淆真实的数据,加大数据破解的难度
- 路由控制机制
为数据发送方选择安全的网络通信路径,避免发送方选择不安全的发送路径
- 公证机制
作用在于解决收发双方的纠纷问题,确保两方利益不受损害
JAVA EE对密码学的支持
- JAVA API:java security包下的部分类和java.crypto包下的部分类
- JSP容器:常见的应用服务器如Tomcat配置SSL/TLS协议
- JAVA工具:KeyTool管理密钥、证书;JarSigner代码签名