Sun OS系统的网络安全(三)
日期:2006-06-26 荐:
(6)公共关键字的编码 SU OS使用Diffie-Hellman法进行公共关键字的编码,该算法随机产生一个秘密关键字(SK),简称密钥.可用一个公式来计算出公共关键字(PK),公共关键字存放在公共目录中,而密钥存放在专用的目录中.由PK和SK生成普通关键字K,由于计算K必须知道两个密钥中的一个,所以除了服务器和客户外没有任何人能计算K.计算将与另一个已知常数M求模.尽管某人的密钥可能会被人采用对公共关键字求对数的方法来得到,但是由于M的值很大,要计算出M来几乎是不可能的.为了确保安全,K必须有较多位的二进制数来作DES密钥,最多可从K中取56位来形成DES密钥. PK和SK都是以在文件publickey,byname中的网络名的顺序存放,SK用登录号时的口令编码后存放.当你登录到一个站时,Login程序先取你的编码关键字后再用你的口令对其进行编码;并将解码后的密钥送给确保安全的本地密钥服务器,以备以后进行RPC处理时使用.(注意:一般的应用是不需要知道公共关键字和密钥的).除改变登录口令外,y a wd程序还将随机地产生新的公共关键字和密钥关键字对. 密钥服务器是一个驻留于本机的RPC服务器,它执行以下三种公共关键字 操作: . etsecreykey(secretkey):告诉密钥服务器将密钥SK存贮起来,以备将来使用(通常是被login程序采用). . encrytse ionkey(severname,des_key):使在第一次RPC处理中将会话关键字传送给服务器,密钥服务器查找severname中的公共关键字,并将它和setsecretkey设置的client的密钥组合,以生成用于对des_key编码的密钥. . decrytse ionkey(clientname,des_key):服务器又请求密钥服务器通过调用本操作来对会话密钥解码. 注意:隐含在这些调用中的使用者名必须鉴别,密钥服务器中可能使用DES鉴别系统的(因为会产生死馈).密钥服务器通过按uid存贮的密钥来解决这个问题,它只允许对本机的root所属进程的请求.然后client进程又执行setuid进程,该进程属于root,执行对client的请求,并将真正的client的uid告诉密钥服务器. 以上三种操作都是系统调用,内核将与密钥服务器直接通信,而不是通过执行setuid程序来通信. (7)网络实体的命名 对网络实体的命名原有的UNIX鉴别系统存在一些问题,对UNIX鉴别系统最基本的网络实体uid,已经陈述了这个系统的一个问题(太UNIX系统化了),而且这个系统还有两个问题:一个是当许多域联系起来时的uid冲突;另一个是超级用户不是以每个域为基础赋值,而是以每台机器为基础赋值.在缺省情况下,NFS以一种严密的方式解决这一问题:它不允许根通过网络以uid0存取. DES鉴别系统通过建立在新名字(网络名)基础上的命名机制纠正这些问题.简单地说,网络名是一串可打印字符,从根本上说,我们所要鉴别的正是这些网络名.公共关键字和密钥按网络名存贮而不是按用户名存贮.yellow age ma etid.byname 将网络名映射为本机器中的用户名uid和同组存取序列,而非SUN环境会将网络名映射为其它序列. 我们采用全局唯一的网络名来解决网络命名问题,这比选择全局唯一的用户号要容易的多.在SUN环境中,对每个YP域,用户名是唯一的.如将操作系统名在YP域中的用户号和ARPA域名组合在一起就构成了网络名.在为一个域命名时将ARPA域名加在本地域名之后是一个好习惯. 象对用户赋以网络名一样,对机器也赋以网络名,这样就可解决多个超级用户的问题.机器的网络名其形式与用户的网络名的形式相似,正确的机器鉴别系统对网络中的无盘工作站是非常重要的,它必须保证无盘工作站能通过网络存取本机的home目录. 非SUN环境中,网络名的产生也许与前述有较大区别,但这并不妨碍它们通过SUN的网络安全系统合法地存取信息,为鉴别一个来自另一个域的用户,只需在两个YP数据库是建立实体.一个实体是有关密钥和公开密钥的,另一个是有关uid和同组存取序列的.完成这项工作后,在远程域中的用户就可利用本域的网络服务. (8)DES鉴别系统的应用 第一个应用是广义的YP更新服务,这个服务允许用户更新YP数据库中的专用域. 另一个应用也是最重要的应用是:更安全的网络文件系统NFS.使用UNIX鉴别系统的NFS存在三个问题: . 证书的检验仅仅在装配时进行,这时client从服务器获得一条信息,这条信息是以后请求的关键:文件handle.如果有人不通过服务器就能通过猜想或偷听网络传输内容而获得文件handle,那么他也就能破坏UNIX鉴别系统.因为在NFS文件装配完毕后,当发生文件请求时,不再进行证书的检验. . 假如一个文件系统已从一个为多个client服务的服务器中装配到一台client中;当一个具有超级用户特权的用户使用su命令非法存取别人的文件时,文件系统不能提供任何保护.NFS的第三个问题是:由于它不能鉴别远程client的超级用户,它不得不采用一种严历的方法:拒绝所有的超组用户存取. 新的鉴别系统解决了所有这些问题.某人相获得非法存取权,他不得不猜出正确的被编码后的时间标记并放在证书中,而这几乎是不可能的,这样他就不能猜出文件handle.由于新的系统可鉴别机器,上述第二,三问题也解决了.但是在这点上,根文件系统不能使用安全的文件,而非文件系统的根用户由I 地址识别. 实际上,与每个文件系统相联系的安全级别可由系统管理员改变.文件/etc/exports包含有文件和可装配它们的机器名,在缺省的情况下文件系统向UNIX鉴别系统开放.但管理员在任意行后加上一secure就可改变为向DES鉴别系统开放.与DES鉴别系统相应的是一个参数:服务器能接收的最大窗口的大小.
标签: