当前位置: 首页 > news >正文

【系统架构师】-论文-系统安全性与保密性设计

1、摘要:

        2018 年初,我所在的公司为一票务公司开发开票业务平台的建设。我在该项目中担任系统架构设计师的职务,主要负责设计平台系统架构和安全体系架构。该平台以采用 B/S 架构服务用户,采用”平台+应用”的模式解决现有应用单机独立开票的模式。原来单机模式开票数据不准,存在多个设备开同一张票的现象,不便管理,另外非公司内部员工,通过盗用设备虚开发票,本文以平台安全体系架构为例,讨论了信息系统的安全性与保密性的设计。在该项目中,我结合实际需要,通过防止信息窃取、防止暴力破解、防止密码泄露等方面综合应用了各种技术手段以保障系统的安全性与保密性。目前,系统已稳定运行了一年时间,实践证明,些技术手段有效的提高了系统的安全性和保密性,顺利通过了集团的安全检测,运行至今,未发生安全事故。

2、正文:

        随着移动信息化技术的迅猛发展,我所在的甲方票务公司发现原来依靠依靠税盘单一验证方式开具发票存在许多问题,有同一张发票被多个设备开具的情况,同一个税号公司名称也各不相同,这些异常的发票在送往国税局验证时全部为无效发票,无效发票还要执行后续许多核对流程,很浪费时间,为此公司决定开发一个平台,需要开具发票的客户公司,只需要将税盘接入系统,我司平台验证登录用户信息后,即可进行后续的发票验证,发票扫描,发票开具操作,实现统一入口、统一认证、统一鉴权、统一管理的目的,因为发票涉及公司资金数据,对系统的敏感数据需要进行保密传输,对系统的安全等级提出了很高的要求,
        

        在项目分析阶段,我查阅了信息系统相关规范,发现信息系统需要具备如下5个基本要素:机密性 确保信息不爆露给末授权的实体或进程,完整性只有得到允许的人才能够修改数据,并能够判别数据是否被修改;可用性得到授权的实休在需要时可访问数据;可控性 可以控制授权范围内的信息流向和行为方式;可审查性 对出现安全问题提供调查的依据和手段

        为了让系统提从安全的服务 ISO7498-2 定义了5种可选的安全服务分别是一认证服务 确保某个实体身份的可靠性分两种类型,
1一种类型是认证实体本身的身份
2一种是证明某个信息是否来自于某个特定的实体,这种叫做数据源认证,数据签名就是这种访问控制 防止对任何资源的非授权访问,确保只有经过授权的实体才能访问受保护的资源三数据机密性服务 确保只有经过授权的实体才能理解受保护的信息
四数据完整性服务 防止对数据末授权的修改和破坏,
五 不可否认服务 防止对数据源以及数据提交的否认,它有两种可能,数据发送的不可否认性和数据接收的不可否认性

为保护信息的安全我们也提出一些对应的安全机制
一:加密机制
二:数字签名
三: 访问控制机制
四:数据完整性机制
五:认证交换机制

        系统中运行的各公司敏感业务数据,其中不乏涉及决策层的商业信息,信息的保密尤为重要;从信息化系统的特点来看,通信方式的安全同样至关重要。针对以上情况,我首先选定了可以附加增强安全手段的多层分布式架构来提供安全与保密保障的基础可能。我根据架构特点,将安全保障方案分为物理层级和软件层级。在物理层级,我通过私有云提供的隔离手段,将各层之间通过防火墙进行了物理隔离,并在 DMZ 中只保留了必须的接入服务器,以最大程度的在物理层次上降低安全风险。在物理层级提供了足够的安全保障之后,系统主要的安全性和保密性设计集中在了软件层级的设计上,下面,我结合项目实际情况就软件方面所采取的防窃取、防破解、防泄露等技术手段进行详细说明。


        第一,通过 HTTPS、敏感数据加密、数据不落地的方式实现了通信数据的防窃取。平台作为信息化系统,决定了数据需要从内部网络流经互联网到达终端,在内部网络到外部网络部分,通过集团私有云提供的审计能力,可以提供足够的安全保障。但是数据需要在互联网上流转,这就要求数据流转的通道必须是安全的,同时敏感信息也必须是安全加密的。通道的安全,经过论证分析,最终我们采用了 HTTPS 作为通信方式。HTTPS技术通过在HTTP 协议附加SSL的方式实现其次对数据实行加密,数据加密即对明文按照某种加密算法进行处理,而形成难以理解的密文,按照加密密钥和解密密钥的异同。

        第二,通过验证码、生物特征识别、锁定账户等手段防止系统入口的暴力破解。用户必须登陆后才可以使用系统功能,密码的防暴力破解成为这方面的关键点。通过调查分析,单纯的使用账户、密码方式登陆系统,可能出现面对暴力破解时的泄露问题,为了解决这个问题,我在系统的认证环节引入了验证码技术和人脸识别技术。验证码技术可以提高登陆业务的复杂程度,加大针对密码的暴力破解的难度。同时也保证只有当前正在操作的用户和手机号都符合系统匹配条件才能进入,此为第一道关,而在正式开票时,需要再进行人脸识别技术通过其生物识别技术特点,保证只有具备开票职责的人员才能使用该功能,进一步满足安全的要求。同时,我在系统中采取了密码失败多次锁定账户一定时间的机制,具体为,用户密码或输入三次,系统自动锁定账户三十分钟,这三十分钟内,该账户无法登陆系统,这就进一步加大了破解账户密码的时间,基本上可以认为这些手段屏蔽了密码暴力破解的可能。最终我选择的方式是将这三种技术手段根据场景结合使用,用户初次登陆系统时采用普通密码方式,登陆成功后,强制对核心功能模块设置人脸识别技术,并将人脸信息存储于服务端,用户后续的登陆将只能使用密码+人脸识登陆,密码三次错误锁定账号的机制则贯穿两种登陆方式,既满足了系统的易用性,又提高了登陆的安全性。

        综合使用了如上的硬件和软件安全技术手段之后,平台于 2015 年末顺利通过了安全部门的安全检测正式上线,至今已稳定运行了接近 2 年时间,运行过程中未发生过一起安全事故。系统所采用的通信防窃取、防暴力破解、密码防泄露等技术手段发挥了重要的作用,获得了领导和同事的好评。但是在系统运行过程中,我也发现了技术手段存在的一些不足。首先是单纯的HTTPS通信并未将信道进行有效隔离,可以考虑增加VPN 或VPDN 的手段实现。其次是密码摘要的盐采用了用户账号,使得盐固化到了客户端,有一定的安全风险,可以采用客户端验密时先从服务端获取与账号不同的盐,再进行严验密的方式解决。以上这些问题将是我以后在安全架构设计上需要重点考虑的问题。

相关文章:

  • vue3 组件刷新
  • Spring6笔记(五):国际化、数据校验、提前编译
  • Go-zero(api部分)
  • 导航【面试准备】
  • LLM多模态——GPT-4o改变人机交互的多模式 AI 模型应用
  • Predictable MDP Abstraction for Unsupervised Model-Based RL
  • Java面试题集
  • day16|二叉树的属性
  • Android App启动流程和源码详解
  • Flutter 中的 LicensePage 小部件:全面指南
  • 基于transformers框架实践Bert系列2--命名实体识别
  • 【因果推断从入门到精通二】随机实验3
  • 求第 N 个泰波那契数 | 动态规划
  • 教你用U-Mail搭建一个企业邮箱系统
  • ArcGIS Maps SDK for JS:使用queryFeatures方法查询 FeatureLayer 中符合条件的要素
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • JavaScript 基本功--面试宝典
  • k个最大的数及变种小结
  • Redis在Web项目中的应用与实践
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • select2 取值 遍历 设置默认值
  • 关于Java中分层中遇到的一些问题
  • 利用jquery编写加法运算验证码
  • 前端相关框架总和
  • 突破自己的技术思维
  • 与 ConTeXt MkIV 官方文档的接驳
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # dbt source dbt source freshness命令详解
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (1)常见O(n^2)排序算法解析
  • (3)(3.5) 遥测无线电区域条例
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Java入门)抽象类,接口,内部类
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (定时器/计数器)中断系统(详解与使用)
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)软件性能测试
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .form文件_一篇文章学会文件上传
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET+WPF 桌面快速启动工具 GeekDesk
  • .Net8 Blazor 尝鲜
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET关于 跳过SSL中遇到的问题
  • .net专家(张羿专栏)
  • /tmp目录下出现system-private文件夹解决方法