保护好你的秘密

2013 年 12 月 02 日

在自由黑客和政府特工的两面夹击下,想要安全地交换数据很难。大多数安全数据交换都以公钥加密为基础,而公钥加密依赖于信任,可那些窃取数据的人都是滥用信任方面的专家。理应安全的连接也会被降级,安全级别和它最容易被攻破的薄弱点处于同一水平,并且即便最强的加密形式在私钥暴露后面对数据捕获和破解也非常脆弱。

但我们仍然有办法可以保护秘密,特别是在数据交换双方都可控的情况下。本文会介绍一些能够确保应用数据交换安全的办法,在眼下以及可预见的将来都能防止数据被泄露。还会给出应用安全技术的 Java 代码示例。此外你还将学会如何保护自己的在线访问。

信任管理机构

大多数数据交换都以公钥加密作为安全基础。公钥加密的基本原理是使用一对密钥,一把是需要绝对保密的私钥,一把是可以随意分发的公钥。这两把密钥要相互配合使用,任何持有公钥的人都可以对数据加密,而加密后的数据只能由持有私钥的你解密;并且你用私钥加密的数据只有持有公钥的人才能解密。

用公钥加密的作用很明显,因为这样其他人可以向你发送私密消息。而用私钥加密的作用不是那么显而易见,但它在保证安全方面的作用同样重要,因为它可以对消息签名。你能为任何你想发送的数据计算出一个安全摘要(一般是一个很难做逆向计算的哈希码),然后用私钥对摘要加密,并同时发送数据和经过加密的摘要。任何持有你的公钥的人都可以解密你发送的摘要,并在他们收到数据上重新计算摘要。这样他们既能确保他们收到的就是你发送的数据(如果摘要值相互匹配),又能保证确实是你发送的数据(因为用你的公钥解密了经过加密的摘要)。

原文链接:【 https://www.infoq.cn/article/keeping-your-secrets 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2013 年 12 月 02 日 07:33 4571
用户头像

发布了 10 篇内容,共 220131 次阅读,收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

让你大显身手——掌握RocketMQ与Kafka中如何实现事务

小谈

kafka RocketMQ Java 面试 JVM原理 大厂面试

Uniapp使用GoEasy实现websocket实时通讯

GoEasy消息推送

uni-app websocket 即时通讯

最右JS2Flutter框架——开篇(一)

刘剑

flutter 前端 探索与实践

啃碎并发(一):Java线程总述与概念

猿灯塔

架构师训练营 - 第五周命题作业

牛牛

极客大学架构师训练营 命题作业 一致性Hash算法

架构师课程第五周 作业

杉松壁

因为我的一个低级错误,生产数据库崩溃了将近半个小时

鄙人薛某

MySQL 数据库 Java、 故障定位

记录一次拼多多Web前端面试【一面+二面+hr面】

阿文

Spring Cloud Spring Boot Web Java 面试

20道Redis面试题(含答案)面试官会问的我都找到了

你是人间四月天

redis Spring Cloud Java 面试 redis6.0.0 Redis项目

架构师训练营第5周-一致性hash算法总结及作业

傻傻的帅

极客大学架构师训练营

超级专家术语学习机

程李文华

最强总结——分布式事务处理方式

小闫

分布式 分布式锁 Java 面试 分布式存储 分布式缓存

Spring Boot 多数据源 Redis 配置

南南

redis Spring Boot Java 面试 Redis作者

阿里内推面试,挂在了一道简单的问题上…

小新

Java 阿里巴巴 程序员 架构 面试

搞懂Spring事务失效的8大原因,轻轻松松面试过关

码哥小胖

Java spring Spring Boot

打造Redis分布式环境下的银弹?我觉得Redisson比Redlock更胜一筹

码农月半

Java redis redis高可用 Redis项目

架构师训练营作业 (第五周)

王海

极客大学架构师训练营

写给大忙人看的内存管理

cxuan

后端 操作系统

产业区块链发展迎来爆发期

CECBC区块链专委会

产业区块链 系统稳定性 应用安全性 信任的机器

正确的做事比做正确的事更重要

魔曦

架构师 极客大学架构师训练营

数酒瓶童谣:从99数到0

程李文华

架构师训练营 一致性Hash算法Java实现

Cloud.

阿里P7岗位面试,面试官问我:为什么HashMap底层树化的标准元素个数是8

鄙人薛某

hashmap 面试题 Java、 哈希

【week05作业】

chengjing

程序员是这样解读《隐秘的角落》

陈东泽 EuryChen

机器学习 深度学习 程序员 隐秘的角落

第五周总结

武鹏

为你的 SpringBoot 服务生成或推送各平台的部署包

华宇法律科技

Docker k8s springboot

没有微服务项目经验,就别去面试官那里送人头了

小谈

Java 架构 面试 微服务 SpringCloud

深入理解队列:LinkedBlockingQueue源码深度解析

独钓寒江雪

阻塞队列 LinkedBlockingQueue Queue

一篇文章深入理解分布式锁

独钓寒江雪

redis 分布式锁

【week05】总结

chengjing

保护好你的秘密-InfoQ