自学内容网 自学内容网

系统架构师软考应试八股文-论信息系统安全

摘要:
2021年3月,我参与了某省人大代表履职系统开发项目,该系统主要功能包含立法工作、建议管理、议案管理、信息管理、OA、系统配置等。我在该系统中担任系统架构师,主要负责系统架构工作。本文以该系统为例,主要论述了系统面临的安全问题以及采用的解决方案。在机密性方面,针对密码和代表敏感数据,系统采用了密码加码传输和数据脱敏的方案。在鉴别方面,系统采用了Oauth2协议和JWT令牌技术,解决本系统和第三方系统通过身份认证问题。在访问控制方面,我们使用了RBAC权限控制模型,对页面操作元素和后端分离接口做了详细的操作权限控制。系统通过以上安全策略的实施,型成了良好的预防、检测、处理、跟踪等效果。系统最终顺利上线,并得到用户一致好评。
正文:
根据《“十四五”推进国家政务信息化规划》文件精神,某省人大决心推动其数字人大的建议工作,以期提高政务服务水平。我司通过竟标,获得了该项目的开发权。
系统于2021年3月启动,开发周期8个月。主要分为立法模块、备案审查模块、建议议案模块、会议模块、OA模块、系统配置模块等。立法模块主要负责处理立法业务流程,包含规划、计划、起草、审议、清理、评估等;备案审查模块主要负责法规文件备案审查流程,包含文件的报备、备案、审查、意见处理等;建议议案模块主要负责人大代表建议议案的提交、审核、交付办理、办理单位答复、反馈、建议报表等。会议模块主要负责会场安排、会议事务安排、会议文件管理、远程协商、投票表决等。OA模块主要负责人大代表信息管理、通知公告、活动安排、履职档案管理等。系统配置模块主要负责用户管理、字典管理、权限管理、角色管理、配置管理等。项目以人大产品线为基础,在已有的上述模块的基础上进行二次开发。本人在项目中担任系统架构师职务,主要负责系统的架构设计工作。
安全是一个系统的基石,如果一个系统的安全措施做得不到位,存在安全漏洞,那么该系统出现事故的概率和损失越大。常见的安全问题包含系统认证、系统访问权限控制、数据机密性、数据完整性、抗否认性。系统认证指系统能正确识别合法访问用户合法性的能力,当系统检测到非法登录时,予以拒绝访问。常用的签别方式有用户口令、可依赖的第三方签别、U盾等。系统访问控制包含两方面,一是拒绝非法用户访问系统资源,二是确保合法用户不越权访问系统资源。主要措失包含拒绝服务和权限控制,比如有BLP模型、基于角色的RBAC模型等。数据机密性指系统敏感数据不被泄露的能力,比如用户密码、用户隐私信息、政府内部敏感数据等,常用的方法的拒绝访问、数据加密、数据脱敏等。数据完整性指系统阻止数据被非法篡改的能力,常用的方法有拒绝访问、数据表冗余摘要信息等。抗否认性指安全事件发生后,如何解决事故双方纠纷的问题。常用主解决办法有审计追踪、数据签名技术等。
根据项目实际情况,团队认为系统在系统认证、系统访问权限控制、数据机密性三个方面面临的安全风险最高。针对此三个方面,系统采取了一系列的安全措施。
系统认证方面
根据客户方需求,系统要求能够对客户方第三方系统做集成,以便满足单点登录功能,从而消除信息孤岛。介于此。本系统认证功能需要能够满足两个方面,一是本系统自身的用户认证。二是第三方系统通过本系统做身份认证。然后跳转回第三方系统本身。团队经过研究。采用了Oauth2协议和JWT令牌的方案来处理用户认证。相关的前置工作有:与第三方系统约定,本系统和第三方系统的用户帐号和口令信息由本系统统一管理和存储。第三方系统向本系统注册客户端授权编号、授权密码、回调地址。用户登录的认证顺序为:第三方系统访问本系统提供的统一身份验证页面,输入帐号和口令信息登录本系统。本系统携带授权码访问第三方应用申请的回调地址。第三方应用获取到授权码信息后,向本系统申请JWT令牌。从而完成认证。后续再携带令牌获取登录用户的详细信息以及访问自身系统或单点登录到其他系统。通过Oauth2协议的使用。系统满足了本身统一第三方系统的认证需求。后续接入其他系统也很便利。
访问控制方面
项目开发时,从开发较率、多终端等方面的考虑,采用了前后端分离的布局。所以在访问控制方面,需要考虑的点包含三方面。一是界面的操作按钮、菜单等。称为页面权限。二是系统后台的所有API接口,称为接口权限。三是页面表数据需要根据用户的角色做行级限制。称为数据权限。页面权限方面,系统采用了经典的RABC五表模型。即角色,权限,用户及对应的关系表。管理员在界面配置哪些角色能操作哪些按钮或菜单。从而限制用户访问和操作。接口权限方面。系统后台将接口与角色的唯一标识作了绑定。在拦截器中进行访问权限检查,没有经过登录的用户不能访问系统后台接口。已登录的用户比对请求信息和接口角色绑定关系,从而得出用户是否具备访问接口中的权限。数据权限方面,系统通过切面技术。按照公开级、单位、个人三个级别设置数据查询条件。公开级指所有用户都能看得到的数据行。单位级指用户能查看本单位的数据行。个人级指用户只能查看个人的数据行。
数据机密性方面
系统机密性要求较高的数据包含用户密码、用户个人信息、政府类机密文件信息等。用户密码方面。为了防止密码在传输过程中的机密性,系统采用了非对称加密算法RSA。使用服务器的公钥对密码进行加密,密码到达服务器后,再使用服务器的私钥对密码进行解密。密码保存方面,系统使用了不可逆的国产加密算法SM3和加盐的方式。将加密密文存储到数据库中。用户个人信息方面。系统采用了数据脱敏技术。使用屏蔽、变形、替换等脱敏算法将用户手机号、住址信息、身份证信息等进行数据脱敏。从而防止用户隐私数据在未经脱敏的情况下发生泄露。另外,系统对于用户个人信息数据的使用做了严格的数据权限控制。只能授权访问的用户才能访问到该部份个人信息。政府机密文件的传输方面,系统使用了数据信封技术。将文件用对称密钥进行加密。然后使用接收方的公钥对对称密钥进行加密。文件密文和加密密钥传输给接收方。接收方再使用自已的私钥解析出文件对称密钥。从而获取到机密文件内容。
通过认证、访问控制、机密性三个方面采取的安全措施,系统在安全方面有了良好的保障。系统在使用过程中,能够有效的阻止非法用户访问系统资源和授权用户越权访问系统资源,杜绝了用户敏感信息和政府机密文件发生泄露的风险。该结论为系统正常运行和提供服务打下了坚实的基础。系统最终于2021年9月顺利上线,并长期保持运行稳定。
然而,我们在系统安全采取的措施方面还存在着一些不足。如对安全属性认识不够全面,我们只是根据过往的项目经验处理常见的安全问题,安全防御覆盖面不够广、认识不够深,导致上线后仍然存在一些安全漏洞,因此,公司在后续的产品框架中,通过与专业的第三方安全检测公司合作,全面的对系统安全进行检测。根据出具的检测报告。对系统安全性能方面存的在问题做了整改。并将这部分整改同步到用户系统中,大大提高了系统的安全性能。通过本次项目,也给其他项目安全保障方面提供了参考,也增长了公司应对系统安全威胁方面的经验。


原文地址:https://blog.csdn.net/qq_37148232/article/details/144394366

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!