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

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卡的类型及特定的内容,这样,既使密码泄露了不会被人冒名登录。当然,任何安全措施都不是绝对安全的,安全措施还要有严格的保密制度及使用人员的高度的保密意识才能真正起到保密作用。

GitHub上线Trending功能,帮你轻松找到有潜力的开源项目 如私人秘书:谷歌搜索将变得更加个性化 微软将于10月17日正式发布Windows 8.1 Google推出在线教育C2C平台Helpouts 技术人员组团参加SDCC 2013的十个理由 继BAT之后 第四大巨头是谁 如果传统IT部门真的消亡,你该何去何从? 闪存突袭,混合储存是否已步入黄昏 Cloudera发布Hadoop开源组件Sentry:提供细粒度基于角色的安全控制 我从其他Shell脚本中学到了什么? 10个调试和排错的小建议 机器学习的时代来临,人类应该做点什么? 云端测试破1500万 Testin已为开发者省2亿 智能腕表inWatch:已发售近3600台 Bingo!微软证实Windows 8.1将捆绑安装Skype IBM宣布收购以色列网络安全公司Trusteer 约10亿美元 如何才能运作好一个开源项目? 为什么JavaScript有能力成为未来企业级编程语言? Red Hat CEO:拥抱开源 拥抱克隆 小米手机-HAXLR8on硬件黑客马拉松 开团了! 移动周报:雷军做红米的N个理由 Pangea Software CEO:08年App Store游戏降价大战的真相 揭秘MongoDB最新Java驱动:更好的JVM支持,指日可期的异步 不仅只有IE Mozilla将于发布Win8平台Metro版Firefox 360搜索发布新产品“我的搜索” 引入网民评价和网站名片功能 AppScale:Google App Engine的开源实现 近期十大优秀jQuery插件推荐 通过语音识别来编程 速度远超键盘 BrowserStack:多系统跨浏览器兼容性测试工具API发布 更加开放?Path向13家应用开发商开放API 重金力邀开发者 联想智能桌面应用开发大赛开幕 关于client端与server端的连接问题 请问能不能在不同用户登陆的情况来决定服务A是否启动。 Textbox如何禁止它记忆以前曾经输入过的值? 我的XP的CPU经常占用90%以上,高手指点. 安装完win2000,又安装了天网防火墙,再安装SQL server 2000,快完成时启动服务警告“无法定位程序输入点” 急招深圳周边(含深圳).Net程序员 ??qustion Laney(6吨大肥猫) 快来啊^@^ 有关struts的<html:text>标签的问题!!!!!!!!!!!!!!!!!!!!!!! 为了考试挑灯夜读,遇到一个菜问题请大家帮忙! 哪位高手帮帮我!时间紧急! 关于还原精灵转储后win98不能启动的问题,请指教!~ 有几张漂亮图片,看看你的计算机是怎么累死的 求C++算法代码。 怎么实现在IE中将查找到的关键字用红色标记指示出来? 求C++算法代码。 请问哪里可以下载Numega DevPartenr Studio 测试工具 ㊣㊣ 什么也不多说了,帮忙给解决这个问题吧, 先多谢了!! ㊣㊣ 有个小小问题 寻找监测某端口的数据流量软件 都市幽灵·里面一定有宝藏 非常奇怪:为什么超链接无效? 显示异常 下个星期开始到新公司了,请大家给点经验,好吗 急!jsp+mysql,急寻blob输出方法!!! 修改记录问题 StringGrid的自画 导出 救命呀,关于XP的激活问题. 语句 请问有什么好的串口调试工具,可以模拟串口发送数据的??????? 简单问题高分相送 MessageBox.Show 方法需要什么样的名空间 使用ghost硬盘刻录硬盘怎么区分源盘和目标盘,请大虾详细说说,在线等 概念性问题(没办法,太笨了,见笑了) vf8支持动态SQL吗? 请问:如何单独安装BDE? 因为你无权连接数据库服务器?? 大家看看一个非常专业的商贸企业管理软件,要源码好商量! 如何清除Image中的图片? 数据库查询一个奇怪问题 关于记事本程序的编写??? 揭贴后的话(告诉大家你的问题解决的怎么样) 如何模拟串口发送数据 如何清除Image中的图片? 出售 .Net 自定义服务器端日历控件 *****加班熬夜何时了,辛苦知多少,小楼昨夜又东风,女友不堪回首睡梦中***** VC中使用ACCESS数据库版本的问题? 有高手来看看这个EXCEPTION是怎么回事??????? 我怎么追踪网页向服务器发送的数据 想用VB+SQL SERVER做系统,不知从何下手。 填四大名著《水浒传》中的人物 及时雨( )小旋风( )黑旋风( )智多星(  )豹子头( )神行太保(   )花和尚(  )行者(   )青面兽(  )浪里白头(   ) 柱字开头的成语?马上要 急 关于政治与经济的填空题1.人民政协的主要职能( )、( )、( )大家会哪个就答哪个,写好序号.不会的就空过去. 水浒传主要人物是;智多星——及时雨——黑旋风—— 寓言家克雷洛夫说过:现实是此岸,理想是彼岸,中间隔着湍急的河流,行动则是架在河上的桥梁.以上材料为题材,写一篇不少于1000字的议论文 一道高中政治填空题(经济)国有企业改革的方向是__________,这是________的基础,它的特点是________,__________,_________,__________;国有企业改革的方针是_________结合起来;另外,还要建立和健全_________制 "及时雨会神行太保,黑旋风斗浪里白条"38回涉及到那四条好汉快长板桥头杀气生,横枪立马眼圆睁,一声好似轰雷震,独退曹家百万兵.这局句是在说谁? 苏教版七年级上册数学测试题(有答案) 什么叫做世态炎凉、人间冷暖? 水浒传 及时雨 神行太保 黑旋风 浪里白条分别是谁 带柱的成语(越多越好) 怎样使自己尝遍人间冷暖,世态炎凉? 义勇军进行曲在当时起到了什么作用 请问带"梁"和带"柱"的成语? 政治经济学填空题试论述社会主义实行按劳分配的客观必然性? 深圳经济特区建立30年来取得重大成就的主要原因有哪些?根本原因是什么? 根据范进中举对下联,上联:三十五载梦想,一朝成真,喜极而疯,看尽世态炎凉. 某商场将一种商品降价出售.如果减去定价的10%出售可以盈利209元,如果减去定价的5%出售,亏损80元.此商品的进价是多少元?某商场将一种商品降价出售。如果减去定价的10%出售可以盈利209元, Everyone likes eating ice-cream.Di you every think __1__ where it came from?Who make the first ice-cream?__2___ knows the exact time when it began.Some people said it began __3___ of years ago.Modern(现代的) ice cream first appeared(出现) in Ita 不戚戚于贫贱不汲汲于富贵出自哪篇课文作者是谁 英国的王室有存在的必要么从历史方面回答 它的作用是什么 为什么存在 改革后为什么还延续到今天? 为什么雷声大雨就大 英语完形求解1.She is very good at dance,___everybody knows2,___is known to everybody,the moon travels round the earth once every month3.Have you seen the Titanic,____leading actor is world famous?4.He lives in a hotel,____is only five minute's 证明向量空间必定含有零向量 突然雷声大作,先是飘下几滴雨点,接着雨如柱.有什么错别字? 翻译 顾吾念之,强秦之所以不敢加兵于赵者,徒以吾两人在也 若向量空间含有向量a,则必定含有-a? 夫赵强而燕弱...故燕王欲结于君 翻译 假使我们不去打仗和后面的义勇军进行曲表达的相同的主题是什么? 上联为 故乡尴尬逢闰土 下联为-------于勒 在棱长为a的正方体正方体ABCD-A1B1C1D1中,A到平面BB1D1D的距离为____,AA1到平面BB1D1D的距离为_____ . 假使我们不去打仗 和 义勇军进行曲 二者在写法上又有什么不同? 《故乡》中造成闰土麻木的主要原因是什么? 一元二次问题X^4-X^2-6=0 水浒传中宋江是谁 吴用是谁 柴进是谁 豹子头是谁 花和尚是谁 黑旋风是谁 根据图中五个汉字的不同方位,写出三个成语 上:调 下:腔 左:击 右:声 中:柱上:调 下:腔 左:击 右:声 中:柱 福州化学补习提分快哦?要可靠点的? 求…深圳经济特区成立30周年,写一篇大约400字的论文!从深圳经济特区成立的时间,30周年来的成就!地理优势!自己的的感想!及对深圳的建议!这5个方面写一篇400字的论文!十分感谢!能够有更长 曾经是那样充满生气的闰土,人到中年却活得这样麻木,悲惨的表面上的原因是 福州英语补习提分快哦?要可靠点的? 求一篇初中地理论文,只要400字就行 “颛顼”、“帝喾”怎么读? 正方体ABCD-A1B1C1D1中,棱长为a,E是AA1的中点,在对角面BB1D1D上取一点M,使AM+ME最小,其最小值为要过程 谢谢 含有“柱”字的成语?含有“柱”字的成语是什么啊?想了很久都没想出来也~ 奶是妈妈的好(选择)阅读答案 福州一对一英语补习比较好呢?谁比较懂, 英语翻译 为什么吹一下牛奶(选牛奶是为了看清楚),牛奶就会很规律很对称地划线划圈圈呢? 英语翻译秦应候行千金为反间于赵,曰:秦之所畏,独赵括耳的翻译 含有“柱”“梁”的成语 商场改革经营管理办法后,本月盈利比上月盈利的2倍还多12万元,又知本月盈利比上月盈利多30万元,商场改革经营管理办法后,本月盈利比上月盈利的2倍还多12万元,又知本月盈利比上月盈利多30 福州一对一英语补习哪家好?懂这方便的人来讲下吧? 狮吼虎啸 求狮吼声和虎啸声.能听就行.谢过 中国成立以来,我国交通运输业发展( ) 请问福州英语补习哪家好? “有的声音洪大,听起来如虎啸狮吼.”这句话让我联想到什么成语?(至少两个) . 远洋运输业的程租、期租、和航空运输业的湿租业务,都是什么?来自税法 福州英语补习哪里好? 80克月饼有多大 帝喾是不是帝尧的父亲呀 六旬老头恋上32岁洗脚妹 背着老伴打杭州姑娘花500元工本费买一本巴基斯女子因出轨被丈夫痛打 其情人怒烧夫妻货运大伯看上女老板 对方老公出马救急朴槿惠:日本就历史问题道歉前不与安倍博尔特自爆在北京拒吃中餐 吃了100俄罗斯总统向大连外国语大学校长颁发普“世纪审判”遭闹场 穆尔西高喊“我是俄新反恐法:恐怖分子亲友将“连坐”杭州推广能随时调节亮度的路灯杭州凤起立交两边50个停车泊位取消(桐乡获批旅游综合改革试点 先行先试旅考试在即 韩国学生家长跪拜祈福【高清浙医二院去年有60多个医生因用药不合小猫电话报警致警察破门而入 主人无奈1500幅遭纳粹掠夺画作被发现 价值哥伦比亚一辆巴士坠崖致13死61伤刘结一说中国将积极履行安理会轮值主席2013浙江·杭州国际人才交流与合作周日较强冷空气到来 杭州将进入深秋(杭州正研究建设城市风道 从钱塘江引风把官场“伪装者”打回原形健客网A轮融资1亿美元!细数医药电商优秀店员究竟啥模样?这些标准缺一不可影响儿童发育的药物,慎用!益丰大药房O2O 健康云项目细节大公【图刊】春运路上的小候鸟治霾“雷语”,只因“雾”里看花越共新领导层集体亮相 强调全党达成高中国4艘战舰过对马海峡遭日偷拍 电子8岁失聪女孩 酷爱拍照小小年纪成名模提高监管水平才能为转基因去魅汉兰达SUV空气悬挂改装提高舒适性降1.29伊朗迫切重夺市场,国际油价一毕业一两年了,你混得还好吗?冠军联赛第4组威廉姆斯夺冠 塞尔比罗合肥正式发布城市公共空间规划“设计导怎样才能让自己在面试的时候很牛火车未停稳时女子下车 被拖至轨道遭碾癌症大数据警示了些什么我伙呆!费德勒神奇一球令球迷从轮椅激合肥申报国家级新区 滨湖高新经开及空
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘