在TCP/IP环境下的网络安全问题和在DELPHI中如何去解决问题的方法(230分)

J

jayhu

Unregistered / Unconfirmed
GUEST, unregistred user!
讨论一下在TCP/IP环境下的网络安全问题
在DELPHI中如何去解决问题的方法。
 
谁的安全性?你程序之间通讯的安全性
还是整个网络的安全性?
 
首先当然是自己的程序和数据传输之间的安全性。
 
如果是Multi-tier数据库编程,用SocketConnection
方式是没有安全性控制的.

如果是自己用Socket通讯,不如自己加密/解密如何?
网上有一些加密/解密算法或控件for Delphi.
 
可以说的详细一些么?
 
可以到深度历险找rc6等的数据加密空间,加密后传送
即可,当然也可以用PGP.
 
请问本站有这样的实现数据加解密算法的控件吗?
 
关键还是你想编什么程序?

Multi-tier 数据库程序设计有多种模式,
DCOM/CORBA/Entera/MTS/Socket,其中
Socket是Inprise自己做的,没有安全功能.
其他的都是相应标准,安全性由他们自己来控制,
只有去看相应资料了.

自己通讯的话,加密了字符串,发送出去,
接收方再解密.不知道还能怎么解释?
不过Socket编程不那么简单,要花很多力气
在"协议"上,如果要加密就更麻烦了.


加密代码或控件都非常小,一口气下载
一大堆也花不了多长时间.
 
sigh.又敲了n长结果一下浏览器出了问题出了毛病。

全没了。

简要说说吧。

1:如果是数据库这种形式的,要进行底层编程。
即win95,98要写vxd,Nt也要自己写driver,将上层
传来的数据(学过网络的分层模式吧)进行
封装。
2;如果是telnet 等模式要对u send or recieve data
进行处理,(加密和解密)至于加密算法
看你的要求了。

以上两点同样适用于服务器。(即客户短,和
server端都需要)

当然从更高层的安全角度来讲是重写网络传输
协议,因为付出代价太大,(要把传输途径
中大部分硬件改掉),所一可以退而求其次。
全部在传输底层进行加密解密。(即抛弃
第2)
因为即使满足2,有时也满足不了安全需要。
安全需要现在比较认可的是
1:时时性
2:完整性
决定系统资源怎样运转以及信息不能被未授权的
来源替代和破坏。
3:机密性:
资源不能被未授权的来源访问。

我们知道即使现在非常流行的ssl系列也不能保证
上面的第二点。我测试表明至少我可以破坏这种
信息。
所以我的做法是(我以前做过的一个项目)
TCP/IP头,包括Eth头只是传输载体。出了
接收发送的地址认证外,其他TCP/iP头
中的数据全部不用。封装在数据体中(加密
过)然后进行传输接受。

至于加密算法,你得看情况了。如果为国
安局做项目,什么都不用。因为他们是硬
加密,用加密机进行加密。不用你费心。

如果需要我可以提供 ssl的源码(win95 VC)
 
那么可否将ssl的源码send to me.让我先学习一下?
 
liuws 老兄:
我也要,谢谢!
 
liuws大虾:
我也想要,给我也传一份吧!
 
利用网络自身的安全机制也是可以的,NT提供了数据加密。
如果在自己的程序中实现加密,需要设置公共密钥
 
公共密钥?能谈的稍微详细一些么?
 
liuws大虾:
我也想要,MY EMAIL IS test@hubu.edu.cn
 
公开密钥的思想时这样的:
加密和解密的算法公开, 但是加密和解密并不是用相同的密钥
其中加密用的密钥是公开的, 但是要想通过公开的算法和加密
密钥计算出解秘密钥应该极其困难(计算量极大)

 
VXD??? 好家伙,吓死我了,为什么这里的人一有问题就来个底掉

其实很简单,如果用 Delphi 的 Multi-tier 的话,TProvider 有
事件 OnGetData 和 OnUpdateData, 在事件中可对数据进行加
密处理.

如果对于通用程序(不能自己修改和控制的程序),做个 Wsock32.dll
外壳足以,或做个 Debug 模式的程序在加载目标程序时 Hook 住
winsocket 的 send 和 receive 相关函数足以。

OK?
 
It seems this problem will never get a better answer, so I give up,
and give points to all of us, exclude myself, :(
 
It seems this problem will never get a better answer, so I give up,
and give points to all of us, exclude myself, :(
 
顶部