发信人: lofe (〖感激生活〗), 信区: BorlandDev
标  题: socket连接多层程序安全性简述 - 数据
发信站: 哈工大紫丁香 (2000年12月07日18:00:45 星期四), 站内信件

发信人: flier (小海 //爱喝可乐^_^), 信区: C++Builder
标  题: socket连接多层程序安全性简述 - 数据
发信站: BBS 水木清华站 (Thu Nov 30 03:16:00 2000)

剩下三种数据包/数据包完整性/数据包保密性
其实只是一种安全机制的不同级别实现而已
数据包对发送者的身份加密,完整性和保密性
是对其的有益补充

实际上数据包模式对发送者身份加密实现方法任意
比如可以用Windows提供的那套加密库
呵呵,反正只要你在服务器端对其进行检验
传送中途数据包被截留不会泄露发送人身份或
可以证明发送人身份的数据即可

而完整性可以通过各种算法保证,比如crc,md5都是
可行的,甚至简单一点按位and/or也不失一种办法
只是比较简陋罢了,呵呵,总之要保证数据不会被
中途截留者更改

至于保密性,找一种对称加密算法对全部数据进行
加密,然后将密匙用另外的非对称算法再次加密即可
具体这方面的安全考虑问题可以看看《应用密码学》
具体这方面的安全考虑问题可以看看《应用密码学》
一书,非常不错的这方面的权威书籍 :)

这里需要提及的是这三种模式的实现,
简单一点的可以类似上一个呼叫模式中
在IAppServer::AS_GetRecords或者
其他类似的事件里面实现,参见上篇文章

不过很幸运的是borland提供了一种更加简单可行的方案
IDataIntercept接口

__interface IDataIntercept;
typedef System::DelphiInterface<IDataIntercept> _di_IDataIntercept;
__interface INTERFACE_UUID("{B249776B-E429-11D1-AAA4-00C04FA35CFA}") 
IDataIn
tercept  : public IUnknown
{
public:
 virtual void __stdcall DataIn(const _di_IDataBlock Data) = 0 ;
 virtual void __stdcall DataOut(const _di_IDataBlock Data) = 0 ;
};
他在TSocketConnection类传送数据时会自动被使用
呵呵,用它实现数据完整性和保密性都是非常合适的选择
外加还可以对数据进行压缩,呵呵 :)
外加还可以对数据进行压缩,呵呵 :)
具体使用可以看看Delphi5\Demos\Midas\Intrcpt\目录的例子

MS对这几种安全机制的分类是高级别兼容低级别
实际上在我们自己使用的时候完全可以根据我们的需要
自己灵活混合几种机制进行处理,选择最适合自己项目的解决方案

btw:本来想随便写写,发现好像很多问题都几句话说不清
    等到下个月有时间偶把这些东东好好总结一下写篇
    象样一点的文章出来,呵呵

    其实这些安全模式的实现方式还有很多,偶只是挑出
    偶比较熟悉的比较容易说清楚的介绍,简介嘛,呵呵
    希望能够对大家有帮助,也希望大家积极讨论,批评指正 :)

that all :)
--
 .  生命的意义在于   /\   ____\ /\_ \   /\_\                            
 .      希望         \ \  \___/_\/\ \   \/_/__     __    _ _★          
 .      工作          \ \   ____\\ \ \    /\  \  /'__`\ /\`'_\          
 .    爱你的人         \ \  \___/ \ \ \___\ \  \/\  __//\ \ \/          
 .   和你爱的人         \ \___\    \ \_____\ \__\ \____\ \ \_\          
 .      ……             \/___/     \/_____/\/__/\/____/  \/_/ @126.com 
 .

※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.114.32.18]

--
真正的程序员用C, 聪明的程序员用什么?——Inprise工具!       

欢迎光临BorlandDev版,探讨Inprise编程

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: malacs.hit.edu.cn]
※ 修改:·lofe 於 12月07日18:00:57 修改本文·[FROM: malacs.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.929毫秒