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

1、摘要:

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

2、正文:

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

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

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

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

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


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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【YOLOv5/v7改进系列】替换激活函数为SiLU、ReLU、LeakyReLU、FReLU、PReLU、Hardswish、Mish、ELU等

一、导言 激活函数在目标检测中的作用至关重要,它们主要服务于以下几个关键目的: 引入非线性:神经网络的基本构建块(如卷积层、全连接层等)本质上是线性变换,而激活函数通过引入非线性,使得网络…

urllib3 发起https请求时报错 certificate verify failed

情况描述 近期需要访问https的一个API接口同步数据,在办公主机完成urllib3初步的测试以后,到测试环境验证发现无法请求,报错: 提示:解决办法可以直接到第四节查看 一、提示 SSL 认证失败 OpenSSL.SSL.Error: [(SSL …

保安维稳,四信以科技构筑高速公路安全智慧防线

近日,广东梅大高速发生严重塌方事故,造成了严重的人员伤亡和财产损失。这一事件在公众心中敲响了安全的警钟,再次引起了公众对于交通设施运营安全性的重点关注。 国务院安委会办公室和国家防灾减灾救灾委员会办公室等主管机构先后印发紧急通知…

Spring Security整合Gitee第三方登录

文章目录 学习链接环境准备1. 搭建基本web应用引入依赖ThirdApp启动类创建index页面application.yml配置访问测试 2. 引入security引入依赖ProjectConfig访问测试 第三方认证简介注册gitee客户端实现1引入依赖application.yml配置文件创建index.html页面启动类InfoControllerPr…

【数学建模】储药柜的设计

2014高教社杯全国大学生数学建模竞赛D题目 题目描述 储药柜的结构类似于书橱,通常由若干个横向隔板和竖向隔板将储药柜分割成若干个储药槽(如图1所示)。为保证药品分拣的准确率,防止发药错误,一个储药槽内只能摆放同一种药品。药品在储药槽…

Python闭包探索,释放函数记忆的秘术

引言 hello,大家好,我是一点,专注于Python编程,如果你也对感Python感兴趣,欢迎关注交流。 希望可以持续更新一些有意思的文章,如果觉得还不错,欢迎点赞关注,有啥想说的,可…

docker搭建gitlab及默认密码修改及配置修改

推荐官方文档 https://docs.gitlab.com/17.0/ee/install/docker.html 我使用的是docker run的方式,官方文档后面有docker-compose、swarm、k8s的部署文档 版本说明 1:可以部署gitlab-ce社区版和gitlab-ee企业版,然后,鉴于是个人…

Mysql总结2

Mysql慢优化 在mysql中,long_query_time的值为10,当sql语句执行的时间超过这个数值时,则会被记录到慢查询日志中。 Mysql语句查询流程 1、客户端发送sql语句到服务端; 2、服务端查看是否打开了缓存,若缓存打开&…

AIGC绘画设计基础-建筑设计应用

一、AI及AIGC 对于AI大家都不陌生,但是AIGC这个概念好多人其实不大清楚。“AI”是指人工智能技术本身,而“AIGC”是指基于人工智能技术而生成的内容。 生成式人工智能——AIGC(Artificial Intelligence Generated Content)&…

近邻算法详解

近邻算法(Nearest Neighbor Algorithm),也称为K-近邻算法(K-Nearest Neighbors,KNN),是一种基本的分类和回归方法。它的工作原理非常直观:通过测量不同特征点之间的距离来进行预测。…

使用CommandLine库创建.NET命令行应用

CommandLine是一个.NET库,用于创建命令行应用程序。它提供了一种简单的方法来解析命令行参数,并且可以帮助您构建一个功能强大的命令行界面。在本文中,我们将介绍如何使用CommandLine库创建.NET命令行应用程序。 1. 背景 在.NET开发中&#…

SpringFramework实战指南

二、SpringFramework实战指南 目录 一、技术体系结构 1.1 总体技术体系1.2 框架概念和理解 二、SpringFramework介绍 2.1 Spring 和 SpringFramework概念2.2 SpringFramework主要功能模块2.3 SpringFramework 主要优势 三、Spring IoC容器和核心概念 3.1 组件和组件管理概念3…

起底震网病毒的来龙去脉

2010年,震网病毒被发现,引起世界哗然,在后续的10年间,陆陆续续有更多关于该病毒的背景和细节曝光。今年,《以色列时报》和《荷兰日报》又披露了关于此事件的更多信息,基于这些信息,我们重新梳理…

优于InstantID!中山大学提出ConsistentID:可以仅使用单个图像根据文本提示生成不同的个性化ID图像

给定一些输入ID的图像,ConsistentID可以仅使用单个图像根据文本提示生成不同的个性化ID图像。效果看起来也是非常不错。 相关链接 Code:https://github.com/JackAILab/ConsistentID Paper:https://ssugarwh.github.io/consistentid.github.io/arXiv.pd…

计算机毕业设计 | springboot养老院管理系统 老人社区管理(附源码)

1,绪论 1.1 背景调研 养老院是集医疗、护理、康复、膳食、社工等服务服务于一体的综合行养老院,经过我们前期的调查,院方大部分工作采用手工操作方式,会带来工作效率过低,运营成本过大的问题。 院方可用合理的较少投入取得更好…

Python数据可视化(七)

绘制 3D 图形 到目前为止,我们一直在讨论有关 2D 图形的绘制方法和绘制技术。3D 图形也是数据可视化的 一个很重要的应用方面,我们接下来就重点讲解有关 3D 图形的实现方法。绘制 3D 图形通常需要导 入 mpl_toolkits 包中的 mplot3d 包的相关模块&#x…

三、Gazebo中实现机器人仿真(小白上手)+ubuntu18.04

接上一篇文章 1、\导航 vim .bashrc \先采用Nanocar尝试导航 关闭终端:roslaunch robot_navigation gmapping.launch simulation:true rosrun teleop_twist_keyboard teleop_twist_keyboard.py 重启终端: cd catkin_ws source ./devel/setu…

护网经验面试题目原版

文章目录 一、护网项目经验1.项目经验**Hvv的分组和流程**有没有遇到过有意思的逻辑漏洞?有没有自己开发过武器/工具?有做过代码审计吗?有0day吗有cve/cnvd吗?有src排名吗?有没有写过技战法有钓鱼经历吗?具…

【数据结构】哈夫曼树和哈夫曼编码

一、哈夫曼树 1.1 哈夫曼树的概念 给定一个序列,将序列中的所有元素作为叶子节点构建一棵二叉树,并使这棵树的带权路径长度最小,那么我们就得到了一棵哈夫曼树(又称最优二叉树) 接下来是名词解释: 权&a…