king00star
驱动牛犊
驱动牛犊
  • 注册日期2006-08-17
  • 最后登录2014-04-19
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望92点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:1686回复:3

关于网络数据加密问题

楼主#
更多 发布于:2008-08-26 10:51
现在有一个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驱动没怎么看,知道的能否说下在这层做加解密有什么优劣?
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
沙发#
发布于:2008-08-26 18:28
1 如果能够修改client端的服务器的ip地址,则可以采用虚拟网卡方式。
2 如果对所有数据包加密,则可以选择imd方式。修改mtu,自己copy数据,加密。方式可以参考ipsec3。
走走看看开源好 Solaris vs Linux
king00star
驱动牛犊
驱动牛犊
  • 注册日期2006-08-17
  • 最后登录2014-04-19
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望92点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-08-27 14:30
1 如果能够修改client端的服务器的ip地址,则可以采用虚拟网卡方式。
===
虚拟网卡 加密?我查找了很多资料,没见到这个说法,能否简单说一下原理?
zhanSL
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2010-07-13
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望273点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-08-27 14:53
这个貌似简单的问题其实很复杂,有许多因数要考虑,特别是硬件加密.
既要对网络有相当的了解,还需要对windows内核特别ndis部分精通.
QQ:773709292
游客

返回顶部