CN102012989B - 软件即服务中基于门限与密钥的授权方法 - Google Patents

软件即服务中基于门限与密钥的授权方法 Download PDF

Info

Publication number
CN102012989B
CN102012989B CN2010105774922A CN201010577492A CN102012989B CN 102012989 B CN102012989 B CN 102012989B CN 2010105774922 A CN2010105774922 A CN 2010105774922A CN 201010577492 A CN201010577492 A CN 201010577492A CN 102012989 B CN102012989 B CN 102012989B
Authority
CN
China
Prior art keywords
saas
role
user
key
data
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.)
Active
Application number
CN2010105774922A
Other languages
English (en)
Other versions
CN102012989A (zh
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.)
JIANGSU FENGYUN TECHNOLOGY SERVICE CO., LTD.
Original Assignee
JIANGSU FENGYUN NETWORK SERVICE 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 JIANGSU FENGYUN NETWORK SERVICE CO Ltd filed Critical JIANGSU FENGYUN NETWORK SERVICE CO Ltd
Priority to CN2010105774922A priority Critical patent/CN102012989B/zh
Publication of CN102012989A publication Critical patent/CN102012989A/zh
Application granted granted Critical
Publication of CN102012989B publication Critical patent/CN102012989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

软件即服务中基于门限与密钥的授权方法是一种加强软件即服务SaaS(Software as a Service)应用中数据安全的解决方案。主要用于从技术手段上为SaaS用户提供客观安全保障,来解决保护SaaS企业用户数据安全的问题,通过使用本发明提出的方法可以自然的为SaaS安全问题提供非常好的解决方法。本发明的方法是一种策略性的方法,通过将密钥进行分割,SaaS客户掌握其中的一部分,这样,SaaS软件提供商、SaaS运营商在没有SaaS客户参与的情况下,无法进行某一些高级的数据操作。其目标是将客户的密钥验证转化为客户授权,从而提高用户的安全信息,增加了安全保障。

Description

软件即服务中基于门限与密钥的授权方法
技术领域
本发明是一种加强软件即服务SaaS(Software as a Service)应用中数据安全的解决方案。主要用于从技术手段上为SaaS用户提供客观安全保障,属于数据安全技术领域。
背景技术
SaaS(Software as a Service,软件即服务)作为一种新型软件服务形式,正在全球兴起。它是一种颠覆传统的软件服务方式,将使软件供应商与客户的关系发生彻底转变,从售卖关系转变为服务关系。随着Internet(因特网)的迅猛发展,将软件作为一种服务形式提供给客户的需求逐渐增加,而SaaS这个新模式的出现正是顺应了这个需求。SaaS是指软件开发商以单个客户为基础出租他们的产品,并为客户运行这些程序。开发商们一般操纵与程序相关的数据中心,负责维护、更新底层的软件和硬件,而客户们仅仅通过一个公共的网络入口便可以操作这些软件。大多数的中小型企业在信息技术软件和硬件的购置方面存在预算瓶颈,“软件即服务”项目则是解决这一问题的有效途径。另外SaaS也能够解决长尾部分的销售问题。但是目前数据安全是制约SaaS应用的瓶颈,如何让SaaS企业用户放心,不仅要从管理上、从主观的信任上解决问题,而且要从技术手段上提供客观安全保障。门限密钥共享为SaaS安全问题提供了非常好且很自然的一种解决方法。
SaaS软件的整个使用过程来看,SaaS软件安全问题主要来自几个方面:首先,用户在使用SaaS软件的过程中商业数据会在浏览器客户端和服务器端传输,如何保证数据传输过程中数据的安全性,成为用户关注的焦点。其次,SaaS运营商存储数据的服务器有能力抵御互联网黑客的攻击么?这也是众多企业关注的问题。另外,存放在SaaS运营商的客户数据,如何在没有客户许可的情况下不被其他人窥探也是企业非常担心的问题。以上三方面问题,是数据安全的软肋,也是众多SaaS运营商面临的共性问题。
目前对前两个方面的研究已有不少成果,例如用户登录证书、SSL(Security Socket Layer,安全套接字层协议)加密、ISV(Independent Software Vendors,独立软件供应商)数据访问及数据传送加密、业务连续和灾难恢复保障策略等方法。然而传统的隔离、恢复、责任制等难以从管理上、从主观的信任上解决问题,不能从技术手段上提供客观安全保障,难以让SaaS企业用户放心。
发明内容
技术问题:本发明的目的是提供一种软件即服务中基于门限与密钥的授权方法,来解决保护SaaS企业用户数据安全的问题,通过使用本发明提出的方法可以自然的为SaaS安全问题提供非常好的解决方法。
技术方案:本发明的方法是一种策略性的方法,通过将密钥进行分割,SaaS客户掌握其中的一部分,这样,SaaS软件提供商、SaaS运营商在没有SaaS客户参与的情况下,无法进行某一些高级的数据操作。其目标是将客户的密钥验证转化为客户授权,从而提高用户的安全信息,增加了安全保障。
下面给出门限密钥的相关定义:
门限的基本思想是:在(t,n)门限签名方案中,n个成员共享群体的签名密钥,使得任何不少于t个成员的子集可以代表群体产生签名,而任何少于t个成员的子集则不能产生签名。
门限签名方案的基本假设是:在系统生命周期中,至少有(t-1)个非诚实成员。
密钥:密钥是加密算法中的可变部分,利用加密手段对大量数据的保护归结为对密钥的保护,而不是对算法或硬件的保护。
本发明涉及的关键技术包括以下几个方面:
·SaaS数据操作权限分级并建立对应角色,这是SaaS采用何种程度的密钥共享的基础,涉及到SaaS软件开发商、运营商、客户三方,在三方协商认可后建立权限表;
·SaaS密钥共享算法,我们采用经典的Shamir(t,n)秘密共享方案作为构造门限签名方案,这里要解决的问题是如何分发密钥,如何设置门限,采用何种具体的算法,如RSA、ECC等;
·基于角色的SaaS数据操作授权,采用密钥共享实质上是一个认证,是一个客户身份的认证,也就是说只有SaaS客户的身份才能提供完整的密钥,我们还必须在认证成功后进一步授权,此时,我们采用基于角色的授权机制,这个角色将对SaaS运营商、SaaS开发商以及内部的管理员和一般维护人员等进行限定。
一、体系结构
图1给出了一个SaaS结构图,主要由三个部分:MSP Site、Internet以及Agent Site组成。
下面我们给出几个具体部分的说明:
MSP Site:MSP即Managed Service Provider,是SaaS的管理服务提供商,包括SaaS软件提供商和SaaS运营商。MSP Site中包含Daemon、Portal和MSP engineer三大部分。Daemon是Internet中用于邮件收发的后台程序;Portal是SaaS客户通过Internet进入MSP提供的服务的入口;MSP engineer是管理服务提供商的工程师管理员。
Internet:中文为因特网,又叫做国际互联网。它是由那些使用公用语言互相通信的计算机连接而成的全球网络,是一组全球信息资源的总汇。Internet以相互交流信息资源为目的,基于一些共同的协议,并通过许多路由器和公共互联网而成,它是一个信息资源和资源共享的集合。
Agent Site:即SaaS客户节点,包括使用服务的SaaS客户和客户端工程师。
二、方法流程
1、SaaS数据操作权限分级并建立权限表
根据SaaS客户的需求,将SaaS数据操作权限进行分级是SaaS采用何种程度的密钥共享的基础,涉及到SaaS软件开发商、运营商、客户三方,根据客户应用的需求并经过三方协商认可后建立相应的权限表。可以将权限分为操作级、维护级、管理级,每一级别的人员享有进行相应级别操作的权限,这样就可以明确SaaS参与者的对应职责!
主要工作流程:
(1)SaaS软件开发商、运营商、客户三方协商后确立对应级别人员的权限。
(2)在MSP Site上建立权限表,包括SaaS软件开发商、运营商、客户三方各自的权限。
(3)根据权限表建立相应的角色,并对相应的人员分配权限。
2、确定SaaS密钥共享算法
采用密钥共享实质上是一个认证,是一个客户身份的认证,也就是说只有SaaS客户的身份才能提供完整的密钥。本发明采用经典的Shamir(t,n)秘密共享方案。Shamir门限秘密共享是一个基于多项式插值的(t,n)门限秘密共享方案,设Zq为有限域,q≥n+1,q公开,参与者集合为P={P1,P2,…,Pn},首先秘密处理者D选取Zq中的n各不同的非零元,记位xi,1≤i≤n,然后D把xi分配给参与者Pi,1≤i≤n,xi并不是影子,可以公开,秘密处理者D想要P共享秘密s∈Zq时,他将按以下步骤进行:
(1)秘密处理者在Zq上随机选择一个次数为(t-1)的多项式f(x)=a0+a1x+L+at-1xt-1∈Zq(x),
其中a0=f(0)=s,a1,a2,L,at-1为Zq上的随机数,这些都需要保密,在生成n个影子之后即可销毁。
s = f ( 0 ) = Σ i = 1 t ( Π j = 1 , j ≠ i t x - x j x i - x j ) s i ( mod q ) = , a 1 , a 2 a t - 1 x t - 1 ∈ Z q ( x ) P i 1 , P i 2 , L , P i t
(2)秘密处理者计算多项式si=f(xi)(modq),1≤i≤n,并将si秘密地传送给Pi,si即为参与者Pi的影子。任何t个参与者
Figure BDA0000036646640000032
L,
Figure BDA0000036646640000033
可通过Lagrange内插法重构多项式:
f ( x ) = Σ i = 1 t ( Π j = 1 , j ≠ i t x - x j x i - x j ) s i ( mod q ) , 秘密s可由s=f(0)来恢复。
3、基于角色的SaaS数据操作授权
SaaS客户提供完整的密钥后,我们还必须在密钥认证成功后进一步授权,此时,我们采用基于角色的授权机制,这个角色将对SaaS运营商、SaaS开发商以及内部的管理员和一般维护人员等进行限定。
主要工作流程:
(1)设置角色并映射用户
将用户到角色的映射存储在MSP的数据存储区中。SaaS客户的角色即是从MSP的数据库中提取的。
(2)在客户登录时分配角色
SaaS客户登录时,应用程序从MSP数据库或“目录服务”中查找角色。然后将角色放置在设定的对象中,这样就可以避免对数据存储区的后续请求,从而提高了性能。成功验证身份后可以登录后台,在代码中实现角色分配。Roles是一个数据库中帮助器类,调用构造函数时,它从角色数据库中提取角色并将它们放在内部角色数组中。由于应用程序将角色以字符串的形式存储在身份验证票中,因此该类的ToString方法将把数组转换成字符串表达形式。在实际应用中,角色帮助器类接受三个参数:已验证身份的用户、应用程序名称和到包含角色的数据库的连接字符串。
用户提交的后继请求将在请求标题中包含身份验证票,而服务器上的运行库将基于已登录用户的详细信息创建标识和主体。然而,并不会自动提取和分配添加到身份验证票的角色。要使用适当的用户角色设置主体,需要在下面的步骤中描述的运行线程上创建一个新主体并进行替换。
(3)主体替换
主体对象表示代码运行时所在的安全上下文。实现基于角色的安全性的应用程序将基于与主体对象关联的角色来授予权限。若要设置每次请求时与用户关联的角色,在此实现中,应在用户请求函数AuthenticateRequest中替换主体。
(4)检查角色成员资格
由于用户的角色可以在线程的当前主体中使用,因此代码可以使用此角色信息来允许或拒绝对某些功能的访问。这可以通过以下的三种方式之一来实现:设置代码属性、IsInRole方法调用(使用主体的IsInRole方法以编程方式评估角色成员)、Web.config(修改Web.config文件,以便基于角色成员资格允许或禁止对数据库的访问)。
(5)根据角色授予用户数据访问操作权限
根据上步中验证的用户角色进行相应的授权,以便SaaS用户对数据库的访问和操作。
软件即服务中基于门限与密钥的授权方法采用经典的萨莫尔秘密共享方案作为构造门限签名方案,软件即服务SaaS软件开发商、运营商、客户三方共享密钥,SaaS数据操作权限分级并建立权限表,具体如下:
1)SaaS数据操作权限分级并建立权限表:
步骤11).根据SaaS客户的需求,将数据操作权限进行分级,经SaaS软件开发商、运营商、客户三方协商后确立对应级别人员的权限;
步骤12).在服务器MSP上建立权限表,包括SaaS软件开发商、运营商、客户三方各自对应的权限;
步骤13).根据三方权限表建立相应的角色;
2)SaaS客户提供完整的密钥后,还必须在密钥认证成功后进一步授权,此时,采用基于角色的授权机制,这个角色将对SaaS运营商、SaaS开发商以及内部的管理员和一般维护人员等进行限定,具体流程为:
基于角色的SaaS数据操作授权:
步骤21).设置角色并映射用户:将用户到角色的映射存储在MSP(Main Serve Provider,管理服务提供商)的数据存储区中,SaaS客户的角色即是从MSP的数据库中提取;
步骤22).在客户登录时分配角色:SaaS客户登录时,应用程序从MSP数据库或“目录服务”中查找角色,然后将角色放置在设定的对象中,成功验证身份后可以登录后台,在代码中实现角色分配,Roles是一个数据库中帮助器类,它从角色数据库中提取角色并将它们放在内部角色数组中;由于应用程序将角色以字符串的形式存储在身份验证票中,该类的字符串转化方法把数组转换成字符串表达形式,角色帮助器类接受三个参数:已验证身份的用户、应用程序名称和到包含角色的数据库的连接字符串;
用户提交的后继请求将在请求标题中包含身份验证票,而服务器上的运行库将基于已登录用户的详细信息创建标识和主体,然而,并不会自动提取和分配添加到身份验证票的角色,要使用适当的用户角色设置主体,需要在下面的步骤中描述的运行线程上创建一个新主体并进行替换;
步骤23).主体替换:主体对象表示代码运行时所在的安全上下文,实现基于角色的安全性的应用程序将基于与主体对象关联的角色来授予权限;若要设置每次请求时与用户关联的角色,在此实现中,应在用户请求函数AuthenticateRequest(验证请求函数)中替换主体;
步骤24).检查角色成员资格:由于用户的角色可以在线程的当前主体中使用,因此代码可以使用此角色信息来允许或拒绝对某些功能的访问,这可以通过以下的三种方式之一来实现:设置代码属性、IsInRole(获取角色信息)方法调用、Web.config(Web配置文件);
步骤25).根据角色授予用户数据访问操作权限:根据上步中验证的用户角色进行相应的授权,以便SaaS用户对数据库的访问和操作;
3)SaaS用户进行数据操作的具体流程为:
步骤31).SaaS用户提供自己的密钥A创建一个连接请求;
步骤32).对应SaaS客户的请求,SaaS软件提供商和SaaS运营商提供对应的密钥B和密钥C;
步骤33).根据门限的思想生成多项式进行群体签名验证;
步骤34).签名验证成功后,在MSP数据库中获取SaaS用户对应的角色;如果验证失败,则直接结束返回;
步骤35).根据对应的角色进行数据操作授权;
步骤36).SaaS用户获得数据访问权限后,进行相应数据操作;
步骤37).SaaS用户数据操作结束后结束返回;
4)SaaS软件提供商进行数据操作的具体流程为:
步骤41).SaaS软件提供商提供自己的密钥B创建一个连接请求;
步骤42).对应SaaS软件提供商的请求,SaaS用户和SaaS运营商提供对应的密钥A和密钥C;
步骤43).根据门限的思想生成多项式进行群体签名验证;
步骤44).签名验证成功后,在MSP数据库中获取SaaS软件提供商对应的角色;如果验证失败,则直接结束返回;
步骤45).根据对应的角色进行数据操作授权;
步骤46).SaaS软件提供商获得数据访问权限后,进行相应数据操作;
步骤47).SaaS软件提供商数据操作结束后结束返回;
5)SaaS运营商进行数据操作的具体流程为:
步骤51).SaaS运营商提供自己的密钥C创建一个连接请求;
步骤52).对应SaaS运营商的请求,SaaS用户和SaaS软件提供商提供对应的密钥A和密钥B;
步骤53).根据门限的思想生成多项式进行群体签名验证;
步骤54).签名验证成功后,在MSP数据库中获取SaaS运营商对应的角色;如果验证失败,则直接结束返回;
步骤55).根据对应的角色进行数据操作授权;
步骤56).SaaS运营商获得数据访问权限后,进行相应数据操作;
步骤57).SaaS运营商数据操作结束后结束返回。
有益效果:本发明的方法是一种策略性的方法,通过将密钥进行分割,SaaS客户掌握其中一部分,这样,SaaS软件提供商、SaaS运营商在没有SaaS客户参与的情况下,无法进行某一些高级的数据操作。其目标是将客户的密钥验证转化为客户授权,从而提高用户的安全信息,增加了安全保障。
随着SaaS在国内发展逐渐壮大,越来越多的软件厂商也在选择走SaaS路线,更多的专家、博士等也对SaaS的前景非常看好,政府机关同样也在给予支持,对某些企业采取优惠政策等。但是随着SaaS用户的增加,带来了大量的数据访问和操作的安全问题。由于Saas软件的数据放在互联网上,数据安全问题令企业感到担忧,尤其是财务、CRM、销售等系统,更是对数据非常敏感。因此数据安全问题是制约SaaS应用的瓶颈,如何让SaaS企业用户放心,不仅要从管理上、从主观的信任上解决问题,而且要从技术手段上提供客观安全保障。
本方案提供的解决途径可以非常好并且很自然的解决SaaS数据的安全问题。传统的认证证书存在着四方面缺陷(1)否认:发送方不承认自己发送过某一报文(2)伪造:接收方自已伪造一份报文,并声称它来自发送方(3)冒充:网络上的某个用户冒充另一个用户接收或发送报文(4)篡改:接收方对收到的信息进行篡改。相比易损或不安全的证书,本方案提出的基于门限密钥与授权的的数据安全技术通过将密钥进行分割,充分利用了门限的特性,任意少于t个签名者的合作都无法重构t-1次多项式,因此任意t-1或少于t-1个签名者合作无法获得其他签名者的秘密密钥和签名组的秘密密钥,从而在SaaS体系中缺少任何一方的密钥都无法进行限定的数据操作,提高了数据的安全性。
附图说明
图1是SaaS系统模型。
图2是SaaS结构示意图。图中包括:管理服务提供商节点(MSP Site)、客户节点(AgentSite)、因特网、管理服务提供商工程师、SaaS客户、客户工程师、Daemon(Internet中用于邮件收发的后台程序)和SaaS入口。
图3是SaaS用户进行数据操作流程示意图。
图4是SaaS软件提供商进行数据操作流程示意图。
图5是SaaS运营商进行数据操作流程示意图。
具体实施方式
SaaS应用中基于门限密钥与授权的数据操作的实现步骤:
SaaS中基于门限密钥与授权的的数据安全技术研究,其特征在于采用经典的Shamir(t,n)秘密共享方案作为构造门限签名方案,SaaS软件开发商、运营商、客户三方共享密钥,SaaS数据操作权限分级并建立权限表,具体如下:
SaaS数据操作权限分级并建立权限表的实现步骤:
(1)根据SaaS客户的需求,将数据操作权限进行分级,经SaaS软件开发商、运营商、客户三方协商后确立对应级别人员的权限,
(2)在MSP Site上建立权限表,
(3)根据权限表建立相应的角色;
基于角色的SaaS数据操作授权的实现步骤:
(1)设置角色并映射用户:将用户到角色的映射存储在MSP的数据存储区中。SaaS客户的角色即是从MSP的数据库中提取的。
(2)在客户登录时分配角色:SaaS客户登录时,应用程序从MSP数据库或“目录服务”中查找角色。然后将角色放置在设定的对象中,这样就可以避免对数据存储区的后续请求,从而提高了性能。成功验证身份后可以登录后台,在代码中实现角色分配。Roles是一个数据库中帮助器类,调用构造函数时,它从角色数据库中提取角色并将它们放在内部角色数组中。由于应用程序将角色以字符串的形式存储在身份验证票中,因此该类的ToString方法将把数组转换成字符串表达形式。在实际应用中,角色帮助器类接受三个参数:已验证身份的用户、应用程序名称和到包含角色的数据库的连接字符串。
用户提交的后继请求将在请求标题中包含身份验证票,而服务器上的运行库将基于已登录用户的详细信息创建标识和主体。然而,并不会自动提取和分配添加到身份验证票的角色。要使用适当的用户角色设置主体,需要在下面的步骤中描述的运行线程上创建一个新主体并进行替换。
(3)主体替换:主体对象表示代码运行时所在的安全上下文。实现基于角色的安全性的应用程序将基于与主体对象关联的角色来授予权限。若要设置每次请求时与用户关联的角色,在此实现中,应在用户请求函数AuthenticateRequest中替换主体。
(4)检查角色成员资格:由于用户的角色可以在线程的当前主体中使用,因此代码可以使用此角色信息来允许或拒绝对某些功能的访问。这可以通过以下的三种方式之一来实现:设置代码属性、IsInRole方法调用(使用主体的IsInRole方法以编程方式评估角色成员)、Web.config(修改Web.config文件,以便基于角色成员资格允许或禁止对数据库的访问)。
(5)根据角色授予用户数据访问操作权限:根据上步中验证的用户角色进行相应的授权,以便SaaS用户对数据库的访问和操作。
SaaS数据操作权限分级并建立权限表的实现步骤:
(1)根据SaaS客户的需求,将数据操作权限进行分级,经SaaS软件开发商、运营商、客户三方协商后确立对应级别人员的权限。
(2)在MSP Site上建立权限表。
(3)根据权限表建立相应的角色,然后根据对相应的人员分配权限。
SaaS用户进行数据操作的实现步骤:
(1)SaaS用户提供自己的密钥A创建一个连接请求;
(2)对应SaaS客户的请求,SaaS软件提供商和SaaS运营商提供对应的密钥B和密钥C;
(3)根据门限的思想生成多项式进行群体签名验证;
(4)签名验证成功后,在MSP数据库中获取SaaS用户对应的角色;如果验证失败,则直接结束返回;
(5)根据对应的角色进行数据操作授权;
(6)SaaS用户获得数据访问权限后,进行相应数据操作;
(7)SaaS用户数据操作结束后结束返回。
SaaS软件提供商进行数据操作的实现步骤:
(1)SaaS软件提供商提供自己的密钥B创建一个连接请求;
(2)对应SaaS软件提供商的请求,SaaS客户和SaaS运营商提供对应的密钥A和密钥C;
(3)根据门限的思想生成多项式进行群体签名验证;
(4)签名验证成功后,在MSP数据库中获取SaaS软件提供商对应的角色;如果验证失败,则直接结束返回;
(5)根据对应的角色进行数据操作授权;
(6)SaaS软件提供商获得数据访问权限后,进行相应数据操作;
(7)SaaS软件提供商数据操作结束后结束返回。
SaaS运营商进行数据操作的实现步骤:
(1)SaaS运营商提供自己的密钥C创建一个连接请求;
(2)对应SaaS运营商的请求,SaaS用户和SaaS软件提供商提供对应的密钥A和密钥B;
(3)根据门限的思想生成多项式进行群体签名验证;
(4)签名验证成功后,在MSP数据库中获取SaaS运营商对应的角色;如果验证失败直接结束返回;
(5)根据对应的角色进行数据操作授权;
(6)SaaS运营商获得数据访问权限后,进行相应数据操作;
(7)SaaS运营商数据操作结束后结束返回。

Claims (1)

1.一种软件即服务中基于门限与密钥的授权方法,其特征在于该方法采用经典的萨莫尔秘密共享方案作为构造门限签名方案,软件即服务SaaS软件开发商、运营商、用户三方进行数据操作共享密钥,SaaS数据操作权限分级并建立权限表,具体如下:
1)SaaS数据操作权限分级并建立权限表:
步骤11).根据SaaS用户的需求,将数据操作权限进行分级,经SaaS软件开发商、运营商、用户三方协商后确立对应级别人员的权限;
步骤12).在服务器MSP上建立权限表,包括SaaS软件开发商、运营商、用户三方各自对应的权限;
步骤13).根据三方权限表建立相应的角色;
2)SaaS用户提供完整的密钥后,还必须在密钥认证成功后进一步授权,此时,采用基于角色的授权机制,这个角色将对SaaS运营商、SaaS开发商以及内部的管理员和一般维护人员进行限定,具体流程为:
基于角色的SaaS数据操作授权,SaaS用户的密钥认证:
步骤21).设置角色并映射用户:将用户到角色的映射存储在服务器MSP的数据存储区中,SaaS用户的角色从MSP的数据存储区的数据库中提取;
步骤22).在用户登录时分配角色:SaaS用户登录时,应用程序从MSP数据库中查找角色,然后将角色放置在设定的对象中,成功验证身份后可以登录后台,在代码中实现角色分配,Roles是一个角色数据库中帮助器类,它从角色数据库中提取角色并将它们放在内部角色数组中;由于应用程序将角色以字符串的形式存储在身份验证票中,该类的字符串转化方法把内部角色数组转换成字符串表达形式,Roles接受三个参数:已验证身份的用户、应用程序名称和到包含角色的数据库的连接字符串;
用户提交的连接请求将在请求标题中包含身份验证票,而服务器MSP上的运行库将基于已登录用户的详细信息创建标识和默认的用户主体对象,然而,并不会自动提取和分配添加到身份验证票的角色,要使用适当的用户角色设置用户主体对象,需要一个新的用户主体对象并进行替换;
步骤23).用户主体对象替换:用户主体对象表示代码运行时所在的安全上下文,实现基于角色的安全性的应用程序将基于与主体对象关联的角色来授予权限;若要设置每次请求时与用户关联的角色,在此实现中,应在用于接收处理并验证用户连接请求的用户验证请求函数AuthenticateRequest中替换默认用户主体对象,接收用户连接请求时,调用用户验证请求函数,与Roles所产生的角色相关联,生成相应的角色信息并进行验证,提高安全性;
步骤24).检查角色成员资格:由于用户的角色在线程的当前主体中使用,因此代码使用此角色信息来允许或拒绝对某些功能的访问,通过以下的三种方式之一来实现:设置代码属性、获取角色信息方法调用、Web配置文件;
步骤25).根据角色授予用户数据访问操作权限:根据步骤23)中验证的用户角色进行相应的授权,以便SaaS用户对数据库的访问和操作;
3)SaaS用户进行数据操作的具体流程为:
步骤31).SaaS用户提供自己的密钥A创建一个连接请求;
步骤32).对应SaaS用户的请求,SaaS软件提供商和SaaS运营商提供对应的密钥B和密钥C;
步骤33).根据门限的思想生成多项式进行群体签名验证;
步骤34).签名验证成功后,在MSP数据库中获取SaaS用户对应的角色;如果验证失败,则直接结束返回;
步骤35).根据对应的角色权限,对验证成功的SaaS用户进行数据操作授权;
步骤36).SaaS用户获得角色权限与数据访问权限后,进行相应数据操作;
步骤37).SaaS用户数据操作结束后关闭SaaS用户的连接请求;
4)SaaS软件开发商进行数据操作的具体流程为:
步骤41).SaaS软件开发商提供自己的密钥B创建一个连接请求;
步骤42).对应SaaS软件开发商的请求,SaaS用户和SaaS运营商提供对应的密钥A和密钥C;
步骤43).根据门限的思想生成多项式进行群体签名验证;
步骤44).签名验证成功后,在MSP数据库中获取SaaS软件开发商对应的角色;如果验证失败,则直接结束返回;
步骤45).根据对应的角色进行数据操作授权;
步骤46).SaaS软件开发商获得数据访问权限后,进行相应数据操作;
步骤47).SaaS软件开发商数据操作结束后关闭SaaS软件开发商的连接请求;
5)SaaS运营商进行数据操作的具体流程为:
步骤51).SaaS运营商提供自己的密钥C创建一个连接请求;
步骤52).对应SaaS运营商的请求,SaaS用户和SaaS软件开发商提供对应的密钥A和密钥B;
步骤53).根据门限的思想生成多项式进行群体签名验证;
步骤54).签名验证成功后,在MSP数据库中获取SaaS运营商对应的角色;如果验证失败,则直接结束返回;
步骤55).根据对应的角色进行数据操作授权;
步骤56).SaaS运营商获得数据访问权限后,进行相应数据操作;
步骤57).SaaS运营商数据操作结束后关闭SaaS运营商的连接请求。
CN2010105774922A 2010-12-07 2010-12-07 软件即服务中基于门限与密钥的授权方法 Active CN102012989B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105774922A CN102012989B (zh) 2010-12-07 2010-12-07 软件即服务中基于门限与密钥的授权方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105774922A CN102012989B (zh) 2010-12-07 2010-12-07 软件即服务中基于门限与密钥的授权方法

Publications (2)

Publication Number Publication Date
CN102012989A CN102012989A (zh) 2011-04-13
CN102012989B true CN102012989B (zh) 2013-11-27

Family

ID=43843162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105774922A Active CN102012989B (zh) 2010-12-07 2010-12-07 软件即服务中基于门限与密钥的授权方法

Country Status (1)

Country Link
CN (1) CN102012989B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015198314A1 (en) * 2014-06-23 2015-12-30 Porticor Ltd. Methods and devices for key management in an as-a-service context

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546627B (zh) * 2011-12-30 2015-09-02 广州杰赛科技股份有限公司 从云中数据库提取数据的装置
EP2624081B1 (en) * 2012-01-31 2018-01-10 Nxp B.V. Configuration method, configuration device, computer program product and control system
CN104811454B (zh) * 2015-05-11 2018-01-19 中国电力科学研究院 一种基于门限密码理论的访问控制方法
US10686776B2 (en) * 2016-07-22 2020-06-16 Samsung Electronics Co., Ltd. Authorized control of an embedded system using end-to-end secure element communication
WO2018119644A1 (zh) * 2016-12-27 2018-07-05 深圳配天智能技术研究院有限公司 一种软件授权方法、系统及设备
CN107465671A (zh) * 2017-07-28 2017-12-12 杭州绿湾网络科技有限公司 数据传输方法和系统
US11172359B2 (en) * 2017-08-09 2021-11-09 Lenovo (Singapore) Pte. Ltd. Method and apparatus for attach procedure with security key exchange for restricted services for unauthenticated user equipment
CN108924466B (zh) * 2018-06-28 2021-03-30 圣风多媒体科技(上海)有限公司 一种基于多媒体技术的企业会议系统
CN112385192B (zh) * 2018-07-09 2022-04-22 华为云计算技术有限公司 用于创建安全连接的系统和方法
CN110162936B (zh) * 2019-05-31 2020-03-31 北京比特安索信息技术有限公司 一种软件内容的使用授权方法
CN110912703B (zh) * 2019-10-29 2022-09-09 上海唯链信息科技有限公司 一种基于网络安全的多级密钥管理方法、装置及系统
CN111726227B (zh) * 2020-07-01 2023-12-12 上海瀚之友信息技术服务有限公司 一种企业内部公共服务的抽象接入平台实现方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510888A (zh) * 2009-03-19 2009-08-19 阿里巴巴集团控股有限公司 一种SaaS应用下提高数据安全性的方法、装置及系统
CN101657804A (zh) * 2007-04-13 2010-02-24 微软公司 可扩展和可编程多承租人服务体系结构

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101657804A (zh) * 2007-04-13 2010-02-24 微软公司 可扩展和可编程多承租人服务体系结构
CN101510888A (zh) * 2009-03-19 2009-08-19 阿里巴巴集团控股有限公司 一种SaaS应用下提高数据安全性的方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015198314A1 (en) * 2014-06-23 2015-12-30 Porticor Ltd. Methods and devices for key management in an as-a-service context

Also Published As

Publication number Publication date
CN102012989A (zh) 2011-04-13

Similar Documents

Publication Publication Date Title
CN102012989B (zh) 软件即服务中基于门限与密钥的授权方法
CN111343001B (zh) 一种基于区块链的社交数据共享系统
Lim et al. Blockchain technology the identity management and authentication service disruptor: a survey
CN105379223B (zh) 管理对企业资源的访问的方法和装置
CN103563294B (zh) 用于云计算平台安全性的认证和授权方法
CN105871854A (zh) 基于动态授权机制的自适应云访问控制方法
CN106161462A (zh) 一种网络安全认证方法
CN103259663A (zh) 一种云计算环境下的用户统一认证方法
CN109728903B (zh) 一种使用属性密码的区块链弱中心密码授权方法
CN103220141B (zh) 一种基于组密钥策略的敏感数据保护方法和系统
CN101827101A (zh) 基于可信隔离运行环境的信息资产保护方法
CN101321064A (zh) 一种基于数字证书技术的信息系统的访问控制方法及装置
Maurer The role of cryptography in database security
Lee et al. Blockchain-based RBAC for user authentication with anonymity
Deebak et al. A robust and distributed architecture for 5G-enabled networks in the smart blockchain era
CN107302524A (zh) 一种云计算环境下的密文数据共享系统
Nacer et al. A distributed authentication model for composite Web services
Hong et al. Service outsourcing in F2C architecture with attribute-based anonymous access control and bounded service number
Balusamy et al. A Secured Access Control Technique for Cloud Computing Environment Using Attribute Based Hierarchical Structure and Token Granting System.
CN104184736B (zh) 一种实现安全云计算的方法和系统
Mangipudi et al. Uncovering impact of mental models towards adoption of multi-device crypto-wallets
Talib et al. Towards new data access control technique based on multi agent system architecture for cloud computing
CN101242410B (zh) 基于简单对象访问协议的网格主观信任处理方法
Zhou et al. Research on multi-authority CP-ABE access control model in multicloud
CN106529216B (zh) 一种基于公共存储平台的软件授权系统及软件授权方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151021

Address after: Four, 215021 floor, international science and Technology Park, 1355 Jinji Lake Road, Suzhou Industrial Park, Jiangsu, China

Patentee after: JIANGSU FENGYUN TECHNOLOGY SERVICE CO., LTD.

Address before: 215021 Jinji Lake International Science and Technology Park, Suzhou, Jiangsu

Patentee before: Jiangsu Fengyun Network Service Co.,Ltd.