Java Security(JCE基本概念)
Java Security
网络环境中的安全隐患
计算机安全
OSI参考结构模型
五类安全服务
八类安全机制
网络环境中的安全隐患
1. 存储问题: 移动存储设备存储数据没有加密存在的安全隐患
2. 通信问题: 用户聊天信息有可能被盗取
3. B2C和B2B的交易问题: 有可能被盗取用户名和密码信息
4. 服务交互问题: Web Service接口安全
5. 移动应用服务问题: 移动端软件安全
6. 内部人为问题: 存储数据的透明性
计算机安全
定义: 为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件和软件数据不因偶然和恶意的原因而遭到破坏,更改和泄露
安全技术目标: 有如下五大特性
1.保密性(Confidentiality):也称机密性,确保数据仅能被合法的用户访问,即数据不能被未授权的第三方使用
2.完整性(Integrity):主要确保数据只能被授权方和或以授权的方式进行修改.即数据在传输过程中不能被未授权方修改
3.可用性(Availability):主要确保所有数据在合适的时候可以由授权方访问
4.可靠性(Reliability):主要确保系统在规定条件下,规定时间内完成规定功能是具有的稳定概率
5.抗否认性(Non-Repudiation):也称抗抵赖性,主要确保发送方与接受方在执行各自操作后,对所作操作不可否认
其他补充:
6.可控性:主要是对信息及信息系统进行安全监控
7.可审查性:主要通过审计,监控和抗否认等机制确保数据访问者的行为有据可查
8.认证(鉴别):确保访问者和信息服务者的身份真实有效
9.访问控制:确保数据不能被非授权方或非授权方式使用
OSI参考结构模型
五类安全服务
1.认证(鉴别)服务: 在交互过程中,对收发双发的身份及数据来源进行验证–对应认证机制和数字签名机制
2.访问控制服务: 防止未授权用户非法访问资源(包含用户身份认证和用户确认)–对应访问控制机制和路由控制机制
3.数据保密性服务: 防止数据在传输过程中被破解和泄露–加密机制和业务流填充机制
4.数据完整性服务: 防止数据在传输过程中被篡改–数据完整性机制
5.抗否认服务: 防止发送方与接收双方在执行各自操作后,否认各自所作的操作–公证机制
八类安全机制
1.加密机制: 对数据进行加密,有效提高了数据的保密性,能防止数据传输过程中被窃取。
对应的加密算法有:对称加密算法(DES)和非对称加密算法(RSA)
2.数字签名机制: 利用数据签名技术可以实施用户身份认证和消息认证
常用算法:RSA算法和DSA算法
3.数据完整机制: 生成唯一验证码,用以检验数据完整性
常用算法:MD5算法和SHA算法
4.访问控制机制: 通过预先设定的规则对用户所访问的数据进行限制
RABC(Role Basic Access Control)用户角色访问控制
5.认证机制: 认证的目的在于验证接收方所接受的数据是否来源于所期望的发送方
使用数字签名来进行认证,常用算法为RSA算法和DSA算法
6.业务流填充机制: 通过在数据传输过程中传送随机数的形式混淆真实的数据,加大破解难度,提高保密性
7.路由控制机制: 为数据发送方选择安全的网络通信路径
8.公证机制: 解决收发双发的纠纷问题,确保两方利益不受损害
Java Security(JCE基本概念)的更多相关文章
- AES加密时的 java.security.InvalidKeyException: Illegal key size 异常
程序代码 // 设置加密模式为AES的CBC模式 Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); SecretKe ...
- Java Security: Illegal key size or default parameters?
来自:http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters I ...
- java security
安全性是Java应用程序的非功能性需求的重要组成部分,如同其它的非功能性需求一样,安全性很容易被开发人员所忽略.当然,对于Java EE的开发人员来说,安全性的话题可能没那么陌生,用户认证和授权可能是 ...
- AES加密时抛出java.security.InvalidKeyException: Illegal key size or def
原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java. ...
- java.security.InvalidKeyException: Illegal key size
今天遇到一个奇怪的问题. 自己做的加签验签功能已经没有问题了,本地测试通过,同事放到服务器上测试也没问题. 然后我将包放到自己搭建的环境上,会报这样一个错误: java.security.Invali ...
- Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决
Java实现AES加密,抛出异常如下:java.security.InvalidKeyException: Illegal key size 代码参考 http://my.oschina.net/Ja ...
- Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
How to remove the key size restriction in Java JDK? Are you developing your beautiful application us ...
- What is the reason for - java.security.spec.InvalidKeySpecException: Unknown KeySpec type: java.security.spec.ECPublicKeySpec
支付中心Project重构完成,经过本地测试,并未发现问题.发布到测试环境后,测试发现请求光大扫码https接口时,出现了如下的异常: javax.net.ssl.SSLException: Serv ...
- java.security.InvalidKeyException: Illegal key size aes解密失败
使用微信时定期提示:java.security.InvalidKeyException: Illegal key size和 com.qq.weixin.mp.aes.AesException: ae ...
随机推荐
- Windows系统的Jenkins持续集成环境
Windows系统的Jenkins持续集成环境 如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境.之所以写本文,是因为在最近工作当中,学习使用Jenkins时,确实遇到了一 ...
- 史上最浅显易懂的Git教程1
工作区(Working Directory)就是你在电脑里能看到的目录, 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stag ...
- PowerBuilder -- 变更某列的背景色
记得把background.mode设置为2 li_col++ ls_col[li_col] = ls_fit_no ls_column = ' col' + String(li_col) ls_co ...
- 初学shell,为了练习sed,写了个简单的批量修改文件名的脚本,后来执行时发现系统竟然自带有一个rename命令,顺便也记下了
1 #!/bin/bash 2 <<Comment 3 批量修改文件名的脚本 4 2015/10/24 5 webber 6 Comment 7 ARGS=2 ...
- windows下安装mysql 开机启动
1 下载地址 http://dev.mysql.com/downloads/installer/ 2 下载版本 mysql community server 5.7.x 这个版本是一个傻瓜版本,设置r ...
- Nodejs学习笔记 --- 调用命令方法ld_process.exec()和child_process.execFile()
本文主要记录项目中使用NodeJS实现在线构建项目时,通过代码自动调用命令行. 参考资料&内容来源: Nodejs官网:http://nodejs.cn/api/child_process.h ...
- AsyncTask==Handler+Thread对比使用说明
AsyncTask能够合理且轻松使用UI线程,该类允许执行后台操作和发送结果到UI线程而不需要操作threads或handlers. AsyncTask是针对Thread和Handler代替而封装好的 ...
- 单元測试中 Right-BICEP 和 CORRECT
My Blog:http://www.outflush.com/ 在单元測试中,有6个总结出的值得測试的方面,这6个方面统称为 Right-BICEP.通过这6个方面的指导.能够较全然的測试出代码中的 ...
- java参数传递------真心是值传递
未完待续 不同意的请尽管去深入看一下. 对象是引用传递没错,参数传递是值传递.
- Java for LeetCode 123 Best Time to Buy and Sell Stock III【HARD】
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...