- 浏览: 186749 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
sea0108:
...
无密钥的MD5算法 -
youchengLin:
不错,再详细点就更好了
Google map API 介绍 -
webcgo:
看起来蛮强大的
用 XQuery采集数据 -
zht110227:
这个xml文档清单不完整呀,至少连头都没有,验证能通过吗?
用 XQuery采集数据 -
murphy3847:
哥们,我也遇到这个问题了,还有点疑问,可以交流一下吗?
Hibernate操作视图实例
1、概念
图2 SSH主机密钥管理认证方案示意图
SSH的英文全称为Secur Network Working Group所 和其他安全网络服务。如需 Security Corporation的网 |
e Shell,是IETF(Internet En 制定的一族协议,其目的是要在 要SSH的详细信息请参考www.ssh 站)和www.openssh.org(开放 |
gineering Task Force)的 非安全网络上提供安全的远程登录 .com(SSH Communications 源码的OpenSSH组织的网站)。 |
2、基本框架 |
SSH协议框架中最主要 SSH协议框架中还为许多高 用如下图1来表示: |
的部分是三个协议:传输层协议 层的网络安全应用协议提供扩展 |
、用户认证协议和连接协议。同时 的支持。它们之间的层次关系可以 |
图1 SSH协议的层次结构示意图
在SSH的协议框架中, 数据机密性,信息完整性 则为服务器提供客户端的 隧道复用成若干个逻辑通道 立于SSH基本体系之外,并 |
传输层协议(The Transport La 等的支持;用户认证协议(The 身份鉴别;连接协议(The Conn ,提供给更高层的应用协议使用 依靠这个基本框架,通过连接协 |
yer Protocol)提供服务器认证, User Authentication Protocol) ection Protocol) 将加密的信息 ;各种高层应用协议可以相对地独 议使用SSH的安全机制。 |
3、主机密钥机制 |
对于SSH这样以提供安全通讯为目标 由于SSH协议是面向互联网网络中主机之 机制。也就是说,SSH协议要求每一个使 ,服务方通过对客户方主机密钥的认证之 钥,针对不同的密钥算法而拥有不同的密 的密钥。关于DSS算法,请参考[FIPS-186 |
的协议,其中必不可少的就是一套完备的密钥机制。 间的互访与信息交换,所以主机密钥成为基本的密钥 用本协议的主机都必须至少有一个自己的主机密钥对 后,才能允许其连接请求。一个主机可以使用多个密 钥,但是至少有一种是必备的,即通过DSS算法产生 ]。 |
SSH协议关于主机密钥认证的管理方案有两种,如下图2所示: |
每一个主机都必须有自己的主机密钥 和私有密钥。在实际应用过程中怎样使用 示,SSH协议框架中提出了两种方案。 |
,密钥可以有多对,每一对主机密钥对包括公开密钥 这些密钥,并依赖它们来实现安全特性呢?如上图所 |
在第一种方案中,主机 用该主机的公开密钥来加密 认证,确定客户机的可靠身 主机B和主机C,此时,A成 候根据主机名来查找相应的 全地存储自己的私有密钥就 |
将自己的公用密钥分发给相关的 数据,主机则使用自己的私有密 份。在图2(a)中可以看到,用 为客户机,它必须事先配置主机 公开密钥。对于被访问主机(也 可以了。 |
客户机,客户机在访问主机时则使 钥来解密数据,从而实现主机密钥 户从主机A上发起操作,去访问, B和主机C的公开密钥,在访问的时 就是服务器端)来说则只要保证安 |
在第二种方案中,存在一个密钥认证 钥提交给认证中心,而任何作为客户机的 在这种模式下,客户机在访问服务器主机 能够正确地连接到目的主机上。 |
中心,所有系统中提供服务的主机都将自己的公开密 主机则只要保存一份认证中心的公开密钥就可以了。 之前,还必须向密钥认证中心请求认证,认证之后才 |
很显然,第一种方式比 变更都必须在客户机上有所 对认证中心的要求很高,在 大麻烦,有谁能够什么都能 采用中心认证的方案是必要 |
较容易实现,但是客户机关于密 体现;第二种方式比较完美地解 互联网络上要实现这样的集中认 说了算呢?但是从长远的发展来 的。 |
钥的维护却是个麻烦事,因为每次 决管理维护问题,然而这样的模式 证,单单是权威机构的确定就是个 看,在企业应用和商业应用领域, |
另外,SSH协议框架中 访问免认证是指,在某客户 个公开密钥的拷贝,这样在 。 |
还允许对主机密钥的一个折中处 机第一次访问主机时,主机不检 以后的访问中则必须使用该密钥 |
理,那就是首次访问免认证。首次 查主机密钥,而向该客户都发放一 ,否则会被认为非法而拒绝其访问 |
4、字符集和数据类型 |
SSH协议为了很好地支 处理。首先,SSH协议规定 些信息将被协议本身直接处 常情况下的统一字符集为IS 息本地化的应用,协议规定 大多数用来显示给用户的信 程序及其操作系统环境,因 来自由掌握。 |
持全世界范围的扩展应用,在字 ,其内部算法标识、协议名字等 理,而且不会用来作为用户的显 O 10646标准下的UTF-8格式,详 了必须使用一个专门的域来记录 息,使用什么样的字符集主要取 而对此SSH协议框架中没有作硬 |
符集和信息本地化方面作了灵活的 必须采用US-ASCII字符集,因为这 示信息。其次,SSH协议指定了通 细请参考RFC-2279。另外,对于信 语言标记(Language Tag)。对于 决于用户的终端系统,也就是终端 性规定,而由具体实现协议的程序 |
除了在字符、编码方面的灵活操作外 种方便实用的种类,包括字节类型、布尔 型、字符串类型、多精度整数类型以及名 |
,SSH协议框架中还对数据类型作了规定,提供了七 类型、无符号的32位整数类型、无符号的64位整数类 字表类型。下面分别解释说明之: |
(1)字节类型(byte) |
一个字节(byte)代表一个任意的8 据就用一个字节数组来表示,写成byte[n |
字位值(octet)[RFC-1700]。有时候固定长度的数 ]的形式,其中n是数组中的字节数量。 |
(2)布尔类型(boolean) |
一个布尔值(boolean 表示“真”(TRUE)。所有 尔值存储0和1意外的数值。 |
)占用一个字节的存储空间。数 非零的数值必须被解释成“真” |
值0表示“假”(FALSE),数值1 ,但在实际应用程序中是不能给布 |
(3)无符号的32位整数类型(unit32) |
一个32字位的无符号整 位在前,低位在后)。例如 际存储时就是03 CD F3 B9 |
型数值,由按照降序存储的四个 ,有一个数值为63828921,它的 ,具体存储结构的地址分配如图 |
字节构成(降序即网络字节序,高 十六进制表示为0x03CDF3B9,在实 3。 |
图3 无符号32位整数类型的典型存储格式
(4)无符号的64位整数类型(unit64) |
一个64字位的无符号整型数值,由按 整数类似,可以比照图3。 |
照降序存储的八个字节构成,其具体存储结构与32位 |
(5)字符串类型(string) |
字符串类型就是任意长 符(null)和8位字符。字 是随后有多少个字节),un 不需要用空字符来表示结束 |
度的二进制序列。字符串中可以 符串的前四个字节是一个unit32 it32之后的零个或者多个字节的 。 |
包含任意的二进制数据,包括空字 数值,表示该字符串的长度(也就 数据就是字符串的值。字符串类型 |
字符串也被用来存储文 示的文本信息则使用ISO-10 (null)。 |
本数据。这种情况下,内部名字 646 UTF-8编码。一般情况字符 |
使用US-ASCII字符,可能对用户显 串中不应当存储表示结束的空字符 |
在图4中举例说明字符串“My ABC”的存储结构: |
图4 字符串类型的典型存储格式
从图4中可以很明显地看出,字符串 字节数),即使没有任何字符的字符串也 存储方式类似。 |
类型所占用的长度为4个字节加上实际的字符个数( 要占用四个字节。这种结构与Pascal语言中的字符串 |
(6)多精度整数类型(mpint) |
多精度的整数类型实际 分每个字节8位,高位在前 果恰巧一个正数的最高位是 ,额外的前导字节如果数值 一个长度为零的字符串(st 的。其存储格式通过图5的 |
上是一个字符串,其数据部分采 ,低位在后。如果是负数,其数 1时,它的数据部分必须加一个 为0或者255时就不能被包括在整 ring)。多精度整数在具体运算 若干示例来说明: |
用二进制补码格式的整数,数据部 据部分的第一字节最高位为1。如 字节0x00作为前导。需要注意的是 数数值内。数值0则必须被存储成 时还是要遵循正常的整数运算法则 |
图5 多精度整数类型的典型存储格式
(7)名字表类型(name-list) |
名字表(name-list)是一个由一系 储方式上与字符串一样,名字表前四个字 目,类似于字符串类型),其后跟随着由 个名字则必须具有非零长度,而且不能包 上下文关系可以对名字表中的名字产生额 的算法标识,或者都是语言标记等。名字 的上下文关系。与字符串类型一样,无论 符作为结束。如下图6: |
列以逗号分隔的名字组成的字符串(string)。在存 节是一个unit32型整数以表示其长度(随后的字节数 逗号分隔开的一系列名字,可以是0个或者多个。一 含逗号,因为逗号是名字之间的分隔符。在使用时, 外的限制,比如,一个名字表中的名字都必须是有效 表中名字是否与顺序相关,也要取决于该名字表所在 是单个的名字,还是整个名字表,都不需要使用空字 |
图6 名字表的典型存储格式
SSH协议框架中拥有对 |
这些数据类型的支持,将对协议 |
、算法的处理带来极大的便利。 |
5、命名规则及消息编码 |
SSH协议在使用到特定 法和其他协议时都利用名字 定。无论是SSH协议框架中 算法或者协议,都必须遵循 |
的哈希算法,加密算法,完整性 来区分,所以SSH协议框架中很 所必备的算法或者协议,还是今 一个统一的命名规则。 |
算法,压缩算法,以及密钥交换算 重要的一个部分就是命名规则的限 后具体应用实现SSH协议时增加的 |
SSH协议框架对命名规则有一个基本 、可打印US-ASCII字符串;名字必须是大 |
原则:所有算法标识符必须是不超过64个字符的非空 小写敏感的。 |
具体的算法命名有两种格式: |
(1)不包含@符号的名 sha-1”,“hmac-sha1”, ,这种格式的名字是不能使 |
字都是为IETF标准(RFC文档) “zlib”(注意:引号不是名字 用的。当然IETF的所有注册的名 |
保留的。比如,“3des-cbc”,“ 的一部分)。在没有事先注册之前 字中也不能包含@符号或者逗号。 |
(2)任何人都可以使用“name@doma mycipher-cbc@ssh.com”。在@符号之前 @符号和逗号之外的US-ASCII字符。在@符 (参考[RFC-1034]),个人域名和组织域 负责的。 |
inname”的格式命名自定义的算法,比如“ 部分的具体格式没有限定,不过这部分中必须使用除 号之后的部分则必须是一个完全合法的Internet域名 名均可。至于局部名字空间的管理则是由各个域自行 |
SSH协议框架中另一个主要的标准化规则就是消息编码,基本规定在表1中详述: |
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=92814
发表评论
-
配置SSH
2007-09-01 21:24 2430配置客户端的软件 OpenSS ... -
关于linux下的ssh服务配置文件的说明
2007-09-01 21:09 3514SFTP 可以使用的命令 CD 改变目录 LS 列出文件 MK ... -
linux 下ssh 服务配置
2007-09-01 21:05 1873SSH 服务器: 既然 ... -
SSH通信协议浅析(认证)
2007-09-01 20:30 1284RSA公钥和RSA私钥数据结构为: ... -
SH通信协议(密钥的交换和加密的启动)
2007-09-01 20:28 2164在服务器端有一个主机密钥文件,它的内容构成是这样的: ... -
SSH通信协议(数据包格式和加密类型)
2007-09-01 20:19 4720二进制数据包协议: ... -
SSH通信协议(连接阶段)
2007-09-01 20:14 2681整个通讯过程中,经过 ... -
ssh密钥管理和认证代理
2007-08-29 20:21 5236ssh密钥管理和认证代理 ssh允许用户把密钥存储在内存中, ... -
SSH公钥(public key)验证
2007-08-29 20:11 2518... -
OpenSSH 密钥管理
2007-08-29 20:10 1527在本系列文章中,您将学习 RSA 和 DSA 认证的工作原理, ... -
无密钥的MD5算法
2007-08-29 20:05 2369综述 md5的全称是me ... -
SSH的使用
2007-08-29 20:00 1201SSH是一个用来替代TELNET、FTP以及R命令的工具包,主 ...
相关推荐
文档"SSH协议体系结构解读.doc"可能详细阐述了上述概念,并可能包括更复杂的细节,如SSH的版本差异、协议扩展、密钥交换算法的选择以及错误处理策略等。而"www.pudn.com.txt"可能是一个链接或其他资源,为用户提供...
软交换汇接网数据通信局域网是软交换体系中一个重要的组成部分,用于承载各种语音、数据业务。该网络由多台华为S3928P交换机构成,这些交换机通过不同的连接方式组成一个稳定可靠的局域网。 **1.1.1 S3928P之间的...
1. **体系结构与功能集成**: - 要求的存储系统为机架式设计,支持FC-SAN、IP-SAN和NAS的统一存储平台,这种设计有助于简化管理并优化资源利用率。 - NAS功能需为非网关实现,意味着数据存取将更直接、高效,无需...
- **IP协议**:深入学习IPv4和IPv6地址结构,子网划分和CIDR表示法。 - **MAC地址**:理解物理地址与逻辑地址的概念,以及ARP协议的作用。 2. **路由交换基础** - **路由器功能**:学习路由器如何转发数据包,...
首先,"概述"部分通常会介绍网络安全的基本概念,包括网络威胁的种类(如病毒、木马、拒绝服务攻击等)、网络安全的目标(保密性、完整性、可用性、不可否认性)以及网络安全体系结构。这一章节将为初学者建立起对...
华为HCNE(Huawei Certified Network Engineer)是华为认证体系中的初级网络工程师认证,旨在培养具备基础网络知识和技能的专业人士。这个认证涵盖了网络基础知识、网络设备操作与维护、网络搭建和故障排查等内容,...
- 路由原理:学习静态路由和动态路由的区别,以及RIP、OSPF、EIGRP等路由协议的工作机制。 - 转发与过滤:理解路由器如何决定数据包的转发路径,以及访问控制列表(ACL)在数据包过滤中的应用。 - VLAN与VTP:...
- **Struts体系架构**:理解Struts框架的整体结构。 - **Struts各个组件**:掌握Struts的核心组件,如Action、ActionForm等。 - **Struts标签库**:熟悉Struts提供的标签库。 - **Struts扩展**:了解如何扩展Struts...