快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰平台游戏b_龟发之家论坛



简介

DB2 UDB 供给一种框架,用于编写定制的安然插件,治理员可应用这些插件进行 DB2 UDB 身份验证。该框架是在 DB2 UDB V8.2 中引入的,也支持基于通用安然办事利用法度榜样编程接口(Generic Security Service Application Programming Interface,GSS-API)的插件身份验证。

许多 DB2 UDB 治理员使用 GSS-API 插件进行基于 Kerberos 的身份验证。因为 NFS V4(Network File System Version 4, [IETF RFC-3530])的顺利开拓,以及 RFC 要求应用较新的 GSS-API 机制,如 SPKM(Simple Public Key Mechanism, [IETF RFC-2025])和 LIPKEY(A Low Infrastructure Public Key Mechanism Using SPKM, [IETF RFC-2847]),DB2 UDB 很快会具有支持这些新的安然机制的 GSS-API 产品。

DB2 UDB 安然性系列文章 第 2 部分 先容并说清楚明了用于身份验证的 DB2 UDB 安然插件架构。本文将进一步先容有关新的 GSS-API 安然机制的信息。然后还将描述:若何经由过程应用新的具有可定制的 DB2 UDB 安然插件的 GSS-API 安然机制来实现基于公钥技巧的身份验证。

用于身份验证的 DB2 UDB 安然插件

身份验证是应用安然机制对用户供给的凭据进行确认的历程,这已在 DB2 安然系列文章的 第 1 部分 中进行了评论争论。在 DB2 UDB 中,用户和组身份验证由 DB2 UDB 的外部设备以插件的形式来治理,如操作系统、域节制器或者 Kerberos 安然系统。

安然插件是 DB2 UDB 所加载的动态可加载库,用来供给以下功能:

组检索插件:检索给定用户的组成员信息。

客户机身份验证插件:治理 DB2 客户机上的身份验证。

办事器身份验证插件:治理 DB2 办事器上的身份验证。

DB2 UDB 支持两种插件身份验证机制:

应用用户 ID 和口令的身份验证。

应用 GSS-API 的身份验证,其正式称法为 Generic Security 澳门新葡亰平台游戏bService Application Program Interface Version 2 [IETF RFC2743] 和 Generic Security Service API Version 2: C-Binding [IETF RFC2744]。

在 DB2 Version 8.2 中,默认行径是应用在操作系统级别实现身份验证机制的用户 ID/口令插件。下图供给了 DB2 UDB 安然插件根基举措措施的高档视图:

图 1. DB2 UDB 安然插件根基举措措施的高档视图

使用 DB2 UDB 安然插件架构,您可以经由过程开拓自己的插件或从第三方购买插件的要领来定制身份验证行径。为了容许定制 DB2 UDB 身份验证行径,DB2 UDB 供给了可用来改动现有插件或构建新的安然插件的 API。本文将集中评论争论应用 GSS-API 进行身份验证,并展示若何使用新的 GSS-API 安然机制,如 SPKM(Simple Public Key Mechanism, [IETF RFC-2025])和 LIPKEY(A Low Infrastructure Public Key Mechanism澳门新葡亰平台游戏b Using SPKM, [IETF RFC-2847])进行 DB2 UDB 身份验证。

GSS-API 及其未来对 SPKM/LIPKEY 安然机制的支持

Generic Security Servic澳门新葡亰平台游戏be Application Program Interface 简称为 GSS-API,如在 [IETF RFC-2743] 中所定义:“以一样平常的形式向调用者供给安然办事,可由广泛的底层机制和技巧所支持,从而容许利用法度榜样到不合情况的源代码级可移植性。”(拜见 参考资料 中的(RFC)2743)。 这是一套编程接口,抽象了身份验证、消息源验证和完备性。是以,用 GSS-API 开拓的安然利用法度榜样可以在不合的安然机制上运行,不用改变利用法度榜样。

LIPKEY(A Low Infrastructure Public Key Mechanism using SPKM, IETF RFC-2847):

诸如 Kerberos V5[IETF RFC-1964] 和 SPKM [IETF RFC-2025] 之类的 GSS-API 机制必要大年夜量的根基举措措施。正如在 IETF RFC 2847 中所提到的,LIPKEY 是一种基于 GSS-API 安然机制的低根基举措措施,该安然机制对应于范例的 TLS(Transport Layer Security)安场面景。其包括一台没有公钥证书的客户机,该客户机经由过程公钥证书造访办事器。

在该机制中,客户机:

得到办事器证书。

核实证书是由受相信的认证势力巨子(Certification Authority ,CA)所签署的。

天生随时机话对称密钥。

应用办事器公钥对会话密钥进行加密。

将加密的会话密钥发送给办事器。

此时,客户机和办事器有了一条安然通道。然后,客户机就可以向办事器供给用户名称和口令,以验证客户机身份。当提议者(客户机)没有证书而是应用用户 ID 和口令进行验证身份时,就可以应用 LIPKEY 机制。

应用较新的受支持的 GSS-API 机制的 DB2 UDB 身份验证

DB2 UDB V8.2 支持 GSS-API 身份验证机制。事实上,IBM 为 DB2 UDB 供给的示例 Kerberos 安然插件是基于 GSS-API 的。换言之,IBM 的 Kerberos 支持是作为一个 GSS-API 安然插件来供给的,您可将该插件用于办事器身份验证和用户身份验证。此外,用于 DB2 UDB 的 GSS-API 安然插件可以带来更大年夜的代价,由于 NFS V2 的实现使您将会具有这样的 GSS-API 库:其既支持传统的对称密钥安然机制(即 Kerberos),又支持未来的非对称密钥安然机制,如 SPKM 和 LIPKEY。

要容许 DB2 UDB 应用 SPKM/LIPEY 机制进行身份验证:

编写支持 SPKM/LIPKEY 安然机制的定制的 GSS-API 安然插件。当然,这将必要支持 SPKM/LIPKEY 机制的 GSS-API 产品。为了定制身份验证,DB2 UDB 经由过程向开拓职员供给某些 API 使其可以编写自己的身份验证插件,从而供给一种框架。在开拓安然插件时,必要实现 DB2 UDB 调用的标准身份验证函数。编写支持 SPKM/LIPKEY 的 GSS-API 插件异常类似于编写 Kerberos 安然插件,只是存在异常微小的区别,后面将进行阐明。为了更好地舆解若何编写 GSS-API 安然插件,应涉猎并且理解 IBM 供给的用于 DB2 UDB 的 Kerberos 安然插件,其基于 GSS-API(参阅 参考资料)。

对付 SPKM 安然机制,DB2 UDB 客户机和 DB2 UDB 办事器是基于其所持有的 X.509 证书来完成身份验证的。

对付 LIPKEY 机制,X.509 证书仅用于办事器身份验证,而客户机身份验证是经由过程由客户输入的用户 ID 和口令来完成的(是以将其视为一种低根基举措措施公钥机制)。而且,LIPKEY 机制被设计成应用户 ID、口令及身份验证结果的数据互换均在客户机和办事器之间的安然收集通道长进行。

除了将在本节列出的少数改动内容之外,开拓支持 SPKM 或 LIPKEY 的 GSS-API 插件类似于开拓用于 DB2 UDB 的 Kerberos 安然插件。下面的评论争论假设您认识 DB2 UDB 安然插件编程以及与 DB2 UDB 一路宣布的 Kerberos 安然插件。关于更多信息,请参阅 DB2 UDB 文档(拜见 参考资料)。

在开拓 DB2 UDB 安然插件时,必要实现 DB2 UDB 将会调用的标准身份验证函数:db2secClientAuthPluginInit()、db2secClientAuthPluginTerm()、db2secServerAuthPluginInit()、db2secServerAuthPluginTerm(),等等。对付 GSS-API 身份验证插件,也必要实现在 DB2 UDB 文档中所说起的 GSS-API 函数:gss_init_sec_context()、gss_accept_sec_context()、gss_acquire_cred(),等等。您可在 IBMkrb5.c 中找到一个示例实现,IBMkrb5.c 与 DB2 UDB 一路宣布的一个示例 Kerberos 安然插件。下面几点阐清楚明了在开拓用于 DB2 UDB 支持 SPKM 或 LIPKEY 的 GSS-API 插件时必要斟酌的关键问题。

得到一份支持 SPKM 或 LIPKEY 机制(或同时支持两者)的 GSS-API 产品的副本,并设置所需的 PKI 情况。

在实现用于插件的 db2secServerAuthPluginInit() 函数时:

请确保明确地得到了用于所盼望的安然机制的凭据。为此,请向 gss澳门新葡亰平台游戏b_acquire_cred() 通报适当的机制 OID(如在 GSS-API 产品的头文件中所定义的)。留意,若指定 GSS_C_NO_OID_SET 作为所盼望机制的 OID,那么 gss_acquire_cred澳门新葡亰平台游戏b() 将会为默认的安然机制(平日是 Kerberos)取得凭据。

您可能还会对下面的文章感兴趣: