原文链接: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需要满足的方方面面。概括一下,该文的主要是说了如下三方面:

  1. SSL v2必须不再使用
  2. TLS v1.0+是可以使用的
  3. 仅仅下面列出的算法是可以使用的

列出的算法(已转换为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

因此,为了达到HIPPA合规,你必须做到:
  1. 关闭SSL v2和SSL v3
  2. 启用TLS 1.0(如果可以的话也启动更高的版本)
  3. 将使用的算法限制在上述列表中

有意思的一点是:这里列出的许多算法并不是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:

  1. Only allowing TLS v1.0+ (no SSL v3)
  2. 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.

Check a domain’s SMTP TLS capability.

[译]HIPAA要求的SSL/TLS等级的更多相关文章

  1. [译]使用AES 256以达到SSL/TLS安全最大化

    原文链接:https://luxsci.com/blog/256-bit-aes-encryption-for-ssl-and-tls-maximal-security.html 原文发表时间:201 ...

  2. [译]SSL/TLS真的被BEAST攻击攻破了吗?真实情况是怎样的?我应该做什么?

    原文链接:https://luxsci.com/blog/is-ssltls-really-broken-by-the-beast-attack-what-is-the-real-story-what ...

  3. 使用openSSL开源工具进行SSL/TLS 安全测试

    本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题.目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / S ...

  4. SSL/TLS 安全测试

    本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题.目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / S ...

  5. 协议森林17 我和你的悄悄话 (SSL/TLS协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...

  6. Paypal开发中遇到请求被中止: 未能创建 SSL/TLS 安全通道及解决方案

    最近在基于ASP.NET上开发了Paypal支付平台,在ASP.NET开发的过程中没有遇到这个问题,但是引用到MVC开发模式中的时候就出现了"未能创建 SSL/TLS 安全通道及解决方案&q ...

  7. 聊聊HTTPS和SSL/TLS协议

    要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接 ...

  8. 浅谈HTTPS和SSL/TLS协议的背景和基础

    相关背景知识要说清楚HTTPS协议的实现原理,至少要需要如下几个背景知识.大致了解几个基础术语(HTTPS.SSL.TLS)的含义大致了解HTTP和TCP的关系(尤其是"短连接"和 ...

  9. 在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) -- 学习

    在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) IS 7如何实现http重定向https HTTPS 升级指南

随机推荐

  1. springMVC数据回显

    1.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  2. 用if写一个备份mysql的脚本

    #!/bin/bash # 备份数据库 BAK_DIR=/data/backup/`date +%Y%m%d` MYSQLDB=dexin MYSQLUSER=root MYSQLPW=123456 ...

  3. [Vue]组件——.sync 修饰符实现对prop 进行“双向绑定”

    一.同时设置1个 prop 1.以 update:my-prop-name 的模式触发事件,如对于title属性: this.$emit('update:title', newTitle) 2.然后父 ...

  4. [spring]xml配置文件中的"classpath:"与"classpath*:"的区别

    <bean id="sessionFactorySaas" class="org.mybatis.spring.SqlSessionFactoryBean" ...

  5. ASP.NET 4.5 MVC 4 无法运行在Windows2008的IIS7.0上显示404的解决方案

    需要在web.config下加上这个 <system.webServer> <modules runAllManagedModulesForAllRequests="tru ...

  6. idea中修改git提交代码的用户名

    1.原因:刚进入这家公司,给同事交接完,直接使用他的电脑,每次提交代码都显示他的用户名,本以为是电脑系统名称呢,可是修改了之后没有效果 2.解决方案: 打开C盘里的 .gitconfig文件 看下gi ...

  7. 6.你以为你真的了解final吗?

    1. final的简介 final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类.即使能够知道final具体的使用方法,我想对fi ...

  8. HDU-4355-三分

    Party All the Time Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. day33 Python与金融量化分析(三)

    第三部分 实现简单的量化框架 框架内容: 开始时间.结束时间.现金.持仓数据 获取历史数据 交易函数 计算并绘制收益曲线 回测主体框架 计算各项指标 用户待写代码:初始化.每日处理函数 第四部分 在线 ...

  10. Math Issues

    Oh no, our Math object was "accidently" reset. Can you re-implement some of those function ...