阅读:1747回复:3
关于网络数据加密问题
现在有一个C/S模式的ERP系统,在不修改应用程序的基础上要对收发包进行加解密。
看了论坛的很多帖子,初步想用NDIS中间层做,这周一直在看passthru代码,但是有几个问题还请大家指教: 1.我初步的想法是:发送端将每个报文的TCP头以上的数据加密,接受端解密。这种需求用NDIS中间层驱动是否合理?还是有更简单的做法。 2 加密算法是对称分组算法,可能导致报文变长。如果是LAN上网的话可以修改MTU,如果有PPPOE,那么NDIS中间层驱动不能修改MTU,是否只能分片? 分片做起来太复杂,时间又少,我的水平不够。 这个系统的客户端可能比较多样,考虑其它各种上网方式,使用NDIS中间层驱动来做的话还有其它什么问题需要注意的? 3.我用depends工具看了一下这个ERP软件,客户端跟服务器交互是用的wininet开发的,但是没看到到wininet.dll调用socket的dll(比如ws2_32.dll)。所以有点疑惑,如果用SPI方式加密的话不知道是否可行?wininet到底是用的那个SOCKET DLL? 4.TDI驱动没怎么看,知道的能否说下在这层做加解密有什么优劣? |
|
沙发#
发布于:2008-08-26 18:28
1 如果能够修改client端的服务器的ip地址,则可以采用虚拟网卡方式。
2 如果对所有数据包加密,则可以选择imd方式。修改mtu,自己copy数据,加密。方式可以参考ipsec3。 |
|
|
板凳#
发布于:2008-08-27 14:30
1 如果能够修改client端的服务器的ip地址,则可以采用虚拟网卡方式。
=== 虚拟网卡 加密?我查找了很多资料,没见到这个说法,能否简单说一下原理? |
|
地板#
发布于:2008-08-27 14:53
这个貌似简单的问题其实很复杂,有许多因数要考虑,特别是硬件加密.
既要对网络有相当的了解,还需要对windows内核特别ndis部分精通. QQ:773709292 |
|