您好,欢迎来到年旅网。
搜索
您的当前位置:首页基于SAAS模式的系统安全性探讨

基于SAAS模式的系统安全性探讨

来源:年旅网
福 建 电脑 201 1年第2期 基于SAAS模式的系统安全性探讨 杨辉 (湖北交通职业技术学院湖北武汉430300) 【摘 要】:介绍了SaaS的基本概念,分析了基于SaaS模式的系统在安全方面需考虑的重要因素,并从 访问安全和数据安全两方面出发,给出了系统安全解决方案。 【关键词】:SAAS;系统安全;访问安全;数据安全 1.SaaS简介 (1)用户验证:在系统中。只有经过用户身份确认 SaaS是软件即服务(Software as a Service)的简称, 后.才能进行相关的操作,以控制其资源存取能力。所 是随着互联网技术的发展和应用软件的成熟.而在21 有相关的角色和用户需要通过系统的身份验证后.方  世纪开始兴起的一种完全创新的软件应用模式。它与 能执行相应的操作。按需软件(on—demand SOftware)、应用服务提供商(Ap— (2)存取控制:依据用户身份来管理资源存取,允 plication Service Provider。ASP1和托管软件(hosted soft. 许或拒绝用户的资源请求。系统中各角色的用户只能 ware)具有相似的含义。它是一种通过Intemet提供软 够访问到授权允许访问的模块和功能甚至是数据列表  件的模式.厂商将应用软件统一部署在自己的服务器 范围。(3)数据保护:系统中的数据应该保持完整、可信, 上.客户可以根据自己实际需求。通过互联网向厂商定 购所需的应用软件服务.按定购的服务多少和时间长 为防止数据被盗用,系统应提供各种安全机制,通过混 短向厂商支付费用。并通过互联网获得厂商提供的服 合访问模式和数据库的安全机制来保护访问过程中的 务 用户不用再购买软件。而改用向提供商租用基于 安全 而当数据在网络上传输时.系统应能提供相应的 WEB的软件.来管理企业经营活动,且无需对软件进 密钥机制来保护数据 行管理维护,服务提供商会全权管理和维护软件。软件 3.系统安全解决方案 在在基于SaaS模式的系统中.从访问安全和数据 离线操作和本地数据存储.让用户随时随地都可以使 安全两个方面出发.通过基于角色的认证和授权机制 用其定购的软件和服务。对于许多中小型企业来说. 以及混合加密方式给出安全解决方案。 SaaS是采用先进技术的最好途径.它消除了企业购买、 3.1访问安全 构建和维护基础设施和应用程序的需要.使得企业可 下面主要从如何实现基于角色的认证和授权机制 厂商在向客户提供互联网应用的同时。也提供软件的 将更多的精力投入到新技术研发和开拓市场中去。 出发.给出在本系统中保证客户始终对其隐私数据的 在这种模式下.客户不再像传统模式那样花费大 有效控制的解决方案 量投资用于硬件、软件、人员,而只需要支出一定的租 (1)认证 赁服务费用,通过互联网便可以享受到相应的硬件、软 SaaS系统一般授权客户来负责创建和维护其终端 件和维护服务.享有软件使用权和不断升级.这是网络 用户帐号.这种流程称之为”隔离授权”。在这种流程 应用最具效益的营运模式 2.基于SAAS模式的系统安全性分析 下.客户独立创建自己的终端用户帐号,而服务供应商 则负责认证这些帐号。为了满足这种隔离授权的需求, 安全性在任何软件中都是极其重要的一部分.SaaS 系统将同时支持集中认证和分散认证这两种方式.来 系统的先天性使得其安全性成为系统架构的重中之 处理用户认证问题.具体调用哪种方式则根据使用系 重。且特别为客户所关注。通常在SaaS系统中会存放 统的某个客户的具体类型来决定。 许多重要的客户业务数据.并且客户会对确保数据的 在集中认证的模式中(如图1所示),SaaS系统集 安全性有很高的期望.因此必须考虑使用一些多层次 中管理一个中央的为所有客户服务的用户帐号数据 的成熟的安全设计模式,为客户提供强大的数据安全 库。每一个客户的系统管理员有权新增、管理、删除在 保障。 . 其用户帐号目录下的任意帐号 当一个终端用户登录 在系统的安全方面中。需要考虑各种资源的存取 系统时.后台系统在中央用户数据库中验证其用户身 控制,包括应用组件、数据信息以及硬件设备的存取. 份信息.如果该用户为合法用户则赋予其对应的系统 主要涉及三个方面的内容 应用权限 2011年第2期 福建 电脑 81 能是通过”角色”这一概念来和企业内某个具体岗位职 能对应起来的。每个角色包含一个或多个业务许可来 允许被授予该角色的用户进行相关符合对应业务规则 的具体操作。角色是由SaaS模式系统统一管理的.他 们可以被授予一个用户或是用户组.而一个用户或是 用户组也可以根据业务需求被授予多个角色 根据角色的不同.用户可同时被赋予一个或多个 业务许可来进行特定的业务操作.这些业务操作一般 直接和重要的业务职能或系统管理职能相对应 有时 根据实际业务的需要.一种业务许可往往也可以被包 这种简化的集中认证方式不要求对每个客户的已 含在多个不同的角色之内.而终端用户也可通过被赋 有的系统用户界面做任何修改.但一大不利之处在于 予多个角色来获得所有完成其日常业务职能所需的业 在这种集中认证的系统架构下,单点登录(Single Sign— 务许可。这种模式在中小企业的业务实践中最为常见, on)将非常难以实现。单点登录即意味着SaaS系统可以 因为受企业规模的限制.中小企业中的一个用户往往 接受已经登录进企业内部网络的用户在无需二次登录 需要承担多种不同的业务角色。 的情况下直接获得其在SaaS系统内对应的权限 如果 3.2数据安全 无法实现单点登录.则终端用户在SaaS系统和其它系 从数据安全方面来看.应用SaaS模式的系统必须 统之间切换时会经常被要求重新手工登录。这样就使 是一个能够提供深度防御的系统.即可以通过多层次 得企业在引入SaaS系统时很难将其与现存系统无缝 的安全设置来有效防止不同情况下来自系统外部或内 图1集中认证模式 整合。带来许多额外的麻烦。 部的不同威胁。一般采用以下三种模式来保障数据安 因此,在系统中可同时支持分散认证的方式(如图 全性。 2所示)。这种方式下。客户则需要部署一个整合服务 (1)数据过滤 作为接口来管理其自身的用户目录服务。当该客户的 在本SaaS模式系统内使用一种混合了代理访问及 某个终端用户试图登录SaaS系统时.整合服务将根据 可信任子系统帐号的模式来处理数据访问.从而利用 在本地存储的身份信息直接认证该用户并授予其一个 数据库自身的安全机制在不创建复杂的安全模型的情 安全令牌.这一安全令牌将可以被SaaS系统接受并且 况下最大程度的确保从逻辑上隔离客户数据。 最终授权用户访问系统内的对应功能模块 在代理访问模式中.数据库允许不同的用户来访 问不同的数据表、视图,查询存储过程以及其它的数据 库对象 当一个用户在前端进行某个要求直接或间接 访问数据库的业务操作时.该进程会代理该用户的身 份。使用其安全认证信息fSecurity Context)来访问数据 库。 而在可信任子系统帐号模式下.系统进程永远使 用其自身的进程认证信息.连接数据库,这种进程自身 的认证信息与用户无关。在这种情况下,数据库将给予 该进程访问和操作对应数据库内对象的权限。任何额 图2分散认证模式 外的安全控制必须在系统进程一级而不是数据库一级 当单点登录对企业而言非常重要时.这种分散认 实现.以阻止未授权用户访问到不对其开放的数据库 证是一种非常理想的方式.因为它将认证过程分隔成 对象 这种模式无需为每个用户单独配置访问数据库 为本地和中央两个步骤.从而终端用户将不再需要记 对象的权限。因而使得安全管理工作变得相对简单,但 录或重复输入登录信息来切换使用不同的内部系统。 这也在一定程度上放弃了对单个用户访问数据库对象 因此在SaaS系统中采用混合方式认证模式.使用 安全性的控制 在SaaS模式系统内.用户概念比传统系统中更为 集中认证模式来认证管理那些中小客户.而为那些需 要使用单点登录且能够承受对应成本的大型企业提供 复杂.因为此时必须在一个客户和一个终端用户间进 分散认证的模式.从而将更加灵活的支持不同类型的 行严格区分 一个客户是一个使用Saas系统来访问其 客户。 自身数据的企业和组织.一个客户的数据在逻辑上与 其它客户的数据相互隔离。每一个客户为一个或多个 (2)授权 在SaaS模式系统内访问资源的权限和对应业务职 终端用户创建帐号来访问其自身的部分数据,这些帐 82 福 建 电一脑 201 1年第2期 号由其统一管理 可通过混合上述的代理访问及可信任子系统帐号 定的数据隔离 (3)客户数据加密 模式来处理SaaS模式系统内的数据访问 这种混合模 将数据库内的数据加密是另外一种确保数据安全 式涉及到为每个客户创建一个数据库访问帐号来允许 的有效方式.因为加密后的数据即使意外泄露到未授 其访问属于自身的数据库对象。当一个用户在前端进 权的人手中.也无法对其进行解读。 行某个要求直接或间接访问数据库的业务操作时.系 数据加密的方式一般有对称和非对称两种方法. 统进程会使用来自于上述数据库访问帐号的认证信 而在SaaS模式系统内.从系统性能角度出发.可将这 息.而不是来源于终端用户的认证信息来访问数据库。 两种加密方法予以混合使用 这里既可以通过使用代理访问模式来获得认证信息. 在对称加密方式中.将生成一个密钥来加密和解 也可以通过使用返回一组包含为该客户建立的加密的 密数据。数据的加密和解密将使用同一密钥。 登录认证信息的安全令牌的服务来获取所需的认证信 在非对称加密方式中.将使用两个相互对应的密 息来访问数据库 数据库勿需区分该系统进程是来自 钥:公钥和私钥。由公钥加密的数据必须由对应的私钥 于哪一个终端用户.用于阻止未授权的终端用户接受 来解密或与此相反。一般来说。公钥可以被公开分发给 或修改特定数据的安全代码仍然是在系统进程一层实 所有需要与目标系统通信的系统.而仅目标系统持有 私钥。举例来说。如果A需要发送加密信息给B。那么 (2)数据表的安全控制 A必须首先获取B的公钥为所发送信息加密.然后该 为了在数据表这一级上确保数据库的安全性.在 加密信息将只能被持有B私钥的用户所解密.在实践 SaaS模式系统内可使用SQL语句中的GRANT命令来 中也就是B本人。在这种模式下.B永远不需要与A 控制终端用户访问~张表或其它数据表的权限 分享他自己的私钥。而如果采用对称加密来处理这种 GRANT SELECT,UPDATE,INSERT,DELETE ON 情况的话.A必须将用于数据加密的密钥单独发送给 现。 【TableName】FOR【UserName】 B 由此存在着密钥被第三方中途截取的风险。 上述SQL语句将该终端用户加入到这张数据表的 因此在系统内.可采用混合加密方式来同时从这 访问控制表内.由于使用前述的混合模式来访问数据 两种加密方式中受益 在混合加密方式中.每个客户在 库。即终端用户们使用来自于其所属客户的安全认证 系统最初创建工作环境时会获得三把密钥:一把单一 信息.因此只需在最初创建客户数据环境的过程中.将 密钥和一对公钥和私钥。单一密钥将被用于加密客户 该安全认证信息导入到数据库的访问控制表内.今后 的关键数据.而那对公钥和私钥将被用来保护这一单 无论该客户创建再多的新的终端用户帐号.系统都可 密钥.从而增强了密钥的安全性。 以自动地获取访问该数据表的权限。 当某个终端用户登录时.系统进程利用代理访问 另一方面.SQL视图也被用于允许客户访问数据 法获得客户的安全认证信息来访问数据库.从而使系 表内的部分记录,同时限制其访问同一张表内的其它 统进程能够拿到该客户拥有的私钥 此时该系统进程 一记录。 可以利用该客户的私钥来解密获取属于该客户的那把 SQL视图可以被视作一张由SELECT语句定义的 单一密钥从而读写关键数据 虚拟表。这张虚拟表能够被查询.也可以在存储过程中 4.结束语 如同一张实际数据表一样被使用 下面这条SQL语句 SaaS模式正在成为应用软件市场令人兴奋的发展 用来创建一个名为员工的视图.该视图内将只包含属 趋势,并已获得良好成效 本文以基于SaaS模式系统 于某个客户的所有记录 的安全性为切入点.分析了系统在安全方面需考虑的 CREATE VIEW TenantHREmployee AS 重要因素.并从访问安全和数据安全两个方面出发.通 _过基于角色的认证和授权机制、数据过滤、数据表的安 这句SQL语句也包含了访问数据库的SID(Securi. 全控制以及混合加密方式给出了系统安全解决方案。 ty Identiifer)。该SID可以被用来确定哪些记录该被次 _SELECT FROM HR.Employee WHERE TenamID=EmpIDO 参考文献: Employee视图的权限.但没有访问HR Em. …1张基温.信息系统安全教程【M】.北京:清华大学出版社,2007. ployee这一源数据表的权限,与此同时在查询和存储 [2】Keivn Kenan.数据库加密一一最后的防线(M】.北京:电子工业 过程中也可以使用该视图.从而通过这一方式实现了 出版社2007. antHR_视图所包含。每一个终端用户可以获得访问该Ten— .

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务