【问题标题】:Custom Application Encryption自定义应用程序加密
【发布时间】:2011-10-28 13:50:16
【问题描述】:

我目前正在寻求为服务器应用程序(用 C 编程)添加加密功能,该应用程序通过 TCP 将原始数据、未加密数据传递给客户端(使用多种不同语言编写的大量不同应用程序)。

最好的方法是什么?公钥密码学?如果是这样,这个过程将如何进行?

谢谢!

【问题讨论】:

    标签: c encryption tcp public-key-encryption


    【解决方案1】:

    如果你不得不问,你可能没有资格从事加密工作。在加密处理中犯一个会破坏整个系统安全性的细微错误是非常容易的,而且与大多数其他错误不同,它在其他人破坏您的系统之前并不明显。

    只需使用 SSL(又名 TLS)。设计 SSL/TLS 规范和库的人已经为您完成了所有艰苦的工作。

    【讨论】:

    • 尤其是如果您有“大量不同的应用程序以多种不同的语言编写”。 TLS 得到非常广泛的支持。
    • 我是否合格(诚然,我不合格)并不重要,因为工作需要完成,而我就是那个人。因此,我正在寻找最佳的入门方式。
    • 另外,目前还没有其他应用程序支持加密。我唯一可以控制的是服务器,所以我正在寻找其他客户端能够添加此支持的最佳、最灵活的方式。
    • @Fran,我的意思是,使用 SSL 库很好。但是,如果您想从头开始编写一个新的类似 SSL 的协议,请停止。很少有人有资格这样做并期望结果是安全的。
    【解决方案2】:

    SSL:安全套接字层,它启动和传输加密数据。

    TLS:传输层安全性,它要求 starttls 并且答案是功能列表,然后可以使用相互接受的最佳加密继续传输。

    注意:功能可能包括明文。

    我建议阅读一个示例,例如 smtp starttls(rfc 2487),了解如何扩展现有协议以支持 TLS。您投入的时间将得到回报。

    【讨论】:

      【解决方案3】:

      OpenSSL 适合我的需要!快速浏览文档和教程为我指明了正确的方向。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-14
        • 2017-12-04
        • 2021-10-24
        • 2011-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多