GB/T31501-2015

信息安全技术鉴别与授权授权应用程序判定接口规范

Informationsecuritytechnology—Authenticationandauthorization—Specificationforauthorizationapplicationprogrammingdecisioninterface

本文分享国家标准信息安全技术鉴别与授权授权应用程序判定接口规范的全文阅读和高清PDF的下载,信息安全技术鉴别与授权授权应用程序判定接口规范的编号:GB/T31501-2015。信息安全技术鉴别与授权授权应用程序判定接口规范共有55页,发布于2016-01-01
  • 中国标准分类号(CCS)L80
  • 国际标准分类号(ICS)35.040
  • 实施日期2016-01-01
  • 文件格式PDF
  • 文本页数55页
  • 文件大小896.06KB

以图片形式预览信息安全技术鉴别与授权授权应用程序判定接口规范

信息安全技术鉴别与授权授权应用程序判定接口规范


国家标准 GB/T31501一2015 信息安全技术鉴别与授权 授权应用程序判定接口规范 lnformationsecuritytechnology一Authentieationamdauthorization一 Speeificatiomforauthorizatiomapplicatiomprogramminmgdeeisioninterface 2015-05-15发布 2016-01-01实施 国家质量监督检验检疫总局 发布 国家标准化管理委员会国家标准
GB/I31501一2015 目 次 前言 引言 范围 规范性引用文件 术语和定义 缩略语 框架 5.1 访问控制框架 5.2访问控制服务组件 5.3访问控制信息 授权API使用模型 系统结构 6.1 6.2支持的函数 1 6.3状态机 6.4信任模型 功能和可移植性要求 15 7.1功能要求 15 7.2移植性要求 15 常量和变量定义 16 字符串与类字符串数据 8.1 16 8.2状态值 8.3常量 18 8.4授权和机制ID 20 附录A(资料性附录)函数说明 22 参考文献 5
GB/T31501一2015 前 言 本标准按照GB/T1.1一2009给出的规则起草 请注意本文件的某些内容可能涉及专利 本文件的发布机构不承担识别这些专利的责任 本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口 本标准起草单位科学院软件研究所、北京数字证书鉴别中心有限公司、中科正阳信息安全技 术有限公司 本标准主要起草人;冯登国、张立武、李晓峰、王雅哲、高志刚、徐震、段美绞,汪丹、黄亮、翟征德、 詹榜华
GB/I31501一2015 引 言 访问控制作为一种基本的安全措施在实际系统中得到广泛的应用,随着访问控制技术的日趋复杂 访问控制已成为一类安全基础服务,而广泛的应用集成需求需要访间控制安全服务能够给应用程序提 供一个统一的编程接口,使得应用程序能够在不同的访问控制服务之间具有可移植性,而目前缺少这类 国家标准 为了解决这个问题,本标准参考了OpenGroup的技术标准(参考文献[1]等相关标准和规 范,在保证适应多种应用场景的情况下,定义了授权应用程序判定接口规范 本标准定义的授权应用程序判定接口规范可用于符合GB/T18794.3访问控制框架的系统中,尽 管本标准提供了允许主体控制哪些特权属性可以被用于访问控制授权请求判定中(通常被称为最小特 权),但并不提供特权属性管理 本标准的设计目标如下 a定义一个简单,灵活的AP,安全组件提供者和需要安全保护的应用程序开发者可以通过调用 此API来实现授权功能; 访问判定时可以应用透明地进行策略规则的评估 b 独立于应用的策略集中管理; c) 透明地提供广泛的策略规则词法和语义(如访问控制列表、能力、标签、逻辑谓词等); d 将鉴别和授权分离 允许从鉴别数据中推导出授权属性; f 透明地支持任意合理的授权属性类型(如访问标识、组、角色等); h)易于在多层次结构的应用系统中提供授权服务; 在多层应用配置中允许使用外部授权属性 应用程序可以访问应用于其资源的访问控制策略 AP的实现支持多种访问控制机制 k 单一程序可以同时使用多个鉴别和授权服务; m支持应用程序访问与授权服务操作相关的审计数据 本标准不涉及以下内容 a)授权策略管理; b) 描述证书委托服务或语义; c)描述一个审计服务API d 描述授权服务如何以及何时生成审计事件 e)在异构环境下,定义用来交换证书信息的PAC格式; f 支持每一种可能的授权策略规则词法和语义
GB/I31501一2015 信息安全技术鉴别与授权 授权应用程序判定接口规范 范围 本标准定义了访问控制服务为授权应用提供的授权判定编程应用接口,并定义了与判定接口相关 的数据结构和c语言形式的接口 本标准适用于访问控制服务中授权判定接口的设计和实现,访问控制服务的测试和产品采购亦可 参照使用 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T18794.3一2003信息技术开放系统互连开放系统安全框架第3部分;访问控制框架 GB/T25069-2010信息安全技术术语 术语和定义 GB/T25069一2010界定的以及下列术语和定义适用于本文件 3.1 accesscontroinformation 访问控制信息 用于访问控制目的的任何信息,其中包括上下文信息 [GB/T18794.3一2003,定义3.4.5] 3.2 访问控制判定功能aeeesscontroldeeisionfunetion -种特定功能,它通过对访问请求、AD(发起者的、目标的、访问请求的或以前决策保留下来的 ADI)以及该访问请求的上下文,使用访问控制策略规则而做出访问控制判定 [GB/T18794.3一2003,定义3.4.3] 3.3 accesscontroldecisioninformation 访问控制判定信息 在作出一个特定访问控制判定时可供ADF使用的部分(也可能是全部)ACI [GB/T18794.3一2003,定义3.4.2] 3.4 访问控制实施功能 acceSScontrolenforceentfunction -种特定功能,它是每一访问请求中发起者和目标之间访问路径的一部分,并实施由ADF做出的 决策 [GB/T18794.32003,定义3.4.打
GB/I31501一2015 3.5 访问请求accessrequest 操作和操作数,它们构成一个试图进行的访问的基本成分 [GB/T1879A4.3一2003,定义3.4.9] 3.6 属性列表attributelist 由属性名称和属性值构成的数据列表 审计标识adiidemtity 包含一个用于审计目的标识的属性 3.8 授权机构authorizationauthority 管理授权数据的实体 3.9 能力eapability 表明拥有者具有访问某项系统资源的权限的标记 3.10 许可权eearaee 能用来与目标安全标签进行比较的发起者绑定ACI [GB/T18794.3一2003,定义3.4.13 3.11 凭证链credentialschain 多个凭证根据相互关系构成的具有层次的结构 3.12 凭证句柄credentialhandle 指向凭证链的句柄 3.13 合成凭证链eobineleredentialschain 由多个凭证链构成的有序列表 列表中的第一个元素是访问请求发起者的凭证链,列表中的其他 元素是传递这个访问请求的一系列中介的凭证链 3.14 判定deeision ADF对判定请求的响应 3.15 判定请求deeisionrequest AEF发送给ADF的信息,此信息询问ADF“允许还是拒绝一个特定的访问请求” 3.16 资格 entitlement 包含AD和访问控制策略规则信息的数据结构,应用程序可以使用此信息来决定其行为或者在其 代码中进行访问控制判定 3.17 标识identity 传递到aznAP1的发起者ACI,本标准使用这个术语来描述所有发起者的信息,包括名称、身份证
GB/T31501一2015 书和能力 3.18 发起者 initiator 一个试图访问其他实体的实体(如人类用户或基于计算机的实体). [GB/T18794.3一2003,定义3.4.15 3.19 ntermediaury 中介 负责转发发起者的访问请求的实体 3.20 标签label 与受保护资源绑定的标记,其标明了此资源的安全相关属性 3.21 操作operaton 发起者的访问请求中要求在受保护资源上执行的具体访问动作 3.22 特权属性证书priilegeattributecertificate;PAc 保护特权属性的数据结构,产生此属性的权威可能对其进行签名 3.23 特权属性priilegeattribute 与发起者相关的属性,当与受保护资源的控制属性匹配时,用来允许或拒绝访问此受保护资源 3.24 受保护资源proteeted reS0urce 访问受访问策略限制的目标 3.25 目标 target 被试图访问的实体 [GB/T1879A4.3一2003,定义3.4.23 缩略语 下列缩略语适用于本文件 ACI访问控制信息accesscontrolinformation) ADF;访问控制判定功能(accesscontroldecisionfunction) ADI;访问控制判定信息(access controldecisioninformation AEF;访问控制实施功能(accesscontrolenforcementfunetion) API;应用程序编程接口(applicationprogramminginterface) aznAPI;授权应用程序编程接口authorizationapplieationprogramminginterface ID:标识(identity PAC;特权属性证书(privilegeattributecertificate SSL;安全套接层(e securesocketslayer) 框架 5.1访问控制框架 本标准采用的访问控制服务框架的定义见GB/T18794.32003
GB/I31501一2015 5.2访问控制服务组件 5.2.1 ADF ADF根据AD做出访问控制判定 AD描述了发起者、目标、访问请求、系统和环境安全相关的 属性 ADI的详细定义见5.3.2.2 图1描述了ADF用来进行访问控制判定的信息 判决请求 判决 发起者AD 目标ADn 上下文信息 ADF 访问请求ADn 预留AD1 访问控制策略 图1AD输入 5.2.2AEF 访问控制实施功能实施ADF的访问控制判定结果 aznAP1是一个媒介,通过此API.AEF调用ADF来获取访问控制判定的结果 AEF使用此AP1 向ADF传递ACI 如图2所示,aznAP的实现负责从AEF提供的ACI中推导出AD1,并且将此AD1 提交给ADF ADF根据上述AD1信息,以及访问控制策略和当前上下文AD1来做出访问判定 发起者AC1 目标ACI AE 访问请求Ac AC1 AAP AD 策略规则 上下文AC ADF 图2AEF使用授权AP调用ADP
GB/T31501一2015 5.3访问控制信息 5.3.1概述 ACI是AEF可获取的与访问控制判定可能相关的信息 nAPI的职责是: azn a 确定AEF提交的与访问控制判定有关的ACI信息; 将AEF提交的AcI转化为ADF可用的ADn. b c)将AD提交给ADF 5.3.2发起者信息 5.3.2.1发起者Acn 发起者ACI描述了访问请求发起者安全相关属性,是AEF可获取的发起者信息 由鉴别服务生成的发起者ACI数据结构在本标准中称为标识 标识可以很简单,例如只包括发起 者的名称字符串;也可以很复杂,例如包括数字证书 授权API可以接受能力作为标识,能力是由鉴别服务提供的直接断言,如图3所示,在能力中并不 是必须要标明发起者,无论谁拥有能力都可以使用 在图3中,发起者使用虚线来表示 能力中包括一 个策略人口列表,每个人口指定了一个目标客体,同时定义规则用来描述发起者允许执行的操作 注;aznA实现不要求支持所有的标识格式,同时也不是必须要支持能力 客体! 客体2 规则1.1 规则2.I 发起者 授权斯言 图3能力 由授权服务产生的发起者ACI数据结构被称为PAC 并不是只有授权服务可以产生PAC,鉴别 服务也可以产生PAC来声称用户标识 在“推模式”中,PAc是用户特权属性 aznAPI实现中,由鉴 别服务产生的PAC被当作标识来处理,以此来区分AZN自己产生的授权数据结构.)aznAPl实现也可 以将PAC数据结构作为用户凭证信息的内部表示,AEF通过aznAPI是不可见这些数据结构的,PAc 应符合5.3.8.1 5.3.2.2发起者AD1 发起者AD是从发起者ACI中行生出来的授权相关信息,通过aznAPI传递给ADF aznAPI将 发起者AD存储在称为凭证链的数据结构中 因为凭证链不会传递给azn.AP1的调用者,同时不同的 授权服务可以使用不同的凭证链格式,所以凭证链数据结构格式定义不包括在此标准中 尽管azn.AP1不允许调用者直接访问凭证链,但其提供访问凭证链属性信息的接口函数 nAPI 图4显示了azn.AP如何将发起者ACI转换为凭证链,并且返回一个凭证句柄给调用者,aznk 可以用在将特权属性从客户端推到AEF的系统中,或者要求AEF从某个存储或服务中采用拉模式获
GB/I31501一2015 取特权属性的系统中 在推模式环境下,发起者ACI中包含被客户端推来的特权属性,并且被转换为 可以被aznAP实现使用的内部数据 在拉模式环境下,ACI发起者只包含单一特权属性(如发起者被 鉴别的名称),而aznAPI实现在构建发起者凭证链时,从适当的存储或结构中获取发起者的其他特权 属性 访问请求 发起者养 认证服务 AE 发起者Acl 信任句柄 认证标识 aznAPI 发起者AD1 认证标识 aznAP实现 发起者安全属性 图4发起者AcI到凭证的转换 5.3.3目标信息 5.3.3.1概述 目标信息描述了访问请求中与目标相关的安全信息 a)目标ACI:AEF可以获取的目标信息 目标ADI:aznAPI转换目标ACI获得的目标信息 b 5.3.3.2目标Ac1 通常aznAP1需要的目标ACI数据只是目标名 安全标签是此规则的特例 aznAP可以支持包含安全标签的ADl的访问控制判定 在某些基于 标签的授权系统中,授权服务并不知道标签信息是如何在目标中被编码的,以及标签是如何以与目标相 关的元数据的方式存储起来的 在这些例子中,AEEF需要获取目标安全标签,并将它们作为目标ACI
GB/T31501一2015 传递给azn.AP 授权API可以被实现为支持处理不同类型的标签 在支持多种标签的实现中,调用 者需要明确使用的标签模式ID,使得AP1知道在此调用中使用哪类标签 5.3.3.3 目标AD 不同的授权服务实现可以包含不同数量的目标ADI和数据类型 目标AD1数据通常并不返回给 调用者,所以目标AD数据格式不在此标准中定义 由于有些授权AP调用者可能会因为其他用途使用授权策略数据,所以授权API支持将ADI数 据外部化为数据结构,此数据结构称为资格 资格应符合5.3.8.2 5.3.4请求信息 5.3.4.1概述 请求信息描述了访问请求相关的安全属性 请求ACI是AEF可以获取的请求信息 a b)请求AD是授权API将请求AcI转换后的请求信息 5.3.4.2请求ACI aznAPI要求请求Ac包含请求的操作名称 5.3.4.3请求AD1 不同授权服务实现可以有不同类型和数量的请求AD1数据 请求AD1数据并不返回给调用者, 所以请求AD1数据格式并不在此标准中定义 5.3.5上下文信息 5.3.5.1概述 上下文信息描述了访问请求发生上下文的安全相关属性 上下文AC是AEF可以获取的上下文 信息 上下文AD1有两个来源 a)aznAPI将上下文AcI转换后的结果; b 授权服务可以直接获取而并非由ACI提供的上下文信息 5.3.5.2上下文ACI aznAPI定义了四种上下文ACI数据,这些数据可以作为上下文信息传递给授权服务 -时间;请求发生的时间; -地点;请求发起的地点(源地址); 路由:将请求从发起者传递到AEF通过的连接; -鉴别质量;用于建立发起者身份的鉴别的质量 上下文信息并不局限于此 azn.AP1允许AEF使用非透明类型的参数传递给授权服务,使用这些 参数说明应用或授权服务相关的上下文信息 使用这些通过不透明参数传递特定上下文信息格式的授 权服务的应用可移植性低 5.3.5.3上下文AD1 不同的授权服务的实现可以有不同数量和类型的上下文AD1数据 上下文ADI数据在aznAPI
GB/T31501一2015 中不返回给调用者,所以在此标准中不定义上下文AD数据格式 5.3.6预留信息 授权服务可以保留同一发起者请求的操作序列信息,并由此来做出访问控制判定 如,用于ATM 中的授权服务保存了每个用户在当前所取的钱数信息,并以此来实现每天的取钱限制策略 授权服务为此目的保留的信息是AD1,并且不会通过授权AP暴露给应用程序 因此,保留的 AD信息的格式在此标准中不涉及 5.3.7访问控制策略信息 访问控制策略信息包括用来评估其他的AD1并且做出访问控制决策的规则 调用者并不能从授 权API中获取访问控制策略信息,不同的授权服务可以使用不同类型和数量的访问控制策略信息,所 以访问控制策略信息格式不在此标准中定义 授权服务可以以资格的形式外部化访问控制策略信息 这部分内容在5.3.8.2中描述 5.3.8外部化AD1 授权API对调用者有意隐藏了发起者AD和访问控制策略信息的细节 然而,这些信息在某些情 况下对调用者是有用的,因此,授权AP允许授权服务外部化发起者ADI和访问控制策略信息 5.3.8.1PACs 授权AP将外部化的发起者AD放在一个称为PAC的数据结构中,图5表明了PAC的创建 过程 发起者AD的外部化允许授权服务以它的角度断言发起者的安全相关特征,这与从鉴别服务角度 看到的发起者的安全相关特征是不同的 某授权服务可以使用这个功能产生签名的属性证书,其他服务以此作为授权数据源 因为此标准只定义了一个不透明的PAC结构,由一个授权服务产生的PAc不能保证被其他授权 服务使用 在将来的标雅中会定义一个标准的P\C结构,以此为基础,授权服务之间可以传逊发起者 授权属性的断言 注签名的PAc可以用来构建委托协议,aznAP不能提供委托服务 一个委托协议必须允许希望成为发起者请求 委托的实体可以将以下内容传递给一个目标;被委托的请求、一个可信表示,证明最初从访问发起者处得到的 请求已经被鉴别委托者被授权将请求以发起者的名义转发给目标的可信表示,发起者的信任表示和委托者的 凭证信息 授权服务可以签名PAC来形成发起者的信任表示和委托者的凭证信息,甚至可以包含身份信息 如证书发布者标识和身份证书序列号)建立起到发起者鉴别数据的一个链接,但授权服务并不在请求 中绑定PAc(以加密或其他方式) 代表发起者或作为发起者委托者身份的AEF必须使用 一个独立的 加密设施或委托服务来绑定由aznAP1生成的PAC与委托请求消息 5.3.8.2资格 授权API将外部化的访问控制策略信息存储在称为资格的数据结构中 外部化的访问控制策略信息允许应用程序基于授权策略来定制系统的行为 例如,其允许应用程 序修改系统菜单来显示发起者可以执行的访问,而不是显示系统中所有的操作 资格信息也可以被应 用程序用来做出其自己的访问判定,而不是依赖于在授权服务中实现的ADF
GB/I31501一2015 访问请求 发起者 AEF 认证服务 发起者Ac 发起者Acr 认证标识 (PAC [信任句柄 aznAP 发起者ADl 认证标识 znAP实现 PAC服务 发起者安全属性 图5凭证外部化为PAc 授权AP1定义了一个可移植的,每个授权服务可以支持的资格数据格式,是一个特定发起者可以 在某个特定目标上执行的操作列表 图6显示资格信息的格式示例 主体数据周围的虚线表示发起者 数据是隐含的,其并不包含在授权AP返回的资格数据中 目标1 目标2 允许的操作列表 允许的操作列表 发起者 禁止的操作列表 禁止的操作列表 图6可移植的资格示例 可移植的资格数据表示保证了在所有的授权服务中都可以被支持,但其不是非常有效的 一些授 权服务可能使用单一规则或者使用通配符来表示发起者在许多目标上的操作授权,甚至可以用一个单 一规则或表达式来描述多个发起者的授权,然而不同的授权服务使用不同的规则格式,并且不存在一个 单一规则格式可以用来有效地表示所有授权服务,基于这个原因,授权AP1允许授权服务以非透明类 型参数的形式返回非移植的资格信息,如图7所示,非移植资格信息可通过任意的规则方式进行描述
GB/I31501一2015 规则1 规则2 图7 非移植资格示例 使用非移植资格要求调用授权AP的应用程序来理解授权服务规则格式,并且防止调用授权API1 的应用程序使用有不同规则格式的授权服务 授权API使用模型 系统结构 图8是使用授权API的系统结构 鉴别机制 发起者 鉴别服务 目标 AEF 投权A ADF 投权AP具体实现 访向策略信息 发起者安全属性 图8授权AP系统结构 在使用授权AP的系统中的资源请求由AEF来仲裁 AEF鉴别用户(通常使用鉴别服务),同时AEF也通过将访问控制信息传递给授权API来授权请 求,其完成被授权的请求并且拒绝未被授权的请求 授权API将从AEF中发来的ACI转换成ADI,同时利用ADF做出访问判定 ADF使用ADI和访问策略规则来判定发起者在目标上执行操作的请求是被允许还是拒绝 6.2 支持的函数 表1列出了文献[1]中提供的授权API函数集,并且简单描述了每一个函数集的功能 10o
GB/T31501一2015 表1授权服务AP函数 接口集支持的功能 接口集命名前级 初始化授权API的实现 azn_initialize,azn_shutdown 系统停止运行时,清除授权AP的实现 创建、删除、修改和合并链 从凭证链中获取信息 azncreds 基于凭证链创建PAc 基于由鉴别服务产生的鉴别标识建立鉴别链 aznid 做出访问判定 azndecision azn_entitlement 获取访问控制策略信息 基于由授权服务产生的PAC建立凭证链 aznpac 从由授权API函数返回的状态值中获取错误信息 azn_error 由azn.AP实现支持的鉴别授权和凭证,标签、,pac发现机制 azn_authority 创建和删除属性/值列表 将参数写人属性/值列表 azn_attrlist 从属性/值列表中读取参数数据 释放在授权AP实现中分配的数据 azn_release 状态机 6.3 .AE下应该按图中的顺序调用授权 图9概括了调用授权API应用的状态机(通常是一个AEF) AP函数 图中所描述的仅是状态机的大致情况,并没有列举出授权服务实现调用者所有可能的状态 由于AEF通过API而不是授权API调用鉴别服务,所以图中并非每个状态都是由授权API函数调用 引起的 系统获取发起者 A获取访问判决 AC1被认证标识 开始 ADF获取发起者 AD1 AEF获取发起者 ACI被认证标识 A日获取发起者 ACI(PAC AE获取发起者 ADF修改发起者 AC(PAC ADI 图9授权API状态机概览 11
GB/I31501一2015 表2指明了可以引起状态转移的授权API函数调用和其他AEF操作 表2授权AP状态机迁移 迁移 引起迁移的操作 AEF获取已被鉴别服务鉴别的发起者的请求 AEF获取请求,AEF鉴别发起者 AEF获取由一个授权AP1实现产生的PAC所描述的发起者的请求 AEF调用azn_decision_aces_alowed来授权请求(授权服务使用从环境中获取的鉴别服务标识隐含地 建立凭证链 AEF调用azn_id_get_ereds,其参数中的ID为空(授权服务使用从环境中获取的鉴别标识 AEF调用azn_idgeL_cereds,其参数中的D是在鉴别发起者时由AEF产生 AEF调用azn_pae-_getereds AEF调用azn_eredsconmbine 来给发起者漆加凭证链 AEF调用azn_ereds_modify来改变凭证链的属性 AEF调用azn_creds_modify来改变凭证链的属性 AEF调用azn_deeision_access_allowed 12 AEF调用azn_ereds_get_pae 13 AEF调用azn_creds_get_pac AEF调用azn_decision_access_alowedl 14 图9的状态机可以分为三个阶段 a)凭证建立 图9中初始状态的最左边一列的状态属于此阶段,在此阶段中,AEF使用授权 AP1建立凭证链,授权服务将使用此凭证链作为后续操作的基础 凭证修改 图9中初始状态的右边的第二列属于此阶段,在此阶段中,AEF通过修改凭证链 b 中的数据或合并发起者的凭证链来改变发起者的凭证链 凭证使用 图9中最右边一列的状态属于此阶段,在此阶段中,AEF在授权判定或创建可传 递给其他AEF的PAC中使用凭证链 6.3.1没有包括在状态图中的函数 6.3.1.1概述 为了简化状态图,状态图中忽略了一些授权AP函数,这些忽略掉的函数包括: a)管理函数; b) 内存管理, e出错信息的获取 d)凭证信息获取 资格 6.3.1.2管理函数 管理函数包括授权API的初始化和关闭丽数 初始化在使用任何授权AP函数前必须调用 关 闭函数在调用最后一个授权函数后或在AEF退出前必须被调用 12
GB/T31501一2015 6.3.1.3内存管理 这些函数包括创建和删除凭证链和属性列表数据结构 这些数据结构必须在使用前被创建 在创 建凭证链的调用中假定凭证链的内存通过调用azn_creds_create已被分配 授权服务不释放凭证链和 属性数据结构内存,AEF必须调用azn_release或azn_ceredential_delete来释放内存 6.3.1.4出错信息的获取 在调用授权API函数返回一个出错状态后,可以调用出错信息获取函数 6.3.1.5凭证信息获取 在建立凭证链后的任何时候都可以调用此类函数 6.3.1.6资格 在建立凭证链后的任何时候都可以调用此类函数 6.4 信任模型 6.4.1概述 安全系统的每一个组件需要知道其信任哪些组件,以及它们可以被信任来做什么 本条目表述了 使用授权AP的系统组件之间的信任关系 6.4.2鉴别和授权的关系 授权API将鉴别和授权分离开来,如图10所示 发起者 身份, 认证数据 身份标识 PAC 认证服务 目标 AEE AEF 自任 信任 PAC服务 ADF 图10鉴别和授权的关系 发起者可以使用鉴别服务来创建一个标识,AEF在接收发起者访问请求时获取此标识 AEF调用授权API将发起者标识转化为凭证链,凭证链被用来做访问控制判定 在实现中如果需要将发起者的请求传递给另一个AEF,AEF可以调用授权API将凭证链转化成 -个PAc,此PAc表示授权服务对发起者的观点(此处不是鉴别服务对发起者的观点,鉴别服务的观 点表示为标识). 另外一个AEF接收到此PAC后,可以将其转化为一个凭证链,此凭证链可用于访问控制判定 13
GB/I31501一2015 一个使用授权API的系统中: 在 鉴别数据表示为标识; 发起者的授权数据ACI,在授权服务中总是表示为凭证链 关于发起者的授权数据ACI在授权服务外总是表示为PAC 基于以上原因,可以区分鉴别数据和授权数据 关于鉴别数据的可信判定取决于AEF,一个授权API实现并不对其他AEF传递来的身份信息是 否可信作出判断 6.4.3CB边界 图1表示AEF,授权Al.ADF.PAC服务,鉴别服务和鉴别服务使用的任何机制均位于系统的可 信计算基(TCB)中,因此需要防止其未经授权被修改 认证机制 发起者 认证服务 目标 AEF 授权AP PAC ADF 资格服务 发起者安全属性 访问控制策略规则 图11授权API系统中的信任关系 系统中的组件有如下信任关系 a)目标资源的属主信任AEF,隐含地信任鉴别和授权服务(包含在最外边的灰色框内的所有组 件),以此来阻止非授权的发起者访问目标 b鉴别服务信任鉴别机制功能正确,同时能够提供发起者正确的标识 AEF信任鉴别服务提供正确的和经过鉴别的发起者标识,隐含地信任鉴别机制 c) d)授权API信任AEF提供正确的AC AEF信任授权AP1能够做出并且返回正确的访问判定,同时可以返回正确的PAC,资格和凭 证链特权属性,AEF隐含地信任授权服务 授权服务信任实现基于发起者安全属性存储能够将发起者标识正确地转化为凭证链 g授权API信任PAC服务能够将凭证链正确地转化为PAC服务,并且返回正确的凭证链特权 属性 14
GB/T31501一2015 授权API实现和PAC服务信任安全属性存储能保持正确的信息 h i 授权API信任授权服务ADF能够基于访问控制策略做出正确的访问判定 j 授权API信任授权服务的资格服务(ES)能够基于访问控制策略存储返回正确的资格 kADF和ES信任访问控制策略存储包含正确的信息 功能和可移植性要求 功能要求 7.1 7.1.1函数 表3中描述的函数应该在aznAPI中实现,并且要与本标准保持一致 表3必须实现的函数 函数名称 说 明 azn_atttlist allattrlistcalls azn_ereds_ereate azn_creds_delete azndecisionaccessallowed alerrorcalls aznerror azn_idget_creds azn_initialize azn_release allreleasecalls azn_shutdowm 在第6章中描述的其他函数功能可以选择实现,而对于未实现的功能,函数要返回AZN_s_UN IMPLEMENTED_FUNCTION 本标准采用标准C语言格式对aznAPI函数进行了定义和描述,参见附录A 7.1.2授权、服务、模式和机制 所有的授权服务实现必须支持使用AZN_NULL_ID,此参数表明使用缺省的权威和缺省的机 制lID 提供资格服务、标记模式,凭证修改服务和PAC服务的授权实现必须支持使用AZN_NULL_ID. 此参数表明使用缺省的服务或模式 授权服务实现不要求支持任何显式权威、模式,机制或服务ID. 将来,补充标准可以定义授权,模式、机制和服务I的标准可移植集合 7.1.3属性 所有授权A实现必须能够从azn_initialize中返回AZN_c_VERsION属性和其字符值 7.2移植性要求 应用程序如果只使用以上描述的aznAPI的功能,并且aznAPI的不同实现都支持应用程序的资源 和操作,那么这些不同实现之间具有可移植性 15
GB/I31501一2015 本标准不为受保护的资源或操作定义标准的命名空间或命名词法 在受保护的资源和操作的命名空间和命名词法定义前,程序开发者需要检查他们的授权AP1文 档,以此来保证他们的资源名称和操作名称在其使用的授权API中被支持 常量和变量定义 8.1字符串与类字符串数据 8.1.1缓冲区 大量的授权AP程序采用内存缓冲区作为其参数或返回值 内存缓冲区在授权API间传递,同时 调用者使用azn_bufer_t来描述单字节缓冲区,此数据类型是一个指向缓冲区描述符的指针,其缓冲区 描述符包括一个长度域和一个值域,长度域描述数据长度,而值域包含一个指向真实数据的指针 ypedel struct _bufer-dee-struct《 azn Sizet length; void Value; azn_buffer_desc,”azn_buffer_t; azn_buffer_desc对象内存的分配和释放应由应用程序来执行,新创建的azn_bufer_desc对象可以 初始化为AZN_C_EMPTY_BUFFER azn_buffer_t客体在azn_attrlist_get_entry_buffer_value和azn_creds_get_pac中是一个输出,在 这种情况下,在azn_buffer_desc中的缓冲区数组分配由授权API来实现,此种缓冲区必须由应用程序 调用aan_redlease_bufer来释放 8.1.2字符串 大量的授权API程序以字符串作为其输人参数和返回值,调用者使用azn_string_!数据类型在授 权API间传递字符串: yedafchae azn_string_t; 这是一个字符串数据类型,用来编码标识能力,许可或类似概念 字符串使用以“\0”为结尾的UTF-8字符数组来表示 8.1.3凭证句柄 大量的授权API以凭证句柄为其参数或返回凭证句柄 调用者使用azn_creds_h_数据类型在授 权AP间传递凭证句柄 edef edintazn_creds_h_t typec unsigneG 各种类型的azn_creds_h_t被非透明地处理,这与凭证链的具体实现有关 creds 在应用程序使用凭证句柄前,其必须调用azn_ create来初始化句柄,此函数分配一个新的 空的凭证链结构,并将其与一个句柄相关联,并返回此句柄 rtd.ddlee来释放凭证链结构 当应用程序不再需要一个凭证链结构时,应用程序必须调用azn_cre 8.1.4属性列表句柄 大量的授权AP程序以属性列表句柄为其参数或者返回一个属性列表句柄 调用者使用azn_at trlist_h_t数据类型在授权API间传递属性列表句柄 edef edintazn_attrisht typec unsigneG 16
GB/T31501一2015 各种azn_attrlisth_t被非透明地处理,这与授权AP实现维护的名称/值对列表有关 授权API 提供接口通过属性列表句柄指定属性列表来获取名称/值对 在应用程序使用属性列表句柄前,应用程序必须调用azn_atrlist_create来初始化句柄 trlis aLdelee来制除句柄 当应用程序不需要此句柄时,需要调用azn_attr 8.2状态值 授权API程序返回类型为azn_status_t的状态编码: vypedef nedintazn_status_t unsign6 为了与标准C语言条件测试规则保持一致授权AP实现中的azn_status_!应该可以映射为一个 整数 在AP调用返回的状态编码中封装了主出错编码和辅出错编码,调用成功应总是返回AZN_S coMPLETE(o) 主出错编码如表4所示,其与实现无关,辅出错编码与实现相关,其返回值及其含义 应该在实现的文档中定义 表4主出错编码 值 名称 含义 [ANscO)MPLETE 成功 [AzN_s_FALURE 发生错误 [AZNS_AUTHOR1ZATIoN_FAILURE 调用者不拥有所需的授权 [AZN_s_INVALD_cREDs_HDL 提供的句柄没有指向一个有效凭证链 [AZN_s_INVALDNEw_CREDs_HDL 提供的句柄没有指向一个有效凭证链 AN _S_INVALIDENTILEMENTs_sVc 属性资格服务标识无效 S AN _INVALID_coMB_CREDs_HDL 提供的句柄没有指向一个有效凭证链 SINvALDMBCHANIsMNFo 提供的安全机制信息是无效的或错误的 AN _INVALDMECHANISM们 机制标识是无效的 AZN S_INVALD_STRING_VALUE 提供的字符串是无效的 AN s_UNKNowN_LABEL.] 提供的标签是无效的 AZN 10 SIwLDADEDCREIs_HDL AZN 提供的凭证句柄没有指向一个有效的凭证链 [AZN_sINVALDPRoTEcTEDREsoURCE] 12 被包含的资源标识是无效的 sINVALD_oPERATION门 针对资源的指定操作是无效的 AZN 13 [AZN_s_INVALDPAc] 特权属性证书结构是无效的 15 [A2ZN_s_INVALDPAc_svcT 特权属性证书服务标识是无效的 未用 16 AZN _S_INVALID_MoDFUNcTIoN 17 凭证修改函数标识是无效的 [AZN_s_INVALDsUBEcT_INDExN 18 用来索引单个凭证的数字是无效的 UNIMP叫LEMENTEDrUNTON 本函数未实现 AN 19 S [AZN_s_INVALDATTRLIST_HDL呵 属性列表句柄无效 20 [A2N_s_ATTR_NAME] 属性名无效 2 [AZN_s_INVALDBUFFER 缓冲区无效 22
GB/I31501一2015 表4(续 名称 值 含义 [A2ZN_sINVALD_BUFFER_REr 23 缓冲区引用无效 字符引用无效 [AZN_S_INVALIDSTRING_REF 24 [AZN_s_ATTR_VvALUE_NoT_sTRINGTYPE 返回的人口值不是字符串类型 25 多值属性索引值无败 26 [AZN_S_ATTR_INVALID_INDEX AZNs_INvALID_INTBGER_REF 整数引用无效 27 权限的整数引用无效 AZN_S_INVALID_PERMISSION_REF 28 AZN_s_INVALDAUTHoRIrY幻 授权的权威D无效 29 30 应用程序上下文的属性列表句柄无效 [AN_S_INVALID_APP_CONTEXT_HDL] [AZNsINVvALDENTITLEMENTs_HDL 资格的属性列表句柄无效 32 AZN_S_INVALID_LABELING_SCHEME 标签模式标识未知或无效 初始化数据的属性列表句柄无效 33 AZN_S_INVALID_INIT_DATA_HDL 在初始化信息返回时的属性列表句柄无效 34 [AZN_S_INVALlID_INIT_INFO_HD1 返回的人口数据不是缓冲区类型 [AZN_S_ATTR_VALUE_NOT_BUFFER_TYPE 35 在azn_initialize 调用前,调用了非 aznattrlist 36 [AZN_S_APIUNINITIAL1ZED] ”或azn_error_”函数 在未调用aznshutdown的情况下,azn 37 [AZN_S_AP1_ALREADY_INITIAL1ZED] initialize调用了两次 minor用来获取主、辅出错编码 丽数azan_eror_major和azn-eror 授权API函数都可以返回主状态编码,指示传递了一个无效句柄,AZN_s_INVALID_CREDs HDL是一个例子 授权AP实现不能够检测无效句柄,但是当其能够检测到输人句柄参数无效时,应能够返回 句柄无效的主状态编码 授权API函数通过句柄释放数据时,应该能够将此句柄置为无效值,以使以后方便句柄的检查 8.3常量 在授权AP1程序参数中,标准值在此标准中定义为常数 此节中的表罗列出了标准中定义的所有常数 函数azn_deeision'返回一个有符号整数许可参数,此参数的合法值如表5所示 表5权限常数 名称 含义 [AZN_CPERMITTD 凭证链持有者的操作被允许 凭证链持有者的操作被拒绝 [AZNC_NOT_PERMITTED] 表6中的常数值可以被赋予类型azn_buffer_t,也可以与此类型参数比较 18
GB/T31501一2015 表6可选的参数常量 名称 值 含义 NULL 空数据值缓冲区 [AZN_c_EMPTY_UFFER] NULL 未提供或返回值缓冲区 [AZN_c_No_UFFER 表7中定义了大量访问控制属性的名称,以保证应用程序能够以可移植的方式从授权AP获取或 发布信息 凭证句柄指向一个凭证链,此凭证链包含发起者和一系列中间者的凭证,中间者传递发起者的 请求 授权AP实现必须保证在凭证链中的第一个索引指向的发起者的凭证,常数[AZN_c INITIAToR_INDEx]可以在azn_cereds_get_atrlist_for_subject和azn_ereds_for_subject来引用发起 者的凭证 azn_ereds_get_attrlistL_for_subjeet函数允许azn.API调用者从一个凭证中获取属性,本标准并未定 义所有出现在凭证中的属性 在授权API实现中必须支持的属性是审计标识,此属性允许授权AP调用者产生与发起者请求有 关的审计记录,为了不泄漏隐私,在审计日志中记录了个人标识信息 发起者审计ID可以从azn_ereds _get_attrlist_for_subject返回的属性链中利用常数AZN_C_AUDIT_ID来获取 授权调用者在TCB 内,所以其有义务正确处理审计标识信息 授权API的调用者必须保证其不向TCB外的任一程序泄 漏审计ID. 有几个函数将上下文AcI作为参数,由于上下文AcI类型在这些函数中是一个属性列表,所以几 乎所有的信息都可以作为上下文ACI来使用 然而,有四种类型的上下文ACI在许多授权服务实现中 都存在,并在GB/T18794.3规约中被明确要求,所以可移植属性名称和对应的属性值类型在此定义. 使得不同的实现间能够传递上下文参数 [AZN_C_REQUEST_TIME]、[AZN_c_AUTHN_QUALITY]、[AZN_c_REQUESTER_L0oc] 和[AZN_c_REQUEsT_ROUTE_QOP]可以用来命名那些携带这些通用类型上下文信息的属性列表 人口中的属性 表7属性名常数 名称 值 含义 在凭证链中表示发起者主体索引的 [AZN_C_INITIATOR_INDEX 整数值 属性名,对应的字符串包含一个主体 [AZN_C_AUDIT_ID “AZN_AUDIT_ID” 审计标识 属性名,对应的缓冲区值包含 [AZN_CREQUEST_TIME “AZN_REQUEST_TIME” imet结构,表示访问请求发生的时间 属性名,对应的字符串描述用来建立 [AZN_C_AUTHIN_QUALITY] “AZN_AUTHN_QUALITY” 发起者表示的鉴别的强度和机制 属性名,对应的字符串值包含请求发 [AZN_c_REQUEsTER_L.oc “AZN_REQUEsTER_L0c” 起位置,如果是P地址,其将包括 个标准的文本来表示十进制IP地址 属性名,对应的字符串值将描述连接 “AZNREQUESTROUTEQOP” [AZN_C_REQUEsT_ROUTE_Q0P 的安全特征 19
GB/I31501一2015 函数azn_initialize在属性列表中返回版本号,返回版本号的命名属性值如表8所示 表8初始常量 值 名称 含义 属性名称,对应的值包含一个带小数 [AZNc_VERsION “AZN_VERsIoN" 点的版本号(如3.37 8.4授权和机制ID 8.4.1授权、服务和模式ID 授权服务API实现可以支持下列服务中的多个提供者 a azn_id_get_creds;提供者称为权威; Lget_label;抛供者称为标签模式 b azn_decision_has._celearance和azn_entitlement azn_ereds_modify;提供者称为凭证修改服务或mod_sve; a2an_creds_geLpac和au azn_pac_get_creds;提供者称为pac服务; azn_entitler _entitlements;提供者称为资格服务 ement_get_ 上述有些服务是可选的 如果某实现支持单个服务的多个提供者,其必须使用客体标识来标识每一个提供者,实现的文档必 须提供一个其所支持的提供者和客体标识的列表 另外,如果某实现支持单个服务的多个提供者,此实现必须可以通过get_provider来调用服务,相 关的get_providre调用如下 a azn_authority_get_authorities; b abeling_sehe 1emeS azn_authority_get azn_authority_get_mod_svcs; azn_authority_get_pac_svcs; azn_authority_get_entitlements_svcs 应用程序在运行时通过给上述调用中传递提供者OI来选择服务提供者 标准并不要求必须支持服务的多提供者 但是所有的实现必须为每个服务指定一个缺省的提 供者 应用程序可以通过传递表9中常数作为权威,服务和模式ID来选择缺省的服务提供者 表9缺省ID 值 名称 含义 实现应该使用缺省的被调用的服务 [AZN_NULL_ID 提供者 8.4.2鉴别和机制ID 授权API定义了丽数aznid _get_creds来获取凭证链,此丽数的实现可以用来自不同发起者的 ACI创建凭证链 azn_idget_creds在调用时可以传人一个鉴别机制标识,以使此丽数可以根据机制标识来确定 nmechanism_info中存储的是哪一个机制的鉴别数据,从而可以支持多鉴别机制,此函数在实现时应该 20
GB/T31501一2015 mechanism 为每个权威id指定一个考虑缺省的鉴别机制,在调用azn_id_get_creds函数时如果参数" id是AZN_NULL_ID,表示调用者选择一个缺省的鉴别机制 8.4.3移植性鉴别机制客体标识 为了保证调用支持多鉴别机制的应用程序的可移植性,机制标识和相关机制信息(包括身份信息数 据类型)应该在标准部门注册,标准部门保证每一个机制对应一个唯一客体标识 当应用程序调用az_idget_creds时,鉴别机制生成传送到" _info的数据,用于表示此 mechaniSm 鉴别机制的客体标识的字符串应该作为mechanism_id参数传人此函数 21
GB/I31501一2015 附 录A 资料性附录 函数说明 A.1概述 本章给出了aznAP1的C语言形式的定义 每个函数的函数定义格式如下(以azn_attrlist_add_entry为例) //返回值的类型 azn_status_t /函数名字 azn_attrlist_add_entry azn_attrlisth_tattr_list/in //参数1的类型参数1的名称 azn_string_tattr_name/”in”/. 1参数2的类型参数1的名称 azn_string_tstring_value/”in //参数3的类型参数1的名称 in,out”/表示输人输出共 注,丽数的参数个数跟具体的丽数有关,每行表示一个参数 ”in"/表示输人参数,/ 用参数,/”out”/表示输出参数 A.2azn_attrlist_add_entry 函数名: -在属性列表中舔加名称/字符串人口 azn_attrlist_add_entry 函数定义 azn_status_t azn_atrlistadd_entry az_attrlist_h_tattr_list/”in an_strin起_attr_name/”in -strin长_tstrimg_value azn in 函数说明 此函数在属性列表attr_list添加人口,所添加的人口名为attr_name,值为string_value. 此函数可以使用相同的attr_list和相同的attr_name调用多次,但不同string_values,这使得此名 称下有多个值 attr_name和string_value拷贝到新的属性列表人口中,并将值改为输人的值,如果增加的是一个 新人口将不会影响现存的值,应用程序在调用完此函数后,应该释放attr_name和string_value 此函数调用成功后返回[AZN_S_cOMPLETE] 参数说明 Iist (in -属性列表句柄 attr_ in -添加的人口属性名 attr_name string_value(in) 添加的人口属性值 返回值: [[AZNs_COMPLETE] 成功 如果返回的不是[AZNs_COMPLETE,可以使用azn_error 22
GB/I31501一2015 major获取以下主出错编码 [[AZN_s_INVALID_ATTRLIST_HDL] -属性列表指针无效 [AZN_s_INVALID_ATTR_NAME] -属性名无效 [AZNs_INVALIDSTRING_VALUE -属性值无效 [AZN_S_FAILURE 发生一个需由具体实现解释的错误,辅出错编码可以调用azn_eror_mi nor获取 A.3 aznattrlist_add_entry_buffer 丽数名: 在属性列表中添加名称/缓冲区人口 buffer azn_attrlist_add_entry_" 丽数定义 aznstatust azn_attrlist_addentry -attrlist_h_tattr_list/”in aZn azn_stringtattr _name 1n aznbuffertbuffer_value in 函数说明 此函数在属性列表attrlist中添加一个人口,此人口名称为attr_name,值为buffervalue 此丽数可以使用相同的attr_list和相同的attr_name调用多次,但不同buffer_value,这使得此名 称下有多个值 attr_name和buffer_value拷贝到新的属性列表人口中,并将值改为输人的值,如果增加的是一 个 新人口将不会影响现存的值,应用程序在调用完此函数后,应该释放attrname和buffer_value 如果成功,函数返回[AZN_ScOMPLETE] 参数说明 -属性列表句柄 attr_listin 添加的人口属性名 attr_namein 添加的人口属性值 buffer_valuein) 返回值: [[AZN_scOMPLETE] -成功 如果返回的不是[AZN_s_cOMPLETE],可以使用azn_error major获取以下主错误编码: [AZN_s_INVALID_ATTRLIsT_HIDL] -属性列表指针无效 [AZN_S_INVALID_ATTR_NAME] 属性名无效 [AZN_s_INVALID_BUFFER] -属性缓冲区无效 [AZN_s_FAILURE 发生一个需由具体实现解释的错误,辅错误编码可以调用azn_error_mi nor获取 A.4 azn_attrlist_create 函数名: 创建一个有效的空属性列表,并将其赋予一个句柄,并返回此句柄 azn_attrlist_ereate 函数定义 23
GB/I31501一2015 azn_status_t _attrlist_ereate( azn new_atrlist" azn_attrlist_h_t out 函数说明 此函数创建一个有效的空属性列表,并将其赋予一个句柄,并返回此句柄 当不需要此属性列表new-Aatrlist时,应该调用aan_atrlistddlee释放掉此属性列表 如果成功,函数返回[AZNS_COMPLETE] 参数说明 newattrlistoutD 新属性列表句柄 返回值: -成功 如果返回的不是[AZNscoMPLETE],可以使用a2nerror [[AZN_s_COMPLETE] maior获取以下主错误编码 属性列表指针无效 [AZNSINVALIDATTRLISTHDL] 发生一个需由具体实现解释的错误,辅错误编码可以调用azne errormi [[AZN_s_FAILURE]- 获取 nOr A.5azn_attrlistdelete 函数名 删除由属性列表句柄指定的属性列表 azn_attrlist_delete 函数定义 azn_status_t azn_attrlist_delete( azn_attrlist_h_told_attrlist/”in,out 函数说明 此函数删除由属性列表句柄指定的属性列表 此丽数在删除完属性列表后,将执行属性列表的句 柄置为空,使其不能被使用 如果成功,丽数返回[AZN_scOMPLETE] 参数说明 存在的属性列表句柄 old_attrlist(in,out 返回值: [[AZN_s_cOMPLETE -成功 如果返回的不是[AN_s_COMPLETE],可以使用azn_error major获取以下主错误编码: [AZN_s_INVALID_ATTRLIST_HDL] -属性列表指针无效 [[AZN_s_FAILURE]一 -发生一个需由具体实现解释的错误,辅错误编码可以调用azn_error_mi 获取 nor buter A.6 azn_attrlist_get_entry_ er_value 函数名: azn_attrlist_get_entry_buffer_value -返回某个具有多个值的属性名的某个属性值,其属性值是 2
GB/T31501一2015 缓冲区 函数定义. aznstatust _bufer_value( azn_attrlist_get_entry aznattrlis list /" isth_tattr in in azn_string_tattr_name unsignedintvalueindex/ In aznbuffertbuffervalue Out 丽数说明 此函数返回一个缓冲区类的属性值,atr_name表示属性名,value_index指定返回的属性值的位 置,第一个属性值的索引值为0 当不需要bufer value时,应用程序应该调用aznreleasebuffer来释放此缓冲区 如果成功,函数返回[AZNscoMPLETE] 参数说明 存在的属性列表句柄 attrlistin 需要返回属性值的属性名 attrname(in 属性值索引值 value_indexin) 指向返回的属性值的指针 buffer_valueout) 返回值: [AZN_s.cOMPLETE 成功 如果返回的不是[AZ公N_s.cOMPLETE],可以使用azn_error major获取以下主错误编码: [AZNL_s_INVALIDATTRLIST_HDL] -属性列表指针无效 [AZN_sINVALIDATTRNAME] 属性名无效 [AZN_s_INVALID_B;UFFER_REF 缓冲区引用无效 [AZN_s_ATTR_VALUENOT_BUFFER_TYPE] 指定的属性值不是缓冲区类型的 [AZN_s_ATTRINVALID_INDEX] 索引值无效 [AZN_S_FAILURE] 发生一个需由具体实现解释的错误,辅错误编码可以调用azn_error_mi nor获取 A.7azn_attrlist_get_entry_string_value 函数名: az_attrlist_get_entry_string_value -返回某个具有多个值的属性名的某个属性值,其属性值是 字符串 函数定义 azn_status_t azn_attrlist_get_entry_string_value( azn_attrlist_h_tattr_list7in azn_string_'attr_name" value_index/”in unsignedint out azn_string_t”string_value" 25
GB/I31501一2015 函数说明 此函数返回一个字符串类型的属性值,attr_name表示属性名,value_index指定返回的属性值的位 置,第一个属性值的索引值为0 当不需要string_value时,应用程序应该调用azn_release_buffer来释放此缓冲区 如果成功,函数返回[AZN_S_COMPLETE 参数说明 listin 存在的属性列表句柄 attr attrnamein -需要返回属性值的属性名 valueindexin 属性值索引值 valueout -指向返回的属性值的指针 string_ 返回值: -成功 如果返回的不是[AZNscoMPLETE],可以使用a2n [[AZN_s_COMPLETE] errOr maior获取以下主错误编码 [AzNsINVALD.ATTRLsTHD]一属性列表指针无效 属性名无效 [AZN_S_INVALID_ATTR_NAME] 字符串引用无效 [AZNSINVALIDSTRINGREF] 指定的属性值不是字符串类型的 [AZN_S_ATTR_VALUE_NOT_STRING_TYPE] 索引值无效 [AZN_S_AT'TRINVALIDINDEX [AZNL_s_FAILURE]发生一个需由具体实现解释的错误,辅错误编码可以调用azn_error_mi nor获取 A.8azn_attrlistget_names 函数名 返回属性列表人口中出现的的所有属性名 azn_attrlist_get_names 函数定义. azn_status_t azn_attrlist_get_namesG azn_attrlist_h_tattr_list/”in azn_string_t”attr_names[口/out 函数说明 此函数返回一个以NULL结尾的azn_string_t类型的属性名列表 当不需要attr_names时,需要调用azn_release_strings来释放此属性名列表 如果成功,丽数返回[AZN_S_COMPLETE] 参数说明 attr_list(in) -现存属性列表句柄 -指向类型为azn_string_t的结构体指针,此结构体内存储属性名列表 attr_namesout 返回值: [[AZN_s_COMPLETE习 成功 如果返回的不是[AZN_s_COMPLETE,可以使用azn_error major获取以下主错误编码 [[AZN_S_INVALID_ATTRLIST_HDL] -属性列表指针无效 [AZN__INVALIDSTRINGREF -字符串数组指针无效 26

GB/T31501-2015信息安全技术鉴别与授权应用程序判定接口规范

随着现代信息化技术的不断发展,越来越多的应用程序被广泛应用到各个领域中。然而,这些应用程序的使用也带来了安全风险。为了保证信息系统的安全性,我们需要使用信息安全技术对应用程序进行鉴别和授权。

为此,国家标准化管理委员会在2015年发布了《信息安全技术 鉴别与授权 应用程序判定接口规范》(以下简称GB/T31501-2015)。本文将介绍GB/T31501-2015标准的相关内容。

一、标准概述

GB/T31501-2015是针对应用程序鉴别与授权领域的标准。它主要规定了应用程序判定接口的基本要求和规范,包括接口的定义、数据元素、功能接口等内容。

二、应用程序鉴别与授权的基本原理

应用程序鉴别与授权的基本原理是通过对应用程序进行身份验证和权限判定来保证信息系统中数据的安全性。在GB/T31501-2015标准中,应用程序鉴别和授权分别由不同的功能接口实现。

三、应用程序判定接口

GB/T31501-2015规定了应用程序判定接口的基本要求和规范,包括接口的定义、数据元素、返回值、调用方式等方面。其中,接口的定义和数据元素需要满足国家相关技术标准和规范要求,返回值和调用方式则需要根据具体的应用场景确定。

四、应用程序判定接口的使用流程

GB/T31501-2015还规定了应用程序判定接口的使用流程,包括应用程序的注册和认证、访问控制管理、日志记录和审计等方面。通过这些流程,可以保证应用程序的安全性和可靠性。

五、适用范围和目标用户

GB/T31501-2015标准主要适用于需要对应用程序进行身份验证和权限判定的信息系统。其目标用户包括信息系统开发者、安全管理员、系统维护人员等。

综上所述,GB/T31501-2015标准为信息安全技术鉴别与授权应用程序判定接口提供了基本要求和规范,可以有效保障信息系统的安全性。

和信息安全技术鉴别与授权授权应用程序判定接口规范类似的标准

信息安全技术术语

信息安全技术存储介质数据恢复服务要求
上一篇 本文分享国家标准信息安全技术存储介质数据恢复服务要求的全文阅读和高清PDF的下载,信息安全技术存储介质数据恢复服务要求的编号:GB/T31500-2015。信息安全技术存储介质数据恢复服务要求共有9页,发布于2016-01-01
信息安全技术电子支付系统安全保护框架
本文分享国家标准信息安全技术电子支付系统安全保护框架的全文阅读和高清PDF的下载,信息安全技术电子支付系统安全保护框架的编号:GB/T31502-2015。信息安全技术电子支付系统安全保护框架共有92页,发布于2016-01-01 下一篇
相关推荐