A. 数据库加密的最小粒度
就是通常我们所说的锁级别。
数据库引擎具有多粒度锁定,允许一个事务锁定不同类型的资源。 为了尽量减少锁定的开销,数据库引擎自动将资源锁定在适合任务的级别。 锁定在较小的粒度(例如行)可以提高并发度,但开销较高,因为如果锁定了许多行,则需要持有更多的锁。 锁定在较大的粒度(例如表)会降低了并发度,因为锁定整个表限制了其他事务对表中任意部分的访问。 但其开销较低,因为需要维护的锁较少。
数据库引擎通常必须获取多粒度级别上的锁才能完整地保护资源。 这组多粒度级别上的锁称为锁层次结构。 例如,为了完整地保护对索引的读取,数据库引擎实例可能必须获取行上的共享锁以及页和表上的意向共享锁。
MySQL有三种锁的级别:页级、表级、行级。
MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level
locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。
MySQL这3种锁的特性可大致归纳如下:
表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
每种锁可以在网上查询详细说明。主要看你用什么存储引擎。
B. 恒隆加密软件用的是什么加密技术
一、eKey即插即用、实时透明地对数据进行加密保护
使用USB接口,DG系统把USB接口的即插即用特性扩展到保密文档上。用户只需要插上eKey,保密的文档无需解密就可以正常使用;拔掉eKey,保密的文档就地消失。这一特性源于DG系统采用了业界领先的实时加解密技术。实时加解密技术加密时不需要搬动文件的位置,使用时也不需要事先解密。
二、可以实现对任意类型的文件进行加密保护
既可加密各种应用系统(如ERP、CAD、MIS、OA、财务软件等)的程序和数据库文件,也可加密与用户个人相关的电子邮件、即时聊天记录、上网历史记录、通讯录、网上银行客户端等。
三、可以以文件、文件夹或逻辑盘符(驱动器)为单位进行加密
DG加密对象的最小单位是单个文件,最大可以是驱动器。在DG环境中,未授权的用户不能进入加密的驱动器和文件夹,也不能存取加密文件;在DG环境外(如:自主卸载DG系统、拆卸数据硬盘进行暴力性攻击)时,加密文件以密文形式存在,攻击者无法获得加密文件的内容。
四、自动加密操作员新建和保存的文件
DG加密的文件夹或驱动器具有保密继承属性,任何在加密文件夹或驱动器下生成的文件或文件夹都会保持加密状态。管理员只需要进行一次加密,以后操作员新生成的文件都会自动加密。这一特性使保密可靠性与实际操作员无关,不会因为操作员的操作失误或操作员的保密能力意识欠缺等原因导致机密数据的流失。
五、高强度分组加密技术
DG采用了符合AES标准的高强度分组加密技术,采用128分组和256位密钥对数据进行全程编码加密。
六、增强了系统的安全性
强制eKey登录认证,拔离eKey锁屏;拔离eKey后加密的文件或文件夹自动隐藏;可启用eKey持有人身份认证功能。
C. druid数据库密码加密原理
现针对数据库密码加密方面,利用druid进行数据库加密,实现项目配置文件中数据库密码密文存储,一定程度上保证了数据安全。
配置方法:
1、数据源配置[spring-mybatis.xml文件]
<!-- 配置数据源 -->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="${jdbc.pool.init}" />
<property name="minIdle" value="${jdbc.pool.minIdle}" />
<property name="maxActive" value="${jdbc.pool.maxActive}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="${jdbc.validation.query}" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小(Oracle使用)
<property name="poolPreparedStatements" value="true" />
<property name="" value="20" /> -->
<!-- 配置监控统计拦截的filters -->
<!--<property name="filters" value="stat" /> -->
<property name="filters" value="${jdbc.filters}" />
<property name="connectionProperties"
value="${jdbc.connectionProperties}"/>
</bean>
D. 电子商务的安全保密技术包括哪些方面
电子商务安全技术包括备份技术、加密技术、认证技术、安全电子商务协议SET以及访问控制技术等。
1.备份技术。
所谓数据库备份与恢复方案,目的是在数据库系统故障并且短时间内难以恢复时,用存储在备份介质中的数据将数据库还原到备份时的状态。数据备份根据数据库管理系统类型的不同,有多种备份实施计划。比如对SQLServer而言,有数据库备份、事务日志备份、增量备份和文件及文件组备份。电子商务信息系统的数据库管理系统中必须建立详细的备份与恢复策略。可以把电子商务数据库的故障或障碍分为以下三类:系统故障、事务故障以及介质故障。当发生某种类型的故障时,为了把企业的损失减少到最低,必须在最短的时间内恢复数据,因此,根据企业的实际情况和数据类型与特点,制定出一套合理而经济的备份和恢复策略是必要的。
2.认证技术。
认证技术可以阻止不拥有系统授权的用户非法破坏敏感机密的数据,是数据库管理系统为防止各种假冒攻击安全策略。口令的识别是数据库管理系统进行身份认证的一种方式,每个具体用户都被系统事先分配一个固定的用户名与密码,电子商务系统的许多数据具有开放性特征,因此必须对每个访问系统的用户的身份进行认证。在用户对敏感关键的数据进行存取时,必须在客户与数据库管理系统之间进行身份认证。
3.访问控制技术。访问控制方案有三种,分别叫做自主存取控制(DAC)、强制存取控制(MAC)和基于角色的存取控制(RBAC)。当用户对数据库进行访问时,系统会根据用户的级别与权限来判定此操作是允许的或者禁止的,从而达到保护敏感数据不被泄露或者篡改的目的。在数据库管理系统中,不同的用户拥有不同的权限。因此必须保证某个用户只能访问或者存取与自己权限相应的数据范围。用户所拥有的权限包括两方面的内容:一是用户可以访问数据库中什么样的数据对象,二是用户可以对这些数据对象进行什么样的操作。 4.加密技术。
数据库管理系统的加密以字段为最小单位进行,加密和解密通常是通过对称密码机制的密钥来实现。数据加密时,数据库管理系统把明文数据经过密钥转换为密文数据,数据库中数据的存储状态都是密文数据,而在得到权限的用户查询时,再将密文数据取出并解密,从而恢复明文数据。使数据库的安全性得到进一步提升。电子商务系统中的一些商业机密数据是不允许普通用户进行随意访问的。加密方案的目的是控制以上这些机密数据只能被得到相应授权的特定人群所访问和存取。
5.安全电子商务协议SET。
SET(Secure Electronic Transaction)是实现在开放的网络(Internet或公众多媒体网)上使用的付款卡(信用卡、借记卡和取款卡等)支付的安全事务处理协议。该协议是由Visa和MasterCard两大信用卡组织牵头,联合GET、IBM、Microsoft、RSA、VeriS- ign等大公司一起开发的。SET协议的实现不需要对现有的银行支付网络进行大的改造。
SET的目的是为了安全地在网上使用付款卡进行交易。因此SET制定了敏感信息的保密,支付的完整性,对商家、持卡者和收卡银行的身份认证等安全技术要求。