精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机安全>>◇网络安全◇>>UNIX 安全>>转载:网络安全(17/20)

主题:转载:网络安全(17/20)
发信人: bali()
整理人: williamlong(1999-12-13 19:09:47), 站内信件
发信人: [email protected] (邂逅), 信区: hacker 
标 题: 网络安全(17) 
发信站: cs3 BBS (Mon Jun 16 14:50:58 1997) 
转信站: sjtubbs!sjtunews!cs3 
Origin: cs3.xmu.edu.cn 

(6)公共关键字的编码 
SUN 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处理时使用.(注意:一般的应用是不需要知道公共关键 
字和密钥的).除改变登录口令外,yppasswd程序还将随机地产生新的公共关键 
字和密钥关键字对. 
密钥服务器是一个驻留于本机的RPC服务器,它执行以下三种公共关键字 
操作: 
. setsecreykey(secretkey):告诉密钥服务器将密钥SK存贮起来,以备将 
来使用(通常是被login程序采用). 
. encrytsessionkey(severname,des_key):使在第一次RPC处理中将会话 
关键字传送给服务器,密钥服务器查找severname中的公共关键字, 
并将它和setsecretkey设置的client的密钥组合,以生成用于 
对des_key编码的密钥. 
. decrytsessionkey(clientname,des_key):服务器又请求密钥服务器通 
过调用本操作来对会话密钥解码. 
注意:隐含在这些调用中的使用者名必须鉴别,密钥服务器中可能使用DES 
鉴别系统的(因为会产生死馈).密钥服务器通过按uid存贮的密钥来解决这个 
问题,它只允许对本机的root所属进程的请求.然后client进程又执行setuid 
进程,该进程属于root,执行对client的请求,并将真正的client的uid告诉密 
钥服务器. 
以上三种操作都是系统调用,内核将与密钥服务器直接通信,而不是通过 
执行setuid程序来通信. 

-- 
※ 来源:·古庙钟声 cs3.xmu.edu.cn·[FROM: [email protected].] 

--
大果子

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.97.225.207]

[关闭][返回]