当前位置:文档之家› 授权系统与其他应用的接口规范

授权系统与其他应用的接口规范

胜利石油管理局企业标准
Q/SL TEC-c-2002 授权系统与其它应用的接口规范
1适用范围
本标准规定了胜利石油管理局授权系统与其它应用的接口规范。

本标准适用于胜利油田(企业内部)对于授权系统与其它应用接口的要求。

2规范解释权
本规范由胜利油田石油管理局信息中心解释。

3总则
本规范是指基于目录服务的授权系统与其它应用的接口规范,着眼于应用先进的认证技术,统一认证、统一授权管理,规范原有的业务系统的授权方式的改造,指导新的应用开发。

4认证授权系统的基本概念
在业务系统和授权中,有些应用如数据库系统难以主动认证用户的身份,为了更好认证用户,我们引入认证实体AA(注:非Attribute Authentication 的缩写,AA为Authentication & Authority的缩写),来参与认证用户的身份。

用户的身份认证和访问控制授权有两种基本方式:其一,先认证再授权;其二,将认证和授权融于一体,一次性实现认证和访问控制授权。

在本技术方案中,对于这两种认证授权方式格方公司都能提供。

但不管是哪种基本方式,对于不同的平台,实现原理基本一致,只是API调用略有差别。

(1)认证再授权:
利用PKI技术验证用户的身份,用户的身份验证完以后再查询用户的资源票据(权限信息),并对票据信息的合法性进行验证,根据资源票据的情况来控制用户的访问。

用户身份鉴别的基本原理为:
1、用户发请求到认证实体;
2、认证实体收到用户认证请求以后,产生随机数,并将随机数反馈给用
户;
3、用户用私钥对随机数加密,将用户的证书、加密的结果及属性证书传
输给认证实体;
4、认证实体收到随机数后,验证证书的合法性及有效性,并解密随机数,
比较发出的随机和收到并解密的随机数是否一致,如一致则说明用户
的身份是合法的,否则用户非法;
5、用户的身份被鉴别以后,到ORSP查询其信息资源票据,对应用系统
用户授权控制。

(2)将认证和授权融于一体:
用户的身份认证和具体的业务系统授权相结合的办法来认证用户的身份,即采用认证授权(AA)服务来对用户的身份进行认证,结合业务系统反馈用户的资源权限票据,以实现业务系统对用户身份的安全认证和资源访问的有效控制。

对用户的身份认证采用CA和数字证书技术来认证用户。

基本的模型如下:
其过程如下:
1) 业务系统向AA提交用户的数字证书,如有属性证书,则从客户端提交;
2) AA从客户证书中提取用户ID,验证用户ID的合法性;利用事先加载的
CA证书,来验证个人证书的合法性,并通过CA系统提供证书回收列表
(CRL)查询用户身份的有效性;
3) 若用户的身份合法,则通过用户ID号查询用户的信息资源票据。

4) ORSP把用户的资源权限票据反馈给AA。

5) AA获得用户的资源权限票据后,验证票据的合法性(判断PMIC签名是
否合法),再利用用户的数字证书/或随机密钥对票据加密;
6) AA把加密的用户的资源权限票据及证书传输给业务系统;
7) 业务系统收到加密的票据后,利用用户自己的私钥解密票据,获得用户
的资源权限表。

应用系统获得该资源表以后,在应用程序中控制用户对
业务系统资源的访问。

从以上可以看出,用户的身份认证采用PKI和数字证书技术,用户身份的认证是安全的,不存在在网络密码被截获的安全隐患,用户的信息资源票据,AA 从ORSP获取用户的资源票据,AA利用数字签名机制对票据的合法性进行验证,杜绝了仿冒的安全漏洞,在AA到业务系统采用用户的个人证书,只有拥有该证书的个人才能解密该票据,不存在票据在传输中被篡改的可能性。

在业务系统内部,业务系统必须利用个人的私钥对加密的票据解密,该机制也杜绝了利用他人证书登录系统的可能性。

5业务系统接口需求
包含WEB系统、数据库系统、NOTES系统、MAIL系统等接口需求。

油田目前有很多信息系统在网络中运行,其中包括WEB应用、数据库系统的应用、基于NOTES的OA系统、MAIL邮件系统。

对于NOTES的OA系统又有两种形式:C/S和B/S方式,邮件系统则采用WIN 平台下的邮件系统为主。

对于邮件系统及B/S下的NOTES OA系统,可采用CSP技术实现OA系统的用户身份认证、邮件的签名和加密。

对于B/S的应用,则需要采用数字证书技术来实现用户身份的认证和访问控制授权。

由于WEB服务器可以采用WIN平台和非WIN平台,因此都可以统一到WEB服务器平台使用代理技术将用户的应用请求转到认证和授权服务实现身份鉴别和授权。

基于WEB的数据库(如Orcale)电子邮件应用可用WEB代理技术实现认证和授权。

6接口API和其它接口模块描述
对以上系统进行接口函数和模块的详细描述。

对于NOTES系统的提供了JAVA的认证授权接口程序段如下:
/**Domino Java 的认证授权接口
*/
/**
* Performs the logon method.
* @return boolean
* @param Userid ng.String
* @param Password ng.String
*/
public boolean logon(String Userid, String Password)
{
/* Perform the logon method. */
boolean rc;
long instanceId=0;
if(0 != (instanceId= proxy.logon(Userid, Password))) <<==== 3
{
Frame mainIns= new MainInsco();
mainIns.show();
rc= true;
}
else
{
String ba[]= {"OK"};
// Dialog(Frame, String, boolean)
smbd dialog = new smbd(new Frame(),"Logon Failed", false, "Logon Failed", ba);
dialog.setResizable(false);
dialog.show();
rc= false;
}
/*
if(pareTo(Password)== 0)
{
Frame mainIns= new MainInsco();
mainIns.show();
rc= true;
}
else
{
String ba[]= {"OK"};
// Dialog(Frame, String, boolean)
smbd dialog = new smbd(new Frame(),"Logon Failed", false, "Logon Failed", ba);
dialog.setResizable(false);
dialog.show();
rc= false;
}
*/
return rc;
}
……
在上面例子中,将Domino Java应用程序中的instanceId= proxy.logon(Userid, Password)改换为基于目录服务的认证授权系统的代理API库函数做联编,选择一种身份鉴别机制,和目录服务的身份角色相对应,根据目录中相应角色的访问控制列表决定应用是否继续。

7生效日期。

相关主题