当前位置: 首页 > news >正文

邮件加密之SMIME

S/MIME是一个新协议,最初版本来源于私有的商业社团RSA 数据安全公司。S/MIME V2版本已经广泛地使用在安全电子邮件上。 但是它并不是IETF 的标准。 因为它需要使用 RSA 的密钥交换,这就受限于美国RSA数据安全公司的专利(不过,2001年12月该专利到期)。
S/MIME是从PEM (Privacy Enhanced Mail)和MIME(Internet邮件的附件标准)发展而来的。 同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。但它与PGP主要有两点不同:它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。还有,S/MIME将信件内容加密签名后作为特殊的附件传送,它的证书格式采用X.509,但与一般浏览器网上使用的SSL证书有一定差异。

国内众多的认证机构基本都提供一种叫“安全电子邮件证书”的服务,其技术对应的就是S/MIME技术,平台使用的基本上是美国Versign的。主要提供商有北京的天威诚信(www.itrus.com.cn)和TrustAsia上海(www.trustasia.com.cn),它们一个是Versign的中国区合作伙伴,一个是Versign亚太区分支机构。

实现原理
使用发件人的电子证书,在邮件发送前对邮件进行数字签名,这样不但可以保证发件人的身份,而且在输送过程中不能被人修改。 认证性:internert是一个虚拟网络,对方无法见面,通过电子证书进行数字签名,可保证认证身份。
那么有没有软件可以直接试用呢,答案是有滴,请看下文:
在outlook中启动加密功能的步骤为:

  1. 首先在网上申请经过认证的数字证书,例如:中国电子商务网。
  2. 进行安装数字证书的过程。
  3. 安装完数字证书后,将安装休息反馈给中国电子商务网。
  4. 信息得到确认后即表明加密功能已经启用。

虽然个人可以通过以上方式在平时发送密文邮件,但是证书的维护太麻烦了,你要将自己的私钥给你的对方,要不然别人无法解密你的邮件,如果时企业应用的话就需要一套专业的证书管理系统了,维护起来也是需要一定成本的。

其实新兴的基于身份的密码技术进行电子邮件加密方法更适用一些,据我对多款产品的了解,“隐密邮”是采用“邮件加密网关”的形式进行邮件安全处理的,这种方式可以在不改造现有邮件系统下嵌入“邮件内容加密”功能,其使用了基于身份的密码技术对随机生成对称密码进行保护,然后用对称密钥进行邮件内容的加密,这样就弥补了效率问题,也解决了密钥的安全问题。由于是网关形式,这样即使互联网个人用户也可以放心使用,它采用的是“邮件透明加密”机制,在隐密邮平台上不会留存邮件内容,最重要现在是免费的,对邮件加密感兴趣的小伙伴可以了解下。

转载于:https://blog.51cto.com/14206878/2371107

相关文章:

  • 微信公众平台生成二维码海报是如何做到的?
  • idea thymeleaf 表达式模板报红波浪线
  • 呼叫中心系统常见的数据对接接口方式
  • JAVA8给我带了什么——lambda表达
  • websocket 二合一
  • Python入门教程100天:Day05-练习总结
  • vue-cli3 less全局变量使用
  • 日常压测流程
  • java冒泡排序 常规排序和优化排序
  • Chef宣布100%开源,要走红帽模式?\n
  • Go语言入门之指针的使用
  • Oracle redo解析之-4、rowid的计算
  • D语言/DLang 2.085.1 发布,修复性迭代
  • D3.js入门
  • 数据结构中的各种树简单解释
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Android组件 - 收藏集 - 掘金
  • Go 语言编译器的 //go: 详解
  • Hibernate最全面试题
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JS 面试题总结
  • Logstash 参考指南(目录)
  • MaxCompute访问TableStore(OTS) 数据
  • MySQL用户中的%到底包不包括localhost?
  • PHP 小技巧
  • Python爬虫--- 1.3 BS4库的解析器
  • Spring Boot MyBatis配置多种数据库
  • Swift 中的尾递归和蹦床
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vim Clutch | 面向脚踏板编程……
  • 原生 js 实现移动端 Touch 滑动反弹
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 数据库巡检项
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • $.ajax()方法详解
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (论文阅读40-45)图像描述1
  • (五)网络优化与超参数选择--九五小庞
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .form文件_一篇文章学会文件上传
  • .NET delegate 委托 、 Event 事件
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET MVC 验证码
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET处理HTTP请求
  • .net解析传过来的xml_DOM4J解析XML文件
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递