【问题标题】:How can I content-encrypt FHIR/REST如何对 FHIR/REST 进行内容加密
【发布时间】:2016-01-23 06:23:09
【问题描述】:

我们需要通过 HTTP (REST) 传输文档(HL7/FHIR 和其他),但其中网络架构涉及通过解包和重新打包 TLS 的代理的多个跃点。所以 TLS 加密对我们没有多大帮助,因为如果中间的代理可以看到数据,我们就违法了。 (这一切都在一个安全的半私有网络中,但这对我们没有帮助,因为不同的组织拥有不同的盒子,我们需要进行端到端加密)。

因此,我们需要对使用 HTTP/REST 传输的文档进行有效负载加密。这里的常用方法是使用 SOAP 并加密信封。

内容/有效负载加密 REST 传输的数据的最佳机制是什么?它有标准或开放规范吗?在健康或其他行业?

我想一种可行的方法是向 HTTP 请求标头添加一种请求加密内容(基于 S/MIME?)的特殊内容类型。然后,FHIR/REST 服务器应该能够从 HTTP 请求的 Accept-header 中了解必须在响应之前对内容进行加密。只要网址本身不敏感,我想这应该可以吗?

我还猜想,甚至用于加密内容的公钥也可以在特殊的 HTTP 请求标头中传递,服务器可以使用它进行加密吗?或者可以在设置系统时共享密钥?

这是可行且可行的方法吗? HL7-FHIR 工作中是否讨论过有效载荷加密?

【问题讨论】:

    标签: rest encryption hl7-fhir


    【解决方案1】:

    它没有被大量讨论。一种机制是使用二进制资源。只需压缩并加密您要传输的 Bundle/资源,然后将其 base-64 编码为二进制资源。 (我建议压缩,因为这样可以很容易地为 Binary 设置 mime 类型。)然后该资源将成为 MessageHeader 的焦点,它将公开必要的元数据以确保内容在多个跃点之间适当地传递。

    这可能是在 HL7 安全列表服务器上启动的一个很好的讨论,因为他们可能会有一些额外的想法和建议。 (并且还可以确保在最终建议方面的任何地方都被记录为规范的一部分:>)

    【讨论】:

    • 这是否需要对内容进行 base64 编码?是否有另一种机制,例如将加密内容放入多部分 mime 消息中?
    • 其实,没有。如果您将二进制文件与其他内容一起传递到 Bundle 中,则二进制文件只需进行 base64 编码。如果您直接发布或获取它们,则可以传递原始二进制文件。
    • 嗨。一些同事在这里一直在寻找类似的选项,我想知道这是否是推荐的方法。我见过chat.fhir.org/#narrow/stream/179166-implementers/topic/… 这也可能是一个解决方案。我们可以在 FHIR 安全社区中询问有关此与双向身份验证 TLS 的问题,但我正在查看此回复的时间,并想看看这是否是解决内容加密的推荐方法。
    • 除了 TLS 之外,您不会发现对加密的广泛支持 - 因此,如果您能做到这一点,那肯定是首选。加密“部分”信息将需要自定义系统行为。同样,它不太适合直接发布和直接查询的 RESTful 范式,这是系统通常应该尝试迁移到的地方(因为这些方法需要较少的协商并且往往可以更好地扩展)。
    猜你喜欢
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 2021-05-13
    相关资源
    最近更新 更多