1引言
1.1项目简介
数据安全传输基础设置平台项目(简称,数据传输平台),是一款基础设施类项目,为集团、企业信息系统的提供统一、标准的信息安全服务;解决企业和企业之间,集团内部信息数据的传输安全、消息安全、身份鉴别和认证;成功解决了传统的安全产品部署分散、效率低下、系统脆弱等关键问题。是当前新政策“逻辑大集中”、“业务大集中”下的新需求。
数据传输平台解决方案不仅可面向具有高安全性和高性能需求的电子商务、电子政务领域应用,提高整体系统的稳健性、高效性和成熟性;而且可应用于各种"云"中心、"云"节点,解决数据的本地存储、网络传输、身份认证、数据完整性等安全问题。
典型应用场景
1.2项目需求
专业术语:应用,应用结点;网点;接入;
一般性需求
网点相关
完成点与点之间数据加密、消息加密解密
点与点之间的理论模型1:N 或 N:N,级联
每一个节点都需要进行管理 (网点生命周期的管理)
总行要验证分行的身份 身份鉴别
密钥相关
适时更换密钥,支持手动更新(密钥的生命周期管理)
密钥更换异常处理
密钥管理实时分发、下载、校验 服务
易用性(第三方信息系统和安全传输平台解耦合)
保证修改的最少(第三方信息系统应该和我们的平台有效的解耦合)
不同行业的特殊性需求
加密强度(加密实时性)
对加密层进行抽象 软件方式加密 硬件方式加密 集群方式加密
部署简单,部署灵活,能够满足各种各样的社会需求
其他需求
审计管理系统,统计加密过程
报表管理
1.3安全相关基础知识
1)加密三要素:a)明文、密文;b)算法;c)密钥
Y = ax + b
2)加密的分类
对称加密(加密的密钥和解密的密钥一样)和非对称加密(加密的密钥和解密的不一样)
3)对称加密特点
加密速度快,用来加密文件;
特点:加密密钥和解密密钥一样,密钥分发困难。
4)非对称加密特点
加密速度慢,但强度高;
优点:加密密钥和解密密钥不一样,公钥和私钥;公钥可以公开,密钥的分发容易。
5)钱是老百姓的命根子,密钥是金融系统的命根子
6)数字证书和网银KEY
数字证书是用户的网络身份证,里面含有用户信息、用户的公钥;
网银EKY是用户的密钥载体介质,里面存储用户的私钥
7)签名和验证签名。
签名:非对称加密体系中,用私钥签名;相当于盖章!具有法律效力。电子签名法。
验证签名: 用对端的数字证书中的公钥解密。对解密数据进行比对。
8)Hash算法:对一批数据,进行指纹运算。
9)经典案例:
案例1:客户端A和服务器B双向身份认证
- 客户端A和客户端B都有自己的密钥对;
- 服务器B识别客户端A的身份流程为:A发送明文信息、对明文的签名信息、自己的公钥,将信息打包后,发送给B;B接受信息后,用A的公钥解密签名信息,得到明文2,校验明文是否一致。就可以验证A的身份
- 同理:客户端A也可以验证服务器的身份。
案例2:思考非对称加密时,为什么用对方的公钥加密数据。
2项目的要求
2.1项目课训练什么
1)项目的需求提炼
2)项目的子系统划分,每个子系统的模块分解
3)项目的开发经历、经验积累
1)后台服务框架搭建和后台业务流调试、开发
2)前台界面框架和业务流调试、开发
3)子系统的对接联合调试
4)项目开发的经历是人生的一笔财富!
课堂上我会尽力展现给大家真实的项目开发环境。
4)项目开发财富库的积累
5)设计文档的阅读和编写能力
科技论文、方案
2.2项目课学员注意
1)部分学员,太关注自己不会的、看不懂的源码;
正确的做法:学员重视业务流、软件开发思维的训练;有些代码是你看不懂的。
2)部分学员,为实现某一个功能,把相关的知识体系,全复习、学习一遍;效率低下。
正确的做法:用到什么,学什么;不随意扩充。
3)部分学员,总想一下子把功能做的十分完美
正确的做法:迭代开发,先出来一个模型,再说!
4)培养职业的工作习惯
完成领导分配的任务是第一要务;衡量初级、中级程序员的标准就是能不能干活,能不能给公司创造价值;而不是你读了多少书!
——能快速的做出东西的程序员,是企业中的高手!(快速适用环境、快速的学习(向老员工请教工作经验、自己突破技术盲点))
5)有问题,先问“度娘”!
很多公司不愿意要培训出来的学员,他们认为培训出来的学员缺乏动手能力和独立完成任务的能力(钻研、技术攻坚能力)!
——是一个适合做开发的人!
3项目开发管理流程
参考常见项目开发文档。
- 项目启动之前,可行性研究已搞定
- 项目启动会议,项目经理 需求和方案
- 项目讨论会,概要设计(子系统、模块,数据库脚本、重要的流程图)和详细设计(伪代码、详细的流程图)====》压力最大
- 编码阶段, 程序员累
- 测试(单元测试、对接)
4安全传输平台需求分析
4.1需求转化方案的思考
- 用户的核心需求是什么
- 完成需求需要几个子系统
- 方案有几个子系统组成
- 每个子系统有几个模块组成
3)子系统之间的关系
4)子系统之间的业务流有哪些
5)区分通用组件和业务子系统之间区别
完成需求,需要几个子系统、子系统之间的关系、每个子系统模块有哪些;系统的业务流有哪些;业务子系统和通用组件的合理分层。
程序员心态:需求转化成方案是项目组压力最大的时候;概要设计和详细设计阶段是最累的时候
4.2项目需求分析
专业术语:应用,应用结点;网点;接入;
一般性需求
网点相关
完成点与点之间数据加密、消息加密解密
每一个节点都需要进行管理 (网点生命周期的管理)
总行要验证分行的身份 身份鉴别
密钥相关
适时更换密钥 (密钥的生命周期管理)
密钥更换异常处理
密钥管理实时分发、下载、校验、服务
易用性(第三方信息系统和安全传输平台解耦合)
保证修改的最少(第三方信息系统应该和我们的平台有效的解耦合)
不同行业的特殊性需求
加密强度(加密实时性)
对加密层进行抽象 软件方式加密 硬件方式加密 集群方式加密
部署简单,部署灵活,能够满足各种各样的社会需求
密钥集群
最核心:完成两个应用之间数据的安全传输;第三方应用改动最小;部署激动灵活;满足社会的各种需求。
4.3方案功能分解
每一个子系统的功能分解
4.4方案演示
演示基础组件:报文编码解码组件、安全通信组件、数据库统一接口组件
演示linux后台:secmngserver和secmngclient
演示windows:secmngclient
演示第三方应用:外联接口