(写在前面的话:之前负责了一个关于数据安全接入的模块,涉及到了数据的加密解密,文件校验,下载落地,入库等。在wannercry肆虐之际,更深刻体会到数据安全的重要意义。鉴于此,不才受邀在今天给团队成员统一普及了一下数据安全方面的概念,重点给java同事分享了一下基于java的数据加密解密实现和梁栋的《java加密与解密的艺术》。有感于这次的wannercry风暴,特将今天的培训整理出来和大家分享一下,诚邀勘误指正。 培训资料:参考了梁栋的《java加密与解密的艺术》,大家也可以自行买这本书阅读,应该感谢梁栋为我们提供了一本好书。)
当wannercry横行肆虐的时候,我们除了惶恐还剩什么?面对互联网+时代的到来,预示着我们将赤身裸体地暴露在互联网世界里吗?各类网络病毒的爆发,我们有理由质疑当前主流的安全保障吗?
我从我前段时间负责的数据接入模块(包含数据文件的加密解密,文件校验,下载落地,入库等)和大家分享一下java加密解密的艺术。
1、何谓数据安全?
国际标准化组织(ISO)对“计算机安全”的定义为:为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭受破坏、更改和泄露。【1】
这段摘录下来的概念中,我们需要关注两个词“技术”和“管理”。技术是指我们可以狭义地理解为通过数据的加密等软件层面保证数据安全,管理我们可以狭义地理解为是指我们可以通过磁盘阵列等存储硬件方面来保护数据安全。
总结:保证数据安全的方式,有两个方面:软件层面(技术)和硬件层面(管理)。
2、那满足什么样的要求才叫数据安全呢?
数据安全的五大指标:保密性(非授权方没有访问权限)、完整性(非授权方没有修改权限)、可用性(数据能够及时有效地被授权者访问)、可靠性(系统稳定运行的概率)、抗否认性(确保收发双方对数据操作后的不可否认性)。
3、为保证数据安全,都有那些策略来应对呢?
加密算法和秘钥保证保密性;消息摘要保证完整性;数字签名技术保证抗否认性。
4、数据安全的三把锁。
访问控制,数据加密和证书认证是数据安全的三把锁。
总结,一份数据我们通过设置访问权限,数据加密以及证书认证的方式,以及存储等硬件管理手段,使数据在使用过程中满足保密性,完整性,可用性,可靠性以及抗否认性五大指标后,我们可以说这份数据是安全的。