代码之家  ›  专栏  ›  技术社区  ›  Apocalisp

API安全问题:SSL或更多?

  •  3
  • Apocalisp  · 技术社区  · 15 年前

    我正在为Web应用程序开发API。桌面客户端将使用简单的HTTP POST(REST)与API交互。我将使用SSL,这是毫无疑问的。我的问题是:在通过SSL发送数据之前,我还应该加密数据吗?发送的信息可能包含机密信息。SSL是否足够,或者我应该做得更多?我唯一关心的是添加额外的安全层会使人们更难与API交互。对此有任何想法都将不胜感激。

    5 回复  |  直到 10 年前
        1
  •  4
  •   Stéphan Kochen    15 年前

    不,SSL提供了强大的加密功能。只要确保你强迫客户使用HTTPS,如果你真的是偏执狂,检查密码是否足够强大。

    您想再次加密的唯一原因是,如果您的Web应用程序将数据直接传递给其他系统。在这种情况下,您可以让Web应用程序忽略实际数据,并在客户机和最终目的地之间提供端到端加密。

        2
  •  2
  •   Fahad Sadah    15 年前

    如果您信任您的证书颁发机构,您的客户机信任您的密钥,并且您的密钥足够安全(RSA 2048暂时不会崩溃),那么SSL就不会有任何问题。在ssling之前不需要加密数据,因为ssl本身提供了加密。

    如果要通过Internet使用此API,请列出证书颁发机构的列表 here 对你选择一个很有用。

    您还可以让客户机通过SSL进行身份验证,并使用SSL客户机证书。

        3
  •  1
  •   Tony The Lion    15 年前

    imho,我不会在已经存在的加密之上添加另一层加密。它将增加开销,正如您所说的那样,增加API的复杂性。ssl的存在是为了在两个节点之间发送安全数据,那么为什么要重新发明轮子呢?

        4
  •  0
  •   Aleksi Yrttiaho    15 年前

    正如sht_)f已经指出的,如果您需要端到端加密而不是点对点加密,那么您需要加密。其他情况下,如果您的客户机应用程序通过集成服务和服务总线与服务器通信,则可能与此相关。在这种情况下,当消息位于中间节点中时,不会强制实施SSL加密,并且该节点可以对未加密的机密数据执行其所需的任何操作。

    此外,如果您的客户机使用这些集成服务,那么它们可能不会在客户机和集成服务之间强制实施SSL连接。

    由于这个原因,在处理高度机密的信息时,我倾向于使用端到端的安全性而不是SSL加密的通信通道。

        5
  •  0
  •   Omar Ali    10 年前

    对。 ssl可以帮助中间人和窃听,但是还有其他的攻击ssl不能帮助重放攻击。