一、雅虎、Gmail

Domainkeys 是由雅虎公司推出的一项确保电子邮件来源的真实性和内容的完整性的技术,它能让电子邮件服务商确定某封信是否真实的来自某个域和帮助他们的用户免受“钓鱼欺诈邮件“的损害,比如用户常收到伪造这些机构的诈骗邮件,然后索取用户的信用卡卡号和密码。 而对于金融机构等公司也有保护用户的交易信息,提高用户满意度,减少客服咨询处理量和品牌保护的作用。

Domainkey的工作原理是:发信域的负责人首先生成一对公私钥用于对它发出的邮件进行签名,公钥需要部署到公共的DNS 服务器上供所有收信方查询。而私钥则用于加密自己发出的信。这样只有含有用这个私钥加密后的字符串的邮件才是该域发出的邮件。收信方在收到邮件时,可以通过公用DNS查询它的公钥,然后用该域的公钥来解密验证收到的邮件。如果验证是正确的,这封信就被投递到用户的邮箱里;如果验证失败,邮件将会被丢弃或者标志。这样用户在所收到的邮件就能确保邮件确实是该域发出。

Domainkey的验证过程:例如user@a.com发送给user@b.com,a.com的mta会在每封发出的邮件里根据私钥生成一个签名.当b.com的mx服务器在接收邮件时会根据发送方邮件头里的签名查出selector(即s字段,用于签名.例如dk),则b.com的mx会查找dk._domainkey.b.com的txt记录得到公钥.然后使用公钥对签名进行核实。

DomainKeys的实现过程:

发送服务器经过两步:

1、建立。域所有者需要产生一对公/私钥用于标记所有发出的邮件(允许多对密钥),公钥在DNS中公开,私钥在使用DomainKey的邮件服务器上。

2、签名。当每个用户发送邮件的时候,邮件系统自动使用存储的私钥来产生签名。签名作为邮件头的一部分,然后邮件被传递到接收服务器上。

接收服务器通过三步来验证签名邮件:

1、准备。接收服务器从邮件头提取出签名和发送域(From:)然后从DNS获得相应的公钥。

2、验证。接收服务器用从DNS获得的公钥来验证用私钥产生的签名。这保证邮件真实发送并且没有被修改过。

3、传递。接收服务器使用本地策略来作出最后结果,如果域被验证了,而且其他的反垃圾邮件测试也没有决定,那么邮件就被传递到用户的收件箱中,否则,邮件可以被抛弃、隔离等。

DomainKeys技术通过防止邮件地址欺骗来解决困扰整个互联网的垃圾邮件问题,可以有效地阻止了各种各样经过改头换面的垃圾邮件; Domainkey是在接收方邮件运营商支持的情况下才有效,否则对接收双方是没有意义的,因此从本质上来说,也不能鉴定一个邮件是否是垃圾邮件。

二、微软 Hotmail

2004年,Gates曾信誓旦旦地预言微软能够在未来消灭垃圾邮件,他所期望的就是Sender ID技术,但是,最近他则收回了他的预言。这也就是标准之争,微软希望IETF能够采用Sender ID技术作为标准,并且得到了大量支持,比如Cisco, Comcast, IBM, Cisco,Port25,Sendmail,Symantec,VeriSign等,也包括后来又倒戈的AOL的支持,但是在开源社区,微软一直没有得到足够的支持,IETF最终否决了微软的提议。

SMTP协议本身是一个简化的邮件递交协议,缺乏必要的身份认证,这是造成垃圾邮件泛滥的原因之一。针对这种情况,人们提出了一系列方法,如SPF(发件人策略框架)、CallerID(呼叫者身份认证)等等。SenderID技术是由微软公司提出的,就是CallerID技术和SPF技术的结合体。顾名思义SenderID技术就是根据发送方所提供的表明来源的信息来决定接收与否。事实上,这种技术并不直接判断某封邮件是否是垃圾邮件,而是判断邮件的来源是否与其标称相符。也就是说,它不是用来阻止垃圾邮件的发送,而是正确回答“谁发送了邮件”这个基本问题,从而使得垃圾邮件的判定更加简单。

SenderID的工作流程大致分为四步(如图1):

第一步,发信人使用自己的PC机撰写一封邮件;

第二步,撰写完毕,P机通过SMTP协议,路由发送该邮件到接收邮件服务器;

第三步,接收邮件服务器通过SenderID技术对发信人所声称的身份进行检查(该检查通过DNS的特定查询进行);

第四步,如果通过检查,发现发信人所声称的身份和其发信地址相匹配,那么接收该邮件,否则对该邮件采取特定操作,比如直接拒收该邮件。

SenderID技术主要包括两个方面:发送邮件方的支持和接收邮件方的支持。其中发送邮件方的支持主要有三个部分:发信人对其DNS的修改,增加特定的DNS资源记录以表明其发信身份;发信人在其外发邮件服务器的发信通信协议中增加SUBMITTER扩展;发信人根据情况在其邮件中增加Re-sent-Sender、Resent-From、Sender和From等信头。接收邮件方的支持有:收信人对收到的邮件通信信息进行DNS查询,通过特定的DNS资源记录检查其发信身份。这些检查的通讯信息包括EHLO/HELO信息、MAIL FROM信息、信头中特定的字段信息等。

SenderID技术抓住了垃圾邮件发送的一个重要特征,那就是垃圾邮件总是想方设法地掩盖其发送来源,通过这一点可以避免被阻挡、追踪和逃避法律责任。因此,广泛实施的SenderID技术可以对垃圾邮件的生存造成致命的打击。

当然SenderID也有缺陷:其一,因为SenderID技术只是一个解决垃圾邮件发送源的技术,从本质上来说,并不能鉴定一个邮件是否是垃圾邮件。比如,垃圾邮件发送者可以通过注册廉价的域名来发送垃圾邮件,从技术的角度来看,一切都是符合规范的;还有,垃圾邮件发送者还可以通过别人的邮件服务器的漏洞转发其垃圾邮件,这同样是SenderID技术所不能解决的。其二,SenderID技术需要对DNS机制进行扩充,实施比较难

DomainKey和SenderID技术解决的问题是邮件地址是否合法有效,这样一则可拒绝邮件地址和签名不一致的邮件,二则可辅助“白名单”和“黑名单”进行过滤。这两项技术的缺陷是需要对现在所有的邮件服务器进行升级改造,需要业界的共同行动。

如何让企业邮箱更安全之gmail yahoo hotmail 反垃圾邮件机制的更多相关文章

  1. 检查邮箱IP是否在国际反垃圾邮件组织的黑名单中

    有时候邮件发不出去,很有可能就是邮件服务器的IP被国际上一些反垃圾组织列入黑名单了,这时你可以通过返回的邮件判断是否进入黑名单,或者通过以下查询地址看是否被列入,然后一个个申请移除: http://m ...

  2. 企业邮箱选择,商务办公为什么选TOM企业邮箱?

    企业邮箱是工作中的重要工具,它可以帮助我们更规范的上传下达.更高效的管理工作,也是拓展合作伙伴的敲门砖及必杀技.比如写一封诚意满满的合作邀请,再比如重要关头写一封合作协议.毫不夸张,企业邮箱不仅能节省 ...

  3. 微信时代,"邮"你选择 腾讯企业邮箱推新玩法

    近日,腾讯企业邮箱在广州.北京.南京三地举办<微信时代,“邮”你选择>企业邮箱新方向客户见面会,同时也正式宣布将打通微信.“拥抱”移动办公,领航国内办公工具移动之“变”. 据了解,腾讯企业 ...

  4. 配置QQ企业邮箱小结

    https://exmail.qq.com/login 1,注册管理员账号 2,添加域名 3.设置MX记录 记录类型选:MX记录 主机记录(RR):不填(非万网可以填写@) 记录值与MX优先级分别为: ...

  5. 解析腾讯企业邮箱到自己域名,设置mail的cname

    之前注册了腾讯企业邮的免费邮箱,后来想把企业邮箱和域名绑定起来,发现了一些问题. 先来看正常的部分,假设你已经注册过了腾讯企业邮箱免费版,并且已经绑定好了域名. 然后在域名提供商那里设置域名解析的MX ...

  6. 腾讯QQ企业邮箱在ruby on rails 框架中的mailer配置

    在编写ruby on rails程序时,我们可能会需要用到发送邮件的程序,如果使用gmail进行smtp发送一般问题不大,但很多企业使用的是腾讯QQ企业邮箱.使用该邮箱进行链接时出现各种错误,goog ...

  7. MVC4/5+jquery+bootstrap样式+dataTables+linq+WCF+EF6后台和前台的框架集合!好蛋疼哦!数据库支持MYSQL 和MSSQL,oracle。集成腾讯企业邮箱收邮件同步用户SSO登陆等功能。

    花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才 ...

  8. 利用hutool配置发送邮件的问题 及 阿里企业邮箱526 Authentication failure 错误问题

    hutool 中发送邮件的配置的比较简单.可以参考hutool 官方的教程. 个人尝试了qq邮箱发送邮件 和 阿里企业邮箱发送邮件. 主要是配置不一样: 一.qq邮箱 qq邮箱 我的邮箱配置是: # ...

  9. Java + 腾讯企业邮箱 + javamail + SSL 发送邮件

    说实话腾讯的企业邮箱真心不错! 腾讯企业邮箱官网:http://exmail.qq.com/login/ 新用户注册:http://exmail.qq.com/onlinesell/intro 点击开 ...

随机推荐

  1. Spring Cloud断路器Hystrix

    在微服务架构中,存在着那么多的服务单元,若一个单元出现故障,就会因依赖关系形成故障蔓延,最终导致整个系统的瘫痪,这样的架构相较传统架构就更加的不稳定.为了解决这样的问题,因此产生了断路器模式. 什么是 ...

  2. 调用notify()后,当前线程执行完synchronized块中的所有代码才会释放锁

    package com.pinnet.test; public class Demo { public static void main(String[] args) { Demo demo = ne ...

  3. Git - 必知必会

    配置Git git config --global user.name "your_name" # 配置全局用户名 git config --global user.email & ...

  4. 关于axios及其在vue中的配置

    什么是axios?官方解释:axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 具有以下特点: 从浏览器中创建 XMLHttpRequests 从 nod ...

  5. 关于c++类的一些知识的总结

    1.经常会听到“类的声明.类的定义.类的实现”,它们之间有什么不一样? 经过查阅https://www.cnblogs.com/kkshaq/p/4660073.html博客的说法,类的声明是在.h文 ...

  6. 【xsy2272】 与运算 状压dp

    题目大意:给你一个长度为$n$的序列$a$,我们定义$f_i$表示序列$a$前i项一次进行按位与运算后的值. 我们认为一个序列的价值为$\sum_{i=1}^{n}f_i$,现在你要重新排列序列$a$ ...

  7. linux 下 etc常用配置信息

    这些都是比较有实用性的系统配置,收藏下,以备不时之需!以下是etc下重要配置文件解释: 1./etc/hosts  #文件格式: IPaddress hostname aliases #文件功能: 提 ...

  8. fastjson的JSONArray转化为泛型列表

    背景:一个复杂结构体内部可能有array的数据,例如:{name:"test",cities:[{name:"shanghai",area:1,code:200 ...

  9. 垃圾回收(GC)相关算法笔记

    GC需要完成的3件事情: 哪些内存需要回收? 什么时候回收? 如何回收? 引用计数算法 给对象中添维护一个计数器,每当引用这个对象时,计数器加1:当引用失效时,计数器值减1:当计数器值为0时,表示这个 ...

  10. 15 图-图的遍历-基于邻接矩阵实现的BFS与DFS算法

    算法分析和具体步骤解说直接写在代码注释上了 TvT 没时间了等下还要去洗衣服 就先不赘述了 有不明白的欢迎留言交流!(估计是没人看的了) 直接上代码: #include<stdio.h> ...