globus所使用的安全机制

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

2004-10-15 撰写

本文适合对网格计算及globus感兴趣的朋友阅读。

globus toolkit 3的安全机制是它的一大特性。这个安全机制在即将发布的gt4中基本上没有修改。它是对web service的一个补充。

一 实现的安全内容包括:

1 实现两个计算网格结点间的安全通信

2 实现安全的穿越不同组织间的边界,因此有一个中心管理的安全系统。

3 实现用户的“Single sign-on”(单次验证),即访问多个网格资源(有权访问)只需要验证一次。

二 使用的基础技术:公共密钥概念

B给A发信息,A持有2个密钥,公开密钥Kea,保密密钥Kda。B用Kea加密,传给A,A用Kda解密。

三 globus所使用的安全证书(GSI 证书)包括

主题名(证书代表的用户或对象),公共密钥(主题拥有的),CA(给证书签名的那个CA)的identity,CA的数字签名

四 一个重要概念Mutual Authentication(互相鉴别)

二者都有证书,二者都信任那个给他们证书签字的CA,那么二者就可以互相证明对方是对方所说的那位。(B说他是B,A可以证明B说的是正确的)

五 在globus中的具体鉴别过程

例:B鉴别A。

A把他的证书发给B,证书上的信息告诉B,1 A称他是谁(主题),2 A的公开密钥,3 CA的identity和签名。这样B通过鉴别CA的数字签名来证明这个证书合法(是那个他所信任的CA),下面证明A真的是A,他给A发一个随机消息,让A给消息加密,A用他的保密密钥将消息加密,发给B,B用A的公开密钥解密,看是否还是那条消息。鉴别结束。同样的方法,A还要鉴别B。

一旦Mutual Authentication成功,GSI将退出以减少因加密解密导致的负载,如果双方愿意,GSI可以提供一个共享密钥。还可以提供一个叫通信完整性的特性,可以保证窃听者可以读通信内容,但无法修改通信内容(即使改了,双方也能通过完整性以确定消息被改过)(这个特性会加重负载,但不是很大)。

保证保密密钥保密性,Globus toolkit将密钥保存在本机硬盘上,同时设定了一个passphrase(设置GSI时设定),用来给保密密钥加密。还可以将密钥保存在smartcard上(建议)。

六 Delegation and Single Sign-On

委托,与单次验证,是SSL的一个扩展,通过创建代理来减少enter passphrase次数。代理包含一个新的证书(新公共密钥,新保密密钥,User's identity),这个证书是User签的,而不是CA。代理有生命期限(globus中缺省为1天)。这个扩展只应用到了GSI及基于GSI的软件(Globus,girdftp),Globus Project正在努力联系Grid Forum和IETF以将这个委托机制加入到其他基于SSL的软件中。SSL(Secure Sockets Layer),SSL=TLS(Transport Layer Security)

七 globus安全认证配置过程

调用setup-gsi来配置simple CA(一个globus提供的CA实现)

配置好CA后,会在TRUSTED_CA 目录里有

globus-user-ssl.conf.XXXXX 用户证书申请

globus-host-ssl.conf.XXXXX 主机(或service)证书申请

grid-security.conf.XXXXXX 基本配置,供上两个配置文件使用

XXXXXX是CA的hash code,

申请证书时:

grid-cert-request,创建符号链接,from GRID_SECURITY 目录 to TRUSTED_CA 目录

GRID_SECURITY/globus-user-ssl.conf --> TRUSTED_CA/globus-user-ssl.conf.XXXXXX

GRID_SECURITY/globus-host-ssl.conf --> TRUSTED_CA/globus-host-ssl.conf.XXXXXX

GRID_SECURITY/grid-security.conf --> TRUSTED_CA/grid-security.conf.XXXXXX

XXXXX.0: trusted CA 证书

XXXXX.signing_policy:一个配置文件,定义了域所要用的CA

Gridmap搜索规则

如果是root用户

GRIDMAP environment variable为/etc/grid-security/grid-mapfile

如果是其他用户

GRIDMAP environment variable为HOME/.gridmap

鉴别请求规则:

鉴别按照一下顺序进行: service credential, host credential, proxy credential and user credential.

以下为鉴别是用到的环境变量及证书文件。

Service credentials:

环境变量:X509_USER_KEY和X509_USER_CERT

/etc/grid-security/<service>/<service>{cert,key}.pem

GLOBUS_LOCATION/etc/<service>/<service>{cert,key}.pem

HOME/.globus/<service>/<service>{cert,key}.pem

Host credentials:

环境变量:X509_USER_KEY和X509_USER_CERT

/etc/grid-security/host{cert,key}.pem

GLOBUS_LOCATION/etc/host{cert,key}.pem

HOME/.globus/host{cert,key}.pem

Proxy credentials:

环境变量:X509_USER_PROXY

/tmp/x509up_u<uid>

User credentials:

环境变量:X509_USER_KEY和X509_USER_CERT

HOME/.globus/user{cert,key}.pem

HOME/.globus/usercred.p12

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航