一种企业办公系统中表单数据的分级别加密传输方法-交底书

  • 一、发明名称
  • 二、技术领域
  • 三、现有技术的技术方案
  • 四、现有技术的缺点及本申请提案要解决的技术问题
  • 五、本申请提案的技术方案的详细阐述
  • 六、本申请提案的关键点和欲保护点
  • 七、与第三条中最接近的现有技术相比,本申请提案有何技术优点

一、发明名称

一种企业办公系统中表单数据的分级别加密传输方法

二、技术领域

本发明属于数据传输技术领域,尤其是涉及一种企业办公系统中表单数据的分级别加密传输方法。

三、现有技术的技术方案

随着计算机技术的快速发展,自动化办公已经日益普遍,OA办公自动化系统可以实现企业内部管理的透明化和规范化,提高企业工作效率,降低管理成本,如线上流程审批可以自动化记录所有人员的行为和操作,降低人工审核的成本,省去手工工作的重复性操作。
同时,自动化办公系统产生了一系列数据,这些数据一般上传至云端,由此涉及到客户端与云端的数据传输,而为了数据的安全性和隐私保护,一般采取数据加密、访问控制、身份验证等安全措施,以保护敏感数据的机密性和完整性。
现有技术中,中国专利CN116070223A公开了一种基于Android系统客户端至服务器的数据传输加密的方法,将客户端中需要传输的数据进行分析,分类加密并给用户提供选择加密方式,完成数据的加密传输,减少了使用者的学习成本,同时提高了数据传输的时效性和安全性。但是,多种加密策略的应用,使得数据接收端无法快速确认所使用的加密策略并进行解密,导致解密复杂度提高,而如果将数据所使用的加密策略的标识符或者对应信息直接传输,会导致攻击者直接区分出加密策略的不同,影响安全性。

四、现有技术的缺点及本申请提案要解决的技术问题

现有的数据分级加密传输方案中,对于接收端如何快速解密并未涉及,遍历所有解密策略进行解密无疑复杂度高、资源占用量大,而将加密策略的信息直接进行传输显然安全性不足。
本申请提案旨在解决现有数据多级加密传输过程中如何识别所使用的加密方式的问题。
本申请提案在通信双方建立会话时利用两次交互快速进行安全验证和秘钥约定,并使用约定的秘钥进行加密策略信息的传输,实现了接收端对加密策略的快速识别。

五、本申请提案的技术方案的详细阐述

数据分级加密传输方法的整体流程和步骤如下:
(1)获取待传输数据的保密等级;
(2)根据保密等级选择加密方法对待传输数据进行加密;
(3)发送端与接收端建立会话并约定好会话秘钥;
(4)使用会话秘钥对选择的加密方法的信息进行加密,将加密后的加密策略和加密后的待传输数据发送至接收端;
(5)接收加密后的加密策略和加密后的待传输数据,使用会话秘钥解密得到加密策略,根据加密策略解密得到传输的数据。

下面对上述步骤进行详细说明:
(一)步骤(1)中的待传输数据的保密等级
待传输数据的保密等级,是根据业务系统需求定义的,根据数据的安全需求进行设置,对于业务系统中的敏感数据、隐私数据,其保密等级较高,而业务系统中的非敏感数据、基础信息等,其保密等级较低。保密等级由管理员设置不同的等级,包括高强度、中强度、低强度三种等级,不需要加密的数据其保密等级为无须加密,或者,可以定义为一级保密、二级保密、三级保密、四级保密…,
比如,合同类表单或文件作为待传输数据时,保密等级很高,包含员工身份信息、工资信息的表单或文档作为待传输数据时,保密等级很高,包含公司技术秘密的文档的保密等级同样较高,而公司日常的采购表单、请假审批表单的保密等级可以略低。当在OA系统创建一个表单时,可以使用其默认的保密等级,也可以手动调整其保密等级。
需要注意,本申请提案针对的业务系统中,数据的保密级别较多,本申请提案适用于涉及数据加密的数据传输场景,事实上,业务系统也有一些基础信息,比如部门名称、工作岗位,这些数据不需要进行加密传输,仅依靠通信协议本身的安全保护即可,因此,其数据传输过程中不需要使用本申请提案。
(二)步骤(1)中的待传输数据的切片操作
本申请提案引入了数据分片操作,对于含有多个字段的表单,其中某些字段是敏感数据,比如身份证号、银行卡号,有些字段则是非敏感数据,比如毕业院校,这样就可以将一个表单划分成多个子表单,每个子表单中有一个或多个字段,将每个子表单分别作为待传输数据,分别指定其保密等级,然后执行数据传输操作,包含敏感数据的子表单可以使用较高的保密等级。
这样的切片操作方式,需要额外记录表单的切分操作,以便将子表单整合为完整的表单,并增加了数据传输的次数,因此,对于体量较小的表单没有必要执行此操作,切片操作适用于大体积表单的传输,比如含有100000条数据的员工信息表。
(三)步骤(2)中的加密方法
目前主流的加密算法有散列算法、对称加密算法、非对称加密算法等,不同的加密算法的加密强度,常见的对称加密算法主要有DES、3DES、AES等,常见的非对称算法主要有RSA、DSA等,散列算法主要有SHA-1、MD5等,可以预先在数据传输的收发端分别配置好上述加密算法,根据行内共识或经验,将保密等级分为高强度、中强度、低强度三种等级,每种等级下至少有一种加密算法供用户选择。
(四)步骤(3)中会话秘钥的约定
下面,以设备A代指数据发送端,以设备B代指数据接收端,对会话秘钥的约定过程进行说明:
(1)设备A确定加密算法,每种加密算法有唯一的算法标识符ID,使用加密算法对待传输数据进行加密得到传输密文;
这里加密算法的确定,具体为:获取表单默认的保密等级,从该保密等级下的至少一个加密算法中选择一个加密算法,或者,调整表单的保密等级,从调整后的保密等级下的至少一个加密算法中选择一个加密算法。
为了便于进行加密算法信息的传输,这里为每种加密算法设置了唯一的算法标识符ID,根据算法标识符ID可以唯一识别加密算法,设备A和设备B均能根据算法标识符ID确定具体的加密算法。
为了进一步增加安全性,设备A和设备B可以定期同步更新每个加密算法的算法标识符ID。
本申请提案中,对算法标识符ID的定义为:保密等级+同一保密等级内的编号,保密等级使用S1、S2、…标识,编号使用0001,0002、…标识。若有其他合适的定义方案,也可以采用。
此外,选择加密算法时,还考虑到表单编辑者或者发送者的权限,不同权限的用户所接触的表单等级不同,保密程度也不同,因此,可以根据用户的权限给出不同的加密方法的选择权。
(2)设备A和设备B获取预设置的验证秘钥DK;
获取验证秘钥DK的具体操作:
可以将上次传输时的会话秘钥作为此次传输的验证秘钥;
可以根据上次设备A-B之间的数据传输量、数据传输时间生成此次传输的验证秘钥;
可以约定一个秘钥变化表,设备A、B根据秘钥变化表改变验证秘钥,如每次传输结束后选择秘钥变化表中的下一个秘钥作为验证秘钥。
(3)设备A将随机数R1使用验证秘钥DK加密后发送至设备B,设备B解密后得到随机数R1;
(4)设备B生成随机数R2,基于随机数R1、R2生成会话秘钥SK,使用SK加密预规定的验证消息,将密文+R2传输至设备A;
生成会话秘钥的具体操作:
可以将R1和R2进行加密,然后计算密文的hash值,作为会话秘钥;
也可以将R1、R2进行加减、取最值、取均值等数值运算操作,对数值运算操作的结果加密,计算密文的hash值作为会话秘钥;
也可以将R1、R2、设备A的设备信息、设备B的设备信息等加密后计算hash值作为会话秘钥;
还可以使用其他方式,比如,上述步骤1中,设备A发送随机数R1时还同步发送一个时间戳信息,设备B根据时间戳信息中的年月日、时分秒确定选择上述哪种操作来生成会话秘钥;
(5)设备A接收到R2,计算得到会话秘钥SK,解密密文,若得到验证消息,则验证通过,否则,结束传输;
(6)使用会话秘钥SK对加密算法的算法标识符ID进行加密,得到算法密文,将算法密文和传输密文一起发送至设备B。

(五)步骤(2)中加密算法的选择依据,提高便利性
同一保密等级下至少有一种加密方法,而确定待传输数据的保密等级后如何选择加密方法存在很大的操作空间。一方面,可以由工作人员根据自身经验进行选择,另一方面,本申请提案设计了一些评价指标,以帮助工作人员选择合适的加密方法。
(1)算法复杂性,加密算法的复杂性决定了其安全性和性能。一个理想的加密算法应该具有较高的复杂性,以使攻击者难以分析其内部结构。然而,过于复杂的算法可能会导致性能下降,因此需要在安全性和性能之间找到平衡。因此,建立算法复杂性指标,一般由执行算法所需要的时间复杂度和空间复杂度来度量。
(2)抵抗攻击的能力,令设备A-B传输数据,模拟不同的攻击类型,记录算法被破解的次数,以此来评判加密方法的抗攻击能力,这里,还可以获取使用该加密方法的历史记录,将历史记录也作为实验数据,计算其抗攻击能力的高低。因此,抵抗攻击的能力定义为抗攻击指标,公式如下:
W=(r1Q1+r2Q2+r3Q3+…+rNQN)÷(Num)
这里,r1、r2、…rN是人为对不同攻击类型设置的权重,Q1、Q2…QN是对应的攻击类型下被破解的次数,Num为总攻击次数。
(3)一个加密算法的可靠性很大程度上取决于其是否经过广泛的审查和测试,开放的加密算法,如RSA和AES,已经经过了广泛的专家审查和分析,因此被认为是可靠的。同时,可以结合加密算法的使用广泛性,给出其可靠性。而自研的加密算法,其审查和测试不足,这方面的评价较弱。这里,根据行业普遍认知划分高可靠、可靠、中等、不可靠等级别,每个级别设有对应的分值,由专家打分确定每个加密算法的可靠性得分。
(4)其他指标。除了上述三种指标外,可以继续根据业务需要扩展指标维度,比如,算法的速率、资源占用量、适用环境等指标,给算法进行多角度评价,这样,用户在同一保密等级下进行加密方式选择时可以有更多的依据。

六、本申请提案的关键点和欲保护点

本申请提案的关键点是解决现有数据传输中接收端无法快速安全确定解密方式的问题,预保护点如下:
1、通过验证秘钥和会话秘钥的两次交互,完成数据传输两端的安全认证,并为加密策略生成了会话秘钥,使用会话秘钥进行加密算法本身信息的加密,能够让接收端快速确定解密手段;
2、数据传输过程中实际上相当于进行了4次加密,从验证秘钥、会话秘钥,即使确定了加密算法标识符,也要进一步确定加密算法标识符所对应的具体加密算法,再解密这一具体加密算法,才能得到传输数据,安全性非常高;
3、对于较大的传输数据,可以进行切片操作,得到多个子表单,每个子表单可以自定义保密等级和加密方法;
4、先通过验证,对传输两端进行安全验证,再进行密文传输,传输密文和算法标识符密文的加密方式不同,会话秘钥也是根据本次传输实时生成的,由此,加密的强度更高,传输更安全;
5、加密方法的评估体系,算法复杂性、抵抗攻击的能力(暴力破解、密码分析、差分和线性攻击)、标准化程度,此外还可以引入加密速度、资源占用量等指标,实现对加密算法的评价和打分,以帮助用户选择加密算法;
6、数据的分等级传输方案下,不同表单的加密方式不同,多样化的加密方法提高了传输的防御力,即使某个加密方式被破解,也不影响其他加密方式的使用,不会造成传输的崩溃。

七、与第三条中最接近的现有技术相比,本申请提案有何技术优点

现有技术没有考虑使用多类型的加密方法进行数据分级加密传输时,接收端无法快速解密的问题,而本申请提案通过实时生成的会话秘钥进行加密策略的传输,有助接收端获知加密策略,并保证了加密策略传输的安全性。

一种企业办公系统中表单数据的分级别加密传输方法-交底书相关推荐

  1. 基于JFinal框架开发的企业办公系统-JFinalOA v1.1源码

    简介: JFinalOA 是基于 JFinal 框架开发的企业办公系统. 使用框架介绍: JFinal 4.6+enjoy模版引擎 Shiro控制权限 flowable流程引擎 BootStrap M ...

  2. linux判断usb进程命令,一种在Linux系统下审计USB设备历史使用情况的方法与流程...

    本发明涉及计算机审计技术领域,具体涉及一种在Linux系统下审计USB设备历史使用情况的方法. 背景技术: 如今,在linux系统中,对于USB设备的插入拔出事件,系统自身是不带有审计功能的,这使得普 ...

  3. ​Linux系统下对文件和字符串 进行加密的方法总结​

    为了安全考虑,通常会对一些字符或重要文件进行加密安全处理,下面对文件或字符串加解密方法做一总结,方便日常运维工作中使用. 一.对文件进行加密/解密方法 方法一:gzexe加密 这种加密方式不是非常保险 ...

  4. OA办公系统的几种报价模式

    目前不少的企业上OA办公系统信息化,产品报价都是相关信息化管理人员最为重要的一部分,面对动辄几万到数十万不等系统,企业管理者很容易对其产生怀疑,花这么大的价钱购买的系统是否值得?笔者总结出了以下几种O ...

  5. 基于SSM的企业OA办公系统

    源码编号:D-E25 点击查看(分类规则) 项目名称:基于SSM的企业OA办公系统 源码作者:霹雳开发 论文作者:逍遥游撰写 当前版本:V1.0版本 难度等级:✩✩✩ 复杂程度:✩✩✩点击查看难度等级 ...

  6. Java基于SSM的企业OA办公系统

    项目名称:基于SSM的企业OA办公系统 源码作者:霹雳开发 论文作者:逍遥游撰写 当前版本:V1.0版本 难度等级:✩✩✩ 复杂程度:✩✩✩ 用户类型:双角色(员工.管理员),管理员可以添加其他角色 ...

  7. BPM平台在企业业务系统中使用的价值讨论

    1. 企业应用系统的分类以及BPM这种平台分别在这两种不同类型系统中的作用 因为在系统建设之前,我们要分清楚,准备建设的系统属于那一类 ,目前企业应用系统大体我觉得可以分以下几类 A)  垂直的业务系 ...

  8. 开源的OA办公系统——勾股OA2.0发布,新增审批模块、工作上报等功能模块

    勾股OA是一款基于ThinkPHP6 + Layui + MySql打造的简单实用的开源的企业OA办公系统.可以帮助解决企业办公项目80%的重复工作,让开发更多关注业务逻辑.既能快速提高开发效率,帮助 ...

  9. android4.4系统 分屏,基于Android系统的宽屏后视镜分屏方法及系统与流程

    本发明涉及后视镜应用系统领域,尤其涉及一种基于Android系统的宽屏后视镜分屏方法及系统. 背景技术: 后视镜是驾驶员坐在驾驶室座位上直接获取汽车后方.侧方和下方等外部信息的工具.为了驾驶员操作方便 ...

最新文章

  1. mysql--SQL编程(关于mysql中的日期,关于重叠) 学习笔记2.2
  2. 关于cn.jedisoft.framework.annotations 的增删改查
  3. C++变量命名规则和数据类型
  4. WINDOWS下与LINUX下写C程序的区别
  5. day01 python基本概念
  6. Mysql 替换字段的一部分内容
  7. Django中的日期处理注意事项和自定义时间格式转换
  8. 面试题:如何实现丝滑般的数据库扩容
  9. 网络系统计算机专用术语有哪些,计算机网络专业术语
  10. 医疗信息化 医学信息 医院管理 资料下载
  11. 42.从非托管磁盘创建虚拟机
  12. python自动化办公教程百度云-Python自动化测试视频教程【百度云盘下载】
  13. 金蝶K3退出远程桌面后,客户端无法登陆
  14. 去除桌面图标下的底色[XP系统]
  15. mysql索引冲突_mysql 锁问题 (相同索引键值或同一行或间隙锁的冲突)
  16. ubuntu服务器系统日志在哪里,如何在Ubuntu上查看和写入系统日志文件
  17. 【以前的空间】网络流合集
  18. linux局邮软件,Unix/Linux平台上常用的邮件系统软件
  19. Proxifier实现指定进程代理IP 雷电模拟器为例
  20. 脱壳入门(一)之分析Aspack壳

热门文章

  1. 本科阶段能在FPGA上做一个CPU并运行自己写的操作系统算什么水平?
  2. cocos 菜鸟爬坑日记
  3. 通过kinectosc玩PC版水果忍者
  4. 线性表的单链表存储结构
  5. HTML自动售卖机程序,一种自动售卖机的货道组件的制作方法
  6. 诺基亚n82玩java,浅谈使用诺基亚N82手机的感受 诺基亚 N82手机使用着怎么样
  7. mysql execute immediate_PostgreSQL中function中实现类似Oracle的execute immediate的功能
  8. Java Resources 出现红色叹号的解决方法
  9. 文件的切分split和结合工具cat介绍
  10. Mybatis的基本增删改查(代码)