基于编码技术的计算机网络安全结构设计

2013-04-29 00:44宋国琴
电脑迷 2013年5期
关键词:结构设计网络安全

宋国琴

摘 要 在软件开发过程中设计的实现是在编码阶段。把思想变成代码的过程是发生错误的主要场合。有两种类型的错误:没有包括期望的功能;在代码中包含一些不期望的功能。如果在过程的前一阶段已经把需求列举清楚,测试这种错误相对较为容易。本文主要探讨基于编码技术的计算机网络安全结构设计。

关键词 编码技术 网络安全 结构设计

中图分类号:TP393.08 文献标识码:A

编码技术用于数字传输中。编码是指如何将二进制数据从逻辑上看成是“高”和“低”两种不同的信号,并分别用不同的电气特性(如不同电压)或光特性(如不同能量级)来表示。编码的目的是为了有效利用链路带宽、确保发送端和接收端之间正确同步、确保抗噪声干扰、确保比特错误检测和尽可能地纠正以及最小化发送端能量等。

1 常用的编码技术及方法

为了实现编码的目标,人们发明了各种编码方法,图1所示是常用的几种编码方法。

除了图1所示的几种编码方法外,还有281Q电平码、冗余码(Redundant code)、扰频(Scrambling)和各种数据压缩编码方法等。

长距离传输时,带宽利用效率非常重要,因此一般采用双极性编码。而短距离传输时,与每个节点设备的价格相比,带宽利用效率相对来说没有那么重要,因此一般采用蔓彻斯特编码,并利用其自同步功能。模拟数据的数字传输,需要将模拟数据转换成数字数据,脉冲编码调制(Pulse Code Modulation,PCM)方法就是实现这种转换的基本方法。实现这种模拟信号和数字信号相互转换的设备称为模拟-数字转换器(Analog to Digital Converter,ADC)和数字-模拟转换器(Digital to Analog Converter,DAC)。

2 计算机编码技术的重要范例

信息是通过各种信息媒体组合表示的。因此,解决信息数字化的问题最终是解决各种信息媒体的二进制编码问题,即解决数值、文字、图形、图像、声音、动画、视频的二进制编码问题。

2.1 数值编码

数值通常指的是十进制数,根据日常应用的需要,分为整数与小数。小数表示的范围要广泛些,由小数点分割为整数部分与小数部分。整数是小数的特例,其小数部分是0。计算机只能区分出“0”、“1”两个数字,故计算机内只能采用二进制位来表示信息。通常数值是十进制的,且存在正负以及小数点,这些都需要在计算机中表示出来。因此在计算机中,数值需要经过特定的编码进行转换才可以表示。任何十进制小数都可以经过数制转换变成二进制数,经过转换的二进制数可以用眀bb…bb.bb…bb来表示,其中b表示二进制数的1个位。小数点前的部分为整数部分,小数点后的是小数部分。由于数值在两种数制下是等价的,而显然二进制形式更容易表示,因此只需研究二进制小数在计算机中的表示问题。

2.2 语言文字编码

语言文字是使用最多、最主要的信息媒体,也是计算机信息处理的主要对象。语言文字在计算机中进行表示和处理,需要解决输入、存储和显示输出等基本问题。其中,语言文字的表示和在计算机中的存储是首要解决的问题。基于存储,文字的输入与显示问题都可以得到解决。ASCII码的编码规则是通过ASCII码表(见附录A)确定的,ASCII码是一种约定顺序码,每个字符在ASCII码表中的顺序编号称为字符的ASCII码。ASCII码表有两种形式,一种包含128个字符,另一种包含256个字符。包含128个字符的ASCII码表,ASCII值范围是0~l27,计算机中使用7个二进制位就可以表示,因此你为7位ASCII码。包含256个字符的ASCII码表,在7位ASCII码的基础上,增加了对l28个特殊字符的支持,ASCII值是0~255,称为8位ASCII码,叉被称为扩展ASCII码表。国际上7位ASCII码有广泛的支持,对8位ASCII码支持程度较弱,尤其在中文环境下因为同汉字的存储编码冲突,8位ASCII码不被支持。

2.3 图像编码

人类获取客观世界的信息,绝大部分依赖于视觉。为了记录和传递视觉的直观景象,人类经过了漫长的探索。在探索的早期阶段,发明并掌握了绘画技巧来描绘客观的景象;然而直到照相技术、复印技术的发明,对直观景象的获取变得非常简单和真实,这种探索才取得了真正的成果。这些包括由手工绘制、照相机拍摄、印刷复制所产生的各种直观的景象,就是人们通常所说的图像。图像作为信息的一种重要载体,在计算机中进行表示,可以极大地改善人们使用计算机进行信息交流的方式,克服各种抽象表达引发的沟通障碍

3 基于编码技术的计算机网络安全结构设计

3.1 缓冲区溢出

3.2 代码植入

防止这种类型的漏洞的主要方法类似于抵御缓冲区溢出的方法:验证所有的输入。不仅验证输入长度,还要验证输入的内容。想象一下,Web页面要求用户输入信息,然后使用这个输入信息构建下一个页面。现在我们想象用户把JavaScript函数的文本插入到他们输入序列的中间,以及对脚本的调用。现在,产生的Web页有一段显示时调用的附加JavaScript代码。在使用之前,对用户的输人经过HTML编码,可以防止这种攻击。

此外,良好的编程行为对于防止这些漏洞大有帮助。这不仅是程序员的负担,也体现在培训程序员的过程中,抓取编程错误的代码评价和测试的软件工程过程。这不仅仅是个人的责任,软件开发过程需要意识到这些错误的原因和类型,同时采取有效的安全措施防止他们的传播。

4 测试与结论

如果需求标志了安全代码产生的开始,那么测试标志了另一个边界。尽管测试之后还有一些附加功能,没有人想让用户来验证代码中的错误。在代码被移交之后发现错误是最昂贵的,不论修复的严重性。使用用例(Use Case)来比较程序对已知的输入的响应,然后比较输出与期望输出是一个已经被证明的测试软件方法。测试具体功能需求的用例设计基于需求阶段确定的需求。提供附加的与安全相关的用例是确保安全细节被充分测试的过程驱动的途径。

测试阶段(Testing Phase)是最终用户发现错误之前判断软件是否能正确执行的最后机会。测试阶段发现的错误虽然在开发过程中是晚的,但是至少它们还属于是内部知道的,是在最终消費者遭受之前。应该在开发的每一个阶段进行测试:模块、子系统、系统和完整的应用程序。错误发现和纠正得越早,代价就越低,对整个项目计划的影响就越少。测试是开发一个好的程序的基本步骤。

参考文献

[1] 张鸣,高杨. 计算机网络安全与防火墙技术研究[J]. 黄河水利职业技术学院学报. 2011,20(02):68-69.

[2] 童星. 浅析防火墙技术与网络安全[J]. 信息与电脑(理论版). 2011,26(04):543-544.

[3] 薛毅飞. 探讨计算机网络安全与防火墙技术[J]. 信息系统工程. 2011,19(04):290-292.

[4] ZHANG SHENGLI,LIWE S C,LAM P P.Hot topic:Physical-layer network coding. Proceedings of the12th Annual International Conference on Mobile Compu-ting and Networking. 2012,28(06):216-217.

[5] Potevio,networkcoding application in transparent&non-transparent relay in LTE-advanced system. 3GPP TSG-RAN R1#56-091413. 2009,16(12):1302-1303.

猜你喜欢
结构设计网络安全
网络安全知多少?
高层建筑连体结构设计
超限高层建筑结构设计与优化思考
结构设计优化在房屋建筑结构设计中的应用
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
一种新型卫生防疫车结构设计
BIM结构设计应用
某排水虹吸井结构设计