通用安全服务应用程序接口(GSSAPI) 是为了让程序能够访问安全服务的一个应用程序接口。

使用 GSS-API,程序员在编写应用程序时,可以应用通用的安全机制。开发者不必针对任何特定的平台、安全机制、保护类型或传输协议来定制安全实现。使用 GSS-API,程序员可忽略保护网络数据方面的细节。使用 GSS-API 编写的程序在网络安全方面具有更高的可移植性。这种可移植性是通用安全服务 API 的一个特点。

GSS-API 是一个以通用方式为调用者提供安全服务的框架。许多底层机制和技术(如 Kerberos v5 或公钥技术)都支持 GSS-API 框架,如下图所示。

图 4-1 GSS-API 层

从广义上讲,GSS-API 主要具有以下两种功能:

  1. GSS-API 可创建一个安全上下文,应用程序可在该上下文中相互传递数据。上下文是指两个应用程序之间的信任状态。由于共享同一个上下文的应用程序可相互识别,因此可以允许在上下文存在期间进行数据传送。

  2. GSS-API 可向要传送的数据应用一种或多种类型的保护,称为安全服务。GSS-API 中的安全服务介绍了安全服务。

此外,GSS-API 还可执行以下功能:

  • 转换数据

  • 检查错误

  • 授予用户特权

  • 显示信息

  • 比较标识

GSS-API 中包括许多支持函数和便利函数。

使用 GSS-API 的应用程序的可移植性

GSS-API 为应用程序提供了以下几种类型的可移植性:

GSS-API 中的安全服务

GSS-API 提供了三种类型的安全服务:

GSS-API 中的可用机制

当前的 GSS-API 实现可使用以下机制:Kerberos v5、Diffie-Hellman 和 SPNEGO。有关 Kerberos 实现的更多信息,请参见《系统管理指南:安全性服务》中的第 21  章 "Kerberos 服务介绍"。如果任何系统上运行了能够识别 GSS-API 的程序,则应在该系统上安装和运行 Kerberos v5。

使用 GSS-API 的远程过程调用

针对网络应用程序使用 RPC(Remote Procedure Call,远程过程调用)协议的程序员可以使用 RPCSEC_GSS 来提供安全性。RPCSEC_GSS 是位于 GSS-API 上面的一个独立层。RPCSEC_GSS 可提供 GSS-API 的所有功能,但其方式是针对 RPC 进行了调整的。实际上,RPCSC_GSS 可用于向程序员隐藏 GSS-API 的许多方面,从而使 RPC 安全性具有更强的可访问性和可移植性。有关 RPCSEC_GSS 的更多信息,请参见《ONC+ Developer’s Guide》中的"Authentication Using RPCSEC_GSS"。

下图说明了 RPCSEC_GSS 层在应用程序和 GSS-API 之间的位置。

图 4-2 RPCSEC_GSS 和 GSS-API

GSS-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。Java GSS-API 包含通用安全服务应用编程接口 (Generic Security Service Application Program Interface, GSS-API) 的 Java 绑定,如 RFC 2853 中所定义。

GSS-API GSSAPI 介绍 通用的安全机制相关推荐

  1. 2021年大数据Flink(三十):Flink ​​​​​​​Table API  SQL 介绍

    目录 ​​​​​​​Table API & SQL 介绍 为什么需要Table API & SQL ​​​​​​​Table API& SQL发展历程 架构升级 查询处理器的选 ...

  2. 线性回归api深度介绍

    线性回归api深度介绍 sklearn.linear_model.LinearRegression(fit_intercept=True) 通过正规方程优化 fit_intercept:是否计算偏置  ...

  3. CompletableFuture API用法介绍(二)

    文章目录 一.纯消费 API 1.thenAccep 2.thenAcceptBoth 3.runAfterBoth 4.thenRun(Runnable action) 二.组合API 1.then ...

  4. 如何设计通用的回调机制

    如何设计通用的回调机制 许多程序都需要一种通用的回调机制,这种回调机制不用关心它们的类类型.例如,一个调用GUI组件成员函数的事件驱动的系统中,调用之前并不知道实际的类型信息.这时可以创建一种通用的回 ...

  5. spring3 的restful API RequestMapping介绍

    原文链接:http://www.javaarch.net/jiagoushi/694.htm spring3 的restful API RequestMapping介绍 在spring mvc中 @R ...

  6. 【李宏毅机器学习2021】Task04 深度学习介绍和反向传播机制

    [李宏毅机器学习2021]本系列是针对datawhale<李宏毅机器学习-2022 10月>的学习笔记.本次是对深度学习介绍和反向传播机制的学习总结.本节针对上节课内容,对batch.梯度 ...

  7. C++文件操作API函数介绍

    转自 http://www.studentblog.net/m/tonycat/archives/2006/26364.html 文件的基本概念 所谓"文件"是指一组相关数据的有序 ...

  8. TCP 是一个可靠传输的协议,那我们来重点介绍 TCP 的重传机制、滑动窗口、流量控制、拥塞控制。

    TCP 巨复杂,它为了保证可靠性,用了巨多的机制来保证,真是个「伟大」的协议,写着写着发现这水太深了... 本文的全部图片都是小林绘画的,非常的辛苦且累,不废话了,直接进入正文,Go! 相信大家都知道 ...

  9. 【小程序开发必备】微信小程序常用API全介绍,附示例代码和使用场景

    文章目录 1.网络请求相关API 1.1 wx.request 1.2 wx.uploadFile 1.3 wx.downloadFile 1.4 wx.connectSocket 2.页面跳转相关A ...

最新文章

  1. SCVMM2008的P2V后 MAC地址冲突
  2. 为恶意文件“画像” 瀚思科技基于深度学习技术快速锁定未知威胁
  3. 亚马逊评价抓取插件_亚马逊运营必备插件
  4. java快递追踪系统_物流跟踪(快递100)
  5. PHP中的call_user_func_array
  6. java 代码同步_Java同步代码块 转
  7. m.2接口和nvme区别_NVMe/SATA SSD有啥不一样?萌新怎么选
  8. jsp映射为其他地址上去 ???
  9. php中创建函数的正确方法,如何在PHP中创建一个函数
  10. java自学-基本数据类型
  11. Spring_day3
  12. 为什么redhat6/centos6里看到的网卡是em*?
  13. 主机mysql密码修改_mysql密码修改方法_配置root密码_mysql 改数据库名_mysql忘记密码...
  14. 【运维】linux shell 编程之函数使用
  15. Windows云服务器上部署ASP.NET网站详解(新手适用)
  16. CorelDRAWX4的VBA插件开发(二十四)复合选框组件与联合命名面板
  17. Java、JSP(二手车)交易管理系统毕业设计论文
  18. SwiftUI AVKit 之合并和叠加音频mp3 wav 并输出(教程含源码)
  19. IOS设备兼容Ipv5/ipv6访问Ipv4服务器
  20. android编译openssl静态库.a 动态库.so

热门文章

  1. 快速理解 session/token/cookie 认证方式
  2. Linux_SELinux使用
  3. Python基本语法_函数_返回值
  4. 力扣(LeetCode)31
  5. 美国软件开发公司Apttus 获8800万美元风投,因市场不确定性暂缓上市
  6. 【转载】FckEditor 2.6.3 for Java 2.4 配置
  7. 微信分享给朋友无响应
  8. android什么时候会产生ANR
  9. 致力云安全服务模式 安全狗获近5000万融资
  10. [转]Linux下pppoe配合Drcom插件上网方法介绍......