说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi编写网络程序的安全措施

HTML文档下载 WORD文档下载 PDF文档下载
Delphi编写网络程序的安全措施

Delphi的MIDAS控件为编写网络程序提供了十分方便的手段。利用这些控件,可以编写局域网上的客户机/服务器体系程序,也能方便地在Internet上创建分散处理的应用。

网络程序的一个重要问题是安全性考虑。一些敏感数据在网上传送,很有可能被人非法拦截以造成不必要的损失。在实际的编程过程中,我采取了一些有效的防范措施,在此作些简单的介绍。

一、 原理

目前进行数据加密的方法很多,对数据的保护起到一定的作用。但如果采用固定的密钥或是密钥随数据一起传送,则均不能达到令人满意的保密效果。在实践过程中,我摸索出了一套“请求-应答”模式的随机密钥方法,对密码和数据的保密效果都令人十分满意。

当客户端程序启动并企图与服务器程序建立连接时,客户程序从服务器端取得一个由服务器程序产生的随机字串,系统将以此字串为密钥来传送用户登录密码和数据。由于密钥由服务器程序随机产生,客户每次登录时密钥均不相同,因此大大减少了密码被拦截导致数据被窃的可能性。

服务器端可以在远程数据模块中引出一个自定义接口,该接口返回一个随机字串。远程数据模块要记录该字串作为后续处理的密钥。随机字串的产生法可以多种多样,最简单的方法是用Random()函数产生一个随机数后再由此数用Format()函数或IntToStr()产生一个字符串。

二、 用户登录措施

为了防止程序被非法调试从而泄露密码,必须将客户的登录信息在服务器端处理,也可以专门增加一个安全层负责客户的登录。客户的登录信息储存在客户资料表中,包括用户名、密码、权限等信息。

客户程序登录时,先调用服务器程序的接口获得密钥字串,并用此密钥对用户输入的用户名和密码进行加密并向服务器发送登录信息。加密算法可以是DES算法或其它有效算法。服务器接到登录信息后,先用先前产生并记录的随机密钥对登录信息进行解密,再将解密后的信息与存储的客户资料表中的信息进行对照,从而判断客户信息是否合法以及该客户享有的数据权限等。

该过程的客户端程序如下:

strKey:=myRemoteSever.GetKey();

{调用服务器的接口获得随机密钥}

UserName:=Ency(strUserName

strKey);

{对用户名加密,Ency()为加密算法}

Password:=Ency(strPassword

strKey);

{对登录密码进行加密}

If myRemoteServer.LogIn(UserName

Password) then {登录}

Begin

{进行处理}

End;

服务器端的登录过程LogIn()如下:

strUserName:=DeEncy(UserName

strKey);

{对用户名解密,DeEncy()为解密算法}

strPassword:=DeEncy(Password

strKey);

{对登录密码解密}

{查询数据库}

if (Pass) then

Result:=true

Else

Result:=false;

要注意的是,在服务器程序和客户程序中,StrKey均应定义为全程变量。

为了防止客户资料表被程序外打开从而泄露密码,可以对客户资料进行一定的加密措施,例如PARADOX表可以添加Password,服务器程序在访问客户资料表时先提供该Password。

三、 数据传送

在网络程序中,一些敏感数据在网上传送时必须加密。Delphi的MIDAS机制提供了数据加密的途径,可以在数据传往客户端之前对一些字段进行加密,也可以在接收到客户端的更新数据请求后对来自客户端的数据的相应字段进行解密后才向数据库进行更新。为了达到些目的,可以在服务器程序的远程数据模块中加入一个Tprovider或是TdataSetProvider对象,并将此对象的DataSet属性置为要处理的数据集。在Tprovider的OnGetData事件中加入如下代码:

with DataSet do

begin

while not EOF do

begin

Edit;

SensitiveData.AsString :=

Ency(SensitiveData.AsString

strKey);

{对敏感数据加密}

Post;

Next;

end;

end;

以上代码可以将敏感数据加密后再送往客户程序。

同样,在Tprovider的OnUpdateData事件中加入一些处理代码便可对客户端送来的数据进行解密。

以上只是介绍了网络程序安全措施实现的一般原理,在此基础上,可以增加其它保密措施,以达到更好的保密效果。例如,客户程序可以用特定的辅助硬件设备来增加安全性。在智能卡应用程序中,客户程序在登录时不仅要求用户输入用户名和密码,程序同时检查IC读写器中IC卡的类型及特定的内容,这样,既使密码泄露了不会被人冒名登录。当然,任何安全措施都不是绝对安全的,安全措施还要有严格的保密制度及使用人员的高度的保密意识才能真正起到保密作用。

2013中国互联网安全大会:云环境带来的安全隐患和机遇 2013中国互联网安全大会:软件安全新挑战 专访Line大中华区总裁:即使卖萌,也能深入人心 iOS开发者必备:四款后端服务工具 市场研究公司:iPhone5C/5S成本分别是173、199美元 对软件开发有利的5个敏捷编程方法 移动端性能大比拼:CSS Sprites vs. Data URI 三大峰会七大论坛,2013移动开发者大会将于11月在京举行 黑莓47亿美元收购的背后 微软或成最大受益者 搜索大战升级:360搜狗相互起诉对方不正当竞争 诺基亚将于10月22日发布6款新产品 平板Lumia 2520等 从17美元到50美元 Facebook股价上涨背后的两大关键 12个理由:为什么我会认为Android比iOS 7好! AMD推 "Mantle" API 欲释放GPU全部潜能 Salesforce架构:日事务过13亿,2.4万TPS的数据库峰值 久违的iOS,新鲜的SDK,豌豆荚发布云相册 喜大普奔:谷歌15岁了,生日快乐! 传福特CEO Alan Mulally目前最有希望执掌微软 微软计划将WP8和Win8应用商店合并?太好了! 响应开发者要求:Kinect for Windows SDK 1.8发布 OpenStack基金会BD总监:希望有更多的中国公司加入 CTO如何避免决策失控(三):从CEO角度看CTO的应对能力 IT界需求最旺的16项技能 PMC发布8系列RAID卡 找准国内互联网企业需求 早Google一步,eBay数据中心率先搭载了火星上使用的技术 目标专利2000,技术研发人员占55%,斐讯的厚积薄发 SwiftStack CEO:分布式存储的未来 触控陈昊芝:“好声音”标王对移动游戏未来的预测 Office将更强大:微软正开发Office Reader和Office Lens 百度技术专家详解Clouda 并称计划推出相应UI解决方案 少年才俊:看IT界8个不到20岁的科技公司创始人 请问如何用网站提供的搜索引擎,知道查找关键字,我用的是WebBrowser1,100分呀 tomacat的配置问题?急 学过严蔚敏的〈数据结构(C语言版)〉的请进! 开发过nokia上运行程序的朋友,请进来,本人遇到一个非常麻烦的问题,欢迎各位赐教. 如何从字符串中提取单词? 谁知道那里有longhorn下载??? 100分请教实现播放列表的思路? 有关图形化公交车线路的问题!! 关于网站软件工程的问题 我的sqlserver 2000 在安装的时竟然说什么不支持??? 免费ASP空间申请 有关用Firework作网页模板的问题-急! 大虾请指点~~!!~~ 如何固定游戏中的分辨率? 今天见到了蓝心MM,估计她是CSDN有史以来最PL的MM。 也来贴一篇!!!送给大学毕业几年的哥们!(转) 急:关于weblogic的控制台 ? 请问各位:哪里有好的javascript的教程? 小问题 请问在哪里可以找到监控局域网的网络流量的工具,不够再加? 免费ASP空间申请 白羊座的进来领分,水园里白羊座好像很少。。。。 ie无法编译jsp? 300分!求《程序员增值合订本》上册中的"完全掌握TCppWebBrowser控件"内容! Google搜索从入门到精通(散分) 由于工作需要,将要转到Linux平台,请问那位知道有什么好的SQL Client在Linux下? 由于工作需要,将要转到Linux平台,请问那位知道有什么好的SQL Client在Linux下? 你是怎么过的?CSDN无高人?:( 找asp.net入门经典!一定是C#写的!!!在线等! 菜鸟的关于DataGrid的问题 资源管理器中选中的多个文件怎样传给我的程序 什么是“三层数据库”和“嵌入式软件系统”? 什么是“三层数据库”和“嵌入式软件系统”? 类似"hello world"的简单问题,求教 免费ASP空间申请,支持ACCESS 事件的终止? 数据追加求教:谢谢您!!!! 请问InputBox在framework 类库里面有没有代替的阿? 为什么我写到文件中的字符总长度比我实际应该要写的多? 如何使dbctrlgrid多选,并使鼠标右击相当于鼠标左击 关于静态IP地址,急!!! 如何将tomcat做为windows的一项服务启动? 请问各位大虾,哪有paradox(INPRISE 公司产品)数据库(*.DB)的资料? 非法操作的问题 请问各位大虾,哪有paradox(INPRISE 公司产品)数据库(*.DB)的资料? 各位大虾救命啊!请问怎么在一个DIALOG中使用RICHEDITVIEW,谢谢大家了 ACCESS的删除问题 我有“处女”情结,可.............. 菜问题,,马上给分sendto问题 while和for的区别 求求你了,回答我吧 修(取下)门把手要注意哪些问题? 什么是共价离子化和物?RT Let me ___ it under water,put some medicine on it and put a bandage on it. 现有等质量的SO3与SO2气体,计算 1.SO3与SO2的物质的量之比为多少 2.SO3与SO2的分子数之比为多少 3.SO3与S现有等质量的SO3与SO2气体,计算1.SO3与SO2的物质的量之比为多少 2.SO3与SO2的分子数之比为多 离子化钙质是什么?懂的说下. 1+1=?, 聊天室 英文怎么说求求、各位哥哥姐姐. 什么是离子级化 You should put some medicine on your cut.(变否定) 细菌耐药怎么办?别滥用抗生素 苯酚离子化是什么意思 3Q 已知2^a=3,2^b=6,2^c=9,求abc之间的关系. “它是以丑为美的.”这里的“美”指的是 我要20篇400字的日记我想不出来这20篇400字的日记,所以想请你们帮帮忙 在▲ABC中,a:b:c=2:√6:(√3+1),求A、B、C. 离子间发生反应是什么意思难道H+和SO4²-就不会反应生成硫酸吗?它们为什么可以共存? 200字日记你今天发生的事拜托各位了 3Q i want to have 元素形成几核几电子的离子是什么意思 为什么顺式-Pt(NH3)2Cl2的水溶解度比反式大?请从配合物分子的结构本身说明. I want to have a gilefriend 天文学家为什么说丑石是“以丑为美”? excel2010如何同时画折线柱形图 核内质子数为10的元素是什么 有的物质是由原子构成,有的由分子构成,有的由离子构成是什么意思? 门把手松了怎么修?我的卧室门的把手松了,关门时一拉就出来,很怕将来掉下来,开不了门,是不是螺丝松了,该怎么修呢补充:我的门把手不是球型的,是那种普通长把手,我看见把手根部有颗小 当SO2和SO3两种物质中硫元素的质量比是2:3时,这两种物质的质量比是____;氧元素的质量比是______可以吧过程给详细点吗 【生物】什么叫多肽?书上说:“习惯上把3个以上的氨基酸连成的肽链称为多肽”度娘上说:“通常由10~100氨基酸分子脱水缩合而成的化合物叫多肽”然后我就晕了~求详解【附】什么叫脱水 向氯化铝溶液中滴加氨水,为什么一开始就有沉淀了?铝离子不是要结合三个氢氧根才产生沉淀么? 硫元素的核内质子数是多少 相同体积,相同C(H+)的一元弱酸与一元强酸的比较 玻璃地弹簧门拉手的高度怎么确定,有没有规范要求? 当SO2于SO3两种物质中的硫元素的质量比是2比3时,这两种物质的质量比是多少,氧元素的质量比是多少,要过程 在什么情况下属于正反应,什么情况下属于逆反应 有谁知道这些英文缩写是什么意思?CYLPCDRBTEA这些都是计量单位的缩写 元素与元素之间的核内质子数相同吗 一个客人说:"这么美的夜晚,这么快乐的时光,应该大家一起分享." (改为转述句) 这个结构怎样在计算机上画出一样的? 改变核内质子数可以使不同的元素相互转化 这句话对吗?为什么改变核外电子数可使原子与离子相互转化 这句话对吗?(原子和离子的转化不是改变的是最外层电子数吗?) 这位很胖、很美的女老师轻轻说到:“我希望你是我的孩子.”改为转述句 问一些英语缩写的意思1.IT 2.MTV 3.WTO 4.VCD 5.CEO 塑料袋子的条数乘以一条袋子的克重除以一千等于什么? 生物多肽累物质对人体有什么作用? 哪里有可以提高英语的聊天室,最好是国外的 英语聊天室我的英语不是很好,但是我真的很喜欢,想跟一些懂英语的人用英文聊天,想让大家帮我找一些好点的,适合我的聊天室, 由单一元素组成的离子大多是简单离子,大多哦,那还有少部分,举个例子说说. 这段英文简写谁看得懂啊ur age is same like ma younger bro.my bro is sixteen.he is grt 11.wut std r u in? 前面几行还行,但最后一行就不行了,看不懂啊 化学与化工的前景如何?化学工程有什么可以研究的? 简单离子是什么 镁和盐酸反应快还是氧化镁和盐酸反应快 新赛欧怎么样? 请问什么是复杂离子,什么是简单离子啊?最好具体点!谢谢!要用比较概念性的语言啊!大谢特谢! 如何修理防盗门的门把手?2000年安装的沈阳摩云牌防盗门,门把手螺丝松了,用着不方便,在里面没有一个小垫板就没法固定门把手,很别手,不知道哪有安装门把手的制式小垫板,或者谁知道哪有 雪佛兰新赛欧这个车怎么样? 某元素R在氧化物中的化合价为+4价,其中氧元素的质量分数占50%,则R元素的相对原子质量为A.50 B32 C16 D24 英语翻译八年级下册英语第一单元句子翻译中文 Camfrog 进不了外国的聊天室了,只能进中国的了.现在怎么只能进中国的了,进不了欧洲了吗.上面显示只有一个CHINA了. 如题 北极航道将成“新马六甲海峡”———专美国安局将韩国列为主要监听对象 韩方叙利亚政府不参加日内瓦会议 称不会参美国为击毙塔利班头目辩护 称与巴基斯欧盟呼吁各成员国民众应减少使用轻薄塑英一小狗勇救弃婴 警方表彰以其名为婴香港一艘货柜轮与内河船相撞 12人坠美媒:大黄鸭在北京受欢迎 为中国经济日将设“国家战略特区”提升经济 首相舆论不支持 安倍政权解禁集体自卫权再舆论不支持 安倍政权解禁集体自卫权再花圃变向日葵园 新加坡华人被称“向日特写:伦敦举办“感受中国”教育展美国国务卿克里访波兰 有望就监听事件苹果联合创始人:希望苹果与谷歌成为合穆尔西受审质疑审判合法性 埃及民众意环球佳丽秀美衣 美国小姐化身“变形金法醉汉从马戏团“绑架”羊驼逼其合影留消息称利比亚首都发生激烈交火 枪声持英内政部拒绝两中国教师入境签证被批“古巴政府表示欢迎中国企业到其首个经济美媒:中国成澳第二大境外投资者 豪买禁止出口洗衣机怕造核弹!韩国想啥呢?3月24日当涂桃花节开幕,吃喝玩乐及纸尿裤挑选四要点,妈妈知道吗小便出血?你“那里”还好吗?詹姆斯33+11+11欧文8+3 骑治边稳藏:不能相信达赖集团会“缴枪归彭林:学礼是为了成为君子 说礼是尽匹宋代官员履历造假缘何屡禁不绝大盘站上3000点 牛市是否马上来到美联储索罗斯窝里斗,中国渔翁得利!走进“空巢村”:年后凑不齐1桌麻将 为什么说了100遍,孩子还是不听?湖北移动治理通讯信息诈骗卓显成效角膜穿孔者不再苦等 普瑞眼科两周内行金逸广州海珠城IMAX店 影院界的“奥巴马出访古巴,一场被中俄逼迫的经济2016河南·新野津湾桃花文化艺术节泰和新材泰普龙芳纶引领纤维流行趋势淘吉甜点新品“嗨巴迪”发布:源自新西PP租车APP4.0版本上线 打造“
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘