基于SaaS的产业链协作公共服务平台数据安全解决方案摘要:针对基于SaaS的产业链协作公共服务平台数据安全问题,设计了公共服务平台的数据安全解决方案,该方案包括业务协作单据提交和签名算法、业务协作单据签名验证算法、加密敏感字段单据的解密算法及单据修改算法;该方案将非对称加密技术和WebService技术结合实现了企业数据的存储保密性,利用非对称加密技术、HASH技术和数字签名技术实现了平台数据的完整性、网络传输保密性和发送不可抵赖性。最后,通过对该方案的实现和安全性分析,证实了该方案的可用性和有效性。关键词:产业链协作公共服务平台;单据签名;敏感字段;加密存储;加密传输;非对称加密;WebService中图分类号:TP393.08文献标识码:ASolutionsofDataSecurityforIndustrialChainCollaborationPublicServicePlatformBasedonSaaSAbstract:FordatasecurityproblemofindustrialchaincollaborationpublicserviceplatformbasedonSaaS,solutionsofdatasecurityforindustrialchaincollaborationpublicserviceplatformwasdesigned,whichincludedsubmissionandsignaturealgorithmforbusinesscollaborationdocuments,signatureverificationalgorithmforbusinesscollaborationdocuments,decryptionalgorithmforencryptingsensitivefieldsinbusinesscollaborationdocumentsandupdatealgorithmforbusinesscollaborationdocuments.Thesolutionsofdatasecurityachievedenterprisedatasecuritystoragebycombiningnon-symmetricencryptiontechnologiesandwebservicetechnologies,andachieveddataintegrity,networktransmissionconfidentialityandnon-repudiationbyusingnon-symmetricencryptiontechnologies,hashtechnologiesanddigitalsignaturetechnologies.Finally,theavailabilityandeffectivenessofthesolutionwereconfirmedthroughthesolutionimplementationandsecurityanalysis.KeyWords:industrialchaincollaborationpublicserviceplatform;documentsigned;sensitivefield;encryptedstorage;encryptedtransmission;asymmetricencryption;WebService0.引言随着经济全球化和市场竞争的日益激烈,企业为了能更好的生存和发展,业务协作和信息集成已经成为企业信息化成败的关键因素,是企业提高竞争力的重要手段,这种业务协作和信息集成正在由企业内部之间向业务关联的企业之间发展,而且企业之间的业务协作越来越紧密,企业之间需要共享和集成的信息亦越来越多。在这种情况下,支持企业间的业务协作的信息系统受到了越来越多的关注[1]。目前,支持产业链协作的服务平台主要的解决方案有龙头企业自建业务协作平台和基于ASP(ApplicationServiceProvider)/SAAS(SoftasaService)的业务协作公共服务平台两种[2-3]。龙头企业自建业务协作平台解决方案主要针对单链式模式搭建,属于一对多模式,需要龙头企业自身投入大量的人力和财力,适合大型企业的信息化;而基于ASP/SaaS的业务协作公共服务平台是一种先进的新型的企业信息化服务模式,其服务模式属于多对多模式,支持多产业链的多业务协作,平台以企业联盟[4](龙头企业为联盟盟主)为组织单位,平台上的注册企业至少属于一个企业联盟。公共服务平台由第三方搭建,企业只需要投入较少的人力和财力,就可实现业务协作的信息化,特别适合中小企业信息化。基于SaaS的产业链协作公共服务平台模式和龙头企业自建业务协作平台模式主要存在以下不同:(1)数据存储。基于SaaS的产业链协作公共服务平台由第三方运营,数据中心平台运营商搭建和维护,使用公共服务平台的企业的数据存储在平台运营商的数据中心;而由龙头企业自建业务协作平台的数据存储在龙头企业自建的数据中心。(2)信息交互。龙头企业自建业务协作平台的业务协作模式为点到点方式,即协作企业和龙头企业进行直接握手业务协作;而基于SaaS的产业链协作公共服务平台的业务协作模式为平台转发方式,即协作企业和龙头企业不能进行直接握手业务协作,它们之间的业务协作必须经过平台进行中转。由于基于SaaS的产业链协作公共服务平台的安全性关系到多个产业链的多个企业群的正常生产和经营,因此,平台的信息安全保障是企业应用平台考虑的首要因素,对缺乏安全性的担忧已经成为公共服务平台发展的最大障碍。现有的关于数据安全的研究一般是利用数据加密[5-6]技术、单向函数(HASH函数)技术和数字签名[7-9]技术,解决数据的传输保密性、完整性和不可抵赖性,但基于SaaS的产业链协作公共服务平台的企业用户需要将自己的业务数据存储在平台运营方,现有的解决方案没有对考虑到企业重要数据在第三方存储的保密性,这也是企业最担心的一个问题。本文围绕基于SaaS的产业链协作公共服务平台的数据安全问题展开研究,针对公共服务平台的第三方运营特点,利用数据加密技术、HASH技术、数字签名技术和WebService[10]技术,设计了基于SaaS的多产业链协作公共服务平台的数据安全方案,该方案能较好地实现平台信息的存储保密性、数据完整性、传输保密性及不可否认性。1.基于SaaS的产业链协作公共服务平台安全需求基于SaaS的产业链协作公共服务平台由第三方运营,部署在互联网上,企业通过Internet使用平台,企业间通过平台进行的交易信息需要通过Internet网络传输,因此企业对基于SaaS的产业链协作公共服务平台存在以下主要担忧:(1)系统运营风险问题。第三方平台能否保证系统的稳定性、网络通畅性,能否处理例外事件、大量并发和海量数据,能否及时完成数据存证。(2)平台的身份认证体系是否安全。(3)企业间的交易数据在网络传输过程中,可能被截取、篡改及伪造。(4)平台能否保证企业间的交易不被抵赖不认。(5)数据安全性和隐私保护。企业需要在第三方平台存储大量业务协作数据,包括订单信息、供应商信息、企业销售信息等,这些都是关乎企业生死存亡的数据信息,是企业的核心机密,第三方平台能否保证这些数据不被泄露。因此,要保证公共服务平台的成功应用,在信息安全性方面必须满足:(1)存储保密性:由于企业间的所有业务协作数据存储在公共服务平台运营商数据中心,必须要保障平台运营商不泄露这些数据,因此,必须对企业数据的敏感(关键)字段进行加密处理,以防止平台运营商数据库管理员泄露数据。(2)数据完整性:平台必须保证企业间通过平台传递的信息没有被非法修改,即接受者获得的数据就是发送者发送的原文。(3)传输保密性:要求数据在网络传输的过程中不会被第三方截获,并能轻易得到截获数据的明文。(4)不可抵赖性:要求发送方对已发出的业务协作信息具有不可抵赖性。(5)安全可靠的身份认证体系。本文主要研究内容为数据安全中的存储保密性、数据完整性、传输保密性及业务协作的不可抵赖性,平台的身份认证问题请参见笔者的另一篇文章[11]。2.基于SaaS的产业链协作公共服务平台数据安全解决方案数据加密库技术、数据传输安全技术和数字签名技术可以有效地解决数据的存储机密性、传输机密性、完整性和不可抵赖性。现有的平台数据安全解决方案一般都是利用数据库加密技术、数据传输技术和数字签名技术来实现。但现有的解决方案都是解决以平台运营商为主导地位的数据安全,平台的运营数据归属权属于平台运营商。但基于SaaS的产业链协作公共服务平台的独特运营特点,决定了现有的安全解决方案在解决平台的数据安全时存在一些问题。2.1基于SaaS的产业链协作公共服务平台运营特点(1)基于SaaS的产业链协作公共服务平台由第三方开发和运营,平台用户通过租用方式使用平台,平台的所有权属于平台运营商。(2)平台用户以企业联盟方式组织,平台只与企业联盟的盟主签订合作协议,对盟主企业负责。(3)平台上的业务协作关系复杂,企业与联盟之间的协作是“多对多”的关系,即一个企业可以和多个企业联盟进行多个类型的业务协作。(4)平台上所有的业务协作数据存储在平台运营商数据中心的服务器上,但这些业务协作数据只是企业托管在平台运营商的服务器或存储设备中,业务协作数据的归属权不属于平台运营商,而是属于各个业务协作联盟的盟主企业。(5)平台运营商无法解密并查看平台业务协作数据库中的加密数据,但平台必须能将加密的数据解密后展示给平台的合法用户。2.2基于SaaS的产业链协作公共服务平台数据安全要求(1)由于平台上的业务协作数据归属权不属于平台运营商,而平台又是由平台运营商开发和运营,因此,平台的加密存储数据的解密密钥不能由平台运营商掌握。(2)业务协作的敏感数据加密由谁加密?是平台的服务器端还是数据发送方(客户端)。由于基于SaaS的产业链协作公共服务平台是B/S结构,如果由数据发送方加密,如何保证加密算法的安全?(3)由于基于SaaS的产业链协作公共服务平台的业务协作是以联盟为单位的,每个联盟的业务协作数据由该联盟的盟主企业管理,因此,每个联盟加密的业务协作数据只有该联盟的盟主企业才有解密权限,盟主企业的解密密钥存储在什么地方?当这些数据需要向该联盟的协作企业和盟主企业展示时,平台如何调取数据盟主企业的解密密钥对数据进行解密操作?(4)对于已经签名的数据,如何防止重放攻击?2.3.基于SaaS的产业链协作公共服务平台数据安全方案根据基于SaaS的产业链协作公共服务平台对数据安全要求,设计如图1所示的数据安全解决方案。(1)平台数据存储保密性采用数据库加密方式。为了保证平台的运行性能,平台的数据库加密采用字段级加密粒度及DBMS外核层加密方式,只对企业数据的敏感字段加密。填写单据单据摘要敏感字段加密封装数据包加密字典数据银行(数据库)数据处理查询解密敏感数据数据解密WebService不含加密字段含加密字段出库入库联盟A的盟主企业联盟A的企业AiAi平台企业(2)采用“数据银行保险箱”模式控制对数据的存取。平台的数据中心相当于数据银行,一个企业联盟的数据库相当于存放在数据银行的数据保险箱,保险箱中的数据使用企业联盟盟主企业的公钥加密敏感字段,而打开数据保险箱的的私钥由各企业联盟的盟主掌握。(3)平台的传输机密性采用数据加密方式。由于基于SaaS的产业链协作公共服务平台用户遍及全国各个角落,以及用户的信息化水平参差不齐,平台服务器端到客户端的数据安全传输方式只能采用SSL方式或数据加密传输方式,由于采用SSL方式需要将待传输的全部数据都进行加密处理,从而影响平台的服务性能,因此,本方案采用数据加密技术解决数据的安全传输。(4)采用WebService技术封装数据库解密私钥。为了保证加密后的数据能通过平台展示给相关用户,盟主企业将数据银行保险箱的私钥和解密算法封装为WebService[10],合法用户可驱动平台调用盟主企业的WebService