GSS-API 介绍
文章推薦指數: 80 %
这种可移植性是通用安全服务API 的一个特点。
GSS-API 是一个以通用方式为调用方提供安全服务的框架。
许多底层机制和技术(如Kerberos v5 或公钥 ...
DocumentationHome >Solaris开发者安全性指南 >第4章编写使用GSS-API的应用程序 >GSS-API介绍Solaris开发者安全性指南Previous:第3章编写PAM应用程序和服务Next:GSS-API的重要元素GSS-API介绍
使用GSS-API,程序员在编写应用程序时,可以应用通用的安全机制。
开发者不必针对任何特定的平台、安全机制、保护类型或传输协议来定制安全实现。
使用GSS-API,程序员可忽略保护网络数据方面的细节。
使用GSS-API编写的程序在网络安全方面具有更高的可移植性。
这种可移植性是通用安全服务API的一个特点。
GSS-API是一个以通用方式为调用方提供安全服务的框架。
许多底层机制和技术(如Kerberosv5或公钥技术)都支持GSS-API框架,如下图中所示。
图4–1GSS-API层
从广义上讲,GSS-API主要具有以下两种功能:
GSS–API可创建一个安全上下文,应用程序可在该上下文中相互传递数据。
上下文是指两个应用程序之间的信任状态。
由于共用同一个上下文的应用程序可相互识别,因此可以允许在上下文存在期间进行数据传送。
GSS–API可向要传送的数据应用一种或多种类型的保护,称为安全服务。
安全服务在GSS-API中的安全服务中进行介绍。
此外,GSS-API还可执行以下功能:
转换数据
检查错误
授予用户权限
显示信息
比较标识
GSS-API中包括许多支持函数和便利函数。
使用GSS-API的应用程序的可移植性
GSS-API为应用程序提供了以下几种类型的可移植性:
机制无关性。
GSS-API提供了一个用于实现安全性的通用接口。
通过指定缺省的安全机制,应用程序无需了解要应用的机制以及该机制的任何详细信息。
协议无关性。
GSS–API与任何通信协议或协议套件均无关。
例如,GSS–API可用于使用套接字、RPC(远程过程调用)或TCP/IP的应用程序。
RPCSEC_GSS是用于将GSS-API与RPC顺利集成的附加层。
有关更多信息,请参见使用GSS-API的远程过程调用。
平台无关性。
GSS-API与运行应用程序的操作系统的类型无关。
保护质量无关性。
保护质量(QualityofProtection,QOP)是指一种算法类型,用于加密数据或生成加密标记。
通过GSS-API,程序员可使用GSS-API所提供的缺省设置忽略QOP。
另一方面,应用程序可以根据需要指定QOP。
GSS-API中的安全服务
GSS-API提供了三种类型的安全服务:
验证-验证是GSS-API提供的基本安全性,它是指对身份进行验证。
如果用户通过了验证,则系统会假设其有权以该用户名进行操作。
完整性-完整性是指对数据的有效性进行验证。
即使数据来自有效用户,数据本身也可能会损坏或遭到破坏。
完整性可确保消息与预期的一样完整(未增减任何内容)。
GSS-API提供的数据附带有一个名为消息完整性代码(MessageIntegrityCode,MIC)的加密标记。
MIC可用于证明收到的数据与发送者所传送的数据是否相同。
保密性-保密性可确保拦截了消息的第三方难以阅读消息内容。
验证和完整性机制都不会修改数据。
如果数据由于某种原因而被拦截,则其他人可以阅读该数据。
因此,可通过GSS-API对数据进行加密,前提是提供了支持加密的基础机制。
这种数据加密称为保密性。
GSS-API中的可用机制
当前实现的GSS-API可使用以下机制:Kerberosv5TM、Diffie-Hellman和SPNEGO。
有关Kerberos实现的更多信息,请参见《系统管理指南:安全性服务》中的第 20 章“Kerberos服务介绍”。
如果任何系统上运行了能够识别GSS-API的程序,应在该系统上安装和运行Kerberosv5。
使用GSS-API的远程过程调用
针对网络应用程序使用RPC(RemoteProcedureCall,远程过程调用)协议的程序员可以使用RPCSEC_GSS来提供安全性。
RPCSEC_GSS是位于GSS-API上面的一个独立层。
RPCSEC_GSS可提供GSS-API的所有功能,但其方式是针对RPC进行了调整的。
实际上,RPCSC_GSS可用于向程序员隐藏GSS-API的许多方面,从而使RPC安全性具有更强的可访问性和可移植性。
有关RPCSEC_GSS的更多信息,请参见《ONC+Developer’sGuide》中的“AuthenticationUsingRPCSEC_GSS”。
下图说明了RPCSEC_GSS层在应用程序和GSS-API之间的位置。
图4–2RPCSEC_GSS和GSS-APIGSS-API的限制
虽然GSS-API使数据保护变得很简单,但是它回避某些任务的做法并不符合GSS-API的一般本性。
因此,GSS-API不执行以下活动:
为用户或应用程序提供安全凭证。
凭证必须由基础安全机制提供。
GSS-API确实允许应用程序自动或明确获取凭证。
在应用程序之间传送数据。
应用程序负责处理对等应用程序之间的所有数据传送,无论数据是与安全有关的数据还是明文数据。
区分不同类型的传送数据。
例如,GSS-API无法识别数据包是普通数据还是经过加密的数据。
指示由于异步错误而导致的状态。
缺省情况下保护多进程程序的不同进程之间已发送的信息。
分配要传递到GSS-API函数的字符串缓冲区。
请参见GSS-API中的字符串和类似数据。
解除分配GSS-API数据空间。
此内存必须通过gss_release_buffer()和gss_delete_name()等函数明确解除分配。
GSS-API的语言绑定
本文档目前仅介绍GSS-API的C语言绑定,即函数和数据类型。
现已推出Java绑定版本的GSS-API。
JavaGSS-API包含通用安全服务应用编程接口(GenericSecurityServiceApplicationProgramInterface,GSS-API)的Java绑定,如RFC2853中所定义。
有关GSS-API的更多参考信息
以下两个文档提供有关GSS-API的更多信息:
GenericSecurityServiceApplicationProgramInterface文档(ftp://ftp.isi.edu/in-notes/rfc2743.txt)概述了GSS-API的概念。
GenericSecurityServiceAPIVersion2:C-Bindings文档(ftp://ftp.isi.edu/in-notes/rfc2744.txt)讨论了基于C语言的GSS-API的具体信息。
Previous:第3章编写PAM应用程序和服务Next:GSS-API的重要元素
©2010,OracleCorporationand/oritsaffiliates
延伸文章資訊
- 1GSS 2.0 - 叡揚資訊
- 2最近老听到GSS系统,是什么来着,全称是什么? - 百度知道
腾邦国际GSS系统中“GSS”的英文全称为Global sales system,即全球销售系统,简称为GSS。 GSS是腾邦国际研发,专为腾邦常年合作的客户及高端B2B、B2C、B2B2C打造...
- 3GSS-API 介绍
这种可移植性是通用安全服务API 的一个特点。 GSS-API 是一个以通用方式为调用方提供安全服务的框架。许多底层机制和技术(如Kerberos v5 或公钥 ...
- 4GSS是什么意思 - 英文缩写大全
GSS是什么意思?提供英文缩写GSS的意思查询、GSS英文全称及中文解释在线查询工具及其他常用英语缩写大全及缩略词词典。
- 5GSS是什麽意思? - GSS的全稱| 在線英文縮略詞查詢
總之,GSS是一個縮略詞或縮寫詞,用簡單的語言定義。 除了VK、Instagram、Whatsapp 和Snapchat 等社交網路軟體外,此頁面還說明了GSS在消息和聊天論壇中的使用方式 ...