通过互联网保护与火鸟连接的最佳方法

mou*_*ene 16 database security firebird tunnel

我有一个客户端 - 服务器应用程序,它通过互联网使用firebird服务器2.5.我遇到了安全访问FB数据库的问题,并且作为第一个尝试通过在应用程序中集成隧道解决方案(更准确地说是STunnel软件)来解决这个问题.但是,这个approch受到许多方面的影响: - 这会在客户端/服务器端增加更多的资源消耗(CPU,内存,线程), - 软件部署成为一个严重的问题,因为STunnel软件被写为WinNT服务,而不是Dll或组件(WinNT服务需要安装的管理员权限),我的客户端应用程序需要在没有安装的情况下运行!

所以,我决定用喇叭(或者当我们谈论Firebird时用羽毛抓鸟)来取公牛.我已经下载了Firebird 2.5源代码并直接在其低级通信层(INET套接字层)中注入安全隧道化代码.现在,加密/解密由firebird引擎直接为每个TCP/IP数据包完成.

您如何看待这种方法与外部隧道化?

Nic*_*sky 1

我建议将双方的数据交换包装在 SSL/TLS 流中。这是经过验证的标准。虽然使用静态密钥的自定义实现可能不安全。

例如,具有恒定 IV 的 CTR 模式可以揭示大量信息,因为它只加密增量向量并将其与数据进行异或,因此对两个加密数据包进行异或将显示未加密数据包的异或版本。