CN115563653A - 一种网络访问控制策略的设计及存储方法 - Google Patents
一种网络访问控制策略的设计及存储方法 Download PDFInfo
- Publication number
- CN115563653A CN115563653A CN202211371461.0A CN202211371461A CN115563653A CN 115563653 A CN115563653 A CN 115563653A CN 202211371461 A CN202211371461 A CN 202211371461A CN 115563653 A CN115563653 A CN 115563653A
- Authority
- CN
- China
- Prior art keywords
- rule
- strategy
- access control
- policy
- storing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开的网络访问控制策略的设计及存储方法,包括:构建表达式;基于表达式构建规则,规则的运算结果为“真”或“假”;构建动作;基于规则‑动作的组合构建策略;设置通用模板,采用通用模板将每条规则生成对应的规则文件;将规则文件采用动态编译的方式转换为机器码并进行存储;根据策略中规则‑动作的组合逻辑,将规则和动作采用程序存储至内存中;根据访问控制请求调用编排策略。本发明在处理多个策略时可以灵活编排策略的执行顺序,满足使用者的多种需要。
Description
技术领域
本发明涉及网络访问控制技术领域,具体涉及一种网络访问控制策略的设计及存储方法。
背景技术
访问控制系统是按主体身份及其所归属的某项定义组来限制主体对某些资源或者功能的使用的一种技术。对于访问控制NIST有如下定义:“访问是一种利用计算机资源去做某件事情的能力,访问控制是一种手段,通过它这种能力在某些情况下被允许或者受限制(通常是通过物理上和基于系统的控制)。”
访问控制的目的是确保特定的数据和资源能够在合适的时间和地点被合适的主体正确地访问和利用,而访问控制模型是规定主体如何访问客体的一种架构,访问控制模型从最初的自主访问控制(DAC)和强制访问控制(MAC)发展到基于角色的访问控制(RBAC),近些年来业内有出现了基于属性的访问控制(ABAC),随着动态安全能力越来越收到业界的关注,又提出了一种风险自适应的访问控制(RAdAC)。典型的访问控制流程如图1。访问控制模型的基本组成是访问控制策略,一套访问控制流程通常由一条或多条访问控制策略组成。在早期的DAC、MAC以及RBAC访问控制模型中因为定义策略时所用的操作数类型有限,例如在常见的应用于TCP或UDP层的防火墙策略中操作数的类型通常只有源地址、目的地址、源端口、目的端口、协议类型这5种。在基于角色的访问控制(RBAC)中操作数的类型通常也只有账号、角色、所属分组、部门等,即使再扩展加上时间和地点信息作为操作数,类型依然是有限的。所以定义这类访问控制策略的通常做法都是用程序实现固定格式的规则,例如:规则1:如果(角色 = 管理员)则允许访问;规则2:如果(IP地址在 10.33.1.1 到10.34.255.255 范围内)并且(目的端口 = 8000)则不允许访问。这种规则定义很简单,因为操作数类型是有限的,数据判断运算符也是有限的,所以每一条规则的格式都不会变化,即使出现不确定数量的规则也可以通过简单定义一个数组存储来实现。
对于近些年出现的基于属性的访问控制模型(ABAC),因为该访问控制模型的操作数类型(属性)是完全不确定的,所以无法像上述模型一样用规定格式的规则来实现,对于这种模型,业界通常有2种做法:1、人为限制参与规则定义的属性的数量,运算符的类型,那么ABAC规则就和上述规则一样格式是固定的,那么完全可以通过程序固化下来;2、属性数量和运算符类型不做限制,但通过解释型语言而非编译型语言来处理复杂的规则表达式,这种做法实现起来相对简单。
上述DAC,MAC,RBAC以及有限制条件的ABAC访问控制模型规则的定义方式的缺点在于:限制了操作数类型数量以及运算符的数量,虽然规则的定义和存储都很简单但灵活性非常差,无法满足复杂条件的访问控制。
通常情况下主体发出的一个请求是否可以允许对客体执行某些动作需要经过多个策略的决策,大多数决策系统的做法是固化多个策略的执行顺序,或者只提供给使用者有限的策略组合供其选择(例如几个策略都满足才可以放行,或者几个策略只要满足一个就可以放行),这种方式虽然比较简单的局限性很大,使用者无法按自己的想法改变多个策略的决策流程。针对上述使用解释型语言来定义和存储复杂规则的方法,虽然灵活性大幅加强,但使用解释型语言意味着每条规则在访问控制的过程中都会被实时解析,处理的性能远低于使用编译型语言来定义和存储。
公开号CN109753819A公开了一种访问策略的处理方法和装置,将策略表达式转换成代码,是直接定义代码形式的策略表达式,而这种设计是很多开源的策略引擎(opa,casbin,drools)通用的做法,对于性能提升没有帮助;且实现过程为如何从多个条件表达式中选择最后执行动作的算法,对于多种情况的适应性较差。
发明内容
发明目的:本发明目的在于针对现有技术的不足,提供一种网络访问控制策略的设计及存储方法,在处理多个策略时可以灵活编排策略的执行顺序,满足使用者的多种需要。
技术方案:本发明所述网络访问控制策略的设计及存储方法,包括:
S1:构建表达式;
S2:基于表达式构建规则,规则的运算结果为“真”或“假”;
S3:构建动作,所述动作是指当对应的规则运算结果为“真”时,执行的命令;
S4:基于规则-动作的组合构建策略;
S5:设置通用模板,通用模板中“id”表示规则的唯一标识,通用模板中“expression”对应描述规则的结构化语言转换成的代码,采用通用模板将每条规则生成对应的规则文件;
S6:将规则文件采用动态编译的方式转换为包含机器码的文件,对机器码附上对应策略的唯一标识后存储至内存中;
S7:根据所述S4策略中规则-动作的组合逻辑,将规则和动作的组合通过程序的形式存储至内存中,执行规则时,直接执行机器码,以实现策略的运算。
进一步完善上述技术方案,所述表达式的固定格式为:操作数 + 运算符 + 操作数,其中,操作数包括函数、属性值、常量、表达式,运算符包括算术运算符、关系运算符、逻辑运算符、程序运算符。
进一步地,所述规则包括一个或不少于一个表达式,且当规则包括不少于一个表达式时,表达式之间的运算关系有且仅能为“与”和“或”中的一种。
进一步地,所述动作包括两种类型:类型一是返回与请求决策方约定好的命令,类型二是执行下一个策略。
进一步地,所述策略包括一条或不少于一条规则-动作的组合,若所述策略包括不少于一条规则-动作的组合,且第一条规则运行结果为“真”时,执行相应的动作,策略运行结束;若所述策略包括不少于一条规则-动作的组合,且第一条规则运行结果为“假”时,执行第二条规则,如此循环。
进一步地,所述S4在构建策略时,设置有默认动作,所述默认动作是指当策略执行过程中出现了不在所述规则限定范围内的情况,执行的命令。
进一步地,所述不在所述规则限定范围内的情况包括:请求携带的数据不符合要求或者不存在导致策略执行异常;策略收到未知主体发送来的请求;在多策略执行过程中某策略被关闭;在多策略执行时出现循环调用;策略中所有规则都不满足。
进一步地,当存在多个策略时,调用链/树/图的设计进行策略编排。通常多个策略执行编排设计都是链式结构,即上一个策略执行完就执行下一个策略,按顺序一个个执行,而本发明中设计的策略执行过程,下一步执行什么策略会根据上一个策略的结果发生变化,并且也可以出现经过多个A -> B -> C ->A这种环形调用的情况,所以本发明中策略编排会出现链式,树,图三种情况。
有益效果:与现有技术相比,本发明的优点在于:本发明采用格式化语言转程序文件的方式设计和存储规则,允许一个策略中出现多个条件表达式以及对应的多个执行动作,当满足不同的表达式时可以执行相应不同的动作,一方面可以解决规则中操作数以及运算符不确定时规则没有约束的解析问题,灵活的适应任意复杂访问控制场景,另一方面采用动态编译的方式可以避免在运行时实时解析规则,大幅提高策略系统的处理性能。同时本发明中在处理多个策略时可以灵活编排策略的执行顺序,可以满足使用者的任何要求。
附图说明
图1是现有典型的访问控制流程的结构示意图;
图2是本发明的网络访问控制策略的设计及存储方法流程图;
图3是策略编排的流程示意图。
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
术语解释:
主体:用于表示请求对客体执行操作的实体,有时被称为请求者,可以是人或NPE(非人实体)。
客体:是需要保护的实体、资源,防止未经授权而被使用。
请求:主体发送给访问控制系统,向其提出对客体进行相关操作的待决策数据。
操作数:参与表达式运算的变量(属性)。
运算符:用于表达式中变量运算的运算符号,在本发明中主要分为3类:算术运算符、关系运算符、逻辑运算符。
表达式:由操作数和运算符构成,在本发明中分为3类:算术表达式、关系表达式、逻辑表达式;其中关系表达式和逻辑表达式的运算结果只有“真”或“假”,算术表达式的结果是一个数值。
规则:由一条或多条关系表达式以及逻辑表达式构成的,计算结果只有“真”和“假”两种结果的组合表达式。
动作:当规则运算结果为“真”时给主体发送请求返回的命令。
策略:由一条或多条规则和动作构成的,可以实现较复杂运算结果的处理脚本。
解释型语言:解释性语言编写的程序不进行预先编译,以文本方式存储程序代码,执行时才翻译执行,程序每执行一次就要编译一遍。
编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,因为编译只做一遍,以后都不需要编译,所以执行效率高。
如图2所示,本发明网络访问控制策略的设计及存储方法的处理流程。
1、构建表达式,表达式格式固定为:操作数 + 运算符 + 操作数。操作数又分为4类:
函数:一段运算代码,通常用户获取和环境相关的数据;
属性值:主体发送到策略系统的待决策请求里携带的可变数据;
常量:人工设定的固定的数据;
表达式:操作数也本身可以是一个算术表达式。
运算符可以是任意算术运算符、关系运算符、逻辑运算符以及复杂的程序运算,例如字符串前缀匹配、后缀匹配、正则匹配等。
2、构建规则,规则是由一个或多个表达式构成的复杂运算过程,一个规则里的表达式之间的关系规定只能为“与”和“或”,规则最终的结果只能是“真”和“假”二选一。
3、构建动作,当对应的规则运算结果为“真”时执行的命令,动作包含两种类型,类型一是返回给请求决策方的命令,该命令需要和请求决策方进行约定。类型二是执行下一个策略。
4、构建策略,策略由一条或多条(规则-动作的组合)构成,当第一条规则执行结果为“真”则执行相应动作,策略运行结束,如果第一条规则执行结果为“假”则执行第二条规则,如此循环。
本发明中特别指出,在构建策略时需要设计针对该策略的默认动作,默认动作表示当策略决策过程中出现了某些不在规则限定范围内的异常情况,例如:请求携带的数据不符合要求或者不存在导致策略执行异常;策略收到未知主体发送来的请求;在多策略执行过程中某策略被关闭;在多策略执行时出现循环调用;策略中所有规则都不满足;当出现以上情况时,策略的执行会直接跳转到默认动作执行,默认动作并不固化而是可以通过不同的情况定义不同的动作。
策略执行流程举例如下:
如果(策略关闭)或(收到未知主体发的请求),则执行(默认动作1:阻止),否则
如果(规则1)执行结果为(真),则执行(动作1:放行),否则
如果(规则2)执行结果为(真),则执行(动作2:阻止),否则
如果(规则3)执行结果为(真),则执行(动作3:执行其他策略),否则
则执行(默认动作)
如果上述过程中(出现异常)或(循环调用),则执行(默认动作2:放行)。
5、生成规则文件,首先需要确定实施系统所选用的编译型语言(例如C++,JAVA等),假设实施系统使用JAVA来实现该策略系统,则首先构造一份只包含一个类,该类中只有一个函数的JAVA代码段,举例如下:
import + Constants.classPath + .instance.RequestInstance;
import + Constants.classPath + .util.Util;
import + Constants.classPath + .util.MyException;
import static + Constants.classPath + .util.UserFunction.*;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
public class Expression_ + id + {
public static boolean func_ + id + (RequestInstancerequestInstance, Map<String, Map<String, Object>> tags) throwsInvocationTargetException, IllegalAccessException, ABACException {
return + expression;
}
}。
将上述代码段作为通用模板,每定义一条规则使用该模板生成一段代码,该模板中“id”表示赋予自定义规则的一个唯一标识,例如可以用定义规则时的时间戳作为唯一标识。模板中的“expression”对应该描述规则的结构化语言转换成的编译型代码,举例,有一条策略是:“当主体处于非封禁状态”或者“主体最后一次出现的时间距离当前时间超过了1分钟”则“允许放行”,那么该策略的条件部分为:“当主体处于非封禁状态”或者“主体最后一次出现的时间距离当前时间超过了1分钟”转换成结构化语言如下:
subRule: {logicalOperator: "||", expressionGroups: [{level:0,…},…], level: 0}
expressionGroups: [{level: 0,…},…]
0: {level: 0,…}
left: {type: "attribute", policySpaceID: "ihpM2H8BAZVaZJFc3SJa",tempID: "8e0od3wBFgpKTvbrkXkI",…}
attrID: "pRk01n8BAZVaZJFcWKnn"
handleParameters: []
handleWithFunction: false
parameters: []
policySpaceID: "ihpM2H8BAZVaZJFc3SJa"
simpleConfigInfo: {parameters: [], handleParameters: [], value:{name: "", enable: false}}
tempID: "8e0od3wBFgpKTvbrkXkI"
tempType: "sub"
type: "attribute"
level: 0
operator: "=="
reversal: false
right: {type: "constant", value: "false", handleWithFunction: false,handleParameters: [], parameters: [],…}
handleParameters: []
handleWithFunction: false
parameters: []
simpleConfigInfo: {parameters: [], handleParameters: [], value:{name: "", enable: false}}
type: "constant"
value: "false"
1: {level: 0, left: {type: "function", funcID: "func_getCurrentTs",handleWithFunction: true,…},…}
left: {type: "function", funcID: "func_getCurrentTs",handleWithFunction: true,…}
funcID: "func_getCurrentTs"
handleFuncID: "handle_programming"
handleParameters: ["#p-SUB(设备模型:ts)", "long"]
handleWithFunction: true
parameters: []
simpleConfigInfo: {parameters: [], handleParameters: [{name: "",enable: false}, {name: "", enable: false}],…}
type: "function"
level: 0
operator: ">"
reversal: false
right: {type: "constant", value: "60000", handleWithFunction: false,handleParameters: [], parameters: [],…}
handleParameters: []
handleWithFunction: false
parameters: []
simpleConfigInfo: {parameters: [], handleParameters: [], value:{name: "封禁时间(毫秒)", enable: true}}
type: "constant"
value: "60000"
level: 0
logicalOperator: "||"。
该结构化语言无论采用解释型语言还是编译型语言,通常的做法是在执行规则时实时地解析一遍,“策略定义”时定义好复杂的策略规则,“策略执行”在执行该策略时为了进行规则匹配计算,相当于需要将该规则再解析一遍,这样每次执行规则都存在这种解析规则的过程,效率会非常低下。
本发明在“策略定义”时直接将复杂规则转换成程序代码(转换代码的过程相当于上述解析规则过程,逐字逐句的将规则转换成代码)并调用编译器编译成可执行的机器码,这样在“策略执行”时直接执行机器码即可,省去了每次执行都要解析规则的流程。
本发明中将其转化成如下程序(JAVA):
((((boolean)Util.OBJ(requestInstance,"ihpM2H8BAZVaZJFc3SJa","sub","8e0od3wBFgpKTvbrkXkI","pRk01n8BAZVaZJFcWKnn")==false)||((long)(((long)Util.FUNC(requestInstance,"func_getCurrentTs"))-((long)Util.OBJ(requestInstance,"ihpM2H8BAZVaZJFc3SJa","sub","8e0od3wBFgpKTvbrkXkI","8xk11n8BAZVaZJFcs6nL")))>(long)tags.get("封禁时间(毫秒)").get("realValue"))))
用转换后的代码替换模板中的expression部分,则构成了一份完成的程序文件。该文件对应一个规则的条件表达式。
6、存储规则,将上述规则文件采用动态编译的方式转换成机器码并存储在磁盘上,调用编程语言自带的编译器,输入由规则转换成的代码,编译器会将其编译成包含机器码的文件,然后给每段机器码都加上对于策略的唯一标识,再将该文件内容载入内存中存储;这样可以带来2个优势:其一,规则本身存储相当于已经被加密,增强安全性,其二,动态编译直接生成的机器码已经存储在内存中,策略的执行性能会远超过实时解析规则的方式。
7、存储及执行策略,根据上述步骤4的逻辑,将规则和动作全部通过程序存储在内存中,执行规则时通常采用编程语言的“反射”机制即可进行规则的运行,进而实现策略的运算。
8、策略调用链/树/图的设计,通常一个访问控制中请求的判决过程往往不只由一个策略决定的,绝大多数时一个完整的访问控制流程中一个请求会通过多个策略的综合判决来决定给该请求下达的最终命令。本发明设计多个策略的运作方式可以根据用户的要求自由编排,如图2所示。
本发明采用格式化语言转程序文件的方式设计和存储规则,一方面可以解决规则中操作数以及运算符不确定时规则没有约束的解析问题,另一方面采用动态编译的方式可以避免在运行时实时解析规则,大幅提高策略系统的性能。同时本发明中在处理多个策略时可以灵活编排策略的执行顺序,可以满足使用者的任何要求。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
Claims (8)
1.一种网络访问控制策略的设计及存储方法,其特征在于,包括如下步骤:
S1:构建表达式;
S2:基于表达式构建规则,规则的运算结果为“真”或“假”;
S3:构建动作,所述动作是指当对应的规则运算结果为“真”时,执行的命令;
S4:基于规则-动作的组合构建策略;
S5:设置通用模板,通用模板中“id”表示规则的唯一标识,通用模板中“expression”对应描述规则的结构化语言转换成的代码,采用通用模板将每条规则生成对应的规则文件;
S6:将规则文件采用动态编译的方式转换为包含机器码的文件,对机器码附上对应策略的唯一标识后存储至内存中;
S7:根据所述S4策略中规则-动作的组合逻辑,将规则和动作的组合通过程序的形式存储至内存中,执行规则时,直接执行机器码,以实现策略的运算。
2.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:所述表达式的固定格式为:操作数 + 运算符 + 操作数,其中,操作数包括函数、属性值、常量、表达式,运算符包括算术运算符、关系运算符、逻辑运算符、程序运算符。
3.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:所述规则包括一个或不少于一个表达式,且当规则包括不少于一个表达式时,表达式之间的运算关系有且仅能为“与”和“或”中的一种。
4.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:所述动作包括两种类型:类型一是返回与请求决策方约定好的命令,类型二是执行下一个策略。
5.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:所述策略包括一条或不少于一条规则-动作的组合,若所述策略包括不少于一条规则-动作的组合,且第一条规则运行结果为“真”时,执行相应的动作,策略运行结束;若所述策略包括不少于一条规则-动作的组合,且第一条规则运行结果为“假”时,执行第二条规则,如此循环。
6.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:所述S4在构建策略时,设置有默认动作,所述默认动作是指当策略执行过程中出现了不在所述规则限定范围内的情况,执行的命令。
7.根据权利要求6所述的网络访问控制策略的设计及存储方法,其特征在于:所述不在所述规则限定范围内的情况包括:请求携带的数据不符合要求或者不存在导致策略执行异常;策略收到未知主体发送来的请求;在多策略执行过程中某策略被关闭;在多策略执行时出现循环调用;策略中所有规则都不满足。
8.根据权利要求1所述的网络访问控制策略的设计及存储方法,其特征在于:当存在多个策略时,调用链/树/图的设计进行策略编排。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211371461.0A CN115563653A (zh) | 2022-11-03 | 2022-11-03 | 一种网络访问控制策略的设计及存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211371461.0A CN115563653A (zh) | 2022-11-03 | 2022-11-03 | 一种网络访问控制策略的设计及存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115563653A true CN115563653A (zh) | 2023-01-03 |
Family
ID=84768780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211371461.0A Pending CN115563653A (zh) | 2022-11-03 | 2022-11-03 | 一种网络访问控制策略的设计及存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115563653A (zh) |
-
2022
- 2022-11-03 CN CN202211371461.0A patent/CN115563653A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Smeenk et al. | Applying automata learning to embedded control software | |
US20050005261A1 (en) | Component integration engine | |
US20030212540A1 (en) | Permutation nuances of the integration of processes and queries as processes at queues | |
CN1866283B (zh) | 实现规则系统触发的系统及方法 | |
Gorodetski et al. | Software development kit for multi-agent systems design and implementation | |
US11394604B2 (en) | Closed-loop automation of a managed network | |
US20030212671A1 (en) | Operational semantics rules for governing evolution of processes and queries as processes | |
US20030212672A1 (en) | Structural equivalence of expressions containing processes and queries | |
Heule et al. | IFC inside: Retrofitting languages with dynamic information flow control | |
Matulevičius et al. | Towards model transformation between SecureUML and UMLsec for role-based access control | |
Lahbib et al. | An event-B based approach for formal modelling and verification of smart contracts | |
CN113239386A (zh) | Api权限控制方法及装置 | |
Ameur-Boulifa et al. | Sysml model transformation for safety and security analysis | |
CN110162963A (zh) | 一种识别过权应用程序的方法 | |
Omicini et al. | Formal specification and enactment of security policies through Agent Coordination Contexts | |
EP3084675B1 (en) | Data access control for business processes | |
CN114115884B (zh) | 一种编程服务的管理方法以及相关装置 | |
US11556839B1 (en) | Auditing system for machine learning decision system | |
Cheong et al. | Frame-based method for customizing generic software architectures | |
CN110611694B (zh) | 一种基于虚拟化主从容器的数据处理中心 | |
Janicke et al. | Analysis and run-time verification of dynamic security policies | |
CN115563653A (zh) | 一种网络访问控制策略的设计及存储方法 | |
Horvath et al. | From security patterns to implementation using petri nets | |
Jeffrey | A distributed object calculus | |
CN107765655B (zh) | 以消息路由系统扩展mes功能的方法、系统及可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |