某软件公司拟开发一套信息安全支撑平台,为客户的局域网业务环境提供信息安全保护。该支撑平台的主要需求如下:
1.为局域网业务环境提供用户身份鉴别与资源访问授权功能;
2.为局域网环境中交换的网络数据提供加密保护;
3.为服务器和终端机存储的敏感持久数据提供加密保护;
4.保护的主要实体对象包括局域网内交换的网络数据包、文件服务器中的敏感数据文件、数据库服务器中的敏感关系数据和终端机用户存储的敏感数据文件;
5.服务器中存储的敏感数据按安全管理员配置的权限访问;
6.业务系统生成的单个敏感数据文件可能会达到数百兆的规模;
7.终端机用户存储的敏感数据为用户私有;
8.局域网业务环境的总用户数在100人以内。
【问题1】
在确定该支撑平台所采用的用户身份鉴别机制时,王工提出采用基于口令的简单认证机制,而李工则提出采用基于公钥体系的认证机制。项目组经过讨论,确定采用基于公钥体系的机制,请结合上述需求具体分析采用李工方案的原因。
(1)基于口令的认证方式实现简单,但由于口令复杂度及管理方面的原因,易受到认证攻击;而在基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相比更为安全。
(2)按照需求描述,在完成用户身份鉴别后,需依据用户身份进一步对业务数据进行安全保护,且受保护数据中包含用户私有的终端机数据文件,在基于口令的认证方式中,用户口令为用户和认证服务器共享,没有用户独有的直接秘密信息,而在基于公钥的认证方式中,可基于用户私钥对私有数据进行加密保护,实现更加简便。
(3)基于公钥体系的认证方式协议和计算更加复杂,因此其计算复杂度要高于基于口令的认证方式,但业务环境的总用户数在100人以内,用户规模不大,运行环境又为局域网环境,因此基于公钥体系的认证方式可满足平台效率要求。
【问题2】
针对需求7,项目组经过讨论,确定了基于数字信封的加密方式,其加密后的文件结构如图所示。请结合需求说明对文件数据进行加密时,应采用对称加密的块加密方式还是流加密方式,为什么?并对该机制中的数据加密与解密过程进行描述。
应采用流加密方式。因为需求中提及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率。
数据加密与解密过程如下:
其加密过程为:首先生成一个对称密钥,使用用户公钥加密这个对称密钥后存储在文件头,然后用生成的对称密钥加密文件数据存储;
其解密过程为:用户首先使用自己的私钥解密被加密的对称密钥,再用该对称密钥解密出数据原文。
对数据库服务器中的敏感关系数据进行加密保护时,客户业务系统中的敏感关系数据主要是特定数据库表中的敏感字段值,客户要求对不同程度的敏感字段采用不同强度的密钥进行防护,且加密方式应尽可能减少安全管理与应用程序的负担。目前数据库管理系统提供的基本数据加密方式主要包括加解密API和透明加密两种,请用300字以内的文字对这两种方式进行解释,并结合需求说明应采用哪种加密方式。
目前数据库管理系统提供的基本数据加密支持主要有以下两种:
(1)加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。
(2)透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。
加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。
扩展:
所谓透明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存中是明文。一旦离开使用环境,由于应用程序无法得到自动解密的服务而无法打开,从而起来保护文件内容的效果。