2006年08月01日

  ResourceManagerGramService (RMGS) is used to community with Pre-Gram service. It’s one important feature in CSF4.0
  RMGS uses jglobus to submit a job to gatekeeper, so it’s resource is a GramJob. It’s not only a server but also  the resource of ResourceManagerFactoryService (RMFS).

2006年07月31日

  CSF test is on process those days! Although there are bad smells on the code, the idea is pretty good!
  In the next week, I will refactor its code while testing, and write some docs about it.
  I hope my work will help more developers to know and use it!
  Hope God with me!

2006年07月29日
2006年06月28日

    安全是网格计算中一个很重要的话题. 安全的主要内容包括身份的验证, 数据传输的安全.在数据传输方面GT4采用了公钥-密钥加密(X.509标准).

    对于请求服务的客户,需要得管理者的许可. 在服务端, 管理者产生客户证书并发送给客户. 客户端得到并安装证书后, 得到该证书的公钥-私钥及请求文件(用于数据签名). 客户将请求文件发送给管理者. 管理者对该请求签名后发送给客户. 客户用此证书及密钥请求服务.

     GT4中证书的安装过程如下:

1. 在服务端生成证书:

choate % grid-cert-request 
A certificate request and private key is being created.
You will be asked to enter a PEM pass phrase.
This pass phrase is akin to your account password, 
and is used to protect your key file.
……
writing new private key to '/home/bacon/.globus/userkey.pem'
Enter PEM pass phrase: ****
Verifying - Enter PEM pass phrase: ****
……

输入密码后在主目录中生成.globus/usrcer.pem, .globus/usercer_request.pem.globus/userkey.pem三个文件.

2. 在客户端安装证书:

globus@cognito:~$ scp choate:.globus/simpleCA/globus_simple_ca_ebb88ce5_setup-0.18.tar.gz .
globus@cognito:~$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1
globus@cognito:~$ $GLOBUS_LOCATION/sbin/gpt-build globus_simple_ca_ebb88ce5_setup-0.18.tar.gz 
globus@cognito:~$ $GLOBUS_LOCATION/sbin/gpt-postinstall

证书安装后在主目录中生成同上三个文件.usercer_request.pem发送到服务端签名.

3. 服务对客户端进行签名

globus@choate:/tmp$ grid-ca-sign -in usercer_request.pem -out out.pem

4. 客户用out.pem覆盖usercer.pem

完成数字签名后,客户就可以通过该签名于服务端进行通信.


2006年06月23日

    Globus基本安装完成后,下一步需要安装CA,为了方便,我只安装了simpleCA用于实验。simpleCA实现了公钥-密钥机制.

    数字签名需要两套公钥-私钥.公钥用于数据的传输,私钥则用于对请求进行签名.  对于需要进行身份认证的两台机器A,B. A机器的公钥,私钥分别为pubA,priA, B的公钥,私钥分别为pubB,priB. 对于A向B提交的任务,B应能确定该任务的提交者是A机器,且在B机器执行完该任务后,A机器不能否认其是该任务的提交者.其具体过程如下:

  1. B发送以pubA加密的context (pubA(context)) 给A机器.

  2. A接收pubA(context)并解密,得到context

  3. A 以其私钥priA对context加密,得到priA(context).

  4. 以 pubB加密后得到pubB(priA(context)),发送给B

  5. B以priB解密得到priA(context),再以pubA解密,得到context’.

    如果两部分内容相同,则B可以确认是A机器发出的请求.另外,由于A机器私钥的拥有都只有A一个.所以其加密过的priA(context)别人不能伪造,在任务提交后A机器不能否认其提交者身份.

    在该过程中,对A机器的公钥-私钥有如下要求:

    1.  公钥,私钥加密顺序可以互换,即 pubA(priA(context))==priA(pubA(context))==context

    2. 公钥,私钥加密后的结果不同,即 pubA(context)!=priA(context)

   

2006年06月21日

    今天试着装了一下Globus, 在一台机器上现在算是装上了,启动的时候有些问题,应该是没装数据库的原因.但是有个问题?

    在一台机器上装上Globus后,还要在其它的机器上安装吗(几台想互连的机器)?证书是如何获得的.怎么来用呢?看来要学的东西还有很多啊.

    Globus好像有两个Core组件,一个是C的,一个是Java的.我应该会用Java那部分的.要好好看看Globus的文档了,不然过一段时间就没办法开发CSF了.

    现在的主要任务是把两台机器连进来….