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

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

1、摘要:

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

2、正文:

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

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

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

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

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


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

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

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

相关文章:

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

1、摘要: 2018 年初,我所在的公司为一票务公司开发开票业务平台的建设。我在该项目中担任系统架构设计师的职务,主要负责设计平台系统架构和安全体系架构。该平台以采用 B/S 架构服务用户,采用”平台应用”的模式解决现有应用单机独立开票的模…...

Cisco Catalyst 9000 9200 9300 9400 IOS software upgrade

1 背景 从Catalyst 3650 ,3850,Catalyst 9000开始, 更准确的说是IOS XE的交换机的系统镜像安装方式分为2种  Bundle mode  Install mode 这2种方工啥区别? Bundle mode 传统方式利用boot system flash:c9k.xx16.bin方式引导 Install mode 将bin文…...

Web Server项目实战2-Linux上的五种IO模型

上一节内容的补充:I/O多路复用是同步的,只有调用某些API才是异步的 Unix/Linux上的五种IO模型 a.阻塞 blocking 调用者调用了某个函数,等待这个函数返回,期间什么也不做,不停地去检查这个函数有没有返回&#xff0c…...

Docker | 基础指令

环境:centos8 参考: 安装 Docker | Docker 从入门到实践https://vuepress.mirror.docker-practice.com/install/ 安装Docker 卸载旧版本,安装依赖包,添加yum软件源,更新 yum 软件源缓存,安装 docker-ce…...

10款手机黑科技app,每款都好用到爆!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 1. 计划程序应用 —— Android Auto Text Android Auto Text(前身为 Do It Later)是一款简单易用的日程安排应用程序&am…...

tomcat请求数据解析过程

前面提到tomcat请求处理的io交互过程,现在开始看下经过io交互后tomcat是怎么处理请求数据的。首先到AbstractProtocol.java中的process方法,注意这个方法是在tomcat线程池分配的线程调用的。生成用来对请求字节流数据进行解析的Http11Processor。 public…...

《扑克牌游戏》

描述 有一个扑克牌游戏,游戏规则是不断地摸牌,尽可能地使手上的牌的点数接近于10,最完美的情况是总点数为10,不可以超过10,否则就爆了。输入10张牌的点数,(每张点数不超过10),请你输出用户应该抓…...

kali模块及字典介绍

1. 基本模块介绍 模块 类型 使用模式 功能 dmitry 信息收集 命令行 whois查询/子域名收集/端口扫描 dnmap 信息收集 命令行 用于组建分布式nmap,dnmap_server为服务端;dnmap_client为客户端 i…...

交换排序、归并排序、计数排序

冒泡排序&#xff1a; void BubbleSort(int* a, int n) {//第一层循环是趟数&#xff0c;第二层是交换for (int i 0; i < n-2; i){int flag 0;for (int j 0; j < n - 2 - i; j){if (a[j] > a[j 1]){swap(&a[j], &a[j 1]);flag 1;}}if (flag 0){break;…...

怎么查看 iOS ipa包 mobileprovision 改动

查看 iOS .ipa 包中的 .mobileprovision 文件&#xff08;即配置文件或描述文件&#xff09;的改动&#xff0c;可以通过以下步骤进行&#xff1a; 重命名 .ipa 文件&#xff1a;将 .ipa 文件扩展名改为 .zip。例如&#xff0c;如果文件名为 MyApp.ipa&#xff0c;则重命名为 M…...

【Unitydemo制作】音游制作—控制器与特效

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;就业…...

[程序员] 最近的感悟,错误处理占大头?

根据昨天分享的一个问题&#xff0c;想到的。 在代码里&#xff0c;异常处理的代码也算是占大头&#xff0c;扑面而来的就是发生错误时怎么处理的大片代码&#xff1b;而且出现问题的概率是绝对的占大头。所以&#xff0c;异常代码出现bug的概率也在不知不觉中增加&#xff01…...

vue3(一) - 结构认识

通过之前博客应该已经完成了vue脚手架的认识和创建&#xff08;地址&#xff09;&#xff0c;这节我们简单介绍一下需要使用的一些关键技术&#xff0c;后续在详细介绍 结构目录 创建脚手架时&#xff0c;我选择了TypeScript,store,route这三个选项 index.html入口 node_mo…...

数据库迁移——kettle开发01

背景&#xff1a;数据库的多种多样&#xff0c;在搭建项目之初&#xff0c;并没有详细考虑到数据库的建设&#xff0c;当增加配置不能满足业务场景需要时&#xff0c;这时候考虑到使用更高性能的数据库&#xff0c;如将MySQL更换为oracle数据库。或者在搭建新项目时&#xff0c…...

Netty: Netty中的组件

文章目录 一、EventLoop1、EventLoop2、EventLoopGroup&#xff08;1&#xff09;处理普通时间和定时任务&#xff08;2&#xff09;处理IO任务 二、Channel三、Future&Promise四、Handler&Pipeline五、ByteBuf 一、EventLoop 1、EventLoop EventLoop本质是一个单线程…...

Julia编程01:Julia语言介绍

在2020上半年&#xff0c;因为疫情无法返校&#xff0c;所以在家待了半年&#xff0c;期间学习一点了R语言、Python、Julia、linux和C语言&#xff0c;只是学习基础语法并没有项目练习&#xff0c;因此返校半年后差不多都不记得了&#xff0c;现在重新捡起Julia丰富下当时写的笔…...

二叉树顺序结构及链式结构

一.二叉树的顺序结构 1.定义&#xff1a;使用数组存储数据&#xff0c;一般使用数组只适合表示完全二叉树&#xff0c;此时不会有空间的浪费 注&#xff1a;二叉树的顺序存储在逻辑上是一颗二叉树&#xff0c;但是在物理上是一个数组&#xff0c;此时需要程序员自己想清楚调整…...

【Python】pandas连续变量分箱

路过了学校花店 荒野到海边 有一种浪漫的爱 是浪费时间 徘徊到繁华世界 才发现你背影 平凡得特别 绕过了城外边界 还是没告别 爱错过了太久 反而错得完美无缺 幸福兜了一个圈 &#x1f3b5; 林宥嘉《兜圈》 import pandas as pd import numpy as np from sklearn.model_selecti…...

Qt 打卡小程序总结

1.Qt::Alignment&#xff08;枚举类型&#xff09;用于指定控件或文本的对齐方式 Qt::AlignLeft&#xff1a;左对齐。Qt::AlignRight&#xff1a;右对齐。Qt::AlignHCenter&#xff1a;水平居中对齐。Qt::AlignTop&#xff1a;顶部对齐。Qt::AlignBottom&#xff1a;底部对齐。…...

【qt】标准项模型

标准项模型 一.使用标准型项模型1.应用场景2.界面拖放3.创建模型4.配套模型5.视图设置模型6.视图属性的设置 二.从文件中拿到数据1.文件对话框获取文件名2.创建文件对象并初始化3.打开文件对象4.创建文本流并初始化5.读取文本流6.关闭文件7.完整代码 三.为模型添加数据1.自定义…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

xmind转换为markdown

文章目录 解锁思维导图新姿势&#xff1a;将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件&#xff08;ZIP处理&#xff09;2.解析JSON数据结构3&#xff1a;递归转换树形结构4&#xff1a;Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...