CN114139127A - 一种计算机系统的权限管理方法 - Google Patents

一种计算机系统的权限管理方法 Download PDF

Info

Publication number
CN114139127A
CN114139127A CN202111490479.8A CN202111490479A CN114139127A CN 114139127 A CN114139127 A CN 114139127A CN 202111490479 A CN202111490479 A CN 202111490479A CN 114139127 A CN114139127 A CN 114139127A
Authority
CN
China
Prior art keywords
authentication function
user
authentication
function
audit log
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
Application number
CN202111490479.8A
Other languages
English (en)
Inventor
陆佳明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Simple Type Software Technology Shanghai Co ltd
Original Assignee
Simple Type Software Technology Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Simple Type Software Technology Shanghai Co ltd filed Critical Simple Type Software Technology Shanghai Co ltd
Priority to CN202111490479.8A priority Critical patent/CN114139127A/zh
Publication of CN114139127A publication Critical patent/CN114139127A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及计算机安全领域,提供了一套简洁灵活的权限管理方法。其通过引入用户提供的鉴权函数,可以让任意用户安全地将自己拥有的对象共享给他人,并用任意方式验证被共享者的权限。此方法提供了传统权限管理方法无法提供的灵活性,给平台型应用程序,尤其是分布式的、基于C/S或者B/S架构的平台型应用程序,提供了巨大的想象空间。

Description

一种计算机系统的权限管理方法
技术领域
本发明涉及计算机安全领域。
背景技术
各类计算机系统普遍使用权限来控制不同用户对系统不同部分及不同功能的可见性,常见的权限管理方式不能提供足够精细的控制。随着移动互联网发展至今,权限系统渐渐面向普通大众的当下,Android系统和iOS系统给出了一系列的改进。
Android的权限系统让应用申明其需要允许访问何种API,将权限系统的管理对象从用户扩展到了应用程序。但它并不能控制应用在何种场景下访问该API,这导致各类APP普遍申明了大量权限,其大部分可能仅仅时为了在某一特定边缘场景被用到。与此同时,为了使用户能够在APP中获取某一照片,往往不得不授权APP访问全部照片。在近几年的系统如较新版本的iOS中,使用了改进过的动态权限来解决这一问题,比如当应用申请照片权限的时候,系统弹出对话框提示用户选择授权某个特定的照片或者授权所有照片。
iOS系统的此项改进是正确的,但它是对特定问题的一种优化,并不是一种通用的功能,如需推广到其他类型的权限,需要分别定制开发。
发明内容
本发明提出了一种计算机系统的权限管理方法,其特点为: 由用户提供鉴权函数,该鉴权函数可以签名后返回私有对象的引用,将自己拥有的对象或其部分访问方式共享给他人。
该鉴权函数可以由可信设备,或者服务器端,或者需要root权限访问的可信环境下执行,以确保安全性。
该鉴权函数可以接受一个或多个以下类型数据作为参数:用户名、密码、其他鉴权方式的结果(比如OAuth/SSO登陆Token或私钥签名过的某字符串)等。
该鉴权函数的结果可以被记录成审计日志,提供给上级管理员查看。 其中,上级管理员定义为:该鉴权函数的拥有者,为了获得鉴权函数所在空间的访问权,使用的鉴权信息的签发者。
审计日志可以被继续提供给上级管理员的上级管理员,直到超级管理员。
每一级管理员可以单独配置是否收集自己授权的用户所签发的鉴权信息的审计日志。
用户可以看到鉴权函数的所有需要收集审计日志的上级管理员的名称。
该鉴权函数可以返回对象的部分访问方式,该“部分访问方式”可以指以下两种定义。
定义一:是否可读、是否可写等基本权限控制。
定义二:基于类型系统实现的CPS风格的函数。
上述定义二中所谓CPS风格的函数,是指具有以下类型签名的函数:(A →B) →B,用户提供一个将A转换为B的函数作为参数,获得一个B。
上述定义二中,鉴权函数实际拥有A,但通过CPS风格的函数,用户能实际访问到的对象只有经过转换之后的B。
本发明通过让用户提供鉴权函数的形式,使其在灵活性上超越了传统的权限管理方法,为一种新的分布式软件开发方法提供支持。
附图说明
图1:该权限系统管理的存储空间示例,其描述了一个平台型应用,将整个存储空间分为各个部分分别分享给各个应用,各个应用又可以将其部分空间分享给用户,用户可以将其拥有的对象分享给其他人。
图2:该权限系统中,任一用户管理的空间示意图。
具体实施方案
在一个具体实施方案中,我们定义该权限系统的作用对象。
该权限系统的作用对象之一:原子类型对象(类比文件)。
该权限系统的作用对象之二:结构类型对象(类比文件夹,又称存储空间)。
该权限系统的作用对象之三:函数类型对象(类比应用程序)。
该权限系统的作用对象之四:引用类型对象(类比符号链接)。
该权限系统的作用对象之五:数据表类型对象(类比数据库或电子表格文件)。
该权限系统的作用对象之六:其他自定义类型的对象。
在另一实施方案中,可以没有数据表类型对象,如此将无法收集审计日志。
在该实施方案中,权限系统的作用对象被分:根对象、公共对象、私有对象。
根对象必须是结构类型,仅对超级管理员可见。
公共对象对所有人可见。
私有对象只对获得授权的人可见。
在另一实施方案中,可以没有公共对象,其用私有对象按如下方式实现:使用什么都不做,即让任意用户永远获得签名的鉴权函数。
在该实施方案中,其引用类型按照其可访问性分为:是否可读、是否可写、是否可分享、系统定义的其他种类(如:数据表类型对象的追加等)。
该实施方案的规则一:根对象仅超级管理员可见。
该实施方案的规则二:公共对象对所有用户可见。
该实施方案的规则三:如果一个结构类型对象对用户A可见,则其所有成员对用户A可见。
该实施方案的规则四:如果一个函数类型对象对用户A可见,则其返回的结果对用户A可见,即便其返回的是对其他用户的私有对象的引用。
在该方案适用的系统中,所有对象由根对象派生。以下是其用例步骤。
步骤一:超级管理员在根对象下创建了一个成员,设置为公共。则该对象下所有成员对所有人可见。
步骤二:超级管理员在根对象下创建了一个成员,设置为私有,同时创建了一个函数,该函数接受一个密码作为参数,返回该私有对象。则该函数即为该私有对象的鉴权函数。
步骤三:步骤二中创建的私有成员如果为结构类型的可写引用,则通过鉴权后的普通用户,也可以在其中创建公共对象、私有对象和其鉴权函数,分享给其他用户使用。
步骤四:可以给私有可写成员创建公共只读引用,也可以在鉴权函数中返回私有可写成员的只读引用。
在某一具体实施方案中,鉴权信息由以下部分组成。
鉴权信息的组成部分一:对象ID。
鉴权信息的组成部分二:对象可访问性(是否可读、是否可写等)。
鉴权信息的组成部分三:鉴权函数被创建时使用的鉴权信息(称为上级签名,该签名的拥有者称为管理员,该签名的签发者称为上级管理员)。
鉴权信息的组成部分四:可以有有效期,也可以没有,有效期可以由系统参数提供,也可以由鉴权函数设置。
鉴权信息的组成部分五:可以有签发者的名称、和审计日志表ID,其中签发者指鉴权函数的拥有者。
鉴权信息的组成部分六:可以有签发者提供的其他元信息。
如果鉴权信息中不提供审计日志表ID则不收集审计日志。
在某一具体实施方案中,鉴权过程分为以下步骤。
步骤一,用户:通过引用访问对象。
步骤二,系统:判断如果是公共对象,直接放行。
步骤三,系统:判断如果是私有对象,验证签名后放行。
步骤四,系统:将该访问记录添加进签名中包含的审计日志表。
步骤五,系统:递归地向上级签名中的审计日志表中添加记录。
通过鉴权函数返回的私有对象,放行的同时,提供鉴权信息,下次访问时可以凭借签名跳过鉴权。
在某一具体实施方案中,鉴权函数的权限验证过程最好能够满足以下要求。
要求一:在鉴权函数在创建时即验证其函数体中,对所有外部对象的引用,都对其创建者可见并且可分享。
要求二:鉴权函数最好存储在可信区域,比如服务器上;如需将鉴权函数存储于客户端等不可信区域,则必须加上应用开发者的签名以防篡改,此签名必须存储在可信区域,签名过程必须以可信的方式进行。
在该实施方案中,鉴权函数的函数体、或者说源代码,不可以被用户访问,只能被执行。
为了使鉴权函数的函数体无法被用户访问,有以下方案。
方案一:将鉴权函数存储在用户无法访问的服务器端。
方案二:将鉴权函数加固,并将敏感数据(比如密码)加密后存放在设备的安全存储区域或者服务器端。
其中方案二中所谓加固,是一种将源代码或者字节码或者二进制文件混淆,使其难以被反编译的技术,但难以反编译不等于密码学上的安全,所以不能仅仅靠加固来保障敏感数据的安全。
在具体实施方案中,为了保护用户的隐私权,用户可以看到鉴权函数的所有上级签名中,提供了审计日志表ID的用户的名称。
在另一种实施方案中,为了对用户提供私有对象的部分访问方式,我们不仅仅提供只读引用之类的简单权限控制,还允许鉴权函数对用户提供CPS风格的函数。
上述所谓CPS风格的函数,是指具有以下类型签名的函数:(A →B) → B,用户提供一个将A转换为B的函数作为参数,获得一个B。
上述做法中,鉴权函数实际拥有A,但通过返回CPS风格的函数,用户能实际访问到的对象只有经过转换之后的B。
上述做法要求一个函数式的强类型系统,对于类型系统可以参照常见的函数式编程语言设计。
上述做法对类型系统的最低要求是:必须能够做类型检查,并且能对于用户提供了不正确类型的参数的情况予以阻止。
以下列举一种上述做法的实际应用场景:系统在图像识别任务中,对应用程序提供摄像头的访问权限,但不提供原始图像,而提供了一个CPS风格的函数,其类型为:(A →B) → B,其中,A是图像的位图,B是图像的分类。 在上述做法的该应用场景中,应用程序提供了将图片分类的函数,系统为用户提供了分类结果,整个过程中应用程序无法获得图像内容本身,从而保护了用户的隐私。
以下是该实施方案应用到手机系统中的案例步骤。
步骤一,系统:提供选取照片接口。
步骤二:应用程序:调用该接口,并由系统显示选取照片页面,此页面的样式可以由应用程序定义,具体定义方式则不在本专利范畴内。
步骤三,用户:点击某具体图片,该操作触发某鉴权函数。
步骤四,系统:返回用户选取的照片的url,并由系统签名。
步骤五,应用程序:通过此url和签名访问照片。
步骤六:成功鉴权,获得照片。
以下是该实施方案应用到后端平台型应用开发的案例步骤,其存储空间组成可以参看图1。
步骤一,超级管理员:在根对象下创建了一系列结构对象,分别分配给各客户公司,并创建了鉴权函数。
步骤二,某客户公司管理员:在自己分配到的结构对象下,创建了一系列结构对象和一系列函数对象。
步骤三,该管理员:将结构对象分配给各个员工,作为他们的工作空间。
步骤四,该管理员:创建了一系列私有对象,以反应公司实际经营需要。
步骤五,该管理员:创建了一系列函数对象,以某些特定的方式使用前述2中的私有对象,其为包含数据表、作为数据表访问方法的函数等的结构,作为内部应用。
步骤六,该管理员:创建了鉴权函数,允许员工访问前述1中的工作空间以及前述3中的内部应用,并创建了审计记录表。
步骤七,该公司员工:在自己的工作空间中创建了某个文档,并分享给外部人士。
步骤八,该管理员:看到前述3中公司员工的分享记录,并根据公司规章制度检查是否合规。
步骤八中的过程也可以通过管理员设立的应用程序监控审计日志的方式实现。
步骤九,该公司管理员:发现自己的内部应用很有市场,想要将其开放给其他公司并收费。
步骤十,该公司管理员:为该公司的客户公司们创建了新的工作空间。
步骤十一,该公司管理员:创建了新的鉴权函数,返回一个结构对象,其包含:客户公司的工作空间以及之前已经定义好的内部应用。
步骤十二,该公司管理员:修改内部应用,将其使用的数据来源更改为可配置为客户公司的私有对象,具体更改方式则不在本专利范畴内。
步骤十三,该公司管理员:将新的鉴权函数返回的结构对象开放给客户公司访问。
以上即是本发明所述权限管理方法的一种实施方法,其旨在论证本发明的可行性,并不对其其他实现方式做出任何限制。

Claims (9)

1.一种计算机系统的权限管理方法,其特点为: 由用户提供鉴权函数,该鉴权函数可以签名后返回私有对象的引用,从而将该用户拥有的对象或其部分访问方式共享给他人。
2.基于权利要求1,该鉴权函数返回的私有对象的部分访问方式可以是:一个CPS风格的函数,从而从类型上限定用户以何种方式使用。
3.基于权利要求1,该鉴权函数可以由可信设备,或者服务器端,或者需要root权限访问的可信环境下执行,以确保安全性。
4.基于权利要求1,该鉴权函数可以接受一个或多个以下类型数据作为参数:用户名、密码、其他鉴权方式的结果(比如OAuth/SSO登陆Token或私钥签名过的某字符串)等。
5.基于权利要求1,可以将鉴权函数的结果记录成审计日志,提供给鉴权函数的拥有者查看。
6.基于权利要求5,可以将审计日志,继续提供给上级管理员查看,其中,上级管理员定义为:该鉴权函数的拥有者,为了获得创建鉴权函数的权限,使用的鉴权签名的签发者。
7.基于权利要求6,可以将审计日志,继续提供给上级管理员的上级管理员,直到超级管理员。
8.基于权利要求7,每一级管理员可以单独配置是否收集自己授权的用户所签发的鉴权签名的审计日志。
9.基于权利要求8,用户可以看到鉴权函数的所有需要收集审计日志的上级管理员的名称。
CN202111490479.8A 2021-12-08 2021-12-08 一种计算机系统的权限管理方法 Pending CN114139127A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111490479.8A CN114139127A (zh) 2021-12-08 2021-12-08 一种计算机系统的权限管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111490479.8A CN114139127A (zh) 2021-12-08 2021-12-08 一种计算机系统的权限管理方法

Publications (1)

Publication Number Publication Date
CN114139127A true CN114139127A (zh) 2022-03-04

Family

ID=80384852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111490479.8A Pending CN114139127A (zh) 2021-12-08 2021-12-08 一种计算机系统的权限管理方法

Country Status (1)

Country Link
CN (1) CN114139127A (zh)

Similar Documents

Publication Publication Date Title
US7529931B2 (en) Managing elevated rights on a network
CN101366040B (zh) 用于管理用户对于包含对象的服务器的访问的方法和系统
Hu et al. Guidelines for access control system evaluation metrics
US20090205018A1 (en) Method and system for the specification and enforcement of arbitrary attribute-based access control policies
Viega Building security requirements with CLASP
US20220083936A1 (en) Access control method
CN113468576B (zh) 一种基于角色的数据安全访问方法及装置
US8132261B1 (en) Distributed dynamic security capabilities with access controls
Anderson et al. Security policies
Delessy et al. Patterns for access control in distributed systems
JP4723930B2 (ja) 複合的アクセス認可方法及び装置
CN114139127A (zh) 一种计算机系统的权限管理方法
US20200117813A1 (en) Method for securing a digital document
Jaidi Advanced access control to information systems: Requirements, compliance and future directives
Rao et al. Access controls
Mirajkar et al. A provenance-based access control model for securely storing data in cloud
Peterkin et al. Role based access control for uddi inquiries
Jensen et al. Policy expression and enforcement for handheld devices
Gallegos et al. SAP Implementation and Control
Morton Managing Security and Access Control
Levenson et al. Consortium Shared Identity Over an Enterprise Blockchain
Sonnenbichler An Access Definition and Query Language: Towards a Unified Access Control Model
Yang et al. Security policy refinement: high-level specification to low-level implementation
Kapnoullas et al. Security framework for mobile agent platforms (SFMAP)
Albalawi A new approach to dynamic integrity control

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