数据库认证技术概要

来源:互联网 发布:acca知乎 编辑:程序博客网 时间:2024/06/06 10:55
数据库认证技术概要

(1)用户名/密码认证

    用户名/密码是最简单也是最常用的身份认证方法,是基于“what you know”的验证手段。每个用户的密码是由用户自己设定的,只有用户自己才知道。只要能够正确输入密码,计算机就认为操作者就是合法用户。实际上,由于许多用户为了防止忘记密码,经常采用诸如生日、电话号码等容易被猜测的字符串作为密码,或者把密码抄在纸上放在一个自认为安全的地方,这样很容易造成密码泄漏。即使能保证用户密码不被泄漏,由于密码是静态的数据,在验证过程中需要在计算机内存中和网络中传输,而每次验证使用的验证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。因此,从安全性上讲,用户名/密码方式一种是极不安全的身份认证方式。

(2)智能卡认证

    智能卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据,智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件。智能卡由合法用户随身携带,登录时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。智能卡认证是基于“what you have”的手段,通过智能卡硬件不可复制来保证用户身份不会被仿冒。然而由于每次从智能卡中读取的数据是静态的,通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息,因此还是存在安全隐患。

(3)生物特征认证

    生物识别技术主要是指通过可测量的身体或行为等生物特征进行身份认证的一种技术。生物特征是指唯一的可以测量或可自动识别和验证的生理特征或行为方式。生物特征分为身体特征和行为特征两类。身体特征包括:指纹、掌型、视网膜、虹膜、人体气味、脸型、手的血管和 DNA 等;行为特征包括:签名、语音、行走步态等。目前部分学者将视网膜识别、虹膜识别和指纹识别等归为高级生物识别技术;将掌型识别、脸型识别、语音识别和签名识别等归为次级生物识别技术;将血管纹理识别、人体气味识别、DNA 识别等归为“深奥的”生物识别技术。由于不同的人具有不同的生物特征,因此几乎不可能被仿冒。因此生物特征认证的安全性最高,但各种相关识别技术还没有成熟,没有规模商品化,准确性和稳定性有待提高,生物特征认证基于生物特征识别技术,受到现在的生物特征识别技术成熟度的影响,采用生物特征认证还具有较大的局限性,特别是当生物特征缺失时,就可能没法利用。

(4)动态口令

    动态口令技术是一种让用户密码按照时间或使用次数不断变化、每个密码只能使用一次的技术。它采用一种叫做动态令牌的专用硬件,内置电源、密码生成芯片和显示屏,密码生成芯片运行专门的密码算法,根据当前时间或使用次数生成当前密码并显示在显示屏上。认证服务器采用相同的算法计算当前的有效密码。用户使用时只需要将动态令牌上显示的当前密码输入客户端计算机,即可实现身份认证。由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要通过密码验证就可以认为该用户的身份是可靠的。而用户每次使用的密码都不相同,即使黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份。

    动态口令技术采用一次一密的方法,有效保证了用户身份的安全性。但是如果客户端与服务器端的时间或次数不能保持良好的同步,就可能发生合法用户无法登录的问题。并且用户每次登录时需要通过键盘输入一长串无规律的密码,一旦输错就要重新操作,使用起来非常不方便。国内目前较为典型的如 VeriSign VIP动态口令技术和 RSA 的动态口令,而 VeriSign 依托本土的数字认证厂商iTrustChina,则在密码技术上针对国内进行了改良。

(5) USB Key 认证

    基于 USB Key 的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术。它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。USB Key 是一种 USB 接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用 USB Key 内置的密码算法实现对用户身份的认证。基于 USB Key 身份认证系统主要有两种应用模式:一是基于冲击/响应的认证模式;二是基于 PKI 体系的认证模式。

(6)基于冲击-响应认证模式

    USB Key 内置单向散列算法(MD5),预先在 USB Key 和服务器中存储一个证明用户身份的密钥,当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成一个随机数回传给客户端 PC 上插着的USB Key,此为“冲击”。USB Key 使用该随机数与存储在 USB Key 中的密钥进行MD5 运算得到一个运算结果作为认证证据传送给服务器,此为“响应”。与此同时,服务器使用该随机数与存储在服务器数据库中的该客户密钥进行 MD5 运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。

    可以用“x”代表服务器提供的随机数,“Key”代表密钥,“y”代表随机数和密钥经过 MD5 运算后的结果。通过网络传输的只有随机数“x”和运算结果“y”,用户密钥“Key”既不在网络上传输也不在客户端电脑内存中出现,网络上的黑客和客户端电脑中的木马程序都无法得到用户的密钥。由于每次认证过程使用的随机数“x”和运算结果“y”都不一样,即使在网络传输的过程中认证数据被黑客截获,也无法逆推获得密钥。因此从根本上保证了用户身份无法被仿冒。

(7)基于数字证书 PKI 的认证模式

    PKI(Public Key Infrastructure)即公钥基础设施体系,即利用一对互相匹配的密钥进行加密、解密。一个公共密钥(公钥,public key)和一个私有密钥(私钥,private key)。其基本原理是:由一个密钥进行加密的信息内容,只能由与之配对的另一个密钥才能进行解密。公钥可以广泛地发给与自己有关的通信者,私钥则需要十分安全地存放起来。每个用户拥有一个仅为本人所掌握的私钥,用它进行解密和签名;同时拥有一个公钥用于文件发送时加密。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。

    冲击响应模式可以保证用户身份不被仿冒,但无法保证认证过程中数据在网络传输过程中的安全。而基于 PKI 的“数字证书认证方式”可以有效保证用户的身份安全和数据传输安全。数字证书是由可信任的第三方认证机构——数字证书认证中心(Certificate Authority, CA)颁发的一组包含用户身份信息的数据结构,PKI体系通过采用加密算法构建了一套完善的流程,保证数字证书持有人的身份安全。而使用 USB Key 可以保障数字证书无法被复制,所有密钥运算在 USB Key 中实现,用户密钥不在计算机内存出现也不在网络中传播,只有 USB Key 的持有人才能够对数字证书进行操作,安全性有了保障。由于 USB Key 具有安全可靠,便于携带、使用方便、成本低廉的优点,加上 PKI 体系完善的数据保护机制,使用

USB Key 存储数字证书的认证方式已经成为目前主要的认证模式。

(7)其他认证方式

    随着第三方产品的出现和成熟,现有的数据库产品开始借助于第三方来进行认证,只在客户端和服务器提供对第三方接口的支持。现在安全度较高的产品如kerberos,radins等,其底层技术都采用了上述技术中的一种或几种。其中以kerberos系统最为流行。几乎所有的数据库产品都支持该认证系统。

    此外,许多数据库也借助操作系统来进行认证。Windows下的操作系统认证主要运用域控制器进行验证。Linux相类似地实现了ident认证,借助ident服务器来进行验证。

    还有一些简单的认证是通过主机iP地址来进行认证。服务器端直接根据客户端的iP地址进行接受和拒绝。这种方法由于iP地址的可欺骗性而只适用于单用户工作站的本地连接。


0 0
原创粉丝点击