[译]HIPAA要求的SSL/TLS等级
原文链接:https://luxsci.com/blog/level-ssl-tls-required-hipaa.html
原文发表时间:2015.1.13
本博文仅仅是上述原文的翻译,仅供研究参考,本人不对准确性作任何保证,侵立删,如有转载,需自行承担所有责任。如有翻译不准确的地方,欢迎指教。
SSL and TLS并不是要你做出一个二选一的选择:要么不使用;要么使用,使用了就能安全的连接到email服务器、web站点等系统。SSL/TLS涉及到的协议有许多在配置上的细微区别。使用的协议“版本”和配置细节直接影响到你的连接安全。
有些人不加区别的使用SSL和TLS,但实际上TLS(1.0或更高版本)是SSL(3.0版本)的继任者,更多请参看 SSL versus TLS – what is the difference?在2014年我们知道了SSL v3是非常弱的,并且不应再被使用(参看 POODLE攻击),而应该使用TLS v1.0或更高的版本。
在SSL和TLS配置的诸多区别中,“密码的选择是对安全影响最大的因素。密码规定了使用的加密算法、安全hash算法(消息指纹/认证)以及其他相关的要素。一些使用了很长时间的密码(例如RC4)已经变得不再安全,因此不应在安全环境中再使用。
由于这些区别的存在,人们往往会疑惑到底该怎样才能满足的要求,或者说该怎样才能有效实现TLS安全?(有关HIPPA的概念请咨询度娘,大概意思就是美国卫生部规定的电子数据交换规范。PS:卫生部都能干这个,NB。)
HIPPA是怎么说TLS和SSL的:
卫生部(美国的)发布了有关安全传输健康数据的TLS使用规范,里面有说到:
电子PHI(猜测应该是“个人健康信息”)应该按照HIPPA安全规则要求的方式进行加密,该规则要求“传输数据的算法处理过程必须满足如下要求:如果没有机密处理(?)或密钥,只有极低的概率能猜测到信息的含义”(45 CFR 164.304有关加密定义),并且这种机密处理和密钥还没有被攻破。为了避免机密处理或密钥被攻破,这些加密工具必须存储在设备中,或者存放在与数据不同的地方。下面列出的算法都是被NIST(国家标准技术研究院)测试,满足本标准的要求。
接着给出了什么样的加密处理才是满足HIPPA的:
有效的数据加密处理需要满足(酌情)NIST Special Publications 800-52, Guidelines for the Selection and Use of Transport Layer Security (TLS) Implementations; 800-77, Guide to IPsec VPNs; or 800-113, Guide to SSL VPNs,或者满足其他FIPS(联邦信息处理标准)140-2的方法。
这里的描述中,TLS的使用必须满足NIST 800-52的详细要求。这意味着其他的加密处理,特别是比建议的弱的是无效的。
如果你正在使用的比建议的弱,那么就是无效的,因此出于任何目的的ePHI传输是不安全的并且违反HIPPA规定的。
那么,NIST 800-52是怎么说的呢?
NIST 800-52是一个非常长且详尽的文档,涵盖了政府使用的强TLS需要满足的方方面面。概括一下,该文的主要是说了如下三方面:
- SSL v2必须不再使用
- TLS v1.0+是可以使用的
- 仅仅下面列出的算法是可以使用的
列出的算法(已转换为openssl使用的命名方式)包括:
DES-CBC3-SHA:AES128-SHA:AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:DHE-DSS-DES-CBC3-SHA:DHE-DSS-AES128-SHA:DHE-DSS-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA256:DHE-DSS-AES128-GCM-SHA256:DHE-DSS-AES256-GCM-SHA384:DH-DSS-AES128-SHA:DH-DSS-AES256-SHA:DH-DSS-AES128-SHA256:DH-DSS-AES256-SHA256:DH-DSS-AES128-GCM-SHA256:DH-DSS-AES256-GCM-SHA384:ECDH-ECDSA-DES-CBC3-SHA:ECDH-ECDSA-AES128-SHA:ECDH-ECDSA-AES256-SHA:ECDH-ECDSA-AES128-SHA256:ECDH-ECDSA-AES256-SHA384:ECDH-ECDSA-AES128-GCM-SHA256:ECDH-ECDSA-AES256-GCM-SHA384
- 关闭SSL v2和SSL v3
- 启用TLS 1.0(如果可以的话也启动更高的版本)
- 将使用的算法限制在上述列表中
有意思的一点是:这里列出的许多算法并不是256位的。例如,AES128被允许被HIPPA和高安全要求的政府使用。我们经常听到一些人声称HIPPA需要256位的加密,其实并不是。
LuxSci做了什么?
主要是LuxSci吹牛B的,不翻了,感兴趣的话自己看看,最后提到一个检查SMTP对TLS支持情况的工具可以玩玩。
LuxSci’s services use TLS for secure web site, MySQL, POP, IMAP, and SMTP connections.
LuxSci enables you to use TLS in a HIPAA compliant way by:
- Only allowing TLS v1.0+ (no SSL v3)
- Only allowing connections using a subset of ciphers in the above recommended list
Furthermore, LuxSci allows HIPAA-compliant customers to have email delivered to recipients using “TLS Only” secured connections to recipients servers that support TLS for SMTP. For many customers, the easy-of-use of TLS for secure email delivery is a great solution when available. LuxSci’s systems auto-check all of the recipient’s inbound email servers to ensure that all of them support TLS v1.0+ and at least of the recommended ciphers …. only in this case do we permit use of “TLS Only”. E.g. only in this case can we deliver messages to them in a compliant manner.
We do observe some (a small subset) email servers on the Internet that only support SSL v3 or which only support old, weak ciphers. We do not allow our HIPAA customers to communicate with them using only TLS (SSL), as that would place them out of compliance. We recommend that these servers either upgrade their software configurations or that something like SecureLine Escrow is used to ensure compliant communications with them.
Use our TLS Checker Tool to see if a domain supports SMTP TLS and if its support is “good enough” for HIPAA-compliant email delivery.
相似博文:
[译]HIPAA要求的SSL/TLS等级的更多相关文章
- [译]使用AES 256以达到SSL/TLS安全最大化
原文链接:https://luxsci.com/blog/256-bit-aes-encryption-for-ssl-and-tls-maximal-security.html 原文发表时间:201 ...
- [译]SSL/TLS真的被BEAST攻击攻破了吗?真实情况是怎样的?我应该做什么?
原文链接:https://luxsci.com/blog/is-ssltls-really-broken-by-the-beast-attack-what-is-the-real-story-what ...
- 使用openSSL开源工具进行SSL/TLS 安全测试
本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题.目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / S ...
- SSL/TLS 安全测试
本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题.目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / S ...
- 协议森林17 我和你的悄悄话 (SSL/TLS协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...
- Paypal开发中遇到请求被中止: 未能创建 SSL/TLS 安全通道及解决方案
最近在基于ASP.NET上开发了Paypal支付平台,在ASP.NET开发的过程中没有遇到这个问题,但是引用到MVC开发模式中的时候就出现了"未能创建 SSL/TLS 安全通道及解决方案&q ...
- 聊聊HTTPS和SSL/TLS协议
要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接 ...
- 浅谈HTTPS和SSL/TLS协议的背景和基础
相关背景知识要说清楚HTTPS协议的实现原理,至少要需要如下几个背景知识.大致了解几个基础术语(HTTPS.SSL.TLS)的含义大致了解HTTP和TCP的关系(尤其是"短连接"和 ...
- 在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) -- 学习
在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) IS 7如何实现http重定向https HTTPS 升级指南
随机推荐
- sql server 数据字典的妙用
以下提到的一些需求,你可能会说用SQL server management studio 客户端 看一下不就可以了,何必这么麻烦 ! 是的,当1 个表的时候我们可以人工检查,但当有10 个表,100个 ...
- STL map用法总结(multimap)
2017-08-19 10:58:52 writer;pprp #include <map> #include <string> #include <iostream&g ...
- SQL优化- in和not in
in不会导致索引失效,但最终数据库会将in语句解析为or语句,eg: select * from T_MAIN_PROCESS t where t.audit_status_code in ('05' ...
- Google Java编程风格指南中文版(转)
作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Cre ...
- Generator 函数的异步应用
异步编程对 JavaScript 语言太重要.Javascript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可.本章主要介绍 Generator 函数如何完成异步操作. 传 ...
- Spring Boot的自动配置的原理
Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器. 1.1.1. ...
- 【Python】 简易实现接口测试自动化
实现思路 使用excel管理用例用例信息,requests模块发送http请求,实现了记录日志,邮件发送测试报告的功能 目录结构如下: 下面直接上代码: 统筹脚本 # -*- coding:utf-8 ...
- 尽量不要使用using namespace std
C++标准程序库中的所有标识符都被定义于一个名为std的namespace中. namespace是指标识符的各种可见范围.命名空间用关键字namespace 来定义.命名空间是C++的一种机制,用来 ...
- photoshop CS5制作具有立体感的按钮
今天在学习用photoshop cs5制作html模板的过程中,遇到了立体感按钮的制作问题.当然按钮的立体感也可以用CSS来实现,这里主要是用PS来制作具有立体感的按钮. 我也是PS新手,下面的东西, ...
- Codeforces Round #400
最近好像总是有点不想打,专题也刷不动,还是坚持这做了一场,虽然打到一半就没打了...(反正通常都只能做出两题) 感觉自己切水题越来越熟练了,然而难题还是不会做.. A题,水,用vector存下来就行了 ...