认证系统

2024-07-23

认证系统(共12篇)

认证系统 篇1

0前言

随着计算机技术和其他相关技术的发展而创造出的有利条件,生物识别技术得到了迅速发展,在防范金融风险、加强银行内控和业务流程管理等方面发挥了不可替代的作用。指纹识别、掌纹识别、虹膜识别、人脸识别、静脉识别、声音识别等生物特征识别技术,已在许多商业领域中有较为广泛的应用。在诸多的生物特征中,由于指纹具有其惟一、终生不变的特点,指纹识别从综合性能上讲要优于其他几种技术,被认为是最简单易行的识别手段,可以很好地应用于银行的各种业务中。

1 银行指纹认证系统应用方案概述

将指纹识别技术与银行业务系统相结合,就得到银行指纹认证系统。根据银行业务子系统的划分,银行指纹认证系统包括:

(1)终端指纹识别设备

包括指纹识别网点终端、指纹识别ATM机、指纹识别POS终端、指纹USB-Key、指纹识别自助终端、指纹识别信用卡等银行终端设备。

(2)内部权限控制子系统

用指纹识别作为银行内部业务系统的用户认证方式,实现内部流程的控管和稽查。

(3)柜台应用指纹识别子系统

实现柜台业务指纹认证管理,兼容原业务系统,用户可选择“单独密码认证”、“单独指纹认证”、“密码和指纹认证”三种认证模式。

(4)银行网络应用身份识别

通过指纹识别USB-KEY,提供网上银行交易指纹认证机制。

其中,面向客户的包括终端设备、柜台应用、网络应用三部分,一起构成了指纹银行客户认证系统的基础环境。内部权限控制则构成了指纹银行内控认证系统的基础环境。

2 银行指纹客户认证系统

指纹银行客户认证系统是针对银行终端设备、柜台服务、网络服务三大子系统进行基于指纹识别的身份认证,均面向客户服务的认证系统。客户只需动动手指便可完成身份认证,有效地防止了客户遗忘密码或忘带银行卡、存折等情况的发生,从而大大地减少了客户的办理时间。

根据指纹数据存储和比对位置的不同,分为基于网络应用模式的客户认证系统和基于指纹银行卡模式的客户认证系统两种模式。其中,前者依靠远端服务器认证,后者则通过本地终端认证。

2.1 基于网络应用模式的客户认证系统

2.1.1 系统构成

系统由指纹数据采集与管理子系统以及指纹数据传输和比对子系统组成。在这种应用模式下,用户注册指纹数据存储在银行远端中心指纹数据服务器上,特征比对也在服务器上完成。系统将采集的注册指纹特征模板存储在银行指纹数据服务器上,并由银行指纹管理系统进行统一管理,当客户在各种终端设备处输入现场采集的查询指纹和指纹银行用户号时,其指纹生成的查询特征与用户号一起被上传至银行中心指纹数据服务器,并在服务器上与存储的注册特征模板进行比对,比对成功则认证通过,客户即可进行后续业务操作,如图1所示。

2.1.2 系统特点

(1)安全有保障:可靠的指纹预处理和识别算法,使得误识率和拒识率都极低。

(2)使用更轻松:无需银行卡或存折,大大减少了客户办理业务的等待时间;同一指纹还可绑定多个账户。

(3)管理更统一:指纹信息均存储在银行中心机房内的指纹数据服务器中,并对客户在各种终端设备处进行的信息上传、比对请求、数据传输操作进行统一管理与监控。

(4)操作人性化:当采用指纹识别方式时,无需银行卡或银行存折,整个认证过程更便捷迅速。

2.1.3 指纹数据采集与管理子系统

(1)网点柜台设置指纹采集仪,用于客户办理指纹注册与绑定业务时的指纹录入;

(2)网点指纹数据服务器实现指纹数据存储和管理功能,同时与中心指纹数据服务器同步;

(3)指纹管理系统具有指纹识别功能,如果客户登记的指纹在本地或者在中心指纹数据库中已经登记,系统拒绝登记,只能修改或注销;

(4)中心指纹数据服务器存储所有网点的指纹信息,向所有网点提供中心识别服务。

2.1.4 指纹数据传输与比对子系统

(1)各种终端设备在客户登录时采集客户指纹,上传指纹用户号和指纹特征至中心指纹数据服务器,并发起特征比对请求;

(2)远端指纹数据服务器完成客户的现场指纹特征与用户注册指纹特征模板的比对,比对成功则认证通过。

2.2 基于指纹银行卡模式的客户认证系统

2.2.1 系统构成

系统由指纹银行卡授权与管理子系统、指纹本地终端比对子系统和指纹银行卡读写子系统组成。在这种应用模式下,用户注册指纹数据存储在指纹银行卡中,特征比对在本地终端上完成。系统将采集的注册指纹特征模板存储在银行卡中并由客户自己携带,客户在各种终端设备处先插入指纹银行卡,然后输入现场采集的查询指纹,其生成的查询指纹特征与指纹银行卡中的注册模板进行比对,比对成功则认证通过,客户同样可进行后续业务操作。如图2所示。

2.2.2 系统特点

(1)保护个人隐私:个人指纹信息存储在指纹银行卡中由客户随身携带,满足了客户对保护个人隐私的要求;也避免了中心指纹数据服务器管理所存在的安全隐患。

(2)多重安全保障:实行本地终端比对,避免了网络传输过程中的安全隐患;另外,系统拥有多种可靠的指纹模板保护方案,可在卡中存储经过加密后的指纹特征模板,也有效抵抗了各种针对卡中指纹信息的主动攻击。

(3)认证速度更快:用户现场输入的查询指纹特征直接与指纹银行卡中的注册指纹特征模板进行比对,完成一次比对的时间为毫秒(ms)级,大大快于输入密码的认证方式。

2.2.3 指纹银行卡授权与管理子系统

(1)网点柜台设置指纹采集仪,用于客户办理指纹注册与绑定业务时的指纹录入。

(2)指纹银行卡读写系统加装于网点终端,实现指纹信息处理功能。客户注册时将客户指纹与客户号、账户信息绑定,同时通过指纹银行卡读写模块将指纹信息读入银行卡中,授权客户开通指纹银行卡。

(3)指纹银行卡管理系统具有指纹识别功能,如果客户输入的指纹信息在插入的银行卡中已经登记,系统拒绝登记,只能修改或注销。

客户可选择不启用指纹银行卡的密码,即用指纹特征完全代替密码进行身份认证。

2.2.4 指纹本地终端比对子系统

(1)各种终端设备需加装指纹银行卡读写系统;

(2)客户插入指纹银行卡并输入查询指纹,通过指纹银行卡读写;

(3)系统读出卡中指纹信息,并与卡中指纹信息进行比对,比对成功则认证通过。

2.2.5 指纹银行卡读写子系统

(1)注册操作:柜台办理指纹银行卡授权业务时,网点终端需加装外置型指纹银行卡读写器;客户插入银行卡并输入指纹,通过指纹银行卡读写器读出卡中信息,用于确定该银行卡是否已开通指纹服务;若卡中无指纹信息,则将客户的指纹信息读入银行卡中。

(2)认证操作:网点终端和POS终端机处加装外置型指纹银行卡读写器,ATM机、自助终端等其他终端设备内加装嵌入式指纹银行卡读写模块;客户插入指纹银行卡并输入现场查询指纹后,指纹银行卡读写模块读出卡中指纹信息并与查询指纹信息进行比对。如图3所示。

3 银行指纹内控认证系统

为了确保银行业稳健运行,人民银行、银监会等金融监管部门多次下发管理性文件,要求建立健全金融机构的内部控制制度,并通过提高技术手段增强防范操作风险的能力。因此,要建立完善的银行内控系统,除了要在提高员工的业务能力和道德素质上下功夫,还要有完善的管理制度和稳固的硬件支撑。其中之一就是要对每个员工的权限给出明确的具体限制,即要有一种严密的授权方式。目前银行内部常用的授权方式为“柜员卡+密码”或“授权卡+密码”。一张卡对应一个职员的ID,表示该职员的身份。不同的柜员卡和授权卡拥有不同的业务处理等级和门禁权限,从而限制了持有者的权限。

在银行内控系统中采用指纹认证代替卡和密码的认证,在需要更高的安全认证的时候可以采用指纹加密码的认证。

在与原有业务系统兼容性的处理上,可以将指纹识别系统附加于银行业务处理系统的外围,有单独的数据库和通讯系统,而指纹的身份验证只作为银行业务处理和其他操作的前置步骤。

在指纹的注册阶段和验证阶段都添加对指纹模板的加密步骤,可以更好的保护职员的指纹模板信息。

3.1 系统构成

(1)主要功能模块包括指纹数据库建设和管理,柜员终端的访问和业务处,门禁终端的访问控制,其它主要系统和重要文件的安全访问,记录数据服务器的访问。系统拓扑图如图4所示。

(2)所有终端的指纹认证包括指纹数据库服务器和记录管理服务器的访问,其特征比对的过程都在指纹数据库服务器上完成;

(3)所有的访问和操作记录都要上传至记录管理服务器。

以柜员终端业务处理为例的银行指纹内控认证流程如图5所示。

3.2 系统特点

(1)使用方便:无需再携带卡,不会丢失或被窃,不能复制;减少了密码记忆和管理的麻烦;

(2)操作简单:具有防抵赖和可追溯性;

(3)识别率高:与传统授权方式相比具有更高的安全性,误识率低于百万分之一;

(4)兼容性好:支持不同类型采集仪之间的交叉匹配;

(5)安全可靠:解决传统身份识别技术无法认证到人的难题;杜绝了银行内部卡共享等违规操作,和以窃取卡或密码为主要手段的内、外部犯罪的可能性;采用假指纹检测技术,防止指模、指印等非法方式进入系统;对数据库中的指纹模板进行加密,保护隐私。

4 总结

生物特征识别是近年来新兴的一种安全认证技术,因其惟一性和稳定性的特征,为实现更安全、更方便的用户身份认证提供了有利的物理条件。在金融领域,尤其需要安全可靠的手段进行身份认证,从而保障交易的安全,防止金融犯罪。因此,本文提出了以指纹识别技术为基础的银行身份认证系统应用方案,从外部客户和内部员工两方面保证操作过程的真实有效性,从而大大提高了银行系统的安全性。

参考文献

[1]中国银行业监督管理委员会.部分商业银行确保银行卡密码安全的做法[EB/OL].2006.http://www.cbrc.gov.cn/chinese/home/jsp/docView.jspdocID=2563.

[2]王华庆.网上银行风险监管原理与实务[M].中国金融出版社.2003.

[3]屈延文,韩玮玺,王永红,南相浩,林鹏,王贵驷.银行行为监管——银行监管信息化[M].电子工业出版社.2004.

[4]田捷,杨鑫.生物特征识别技术理论与应用[M].电子工业出版社.2005.

认证系统 篇2

一、oracle系统

1.oracle产品结构及组成

oracle系统是由以rdbms为核心的一批软件产品构成.

2.oracle系统特点

oracle公司于1979年,首先推出基于sql标准的关系数据库产品,可在100多种硬件平台上运行(所括微机、工作站、小型机、中型机和大型机),支持很多种操作系统。用户的oracle应用可方便地从一种计算机配置移至另一种计算机配置上。oracle的分布式结构可将数据和应用驻留在多台计算机上,而相互间的通信是透明的。1992年6月oracle公司推出的oracle7协同服务器数据库,使关系数据库技术迈上了新台阶。根据idg(国际数据集团)1992年全球unix数据库市场报告,oracle占市场销售量50%。它之所以倍受用户喜爱是因为它有以下突出的特点:

支持大数据库、多用户的高性能的事务处理。oracle支持最大数据库,其大小可到几百千兆,可充分利用硬件设备。支持大量用户同时在同一数据上执行各种数据应用,并使数据争用最小,保证数据一致性。系统维护具有高的性能,oracle每天可连续24小时工作,正常的系统操作(后备或个别计算机系统故障)不会中断数据库的使用。可控制数据库数据的可用性,可在数据库级或在子数据库级上控制。

oracle遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。所以它是一个开放系统,保护了用户的投资。美国标准化和技术研究所(nist)对oracle7 server进行检验,100%地与ansi/iso sql89标准的二级相兼容。

实施安全性控制和完整性控制。oracle为限制各监控数据存取提供系统可靠的安全性。oracle实施数据完整性,为可接受的数据指定标准。

支持分布式数据库和分布处理。oracle为了充分利用计算机系统和网络,允许将处理分为数据库服务器和客户应用程序,所有共享的数据管理由数据库管理系统的计算机处理,而运行数据库应用的工作站集中于解释和显示数据。通过网络连接的计算机环境,oracle将存放在多台计算机上的数据组合成一个逻辑数据库,可被全部网络用户存取。分布式系统像集中式数据库一样具有透明性和数据一致性。

具有可移植性、可兼容性和可连接性。由于oracle软件可在许多不同的操作系统上运行,以致oracle上所开发的应用可移植到任何操作系统,只需很少修改或不需修改。oracle软件同工业标准相兼容,包括许多工业标准的操作系统,所开发应用系统可在任何操作系统上运行。可连接性是指oralce允许不同类型的计算机和操作系统通过网络可共享信息。

二、oracle数据库系统的体系结构

oracle数据库系统为具有管理oracle数据库功能的计算机系统。每一个运行的oracle数据库与一个oracle实例(instance)相联系。一个oracle实例为存取和控制一数据库的软件机制。每一次在数据库服务器上启动一数据库时,称为系统全局区(system global area)的一内存区(简称sga)被分配,有一个或多个oracle进程被启动。该sga 和 oracle进程的结合称为一个oracle数据库实例。一个实例的sga和进程为管理数据库数据、为该数据库一个或多个用户服务而工作。

在oracle系统中,首先是实例启动,然后由实例装配(mount)一数据库。在松耦合系统中,在具有oracle parallel server 选项时,单个数据库可被多个实例装配,即多个实例共享同一物理数据库。

1.oracle实例的进程结构和内存结构

1)进程结构

进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使用作业(job)或任务(task)的术语。一个进程通常有它自己的专用存储区。oracle进程的体系结构设计使性能最大。

oracle实例有两种类型:单进程实例和多进程实例。

单进程oracle(又称单用户oracle)是一种数据库系统,一个进程执行全部oracle代码。由于oracle部分和客户应用程序不能分别以进程执行,所以oracle的代码和用户的数据库应用是单个进程执行。

在单进程环境下的oracle 实例,仅允许一个用户可存取。例如在ms-dos上运行oracle 。

多进程oracle实例(又称多用户oracle)使用多个进程来执行oracle的不同部分,对于每一个连接的用户都有一个进程。

在多进程系统中,进程分为两类:用户进程和oracle进程。当一用户运行一应用程序,如pro*c程序或一个oracle工具(如sql*plus),为用户运行的应用建立一个用户进程。oracle进程又分为两类:服务器进程和后台进程。服务器进程用于处理连接到该实例的用户进程的请求。当应用和oracele是在同一台机器上运行,而不再通过网络,一般将用户进程和它相应的服务器进程组合成单个的进程,可降低系统开销。然而,当应用和oracle运行在不同的机器上时,用户进程经过一个分离服务器进程与oracle通信。它可执行下列任务:

对应用所发出的sql语句进行语法分析和执行。

从磁盘(数据文件)中读入必要的数据块到sga的共享数据库缓冲区(该块不在缓冲区时)。

将结果返回给应用程序处理。

系统为了使性能最好和协调多个用户,在多进程系统中使用一些附加进程,称为后台进程。在许多操作系统中,后台进程是在实例启动时自动地建立。一个oracle实例可以有许多后台进程,但它们不是一直存在。后台进程的名字为:

dbwr 数据库写入程序

lgwr 日志写入程序

ckpt 检查点

smon 系统监控

pmon 进程监控

arch 归档

reco 恢复

lckn 封锁

dnnn 调度进程

snnn 服务器

每个后台进程与oracle数据库的不同部分交互。

下面对后台进程的功能作简单介绍:

dbwr进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个oracle后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,dbwr的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用的缓冲区时,dbwr将管理缓冲存储区,使用户进程总可得到未用的缓冲区。

oracle采用lru(least recently used)算法(最近最少使用算法)保持内存中的数据块是最近使用的,使i/o最小。在下列情况预示dbwr 要将弄脏的缓冲区写入磁盘:

当一个服务器进程将一缓冲区移入“弄脏”表,该弄脏表达到临界长度时,该服务进程将通知dbwr进行写。该临界长度是为参数db-block-write-batch的值的一半。

当一个服务器进程在lru表中查找db-block-max-scan-cnt缓冲区时,没有查到未用的缓冲区,它停止查找并通知dbwr进行写。

出现超时(每次3秒),dbwr 将通知本身。

当出现检查点时,lgwr将通知dbwr

在前两种情况下,dbwr将弄脏表中的块写入磁盘,每次可写的块数由初始化参数db-block-write-batch所指定。如果弄脏表中没有该参数指定块数的缓冲区,dbwr从lur表中查找另外一个弄脏缓冲区。

如果dbwr在三秒内未活动,则出现超时。在这种情况下dbwr对lru表查找指定数目的缓冲区,将所找到任何弄脏缓冲区写入磁盘。每当出现超时,dbwr查找一个新的缓冲区组。每次由dbwr查找的缓冲区的数目是为寝化参数db-block-write-batch的值的二倍。如果数据库空运转,dbwr最终将全部缓冲区存储区写入磁盘。

在出现检查点时,lgwr指定一修改缓冲区表必须写入到磁盘。dbwr将指定的缓冲区写入磁盘。

在有些平台上,一个实例可有多个dbwr。在这样的实例中,一些块可写入一磁盘,另一些块可写入其它磁盘。参数db-writers控制dbwr进程个数。

lgwr进程:该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志缓冲区的一个oracle后台进程。lgwr进程将自上次写入磁盘以来的全部日志项输出,lgwr输出:

当用户进程提交一事务时写入一个提交记录。

每三秒将日志缓冲区输出。

当日志缓冲区的1/3已满时将日志缓冲区输出。

当dbwr将修改缓冲区写入磁盘时则将日志缓冲区输出。

lgwr进程同步地写入到活动的镜象在线日志文件组。如果组中一个文件被删除或不可用,lgwr可继续地写入该组的其它文件。

日志缓冲区是一个循环缓冲区。当lgwr将日志缓冲区的日志项写入日志文件后,服务器进程可将新的日志项写入到该日志缓冲区。lgwr 通常写得很快,可确保日志缓冲区总有空间可写入新的日志项。

注意:有时候当需要更多的日志缓冲区时,lwgr在一个事务提交前就将日志项写出,而这些日志项仅当在以后事务提交后才永久化。

oracle使用快速提交机制,当用户发出commit语句时,一个commit记录立即放入日志缓冲区,但相应的数据缓冲区改变是被延迟,直到在更有效时才将它们写入数据文件。当一事务提交时,被赋给一个系统修改号(scn),它同事务日志项一起记录在日志中。由于scn记录在日志中,以致在并行服务器选项配置情况下,恢复操作可以同步。

ckpt进程:该进程在检查点出现时,对全部数据文件的标题进行修改,指示该检查点。在通常的情况下,该任务由lgwr执行。然而,如果检查点明显地降低系统性能时,可使ckpt进程运行,将原来由lgwr进程执行的检查点的工作分离出来,由ckpt进程实现。对于许多应用情况,ckpt进程是不必要的。只有当数据库有许多数据文件,lgwr在检查点时明显地降低性能才使ckpt运行。ckpt进程不将块写入磁盘,该工作是由dbwr完成的。

初始化参数checkpoint-process控制ckpt进程的使能或使不能。缺省时为false,即为使不能。

smon进程:该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。在具有并行服务器选项的环境下,smon对有故障cpu或实例进行实例恢复。smon进程有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。

pmon进程:该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障的进程的id从活动进程表中移去。pmon还周期地检查调度进程(dispatcher)和服务器进程的状态,如果已死,则重新启动(不包括有意删除的进程)。

pmon有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。

reco进程:该进程是在具有分布式选项时所使用的一个进程,自动地解决在分布式事务中的故障。一个结点reco后台进程自动地连接到包含有悬而未决的分布式事务的其它数据库中,reco自动地解决所有的悬而不决的事务。任何相应于已处理的悬而不决的事务的行将从每一个数据库的悬挂事务表中删去。

当一数据库服务器的reco后台进程试图建立同一远程服务器的通信,如果远程服务器是不可用或者网络连接不能建立时,reco自动地在一个时间间隔之后再次连接。

reco后台进程仅当在允许分布式事务的系统中出现,而且distributed – transactions参数是大于0。

arch进程:该进程将已填满的在线日志文件拷贝到指定的存储设备。当日志是为archivelog使用方式、并可自动地归档时arch进程才存在。

lckn进程:是在具有并行服务器选件环境下使用,可多至10个进程(lck0,lck1……,lck9),用于实例间的封锁。

dnnn进程(调度进程):该进程允许用户进程共享有限的服务器进程(server process)。没有调度进程时,每个用户进程需要一个专用服务进程(dedicatedserver process)。对于多线索服务器(multi-threaded server)可支持多个用户进程。如果在系统中具有大量用户,多线索服务器可支持大量用户,尤其在客户_服务器环境中。

在一个数据库实例中可建立多个调度进程。对每种网络协议至少建立一个调度进程。数据库管理员根据操作系统中每个进程可连接数目的限制决定启动的调度程序的最优数,在实例运行时可增加或删除调度进程。多线索服务器需要sql*net版本2或更后的版本。在多线索服务器的配置下,一个网络接收器进程等待客户应用连接请求,并将每一个发送到一个调度进程。如果不能将客户应用连接到一调度进程时,网络接收器进程将启动一个专用服务器进程。该网络接收器进程不是oracle实例的组成部分,它是处理与oracle有关的网络进程的组成部分。在实例启动时,该网络接收器被打开,为用户连接到oracle建立一通信路径,然后每一个调度进程把连接请求的调度进程的地址给予于它的接收器。当一个用户进程作连接请求时,网络接收器进程分析请求并决定该用户是否可使用一调度进程。如果是,该网络接收器进程返回该调度进程的地址,之后用户进程直接连接到该调度进程。有些用户进程不能调度进程通信(如果使用sql*net以前的版本的用户),网络接收器进程不能将如此用户连接到一调度进程。在这种情况下,网络接收器建立一个专用服务器进程,建立一种合适的连接。

2)、oracle内存结构

oracle在内存存储下列信息:

执行的程序代码。

连接的会话信息

程序执行期间所需数据和共享的信息

存储在外存储上的缓冲信息。

oracle具有下列基本的内存结构:

软件代码区

系统全局区,包括数据库缓冲存储区、日志缓冲区和共享池.

程序全局区,包括栈区和数据区.

排序区

软件代码区

用于存储正在执行的或可以执行的程序代码。

软件区是只读,可安装成共享或非共享。oracle系统程序是可共享的,以致多个oracle用户可存取它,而不需要在内存有多个副本。用户程序可以共享也可以不共享。

系统全局区

为一组由oracle分配的共享的内存结构,可包含一个数据库实例的数据或控制信息。如果多个用户同时连接到同一实例时,在实例的sga中数据可为多个用户所共享,所以又称为共享全局区。当实例起动时,sga的存储自动地被分配;当实例关闭时,该存储被回收。所有连接到多进程数据库实例的全部用户可自动地被分配;当实例关闭时,该存储被回收。所有连接到多进程数据库实例的全部用户可使用其sga中的信息,但仅仅有几个进程可写入信息。在sga中存储信息将内存划分成几个区:数据库缓冲存储区、日志缓冲区、共享池、请求和响应队列、数据字典存储区和其它各种信息。

程序全局区

pga是一个内存区,包含单个进程的数据和控制信息,所以又称为进程全局区(process global area)。

排序区

排序需要内存空间,oracle利用该内存排序数据,这部分空间称为排序区。排序区存在于请求排序的用户进程的内存中,该空间的大小为适就排序数据量的大小,可增长,但受初始化参数sort-area-sizer所限制。

2.oracle的配置方案

所有连接到oracle的用户必须执行两个代码模块可存取一个oracle数据库实例:

应用或oracle工具:一数据库用户执行一数据库应用或一个oracle工具,可向oracle数据库发出sql语句。

oracle服务器程序:负责解释和处理应用中的sql语句。

在多进程实例中,连接用户的代码可按下列三种方案之一配置:

对于每一个用户,其数据库应用程序和服务器程序组合成单个用户进程

对于每一个用户,其数据库应用是由用户进程所运行,并有一个专用服务器进程。执行oracle服务器的代码。这样的配置称为专用服务器体系结构

执行数据库应用的进程不同于执行oracle服务器代码的进程,而且每一个服务器进程(执行oracle服务器代码)可服务于多个用户进程,这样的配置称为多线索服务器体系结构。

1)user/server进程相结合的结构

在这种配置下,数据库应用和oracle服务器程序是在同一个进程中运行,该进程称为用户进程。

这种oracle配置有时称为单任务oracle(single_task oracle),该配置适用于这样的操作系统,它可在同一进程中的数据库应用和oracle代码之间维护一个隔离,该隔离是为数据安全性和完整性所需。其中程序接口(program interface)是负责oracle服务器代码的隔离和保护,在数据库应用和oracle用户程序之间传送数据。

2)使用专用服务器进程的系统结构

使用专用服务器进程的oracle系统在两台计算机上运行。在这种系统中,在一计算机上用户进程执行数据库应用,而在另一台计算机上的服务器进程执行相应的oracle服务器代码,这两个进程是分离的。为每个用户进程建立的不同的服务器进程称为专用服务器进程,因为该服务器进程仅对相连的用户进程起作用。这种配置又称为两任务oracle。每一个连接到oracle的用户进程有一个相应的专用服务进程。这种系统结构允许客户应用是有工作站上执行,通过网络与运行oracle的计算机通信。当客户应用和oracle服务器代码是在同一台计算机上执行时,这种结构也可用。

3)多线索服务器的系统结构

多线索服务器配置允许许多用户进程共享很少服务器进程。在没有多线索服务器的配置中,每一个用户进程需要自己的专用服务器进程。在具有多线索服务器的配置中,许多用户进程连接到调度进程,由调度进程将客户请求发送到一个共享服务器进程。多线索服务器配置的优点是降低系统开销,增加用户个数。

该系统中需要下列类型的进程:

网络接收器进程,将用户进程连接到调度进程和专用服务器进程。

一个或多个调度进程

一个或多个共享服务器进程

其中网络接收器进程等待新来的连接请求,决定每一用户进程能否用共享服务器进程。如果可以使用,接收器进程将一调度进程的地址返回给用户进程。如果用户进程请求一专用服务器,该接收器进程将建立一个专用服务器进程,将用户进程连接到该专用服务器进程。对于数据库客户机所使用的每种网络协议至少配置一个调度进程,并启动它。

当用户作一次调用时,调度进程将请求放置在sga的请求队列中,由可用的共享服务器进程获取。共享服务器进程为完成每一个用户进程的请求作所有必要的数据库调用。当服务器完成请求时,将结果返回到调度进程的队列,然后由调度进程将完成的请求返回给用户进程。

共享服务器进程:除共享服务器进程不是连接指定的用户进程外,共享服务器进程和专用服务器进程提供相同的功能,一个共享服务器进程在多线索服务器的配置中可为任何客户请求服务。一个共享服务器进程的sga不包含有与用户相关的数据,其信息可为所有共享服务器进程存取,它仅包含栈空间、进程指定变量。所有与会话有关的信息是包含有sga中。每一个共享服务器进程可存取全部会话的数据空间,以致任何服务进程可处理任何会话的请求。对于每一个会话的数据空间是在sga中分配空间。

oracle根据请求队列的长度可动态地调整共享服务器进程。可建立的共享服务器进程将请求放到请求队列。一个用户请求是对数据库的一次程序接口调用,为sql语句。在sga中请求队列对实例的全部调度进程是公用的。服务器进程为新请求检查公用请求队列,按先进先出的原则从队列检出一个请求,然后为完成该请求对数据库作必要的调用。共享服务器进程将响应放在调度进程的响应队列。每一个调度进程在sga中有自己的响应队列,每个调度进程负责将完成的请求回送给相应的用户进程。

3.oracle运行

1)使用专用服务进程的oracle的运行

在这种配置下,oracle运行过程如下:

(1)数据库服务器计算机当前正在运行oracle(后台进程)。

(2)在一客户工作站运行一个数据库应用(为用户进程),如sql*plus。客户应用使用sql*net driver建立对服务器的连接。

(3)数据库服务器计算机当前正运行合适的sql*net driver,该机上接收器进程检出客户数据库应用的连接请求,并在该机上为用户进程建立专用服务器进程。

(4)用户发出单个sql语句。

(5)专用服务器进程接收该语句,在此处有两种方法处理sql语句:

如果在共享池一共享sql区中包含有相同sql语句时,该服务器进程可利用已存在的共享sql区执行客户的sql语句。

?如果在共享池中没有一个sql区包含有相同的sql语句时,在共享池中为该语句分配一新的共享sql区。

在每一种情况,在会话的pga中建立一个专用sql区,专用服务器进程检查用户对查询数据的存取权限。

(6) 如果需要,服务器进程从数据文件中检索数据块,或者可使用已存储在实例sga中的缓冲存储区的数据块。

(7) 服务器进程执行存储在共享sql区中的sql语句。数据首先在sga中修改,由dbwr进程在最有效时将它写入磁盘。lgwr进程在在线日志文件中记录用户提交请求的事务。

(8)如果请求成功,服务器将通过网络发送一信息。如果请求不成功,将发送相应的错误信息。

(9)在整个过程中,其它的后台进程是运行的,同时注意需要干预的条件。另外,oracle管理其它事务,防止不同事务之间请求同一数据的竞争。

2)使用多线索服务器的oracle的运行

在这种配置下,oracle运行过程如下:

(1)一数据库服务器计算机运行使用多线索服务器配置的oracle。

(2)在一客户工作站运行一数据库应用(在一用户进程中)。客户应用合适的sql*net驱动器试图建立到数据库服务器计算机的连接。

(3)数据库服务器计算机当前运行合适的sql*net驱动器,它的网络接收器进程检出用户进程的连接请求,并决定用户进程如何连接。如果用户是使用sql*net版本2,该网络接收器通知用户进程使用一个可用的调度进程的地址重新连接。

(4)用户发出单个sql语句

(5)调度进程将用户进程的请求放入请求队列,该队列位于sga中,可为所有调度进程共享。

(6)一个可用共享服务器检验公用调度进程请求队列,并从队列中检出下一个sql语句。然后处理该sql语句,同前一(5),(6)和(7)。注意:会话的专用sql区是建立在sga中。

(7)一当共享服务器进程完成sql处理,该进程将结果放置发入该请求的调度进程的响应队列。

(8)调度进程检查它的响应队列,并将完成的请求送回请求的用户进程。

4.数据库结构和空间管理

一个oracle数据库是数据的集合,被处理成一个单位。一个oracle数据库有一个物理结构和一个逻辑结构。

物理数据库结构(physical database structure)是由构成数据库的操作系统文件所决定。每一个oracle数据库是由三种类型的文件组成:数据文件、日志文件和控制文件。数据库的文件为数据库信息提供真正的物理存储。

逻辑数据库结构是用户所涉及的数据库结构。一个oracle数据库的逻辑结构由下列因素决定:

一个或多个表空间

数据库模式对象(即表、视图、索引、聚集、序列、存储过程)

逻辑存储结构如表空间(dataspace)、段(segment)和范围将支配一个数据库的物理空间如何使用。模式对象(schema object)用它们之间的联系组成了一个数据库的关系设计。

1)物理结构

(1)数据文件

每一个oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。数据文件有下列特征:

一个数据文件仅与一个数据库联系。

一旦建立,数据文件不能改变大小

一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。

数据文件中的数据在需要时可以读取并存储在oracle内存储区中。例如:用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,不必立刻写入数据文件。为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由oracle后台进程dbwr决定如何将其写入到相应的数据文件。

(2)日志文件

每一个数据库有两个或多个日志文件(redo log file)的组,每一个日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改是记录在日志中。在出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以从不会丢失已有操作成果。

日志文件主要是保护数据库以防止故障。为了防止日志文件本身的故障,oracle允许镜象日志(mirrored redo log),以致可在不同磁盘上维护两个或多个日志副本。

日志文件中的信息仅在系统故障或介质故障恢复数据库时使用,这些故障阻止将数据库数据写入到数据库的数据文件。然而任何丢失的数据在下一次数据库打开时,oracle自动地应用日志文件中的信息来恢复数据库数据文件。

(3)控制文件

每一oracle数据库有一个控制文件(control file),它记录数据库的物理结构,包含下列信息类型:

数据库名;

数据库数据文件和日志文件的名字和位置;

?数据库建立日期。

为了安全起见,允许控制文件被镜象。

每一次oracle数据库的实例启动时,它的控制文件用于标识数据库和日志文件,当着手数据库操作时它们必须被打开。当数据库的物理组成更改时,oracle自动更改该数据库的控制文件。数据恢复时,也要使用控制文件。

2)逻辑结构

数据库逻辑结构包含表空间、段、范围(extent)、数据块和模式对象。

(1)表空间

一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间(tablespace)。一个表空间可将相关的逻辑结构组合在一起。dba可利用表空间作下列工作:

控制数据库数据的磁盘分配。

将确定的空间份额分配给数据库用户。

通过使单个表空间在线或离线,控制数据的可用性。

执行部分数据库后备或恢复操作。

为提高性能,跨越设备分配数据存储。

数据库、表空间和数据文件之间的关系如下图所示:

database

dtatafile1

(2mb) datafile2

(2mb) datafile3

(2mb)

driver1 driver2

每个数据库可逻辑划分为一个或多个表空间

每一个表空间是由一个或多个数据文件组成,该表空间物理地存储表空间中全部逻辑结构的数据。dba可以建立新的表空间,可为表空间增加数据文件或可删除数据文件,设置或更改缺省的段存储位置。

每一个oracle数据库包含有一个名为system的表空间,在数据库建立是自动建立。在该表空间中总包含有整个数据库的数据字典表。最小的数据库可只需要system表空间。该表空间必须总是在线。表和存储的pl/sql程序单元(过程、函数、包和触发器)的全部存储数据是存储在system表空间中。如果这些pl/sql对象是为数据库建的,dba在system表空间中需要规划这些对象所需要的空间。

表空间利用增加数据文件扩大表空间,表空间的大小为组成该表空间的数据文件大小的和。

dba可以使oracle数据库中任何表空间(除system表空间外)在线(online)或离线(offline)。表空间通常是在线,以致它所包含的数据对数据库用户是可用的。当表空间为离线时,其数据不可使用。在下列情况下,dba可以使其离线。

使部分数据不可用,而剩余的部分允许正常存取

执行离线的表空间后备

为了修改或维护一应用,使它和它的一组表临时不可用。

包含有正在活动的回滚段的表空间不能被离线,仅当回滚段不正在使用时,该表空间才可离线。

在数据字典中记录表空间的状态,在线还是离线。如果在数据库关闭时一表空间为离线,那么在下次数据库装配和重新打开后,它仍然保持离线。

当出现某些错误时,一个表空间可自动地由在线改变为离线。通过使用多个表空间,将不同类型的数据分开,更方便dba来管理数据库。

oracle数据库中一表空间是由一个或多个物理数据文件组成,一个数据文件只可与一个表空间想联系。当为一表空间建立一数据文件时,oracle建立该文件,分配指定的磁盘空间容量。在数据文件初时建立后,所分配的磁盘不包含任何数据。表空间可以在线或离线。在oracle中还允许单独数据文件在线或离线。

(2)段、范围和数据块

oracle通过段、范围和数据块逻辑数据结构可更细地控制磁盘空间的使用。

段(segment)包含表空间中一种指定类型的逻辑存储结构,是由一组范围组成。在oracle数据库中有几种类型的段:数据段、牵引段、回滚段和临时段。

数据段:对于每一个非聚集的表有一数据段,表的所有数据存放在该段。每一聚集有一个数据段,聚集中每一个表的数据存储在该段中。

索引段:每一个索引有一索引段,存储索引数据。

回滚段:是由dba建立,用于临时存储要撤消的信息,这些信息用于生成读一致性数据库信息、在数据库恢复时使用、回滚未提交的事务。

临时段:当一个sql语句需要临时工作区时,由oracle建立。当语句执行完毕,临时段的范围退回给系统。

oracle对所有段的空间分配,以范围为单位。

范围

一个范围(extent)是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。每一个段是由一个或多个范围组成。当一段中间所有空间已完全使用时,oracle为该段分配一个新的范围。

为了维护的目的,在数据库的每一段含有段标题块(segment header block)说明段的特征以及该段中的范围目录。

数据块

数据块(data block)是oracle管理数据文件中存储空间的单位,为数据库使用的i/o的最小单位,其大小可不同于操作系统的标准i/o块大小。

数据块的格式:

公用的变长标题

表目录

行目录

未用空间

行数据

(3)模式和模式对象

一个模式(schema)为模式对象(scehma object)的一个集合,每一个数据库用户对应一个模式。模式对象为直接引用数据库数据的逻辑结构,模式对象包含如表、视图、索引、聚集、序列、同义词、数据库链、过程和包等结构。模式对象是逻辑数据存储结构,每一种模式对象在磁盘上没有一个相应文件存储其信息。一个模式对象逻辑地存储在数据库的一个表空间中,每一个对象的数据物理地包含在表空间的一个或多个数据文件中。

表(table)为数据库中数据存储的基本单位,其数据按行、列存储。每个表具有一表名和列的集合。每一列有一个列名、数据类型、宽度或精度、比例。一行是对应单个记录的列信息的集合。

视图

一个视图(view)是由一个或多个表(或其他视图)中的数据的一种定制的表示,是用一个查询定义,所以可认为是一个存储的查询(stored query)或是一个虚表(virtual table)。视图可在使用表的许多地方使用。

由于视图是由表导出的,视图和表存在许多类似,视图象表最多可定义254列。视图可以被查询,而在修改、插入或删除时具有一定的限制,在视图上执行的全部操作真正地影响视图的基本表中的数据,受到基本表的完整性约束和触发器的限制。

视图与表不同,一个视图不分配任何存储空间,视图不真正地包含数据。由查询定义的视图相应于视图引用表中的数据。视图只在数据字典中存储其定义。

引入视图有下列好处:

。通过限制对表的行预定义集合的存取,为表提供附加的安全性

。隐藏数据复杂性。

。为用户简化命令

。为基本表的数据提供另一种观点。

。可将应用隔离基本表定义的修改

。用于不用视图无法表示的查询。

。可用于保存复杂查询。

聚集

聚集(cluster)是存储表数据的可选择的方法。一个聚集是一组表,将具有同一公共列值的行存储在一起,并且它们经常一起使用。这些公共列构成聚集码。例如:emp表各dept表共享deptno列,所以emp表和dept表可聚集在一起,聚集码的列为deptno列,该聚集将每个部门的全部职工行各该部门的行物理地存储在同一数据块中。

索引

索引(index)是与表和聚集相关的一种选择结构。索引是为提高数据检索的性能而建立,利用它可快速地确定指定的信息。oracle索引为表数据提供快速存取路径。索引适用于一范围的行查询或指定行的查询。

索引可建立在一表的一列或多列上,一旦建立,由oracle自动维护和使用,对用户是完全透明的。索引是逻辑地和物理地独立于数据,它们的建立或删除对表没有影响,应用可继续处理。索引数据的检索性能几乎保持常数,而当一表上存在许多索引时,修改、删除和插入操作的性能会下降。

索引有唯一索引各非唯一索引。唯一索引保证表中没有两行在定义索引的列上具有重复值。oracle在唯一码上自动地定义唯一索引实施unique完整性约束。

组合索引是在表的某个列上所建立的一索引。组全索引可加快select语句的检索速度,在其where子句中可引用组合索引的全部或主要部分 。所以在定义中给出列的次序,将经常存取的或选择最多的列放在首位。

在建立索引时,将在表空间自动地建立一索引段,索引段空间分配和保留空间的使用受下列方式控制:

索引段范围的分配常驻该索引段的存储参数控制。

其数据块中未用空间可受该段的pctfree参数设置所控制。

序列生成器

序列生成器(sequence generator)产生序列号。在多用户环境下该序列生成器特别有用,可生成各返回序列号而不需要磁盘i/o或事务封锁。

序列号为oracle整数,最多可有38个数字。一个序列定义指出一般信息:序列的名字、上升或下降、序列号之间间距和其它信息。对所有序列的确的定义以行存储在system表空间中的数据字典表中,所以所有序列定义总是可用。由引用序列号的sql语句使用序列号,可生成一个新的序列号或使用当前序列号。一旦在用户会话中的sql语句生成一序列号,该序列号仅为该会话可用。序列号生成是独立于表,所以同一序列生成器可用于一个和多个表。所生成序列号可用于生成唯一的主码。

同义词

一个同义词(synonym)为任何表、视图、快照、序列、过程、函数或包的别名,其定义存储在数据字典中。同义词因安全性和方便原因而经常使用,可用于:

可屏蔽对象的名字及其持有者。

为分布式数据库的远程对象提供位置透明性。

为用户简化sql语句。

有两种同义词:公用和专用。一个公用同义词为命名为public特殊用户组所持有,可为数据库中每一个用户所存取。一个专用同义词是包含在指定用户的模式中,仅为该用户和授权的用户所使用。

杂凑

杂凑(hashing)是存储表数据一种可选择的方法,用以改进数据检索的性能。要使用杂凑,就要建立杂凑聚集,将表装入到该聚集。在骠凑聚集中的表行根据杂凑函数的结果进行物理学存储和检索。杂凑函数用于生成一个数值的分布,该数值称为杂凑值,它是基于指定的聚集码值。

程序单元

程序单元(program unit)是指存储过程、函数和包(package)。一个过程和函数,是由sql语句和pl/sql语句组合在一起,为执行某一个任务的一个可执行单位。一个过程或函数可被建立,在数据库中存储其编译形式,可由用户或数据库应用所执行。过程和函数差别在函数总返回单个值给调用者,而过程没有值返回给调用者。

包提供相关的过程、函数、变量和其它包结构封装起来并存贮在一起的一种方法,允许管理者和应用开发者利用该方法组织如此的程序(routine),来提供更多的功能和提高性能。

数据库链

数据库链是一个命名的对象,说明从一数据库到另一数据库的一路径(path)。在分布式数据库中,对全局对象名引用时,数据库链隐式地使用。

三、数据库和实例的启动和关闭

一个oracle数据库没有必要对所有用户总是可用,数据库管理员可启动数据库,以致它被打开。在数据库打开情况下,用户可存取数据库中的信息。当数据库不使用时,dba可关闭它,关闭后的数据库,用户不能存取其信息。

数据库的启动和关闭是非常重要的管理功能,通过以internal连接到oracle的能力来保护。以internal 连接到oracle需要有下列先决条件:

该用户的操作系统账号具有使用internal连接的操作系统特权。

对internal数据库有一口令,该用户知道其口令。

另外:当用户以internal连接时,可连接到专用服务器,而且是安全连接。

1.数据库启动

启动数据库并使它可用有三步操作:

启动一个实例;

装配数据库

打开数据库

1)启动一个实例

启动一实例的处理包含分配一个sga(数据库信息使用的内存共享区)和后台进程的建立。实例起动的执行先于该实例装配一数据库。如果仅启动实例,则没有数据库与内存储结构和进程相联系。

2)装配一数据库

装配数据库是将一数据库与已启动的实例相联。当实例安装一数据库之后,该数据库保持关闭,仅dba可存取。

3)打开一数据库

打开一数据库是使数据库可以进行正常数据库操作的处理。当一数据库打开所有用户可连接到该数据库用存取其信息。在数据库打开时,在线数据文件和在线日志文件也被打开。如果一表空间在上一次数据库关闭时为离线,在数据库再次打开时,该表空间与它所相联的数据文件还是离线的。

2.数据库和实例的关闭

关闭一实例以及它所连接的数据库也有三步操作:

1)关闭数据库

数据库停止的第一步是关闭数据库。当数据库关闭后,所有在sga中的数据库数据和恢复数据相应地写入到数据文件和日志文件。在这操作之后,所有联机数据文件和联机的日志文件也被关闭,任何离线表空间中数据文件夹是已关闭的。在数据库关闭后但还安装时,控制文件仍保持打开。

2)卸下数据库

停止数据库的第二步是从实例卸下数据库。在数据库卸下后,在计算机内存中仅保留实例。在数据库卸下后,数据库的控制文件也被关闭。

3)停止实例

停止数据库的最后一步是停止实例。当实例停止后,sag是从内存中撤消,后台进程被中止。

3.初始化参数文件

在启动一个实例时,oracle必须读入一初始化参数文件(initialization parameter file),该参数文件是一个文本文件,包含有实例配置参数。这些参数置成特殊值,用于初始oracle实例的许多内存和进程设置,该参数文件包含:

一个实例所启动的数据库名字

在sga中存储结构使用多少内存;

在填满在线日志文件后作什么;

数据库控制文件的名字和位置;

在数据库中专用回滚段的名字。

四、数据字典的使用

数据字典是oracle数据库的最重要的部分之一,是由一组只读的表及其视图所组成。它提供有关该数据库的信息,可提供的信息如下:

oracle用户的名字;

每一个用户所授的特权和角色;

模式对象的名字(表、视图、快照、索引、聚集、同义词、序列、过程、函数、包及触发器等);

关于完整性约束的信息;

列的缺省值;

有关数据库中对象的空间分布及当前使用情况;

审计信息(如谁存取或修改各种对象);

其它一般的数据库信息。

可用sql存取数据字典,由于数据字典为只读,允许查询。

1.数据字典的结构

数据库数据字典是由基本表和用户可存取的视图组成。

基本表:数据字典的基础是一组基本表组成,存储相关的数据库的信息。这些信息仅由oracle读和写,它们很少被oracle用户直接存取。

用户可存取视图:数据字典包含用户可存取视图,可概括地方便地显示数据字典的基本表的信息。视图将基本表中信息解码成可用信息。

2.数据字典的使用

当数据库打开时,数据字典总是可用,它驻留在system表空间中。数据字典包含视图集,在许多情况下,每一视图集有三种视图包含有类似信息,彼此以 前缀 相区别,前缀 user、all和dba。

?前缀为user的视图,为用 视图,是在用户的模式内。

?前缀为all的视图,为扩展的用户视图(为用户可存取的视图)。

?前缀为dba的视图为dba的视图(为全部用户可存取的视图)。

在数据库中oracle还维护了一组虚表记录当前数据库的活动,这些表称为动态性能表。动态性能表不是真正的表,许多用户不能存取,dba可查询这些表,可以建立视图,给其它用户授予存取视图权。

五、事务管理

1.事务

一个事务为工作的一个逻辑单位,由一个或多个sql语句组成。一个事务是一个原子单位,构成事务的全部sql语句的结果可被全部提交或者全部回滚。一个事务由第一个可执行sql语句开始,以提交或回滚结束,可以是显式的,也可是隐式的(执行ddl语句)。

在执行一个sql语句出现错误时,该语句所有影响被回滚,好像该语句没有被执行一样,但它不会引起当前事务先前的工作的丢失。

2.oracle的事务管理

在oracle中一个事务是由一个可执行的sql语句开始,一个可执行sql语句产生对实例的调用。在事务开始时,被赋给一个可用回滚段,记录该事务的回滚项。一个事务以下列任何一个出现而结束。

当commit或rollback(没有savepoint子句)语句发出。

一个ddl语句被执行。在ddl语句执行前、后都隐式地提交。

用户撤消对oracle的连接(当前事务提交)。

用户进程异常中止(当前事务回滚)。

1)提交事务

提交一事务,即将在事务中由sql语句所执行的改变永久化。在提交前,oracle已有下列情况:

在sga的回滚段缓冲区已生成回滚段记录,回滚信息包含有所修改值的老值。

在sga的日志缓冲区已生成日志项。这些改变在事务提交前可进入磁盘。

对sga的数据库缓冲区已作修改,这些修改在事务真正提交之前可进入磁盘。

在事务提交之后,有下列情况:

对于与回滚段相关的内部事务表记录提交事务,并赋给一个相应的唯一系统修改号(scn),记录在表中。

在sga的日志缓冲区中日志项由lgwr进程写入到在线日志文件, 这是构成提交事务的原子事务。

在行上和表上的封锁被释放。

该事务标志为完成 。

注意:对于提交事务的数据修改不必由dbwr后台进程立即写入数据文件,可继续存储在sga的数据库缓冲区中,在最有效时将其写入数据文件。

2)回滚事务

回滚事务的含义是撤消未提交事务中的sql语句所作的对数据修改。oralce允许撤消未提交的整个事务,也允许撤消部分。

在回滚整个事务(没有引用保留点)时,有下列情况:

在事务中所有sql语句作的全部修改,利用相应的回滚段被撤消。

所有数据的事务封锁被释放。

事务结束。

当事务回滚到一保留点(具有savepoint)时,有下列情况:

仅在该保留点之后执行的语句被撤消。

该指定的保留点仍然被保留,该保留点之后所建立的保留点被删除。

自该保留点之后所获取的全部表封锁和行封锁被释放,但指定的保留点以前所获取的全部数据封锁继续保持。

该事务仍可继续。

3)保留点

保留点(savepoint)是在一事务范围内的中间标志,经常用于将一个长的事务划分为小的部分。保留点可标志长事务中的任何点,允许可回滚该点之后的工作。在应用程序中经常使用保留点;例如一过程包含几个函数,在每个函数前可建立一个保留点,如果函数失败,很容易返回到每一个函数开始的情况。在回滚到一个保留点之后,该保持点之后所获得的数据封锁被释放。

六、数据库触发器

1.触发器介绍

数据库触发器(database trigger)是存储在数据库中的过程,当表被修改时它隐式地被激发(执行)。在oracle中允许在对表发出insert、update或delete语句时隐式地执行所定义的过程,这些过程称为数据库触发器。触发器存储在数据库中,并与所相关表分别存储。触发器仅可在表上定义。在许多情况中触发器用于提供很高级的专用数据库管理系统,来补充oracle的标准功能。触发器一般用于:

自动地生成导出的列值;

防止无效的事务;

实施更复杂的安全性检查

在分布式数据库中实施跨越结点的引用完整性;

实施复杂的事务规则;

提供透明事件日志;

提供高级的审计;

维护同步表复制;

收集关于存取表的统计。

注意:数据库触发器与sql*forms触发器之间的差别。数据库触发器是定义在表上,存储在数据库中,当对表执行insert、update或delete语句时被激发,不管是谁或哪一应用发出。而sql*forms触发器是sql*form应用的部分,仅当在指定sql*forms应用中执行一个指定触发器点时才被激发。

触发器和说明性完整性约束都可用于约束数据的输入,但它们之间有一定区别:

说明性完整性约束是关于数据库总是为“真”的语句。一个完整性约束应用于表中已有数据和操纵表的任何语句。

而触发器约束事务不可应用于在定义触发器前已装入的数据,所以它不能保证表中全部数据服从该触发器的规则。触发器实施瞬时约束,即在数据改变时实施一约束。

2.触发器的组成:

一个触发器有三个基本部件:触发事件或语句、触发器的限制、触发器动作。

触发事件或语句:为引起触发器激发的sql语句,是对指定表insert、update或delete语句。

触发器限制:为一布尔表达式,当触发器激发时该条件必须为true。触发器的限制是用when子句来指定。

触发器的动作:为一个pl/sql块(过程),由sql语句和pl/sql语句组成。当触发语句发出,触发器的限制计算得true时,它被执行。在触发器动作的语句中,可使用触发器的处理的当前行的列值(新值、老值),使用形式为:

new.列名 引用新值

ole.列名 引用老值

在定义触发器时可指定触发器动作执行次数:受触发语句影响每一行执行一次或是对触发语句执行一次。

对每一触发语句可有四种类型触发器:

行触发器:对受触发语句所影响的每一行,行触发器激发一次。

语句触发器:该类型触发器对触发语句执行一次,不管其受影响行数。

定义触发器可以指定触发时间,指定激发器动作的执行相对于触发语句执行之后或之前。

before触发器:该触发器执行触发器动作是在触发语句执行之前。

after触发器:该触发器执行触发器动作是在触发语句执行之后。

一个触发器可处于两种不同的方式:使能触发器和使不能触发器。

使能触发器:只要当触发语句发出,触发器限制计算为true,这种类型的触发器执行其触发动作。

使不能触发器:这种触发器即使其触发语句被发出,触发器限制计算为true,也不执行触发器动作。

触发器的源代码存储在数据库中,在第一次执行时,触发器的源代码被编译,存储在共享池中。如果触发器从共享池中挤了,再使用时必须再重新编译。

七、分布处理和分布式数据库

1.简介

一个分布式数据库在用户面前为单个逻辑数据库,但实际上是由存储在多台计算机上的一组数据库组成。在几台计算机 上的数据库通过网络可同时修改和存取,每一数据库受它的局部的dbms控制。分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性。

在系统中的每一台计算机称为结点。如果一结点具有管理数据库 软件,该结点称为数据库服务器。如果一个结点为请求服务器的信息的一应用,该结点称为客户。在oracle客户,执行数据库应用,可存取数据信息和与用户交互。在服务器,执行oracle软件,处理对oracle数据库并发、共享数据存取。oracle允许上述两部分在同一台计算机上,但当客户部分和服务器部分是由网连接的不同计算机上时,更有效。

分布处理是由多台处理机分担单个任务的处理。在oracle数据库系统中分布处理的例子如:

客户和服务器是位于网络连接的不同计算机上。

单台计算机上有多个处理器,不同处理器分别执行客户应用。

sql*net是oracle网络接口,允许运行在网络工作站的oracle工具和服务器上,可存取、修改、共享和存储在其它服务器上的数据。saql*net可被认为是网络通信的程序接口。sql*net利用通信协议和应用程序接口(api)为oarcle提供一个分布式数据库和分布处理。

sql*net驱动器为在数据库服务器上运行的oracle进程与oracle工具的用户进程之间提供一个接口。

参与分布式数据库的每一服务器是分别地独立地管理数据库,好像每一数据库不是网络化的数据库。每一个数据库独立地被管理,称为场地自治性。场地自治性有下列好处:

系统的结点可反映公司的逻辑组织。

由局部数据库管理员控制局部数据,这样每一个数据库管理员责任域要小一些,可更好管理。

只要一个数据库和网络是可用,那么全局数据库可部分可用。不会因一个数据库的故障而停止全部操作或引起性能瓶颈。

故障恢复通常在单个结点上进行。

每个局部数据库存在一个数据字典。

结点可独立地升级软件。

可从分布式数据库的所有结点存取模式对象,因此正像非分布的局部的dbms,必须提供一种机制,可在局部数据库中引用一个对象。分布式dbms必须提供一种命名模式,以致分布式数据库中一个对象可在应用中唯一标识和引用。一般彩在层次结构的每一层实施唯一性。分布式dvms简单地扩充层次命名模型,实施在网络上唯一数据库命名。因此一个对象的全局对象名保证在分布式数据库内是唯一。

oracle允许在sql语句中使用佤对象名引用分布式数据库中的模式对象(表、视图和过程)。在oracle中,一个模式对象的全局名由三部分组成:包含对象的模式名、对象名、数据库名、其形式如:

其中scott为模式名,emp为表名,@符号之后为数据库名.

一个远程查询为一查询,是从一个或多个远程表中选择信息,这些表驻留在同一个远程结点.

一个分布式查询可从两个或多个结点检索数据.一个分布式更新可修改两个或两个以上结点的数据.

一个远程事务为一个事务,包含一人或多个远程语句,它所引用的全部是在同一个远程结点上.一个分布式事务中一个事务,包含一个或多个语句修改分布式数据库的两个或多个不同结点的数据.

在分布式数据库中,事务控制必须在网络上直辖市,保证数据一致性.两阶段提交机制保证参与分布式事务的全部数据库服务器是全部提交或全部回滚事务中的语句.

oracle分布式数据库系统结构可由oracle数据库管理员为终端用户和应用提供位置透明性,利用视图、同义词、过程可提供oracle分布式数据库系统中的位置透明性.

oracle允许在select(查询)、insert、update、delete、select…for update和lock table语句中引用远程数据。对于查询,包含有连接、聚合、子查询和select …for update,可引用本地的、远程的表和视图。对于update、insert、delete和lock table语句可引用本地的和远程的表。注意在引用long和long raw列、序列、修改表和封锁表时,必须位于同一个结点。oracle不允许作远程ddl语句。

在单场地或分布式数据库中,所有事务都是用commit或rollback语句中止。oracle提供两种机制实现分布式数据库中表重复的透明性:表快照提供异步的表重复;触发器实现同步的表的重复。在两种情况下,都实现了对表重复的透明性。

2.分布式数据库全局名与数据库链

1)分布式数据库全局名:每一个数据库有一个唯一的全局名,由两部分组成:数据库名(小于等于8字符)和网络域。全局数据库名的网络域成分必须服从标准互联网规范。域名中的层次 由符号“.”分开,域名的次序由叶至根,从左至右。

2)数据库链:为对过程数据库定义的一路径。数据库链对分布式数据库的用户是透明的,数据库链的名字与链所指向的数据库的全局名相同。其由二部分组成:远程账号和数据库串。例建立数据库链的形式:

creat public datebase link sale。division3。acme。com

connect to guest identified by password

using‘db串’;

其中:sales。divisin3。acme。com为定义的链名;guest/password 为远程数据库的用户账号和口令;db串用于远程连接。由账号和db串构成完全路径。如果只有一个则为部分路径。

有三种数据库链可用于决定用户对全部对象名的引用:

专用数据库链:为一指定用户建立。专用数据库链仅链的主人可使用。在sql语句中用于指定一全局对象名或者在持有者的视图过程定义中使用。

公用数据库链:为特殊的用户组public建立。公用数据库链可为任何用户使用,在sql语句中用于指定一个全局对象名或对象定义。

网络数据链:由网络域服务器建立和管理,可为网络中的任何数据库的任何用户使用,可在sql语句中指定全局对象名或对象定义中使用。注意:当前网络域服务器对oracle不能用,所以网络数据库链不可用。

3.表快照

oracle的表快照特征允许一个主表在分布式数据库的其它结点进行复制。只允许修改主表,而复制只可读。主表达式每一个复制称为一个快照。快照异步的刷新,反映主表的一个最近事务一致状态。

一个快照可为表的完全拷贝或者为表的一个子集,由引用一个或多个主表、视图或其它快照的分布式查询所定义。包含主表的数据库称为主数据库。

快照有简单快照和复杂快照。简单快照的每行是基于单个远程表中的一行。所以定义简单快照的查询中不能有groub by或connect by子句,或子查询、连接或集合操作。如果在快照定义的查询中包含有上述子句或操作,这种快照称为复杂快照。

在快照建立时,oracle在快照的模式中建立几种内部对象:

在快照结点,oracle建立一基表用于存储由快照定义的查询所检索的行,然后为该表建立一个只读的视图,并为远程主表建立一视图,该视图用于新快照。

一个快照周期地被刷新,反映它的主表的当前情况。为了刷新一快照,快照定义查询是被发出,其查询结果想在存储在快照中,代替以前的快照数据。

移动支付新保护神 心跳认证系统 篇3

① Heartbeat Authentication可以通过捕捉心跳参数进行认证

科技扫盲——认识心跳认证系统

因为移动支付和我们的财富紧密相关,因此大家都对移动支付的安全性很重视。移动支付最早使用的是传统的“用户名+密码”的身份验证方式,接着又引入了短信验证的方式。但是这些验证方式都存在容易泄露和被盗取的风险,比如在Android手机系统中植入木马后,黑客就可以轻松拦截到验证短信。因此为了增强移动支付的安全性,现在逐渐使用生物特征验证方式,如指纹认证、虹膜认证,通过每个人固有的生物特征来进行身份的唯一性验证,像支付宝和苹果使用的指纹支付方式(图2)。

②基于生物特征的指纹支付宝认证

心跳认证系统也是属于生物特征验证的一种,顾名思义就是使用人体的心跳特征来作为验证手段的一种身份认证方式。不过这个心跳不是我们常说的每分钟心跳的次数,而是基于心跳存在的一种心率参数,类似常见的心电图。根据科学家分析,世界上几乎没有任何人的心率参数是一致的。对于每个人的心率参数,即使在紧张或者剧烈运动的时候,其心率变化模式仍然有迹可循,因此心率参数可以有效作为每个人唯一性认证的生物特征。当然,这种看似神奇的科技实际上已经在我们的日常生活中开始使用了,比如在加拿大万事达卡的用户,在进行移动支付时就可以使用内置心跳识别系统的手环进行身份验证(图3)。

③ 配备心跳识别系统的手环

怎么认证?心跳支付系统背后的认证技术

那么在实际使用中,这种心跳认证是怎么实现的呢?熟悉指纹认证的朋友都知道,在实行指纹认证之前,我们需要预先让指纹识别设备采集指纹并保存在数据库中,这样当下次需要进行指纹验证的时候,识别系统先采集当前指纹,然后和数据库中的指纹比对,如果一致则完成身份的验证(图4)。

同样的,心跳认证系统的操作也与之类似。不过这里心跳数据的采集是通过智能手环完成的。这种智能手环内置一个传感器,它可以读取当前用户的心跳参数数据,当用户首次佩戴这种手环后,手环上的传感器会自动对当前用户的心跳参数进行收集,同时将其存储在手环数据库中。

这样在需要心跳验证的环节,如移动支付密码验证或者网银之类在线支付登录环节,此时手环会再次获取当前佩戴用户的心跳数据,并将采集数据和数据库进行对比,如果一致则通过验证,否则拒绝完成验证。完成身份验证后,手环上的蓝牙(也可以是Wi-Fi)可以通过蓝牙通讯(或者Wi-Fi网络)将验证数据无线发送到手机、平板这类移动设备上,然后借助NFC等设备即可完成一次移动支付。下次需要再次移动支付时,重复上述的操作即可(图5)。

心跳认证 带给我们更多的便利

从上述操作可以看到,心跳验证的操作非常简单,而且拥有很高的安全性。随着移动支付日渐普及,作为普通用户都希望验证步骤更简单(不要再去记忆那些繁杂的用户名和密码),而安全性则可以有更高保障。心跳认证技术的出现必然会给我们的生活带来更多的便利。心跳验证系统原理虽然和指纹验证类似,但是却拥有比指纹验证更为安全和便捷的特性。

④指纹验证图解

首先用户的心跳数据和指纹数据一样具有唯一性,并且无法在本人不同意的情况下被其他人挪用或者夺取。而随着生物制造技术的不断进步,如果你的指纹数据泄露(因为手指是我们和外界交流极为频繁的器官),那么黑客或者其他机构就可能窃取或制造出你的指纹数据,从而导致指纹验证的失效。而使用心跳验证的用户则没有这些顾虑,这样使用心跳验证就可以在移动支付中获得更高的安全性。

⑤ 心跳认证系统图解

其次,心跳认证比指纹验证使用起来更便捷,指纹验证需要我们每次都停下手上的工作,按下自己的指纹去验证,这样在一些不方便停手的环节,比如在开车或者喝咖啡的时候,这时指纹验证就显得有些不便。心跳认证则可以实现只需每天确认一次身份即可,不需要在每次移动支付时都伸出手指进行验证。而且心跳认证的心电传感器能够连续不断地收集信号直到验证完毕,验证数据则可以通过蓝牙、Wi-Fi等无线网络进行传输,可以说在移动支付验证环节,只要是合法的数据,心跳认证几乎不要我们做任何的操作,只要戴着手环就可以轻松完成安全的移动支付认证操作。

不过,虽然心跳支付具有比指纹验证更安全和便捷的特性,但是对于移动支付来说,并非先进的技术就可以成为市场的王者。因为移动支付是一个产业链,需要硬件厂商、技术服务商、合作商户、终端用户的配合。在目前移动支付市场,基于生物技术的移动认证,苹果的Touch ID指纹识别技术仍然是市场老大,因为目前无论是在产业链的哪个环节,苹果移动支付资源都要比心跳认证丰富得多,仅仅是终端用户数量就和内置心跳认证心跳系统的手环不在一个几何级别上(图6)。

⑥ 移动支付产业链图解

信息系统服务资质认证管理 篇4

信息系统服务是以满足企业和机构的业务发展所带来的信息化需求为目的, 基于信息技术和信息化理念而提供的专业信息技术咨询、系统集成、技术支持等工作。其中信息技术咨询服务是信息系统服务的前端环节, 为企业提供信息化建设规划和解决方案。而根据信息化建设方案选择合适的软硬件产品搭建信息化平台, 根据企业的业务流程和管理要求进行软件和应用开发, 以及系统建成后的长期维护和升级换代等, 属于信息系统服务的中间及下游环节, 是信息系统服务在不同时期、不同阶段的具体表现, 覆盖了各行各业信息化建设的全过程。

随着信息技术的飞速发展, 信息系统深入到社会各阶层。这些年来, 我国在信息系统建设和信息产业发展方面也相应取得了巨大成绩, 积累了宝贵经验。但在我国的信息化建设过程中, 信息系统服务存在诸多问题, 问题主要有:

(1) 系统质量不能满足应用的基本需求;

(2) 工程进度拖后延期;

(3) 项目资金使用不合理或严重超出预算;

(4) 项目文档不全甚至严重缺失;

(5) 在项目实施过程中系统业务需求一变再变;

(6) 在项目实施过程中经常出现扯皮、推诿现象;

(7) 系统存在着安全漏洞和隐患;

(8) 重硬件轻软件, 重开发轻维护, 重建设轻使用。

这些问题严重阻碍着信息化建设进程, 甚至产生了令人痛心的豆腐渣工程。

究其原因, 主要有以下四点:

(1) 不具备能力的单位搅乱系统集成市场;

(2) 部分建设单位在选择项目承建单位和进行业务需求分析方面有误;

(3) 信息系统集成企业自身建设有待加强;

(4) 缺乏相应的机制和制度;

对信息系统服务的引导和管理, 逐渐成为政府主管部门刻不容缓的大事, 我国的信息化建设也是在解决问题的过程中逐步推进, 形成我国自己的信息服务管理体系。

2 信息系统服务资质认证管理的内容

我国信息产业与信息化建设的主管部门和领导机构, 在积极推进信息化建设的过程中对所产生的问题予以密切关注并且逐步采取了有效措施, 各省、自治区、直辖市、计划单列市等地方政府的信息产业及信息化主管部门也积极参与并且发挥创造性, 进行了有益的探索。

为了保证信息系统工程项目投资、质量、进度及效果各方面处于良好的可控状态, 在针对出现的问题不断采取相应措施的探索过程中, 逐步形成了我国的信息系统服务资质认证管理体系。目前, 我国在信息系统服务资质认证管理上主要有如下的管理内容:

(1) 计算机信息系统集成企业资质管理;

(2) 信息系统项目经理资格管理;

(3) 信息系统工程监理单位资质管理;

(4) 信息系统工程监理人员资格管理。

3 信息系统服务资质认证管理的推进

我国信息系统服务资质认证管理体系的形成, 可以说是在解决问题的过程中逐步推进产生的, 在此对我国现行几种信息系统服务资质认证管理内容的形成和推进过程进行梳理。

3.1 实施计算机信息系统集成资质管理制度

3.1.1 推荐优秀系统集成商

针对1993年以后开展“金”系列工程中出现的少数单位鱼目混珠、搅乱信息系统集成市场的问题, 1996年7月, 由原电子工业部“金”系列工程办公室主办开展了“全国优秀系统集成商推荐活动”。这次共评选出内资优秀系统集成企业、外资优秀系统集成企业、技术最强系统集成企业、最佳增值服务系统集成企业、最受用户欢迎系统集成企业、最佳经营系统集成企业、最佳售后服务系统集成企业七大类40家优秀系统集成企业, 共收集这些公司及另外一些公司的系统集成案例125个。这次活动架起了企业和用户之间的桥梁, 为信息系统的建设单位选择承建单位创造了条件, 为产业主管部门制定相关政策提供了参考依据, 也为后来开展信息系统集成企业资质认证工作积累了经验。

3.1.2 对信息系统集成企业进行资质认证

1998年原信息产业部成立后, 便开始酝酿推行信息系统集成资质认证制度, 并将其列为1999年重点工作之一;经过将近一年的调查研究、文件起草等筹备过程, 1999年11月原信息产业部发出了《计算机信息系统集成资质管理办法 (试行) 》 (信部规[1999]1047号文, 简称1047号文) , 决定从2000年1月1日起实施计算机信息系统集成资质认证制度。1047号文明确界定:计算机信息系统集成是指从事计算机应用系统工程和网络系统工程的总体策划、设计、开发、实施、服务及保障;计算机信息系统集成的资质是指从事计算机信息系统集成的综合能力, 包括技术水平、管理水平、服务水平、质量保证能力、技术装备、系统建设质量、人员构成与素质、经营业绩、资产状况等要素;计算机信息系统集成资质等级从高到低依次为一、二、三、四级。

与此同时, 《计算机信息系统集成资质等级评定条件 (试行) 》也已完成起草工作, 并且在首批申请资质的21个企业中试行, 经修改后于2000年9月发布《关于发布计算机信息系统集成资质等级评定条件的通知》信部规[2000]821号文 (简称821号文) 。

经过三年多的评审实践证明, 821号文所发布的等级条件是切实可行的。但是, 随着计算机信息系统集成事业的不断发展和计算机信息系统集成企业综合能力的不断提高, 需要对821号文规定的等级条件进行相应调整。为此, 原信息产业部于2003年10月颁布了《关于发布计算机信息系统集成资质等级评定条件 (修订版) 的通知》 (信部规[2003]440号文, 简称440号文) 。

自2000年9月11日公布首批获得计算机信息系统集成资质证书名单 (共21家企业) 开始, 至2011年上半年, 已有3 742家企业获得相应资质证书, 其中:一级239家;二级588家;三级2 309家;四级606家。

3.1.3 计算机信息系统集成资质认证工作成果

(1) 认证工作及结果被各级政府和社会各界广泛认同, 例如:

2000年12月28日发布的北京市人民政府令 (第67号) 第十条规定:“未经资质认证的单位, 不得承揽或者以其他单位名义承揽信息化工程”;第十一条规定:“建设单位不得将信息化工程项目发包给不具备相关资质等级的单位”。

2001年9月12日, 国家保密局发出的《关于印发 (涉及国家秘密的计算机信息系统集成资质管理办法 (试行) ) 的通知》中, 把“具有信息产业部颁发的《计算机信息系统集成资质证书》 (一级或二级) ”作为“涉密系统集成单位”的必要条件。

2002年9月18日, 《国务院办公厅转发国务院信息化工作办公室关于振兴软件产业行动纲要的通知》 (国办发[2002]47号文) 要求:认真贯彻执行《振兴软件产业行动纲要》。在该行动纲要中要求:“对国家重大信息化工程实行招标制、工程监理制, 承担单位实行资质认证”;而且, 行动纲要明确规定:“利用财政性资金建设的信息化工程, 用于购买软件产品和服务的资金原则上不得低于总投资的30%”。这就进一步加大了821号文中关于信息系统集成项目中关于“软件费用应占工程项目总值的30%以上”这一要求的贯彻力度。

现在, 企业的计算机信息系统集成资质已成为信息系统建设单位在选择承建单位时的重要依据, 或者说成为系统集成企业承揽信息系统工程特别是重大信息系统工程的必要条件。

(2) 资质认证过程中要对企业的软件开发和系统集成的人员队伍、环境设备、质保体系、服务体系、培训体系、软件成果及所占比例、注册资本及财务状况、营业规模及业绩、项目质量、单位信誉等各方面进行严格审查, 还要进行每年一次监督检查、现场抽查、每三年一次换证等监督工作。这一方面使系统集成企业受到严格的社会监督, 另一方面也使得企业的综合实力和素质有了显著提高。

(3) 有效地规范了信息系统集成市场, 使皮包商钻空子和搅乱市场秩序的状况得到控制。

(4) 信息系统工程质量显著提高。

(5) 对于广大用户为支持软件与系统集成业发展创造良好环境起到引导作用。例如, 过去普遍重视硬件轻视软件, 现在逐步提高了对软件价值、系统集成价值和服务价值的认识。

3.2 推行项目经理制度

信息系统的建设单位, 不仅关心信息系统承建单位的资质等级, 还关心企业最终委派哪些人投入到该项目, 特别是由哪一位出任项目经理。因为, 有可能项目承包单位具有相应的资质等级, 但是, 由于各种原因, 没能把具有相应资质和能力的人员安排到项目中。尤其需要强调的是, 如果项目经理不够格, 用户还是难于对该项目的完成建立信心, 当然也难于对承建单位放心满意。所以, 实行项目经理制是系统集成资质认证深入开展的必然结果, 是保证信息系统工程质量的必要措施。

为此, 原信息产业部从2001年初就开始实施计算机信息系统集成项目经理制进行调研和相关文件起草的工作。2001年8月, 举办了软件与计算机信息系统集成项目管理研讨会, 并且出版了《软件与计算机信息系统集成项目管理文集》。这次会议所取得的成果对加快推进信息系统集成项目经理制度实施产生了重要影响。

2002年8月28日, 原信息产业部发布《关于发布<计算机信息系统集成项目经理资质管理办法 (试行) >的通知》 (信部规[2002]382号文, 简称为《项目经理管理办法》) , 决定在计算机信息系统集成行业推行项目经理制度。

《项目经理管理办法》首先界定了项目经理的含义, 指出:计算机信息系统集成项目经理是指从事计算机信息系统集成业务的企、事业单位法定代表人在计算机信息系统集成项目中的代表人, 是受系统集成企、事业单位法定代表人委托对系统集成项目全面负责的项目管理者。

《项目经理管理办法》将系统集成项目经理分为项目经理、高级项目经理和资深项目经理三个级别, 并且分别列出了这三个级别的评定条件。并对系统集成项目经理的职责和职业范围提出了明确要求, 对其资质的申请及审批流程做出了明确规定, 并且就系统集成项目经理的监督管理做出了较为详细的具体规定。

为进一步规范计算机信息系统集成项目经理和高级项目经理人员的资质评定及相关管理工作, 工业和信息化部于2007年12月7日颁发了《关于计算机信息系统集成高级项目经理资质评定有关问题的通知》 (信计资[2007]8号文) , 2008年6月3日补充颁发了《关于计算机信息系统集成项目经理资质申报的补充通知》 (信计资[2008]7号文) , 规定从2008年1月1日起, 申报高级项目经理资质, 原需提交高级项目经理培训合格证, 现改为须提交计算机技术与软件专业技术资格 (水平) 证书——《信息系统项目管理师》;从2008年5月30日起, 申报项目经理资质, 原需提交项目经理培训合格证, 现改为须提交计算机技术与软件专业技术资格 (水平) 证书——《系统集成项目管理工程师》。

3.3 推行信息系统工程监理制度

3.3.1 在实施系统集成资质认证制度的基础上推行信息系统工程监理制度

以质量为中心的信息系统工程控制管理工作是由三方—建设单位 (主建方) 、集成单位 (承建单位) 和监理单位—分工合作实施的。这三方的能力和水平都会直接影响到信息系统工程的质量、进度、成本等。1999年, 原信息产业部开始酝酿推行信息系统集成资质认证制度的同时, 也明确地把推行信息系统工程监理制度的有关筹备工作作为1999年的重点工作。但是, 考虑到系统集成资质认证工作不仅对提高系统集成企业的核心能力、保证信息系统工程质量起重要作用, 而且是实施工程监理制的一项基础性、前提性工作, 于是原信息产业部还是从行业自律入手, 首先抓好信息系统集成资质认证制度的实施。

系统工程监理与系统集成是性质不同的两类业务, 所以, 系统工程监理资质管理与系统集成资质管理有很大差别。例如, 当1999年筹划推行系统集成资质认证制度时, 我国的系统集成业已经是一个具有相当规模的、并且正在迅速成长的行业, 而当时我国的信息系统工程监理可以说还没有真正形成, 我们在筹划推行信息系统工程监理制度的同时也肩负着培育这个行业的艰巨任务, 这就决定了信息系统工程监理资质管理的难度较大;但是, 另一方面, 只要我们保持清醒头脑, 注意及时发现问题并且采取有效措施及时解决问题, 就能使信息系统工程监理这个行业在它起步和发育成长期就处在规范化的良好的环境中。

3.3.2 确定信息系统工程监理管理体系框架

在进行了两年多的调查研究和文件起草等项工作之后, 原信息产业部于2002年11月28日发出《关于发布<信息系统工程监理暂行规定>的通知》 (信部信[2002]570号) 。该暂行规定的主要目的是:推进国民经济和社会信息化建设, 加强信息系统工程监理市场的规范化管理, 确保信息系统工程的安全和质量。原信息产业部主要职责是:根据国务院“三定”方案赋予的职能, 加强对信息系统工程监理的行业管理。该暂行规定:初步确定了信息系统工程监理管理体系的框架。

原信息产业部2003年3月26日发出《关于印发 (信息系统工程监理单位资质管理办法) 和<信息系统工程监理工程师资格管理办法) 的通知》 (信部信[2003]142号文) , 所发布的这两个管理办法与信部信[2002]570号文相配套, 自此信息系统工程监理开始驶入规范健康发展的轨道。

3.3.3 发布信息系统工程监理资质等级条件

信部信[2003]142号文件所发布的《信息系统信息系统监理单位资质管理办法》的“第二章资质等级条件”, 阐明了甲、乙、丙各级监理单位所应具备的基本条件, 对于推动我国信息系统工程监理事业健康发展起到了积极的历史作用。为了使监理企业资质认证更具可操作性, 使监理企业在加强自身建设方面有更明确的努力方向和更具体的奋斗目标和促进监理市场的规范化和健康发展, 原信息产业部计算机信息系统集成资质认证工作办公室于2004年5月11日发出《关于印发<信息系统工程监理资质等级评定条件 (试行) >的通知》 (信计资[2004]010号文) 。010号文件从综合条件、业绩、监理能力、人才实力四个方面共计18条描述了甲、乙级监理企业的等级条件;对于丙级监理企业, 其条件虽然也覆盖了上述四个方面, 但简化为10条。

但是, 鉴于信息系统工程监理工作尚处于起步阶段, 目前申请监理资质的企业与《评定条件》的要求尚存一定差距, 为使这项工作稳步推进, 经原信息产业部资质认证管理委员会的同意, 2004年5月11日, 又发布了《关于在信息系统工程监理资质评审中设立临时资质的通知》 (信计资[2004]011号) , 决定设立信息系统工程监理临时资质进行过渡。申请省市临时资质, 按照丙级资质申请审批程序办理;申请部临时资质, 按照甲、乙级资质申请审批程序办理。对于临时资质的评审和审批原则上依据《评定条件》, 对其中部分条件在评审时适当进行了放宽。

在市场经济条件下, 政府主管部门的作用是加强“引导、规范、监管、服务”, 而信息系统工程的突出特点是投资和风险都很巨大, 因此政府主管部门对其进行合理规范与监管显得尤为重要。但是, 我们也清醒地认识到这些制度需要与时俱进, 同时也要考虑发挥市场经济中市场的力量, 因此, 研究与探讨国际上IT治理与管理的先进经验, 建立有中国特色的相对完善的信息系统工程监审制度, 规范信息化建设市场的秩序, 保证信息系统工程的质量, 降低风险, 提高信息系统工程的效率与效益, 培育高素质的中介服务机构和从业人员, 是加快推进我国信息化建设步伐的一项重要工作。

参考文献

认证系统 篇5

答。 速成考试的考试券兑现及考试的参加时间必须在 年 12 月 31 日之前。考试 70-240 在该日期将不再提供。您必须在 2001 年 11 月 1 日之前使用 mcp 安全站点中的在线工具预订考试券。越是临近12 月 31&nb

sp;日,需要参加此考试的人会越多,而考试中心的容量是有限的,因此请尽早注册,以确保考试时间和考试中心的选择余地更大。

问: 我的考试 70-240 的成绩报告是否提供我的得分、及格分及各部分的反馈信息?

答。 您的成绩报告只说明您有没有通过。由于此考试涵盖四套考试目标,没有一个单独的分数能充分反映您的总体表现。微软认证考试是为了验证应试者完成现实生活中特定的工作职能或一组任务的能力。它们不提供有关需要改进的领域的反馈信息。若要获得诊断反馈信息,我们建议应试者使用 mcp 练习测试提供商练习测试。

问: 我参加了速成考试,但没有通过。我是否可以获得考试 70-240 中我通过的那些部分的成绩?还是仍旧必须参加所有四门 windows 核心考试?

答。 如果没有通过考试 70-240,您必须通过所有四门核心考试(70-210、70-215、70-216 和 70-217)才能满足将 mcse 认证升级到 windows 2000 的要求。我们不能为考试 70-240 给予部分成绩。请参阅认证要求。

问: 我看不到电子考试券中的徽标或者不能打印考试券。该怎么办?

答。 由于电子邮件接口或者其他一些问题,客户可能在查看徽标时有麻烦,且考试券可能不能正确打印。但是,使用该考试券不必非得将它打印出来。在考试券文字中,您将看到 10 个字符的考试券号码,后面是失效日期 2001 年 12 月 31 日。若要兑现该考试券,请在注册该考试时通知考试提供商(prometric 或 vue),说明您想使用考试券支付考试费用。在那时您将需要提供考试券号码,即不必打印书面考试券就可兑现。

有关 windows xp professional 和 windows .net server 考试的常见问题解答

微软认证专家 (mcp) 计划正在将 microsoft windows® xp professional 和 microsoft windows® .net server 考试集成到微软认证系统工程师 (mcse) 认证中。windows xp professional 考试将在 2001 年第四季度推出。windows .net server 考试将在 年推出。有关考试的详细信息,请参阅 mcse 要求页。

windows xp professional(桌面产品)和 windows .net server(服务器产品)代表了 windows 发展的新成果,为家庭 pc 用户带来 windows 2000 的牢固基础(可靠性、安全性和性能),也为企业用户提供了革命性的更新。windows xp professional 和 windows .net server 将建立在 windows 20

00 的功能基础上。对于单位来说,无需重大的结构更改即可与 windows 2000 professional 一起部署 windows xp professional 或用 windows xp professional 和 windows .net server 一起替换 windows 2000。

mcse 证书是符合以下条件的专家的首选证书:能够基于最新的 microsoft windows平台 和 microsoft 服务器软件进行商业需求分析及为商业解决方案设计和实现基础架构。技术人员应继续参加 windows 2000 的培训和认证,因为获得的 windows 2000 技能与 windows xp professional 和 windows .net server 密切相关,并为后两者提供牢固的基础。

认证系统 篇6

关键词:PKI技术;身份;认证;单点登陆

中图分类号:TP393.08

1 引言

随着计算机网络和信息技术的快速发展,使得企业信息化程度不断提高,人员管理、业务管理、档案管理和办公自动化等应用系统得到广泛应用,应用系统的数量也在不断地增加,分而治之的各个应用系统之间缺乏最基本的信任和沟通,系统间用户名和密码得不到统一,彼此之间的信息完整性得不到保障,信息传递双方缺乏不可抵赖性依据,应用系统间的安全协作成为空想,种类繁多的用户名和密码不仅不能提高整个应用系统群的安全性,极大地拉低了应用系统群的工作效率,也容易导致用户名和密码遗忘,登录界面过多、安全薄弱点过多等问题的出现。如何建立一套既可以在各应用系统中统一登录使用,又能够为这些应用系统提供高强度身份认证保障、授权控制保障和不可抵赖性保障等应用级安全保護措施的安全保障体系,成为影响当下应用系统进一步发展的关键问题。

2 主要研究对象

身份认证系统建设是一项十分复杂而严谨的工作,使用技术的先进性、系统设计的科学性和系统运行的可靠性是身份认证系统建设成败的关键。身份认证系统的建设可以从以下几个角度去研究。

2.1 PKI技术。PKI是英文PublicKeyInfrastructure的简写,是以公开密钥技术为基础,以数据保密性、完整性、安全性和不可抵赖性为目的,提供安全服务的普遍适用的安全基础设施,是硬件、软件、人员、策略和操作规程的总和。它依赖于在主CA系统中确认注册的可信用户与配置了用户权限的可信任的业务系统之间的数字证书的交换,通过证书中的用户签名来确认当前用户的身份,以此来确保数据传输的安全性和正确性,同时可以管理来自下级或是本级的身份证书。

2.2 PMI技术。PMI是英文PrivilegeManagementInfrastructure的简写,是建立在PKI基础上,以向终端用户提供权限管理为目标,主要负责向业务应用系统提供授权服务管理,提供用户身份与对应权限的映射关系,实现一次设定、多个系统共同使用,与实际单一应用系统的处理模式、系统开发和管理无关的访问控制机制,通过PMI技术,可以同时对多个业务系统实现权限设定和控制,能极大地简化应用中访问控制和权限管理系统的开发和维护,减少人员维护、管理成本和系统设计的复杂性。

2.3 单点登陆技术。单点登录(SingleSignOn),简称SSO,是较为行之有效的一种企业应用系统整合方案。通过在多个应用系统之上,建立起一个获得所有应用系统信任的通用登录平台,用户只需要在该平台中登录一次,就可以访问该平台下的所有相互信任的应用系统。再访问其他应用系统的时候,将该平台的用户名和密码与数据库中的对应表相对应,取出所访问的应用系统的用户名和密码,与该应用系统中的信息相对照,即可实现多个应用系统间的单点登陆。

2.4 网络模式的选取。要实现较为理想的身份认证系统建设,网络模式的选取尤为重要。一般来说,网络模式的选取可以分为与业务专网相联、与业务专网独立两种网络模式,两种方式在性能、投入和安全上各有利弊,身份认证系统的建设者应该根据自身的客观情况加以选择。

3 主要技术的选取

3.1 加密技术的选取。本文研究的身份认证系统采用的是标准的双证书、双密钥机制,一对密钥用于实现数字签名,一对密钥实现信息加密,加密密钥由密钥管理中心生成并完成备份,而签名密钥则由用户自行生成和保存,双密钥的机制可以有效地应用于数字信封等领域。

双密钥证书的生成过程:(1)用户使用客户端产生签名密钥对。(2)用户的签名密钥保存在客户端或是USB-KEY中。(3)用户将签名密钥对的公钥传递给CA认证中心。(4)CA中心为用户的公钥签名,产生签名证书。(5)CA中心将签名证书传回客户端进行保存。(6)密钥管理中心为用户生成加密密钥对。(7)在密钥管理中心中备份加密密钥以备进行密钥恢复。(8)CA中心为加密密钥对生成加密证书。(9)CA中心将用户的加密私钥和加密证书打包成标准格式。(10)将打包后的文件传回客户端。

3.2 网络模式的选取。一般来说,在身份认证系统的实现过程中,要尽量避免对业务专网的冲击和影响,采用统一网络的缺点主要表现为对网络资源的抢占、对黑客攻击的防御强弱和对多个应用系统接入下的方式选择等问题。

鉴于上述分析,本文为身份认证系统所选取的网络模式是与业务专网逻辑隔离模式,与业务专网实现相对独立。这个模式中,业务专网负责业务的持续开展,与独立的身份认证系统网络之间由防火墙进行隔离,独立网络负责身份认证系统的相关工作,通过特定的端口互相访问。独立身份认证系统网络采用私有IP,通过交换机进行地址转换,从而实现与业务专网的逻辑隔离,避免与业务专网之间互相产生影响。

3.3 用户身份认证手段的选取。目前,较为常见的实现用户身份认证手段主要有以下三种:(1)用户名、口令认证方式。用户名、口令认证方式是最常见的认证手段,是较为原始、基础和不安全的方式,在计算机安全技术发展过程中,使用最为广泛。这种认证方式下的应用系统存在着很多不安全因素:用户名和密码遗忘、密码暴力破解、线路窃听、重放攻击、注入攻击等手段都会导致合法用户的身份被伪造。(2)基于USBKey的身份认证。USBKey是一种使用USB接口的硬件设备,它内置智能卡芯片,通过内置的用户密钥或数字证书,利用加解密算法实现对用户身份的认证。目前,基于USBKey的身份认证方式在电子政务和电子商务领域应用最为广泛,是一种使用方便、操作简单、较为安全的身份认证技术。它采用软硬件相结合方式,实现一次一密的强双因子认证模式,很好地解决了使用安全性与物理易用性之间的矛盾。(3)基于生物特征识别技术的身份认证。生物特征识别技术包括指纹、声音、虹膜等,该技术使用人体唯一的生物特征,很好地实现了应用系统的安全性和有效性。但是,由于目前科技水平的限制,生物特征识别技术实现较为复杂,成本比较昂贵,不具有现实意义。

4 结语

身份认证系统的研究和应用,为应用系统群的建设提供了极大的安全保障和管理便利,从本质上保证了应用系统的信息完整性、数据安全性和不可抵赖性,成为应用系统向组群发展的一个重要分界点。只是限于目前技术水平的限制,多数数字证书的设计与实现仍然没有脱离账户和口令、介质和PIN码模式,USB-KEY同样还存在丢失或是被盗用的可能。同时加解密算法的复杂程度,也成为制约认证强度提升和认证机制完善的瓶颈之一。相信随着生物特征识别技术的不断提高和突破,指纹、虹膜技术可以脱下贵族的外衣,真正地为广大应用系统所用。

参考文献:

[1]辛阳,魏景芝,李超.基于PKI和PMI的生物认证系统研究[J].电子与信息学报,2008,30(1).

[2]徐盛.PKI和PMI安全方案在电力数据申报系统中的实现[J].电力系统通信,2009(12).

[3]郑丽萍,柴争义.一种基于摘要口令加密私钥的数字签名模式[J].计算机安全,2007(12).

作者简介:王技(1979-),男,辽宁沈阳人,高级工程师,本科。

手指静脉认证系统的算法研究 篇7

研究结果表明,人体血管模式对每个人都是唯一的、随着年龄的变化很小,难于仿制,因而可以作为个人身份的认证依据[1]。在血管认证领域中,指静脉认证又因为它的图像易于获取和快速有效而得到更广泛的应用。实际应用中,拍摄的近红外手指静脉图像存在由手指肌肉的厚度变化引起的不规则阴影和噪声,因此血管静脉并非清晰可见。为满足用户使用方便和精度要求,整个处理识别过程必须高速、简单和有效。

目前已经有日本的富士通和日立公司将静脉认证技术广泛应用于各个领域。在我国,静脉识别技术目前处于起步与发展阶段,需要继续改善图像处理技术和识别算法,不断提高识别速度和准确度,本研究团队正是在这样的需求下,对指静脉认证系统的算法进行深入研究。目前对指静脉认证系统的算法研究主要分3类:图像预处理、静脉提取和静脉的匹配。Xiang Yu等[2]首先采用了局部门限法结合改进的线跟踪算法提取指静脉模式。Naoto Miura[3,4]采用了最大曲率法提取静脉模式,使用逐点交叉匹配法进行模板匹配。David Mulyono[5]使用了自适应阈值分割提取静脉,采用文献[3]和[4]的方法匹配,可得到100%的识别率,但要求静脉是清晰的。余成波[6]首先采用了图像灰度归一化算法消除灯光强度差异带来的影响,通过梯度阈值法进行二值分割,提取静脉的形状特征,利用Hausdorff距离判断匹配程度。余成波[7]同样是利用了最大曲率法的思想,从几个方向提取静脉点,但没给出匹配的结果。王科俊[8]提取了图像小波域特征进行匹配,但小波变换较费时,不利于提高处理速度。

归纳起来,这些研究中存在着如下问题:1)没有对手指位置进行校正或缺乏详细描述,但手指的位置对匹配的精度是致命的,必须校正归一化才有实用性;2)对静脉的分割只有两类:背景和静脉。但实际上二值的分割会引入较大误差,影响匹配精度;3)模板太大,导致匹配慢。为了解决第1)个问题,我们提出旋转校正的图像归一化算法,目的是使图像中手指的下边界接近水平,减少手指放置位置的不同带来的影响;针对第2)个问题,我们采用基于最大曲率模型的方向梯度检测,减少了计算曲率的运算量;将图像进行三值化处理,分为静脉、背景和模糊区。针对第3)个问题,将静脉模板进行两次压缩,将模板压缩为256个字节,在保证匹配精度的前提下进一步提高了处理效率。匹配时,考虑到与静脉提取的配套,采用了点对点的交叉匹配。实验结果表明,只要手指是平放的,没反转,可得到接近100%的识别率。

1 整个系统的流程

我们试制了一台红外静脉图像采集装置获取静脉图像,红外光源波长确定在850 nm,在这个波长拍摄的静脉图像较为清晰,同时添加了滤光片滤除其它波长的光带来的影响。整个系统的流程如图1。用来认证匹配的登记模板是用户登记时拍摄的图像经过与认证图像相同的处理后,形成大小为256字节的模板,存储在图像特征数据库。

2 图像预处理

2.1 检测手指边缘

我们采集到的静脉图像如图2(a),通过简单的边缘检测可得到手指的边缘。具体步骤如下:

1)图像平滑。为了减少噪声的影响,在检测边缘之前,我们采用8-邻域平均法对图像进行平滑。

2)边缘检测。边缘检测选择Sobel算子,检测后的图像如图2(b),手指边缘清晰可见。

3)二值化处理。采用阈值T=90(经验值),二值化后的图像如图2(c)。

4)采用首遇跟踪法提取手指边缘。从图2(c)可见,手指边缘以内的区域全是黑点,因此可从图像中间的黑点开始向上下两边寻找白点,当找到第一个白点后,便认为这就是手指的边界点。

2.2 旋转校正,图像归一化

1)直线拟合,计算手指斜率。得到手指边缘点后,我们采用在最小均方误差(Least Mean-square Error,LMS)的原则下对手指下边缘作直线拟合,得到下边缘直线的斜率k,通过查表的方法得到倾角的角度θ,而不必计算反三角函数,从而提高了算法的效率。

2)旋转校正。得到倾角θ后,以手指下边缘中点作为旋转中心,对图像进行旋转校正。目的在于使图像中手指的下边界接近水平,避免手指放置偏离水平方向带来的影响。旋转图像使用下式进行映射:

其中:xc、yc为旋转的中心点的坐标,x,y为原图像的像素坐标,X,Y为旋转后的坐标。旋转图像时使用双线性插值算法获取由于旋转校正而缺的像素点灰度。

3)屏蔽背景,图像归一化。

分别通过手指上边界中Y坐标最小的边界点和下边界中Y坐标最大的边界点作水平线,并以这两条水平线作分割线,屏蔽掉分割线之间以外的区域(用0填充),从而得到只有手指静脉的图像,如图2(d)。

这样就完成了图像的归一化,去掉了背景,并避免了因手指放置的位置偏移带来的影响。

3 基于最大曲率模型的梯度检测法提取静脉

由于手指区域的对比度不是很高,直接进行阈值分割显然不可取,考虑到静脉分布的特点,采用基于最大曲率模型的四方向梯度检测法提取静脉。

3.1 静脉提取

梯度检测模板T1、T2、T3、T4是根据最大曲率模型[7]的思想设计的,即采用算子T1、T2、T3、T4分别检测水平方向、垂直方向、45°方向、135°方向的梯度,根据梯度的分布决定静脉中心点,给予记分16,最后将四个方向的记分叠加,从而提取出静脉。各模板的维数是考虑了下一步的膨胀处理,根据实验结果优选出来的。与文献[4]提到的方法有所不同,在每一步的特征提取中,对曲率的计算进行了简化处理,同时加入另外的限定条件。

这里以水平方向的提取方法为例进行说明,其他方向的提取方法可以类推之。

1)模板运算。

使用T1模板对各行的每个像素点进行模板运算,记运算结果ci(i表示水平方向的第i个点)。如果ci>0表明在该行的x=i处存在一个凹位,而且ic的数值与该点处下凹的程度正相关;如果ci<0表明在该行的x=i处存在一个凸位,而且ci的数值与该点处上凸的程度正相关。即ci的正负决定着该点附近的灰度剖面的凹凸性。

2)寻找静脉的中心点。

如果存在这样的i、j(i,j>0),使得ic≤0,且对任意正整数n0,且ci+j<0,则表明x=i处附近的灰度剖面图有一低谷。j越大,则表明低谷越宽;如果max(ic+n)越大,则表明低谷越深。对静脉纹路而言,必然能找到符合上面条件的i和j值,反过来,如果能找到这样的i和j值,且j的值较大而ic+n的最大值也较大,即x=i+n处的曲率最大,那么这里对应的正是静脉的中心点。

3)给予静脉中心点及其4邻域记16分。

最后在四个方向处理完后,把每个点的分数叠加,并将叠加后的分数作为图像灰度,就得到静脉的分布图了,结果如图3(a)。注意在进行上述处理时,如果在同一行像素中检测出的两个静脉中心点的距离少于5,忽略掉后检出的,因为在5像素内同时有两条静脉的情况几乎不可能出现,而同时,也消除了部分噪声点的影响,也为接下来的膨胀做好必要的准备。

3.2 膨胀处理

提取得到静脉特征往往不连续,为了连接静脉点和增强图像对比度,采取如下方法进行膨胀增强:

这样大大增强了图像灰度,但同时也放大了噪声,但静脉纹路相当突出,以粗线呈现,灰度值几乎全是255,而大部分噪声的灰度值远不足255,效果图见图3(b)。由于这部分处理后得到的都是较粗的静脉特征曲线图像,所以如果前面检测出的静脉中心点距离太近,增强时将造成重叠,甚至会将静脉特征和噪声连成一块,造成无法挽回的失真。因此,在静脉提取中采取了较长的检测模板以保证静脉中心至少相隔一定距离。

4 创建模板

为最大限度地保留静脉特征信息,我们没有对前面得到的静脉图像作传统的细线化和二值化处理,因为对图像作二值化处理会丢失了似乎是静脉也可能是背景的模糊信息;细线化操作会丢失大量的图像信息。而且如果手指图像有一定变形,细线化后得到的图像往往会错开一定的距离,这给准确的模板匹配造成困难。因此本文直接使用前面膨胀后的图像创建模板,这样可以最大限度地保留静脉特征信息,且在匹配时,粗线段的静脉特征更容易找到吻合点,从而降低拒真率。

4.1 利用手指边界进行模板定位

在匹配时,感兴趣的区域只有手指内的静脉特征,因此须在创建模板前确定模板区域。利用前面得到的手指上下边界,可以把背景去掉。

4.2 缩小图像

缩小图像目的在于:(1)缩小模板所占用的存储空间;(2)减少匹配时的运算量。把模板缩小到64×32的大小,缩小后的图像如图4(a)。

4.3 三值化

对缩小后的图像按式(4)进行三值化处理,目的在于除了保留静脉、背景外,还保留模糊区,这种设置是与后面的匹配算法配套的。

阈值t1、t2是经验值,三值化后,背景灰度为0,静脉255,模糊区128,处理后的图像如图4所示。

从上述两组图像的对比容易发现,尽管受噪声影响较大,但同一手指的登记模板与测试模板的吻合度仍然很高,而不同的手指的模板仍然差别很大。

5 压缩模板

在图4的静脉模板中,静脉灰度是255,背景是0,还有压缩空间,我们对测试模板与登记模板做不同的处理:

1)测试模板:把灰度值为0的点用1 bit的0表示;255的点用1 bit的1表示,其余点记为0。

2)登记模板:与1)相反,把灰度值为0的点用1 bit的1表示;255的点用1 bit的0表示,其余点也记为0。这样设置是与后面的匹配算法配套的,因为匹配时是根据两模板位与运算的结果(即不匹配值)判断匹配程度,不匹配值越小,匹配程度越高,当测试模板的静脉与登记模板的静脉或模糊区进行匹配时,不匹配值为0。

这样就把图像大小压缩到原来的1/8,大小为256字节。

6 实验结果

实验中,采用了11个人的不同手指(大拇指和小指除外),每个手指采集了若干幅图像,采取1:1的匹配模式。在进行相同手指匹配实验时,共采用了47个相同手指在不同时间所拍摄的图像样本;在进行不同手指匹配实验时,共采用了91个不同手指在不同时间所拍摄的图像样本,进行匹配实验。所有的图像均在同样一个采集设备中采集,因为除了进出口外,设备基本上是封闭的,因此外界光线的影响很小。样本是随机拍摄的,只是要求手指尽可能没有反转,样本并没有经过筛选。

6.1 匹配

将测试模板与登记模板进行模板匹配实验。为了提高匹配成功率,具体步骤如下:

1)多次匹配测试。每次匹配前先把测试模板平移m或n,这样可以减小由手指前后、上下放置不同带来的影响。匹配时,两个模板执行位与操作,对所有结果不为0的位进行加权计数,所得结果记为S(m,n)。

记两个模板分别为M(x,y)、V(x,y),即做如下运算:

其中:m、n分别为水平、垂直方向的平移量(m为负表示向右平移,为正表示向左平移,最大值为12;n为负表示向上平移,为正表示向下平移,最大值为6),S(m,n)为不匹配计分,W(x,y)为加权系数,模板宽为w,高为h。权值W(x,y)的设置目的在于突出静脉区域,因为指静脉主要集中在手指中间部位,给予较大的权重,在边界部分出现静脉的可能性很小,相反很可能只是噪声点,因此加权系数较小。

2)取最小S(m,n)作为不匹配计分Sunmatch:

容易看出,Sunmatch的大小表明两个模板没有匹配的程度。在多次平移匹配后,选择最低的不匹配记分作为最终结果。

3)确定总加权分数Stotal,其大小表示静脉点加权总数,这样归一化能剔除静脉点数对匹配结果的影响。

4)匹配率的计算:

根据训练样本的分布确定一个阈值tm,如果Rm>tm,那么就认为模板匹配成功;否则,认为匹配失败。图5是相同手指的匹配率分布图,图6是不同手指的匹配率分布图。根据实验数据,把阈值定为70%,可见识别率接近100%。

从上可见,测试模板中的静脉如与登记模板的模糊区像素匹配,则认为它们是匹配的,这样大大降低了拒真率。如果是二值化,由于光源有微小变化可能导致错将静脉分割为背景,这样就导致不匹配,因此三值化的处理比二值化更有优势。比起其他的识别算法,本算法的模板保留了更多的原始信息,不过这当然也包括一些噪声。模板中原始信息保留较好有利于提高匹配的准确率,能在采集到的静脉图像质量不高的情况下有良好的表现,因此算法的鲁棒性很好。

6.2 响应时间

针对一个手指,创建模板最多需109 ms,验证识别小于1 ms,一次完整的验证小于110 ms,如表1。如果硬件条件有所不同所需时间也会有变化,测试环境是Intel Core2 6300 1.86G、2G DDR2 667内存。

本算法采用粗线段表示静脉特征而不是细线段,这样在匹配时更容易找到静脉的吻合点,从而降低了拒真率(False Rejection Rate,FRR)。实验证明,在手指图像有少量变形时(手指放置角度不同、挤压手指、环境亮度等造成的变形),对识别率的影响也很小,因此算法有较高的可靠性。

从表1可见,由于采用了压缩模板匹配,系统处理速度远远高于公开信息查到的别的指静脉认证系统。

本算法兼顾效率和准确性,在整个试验中,只要手指是平放的,可以得到接近100%的识别率。

7 结论

本文提出一整套具有鲁棒性的指静脉认证算法,在兼容处理速度和准确率的考量下,充分考虑了图像分割、特征提取和匹配的配套和兼顾,在图像预处理、图像校正归一、创建紧凑模板、交叉点对点匹配等方面提出了独到的算法或改进。实验结果表明,我们提出的一整套算法的匹配结果令人满意,只要手指是平放的,没有反转,可以得到接近100%的识别率,而且响应时间远远小于现有的算法。

我们下一步将研究手指存在反转时,如何提高识别率。

摘要:提出一整套手指静脉认证系统的图像处理和静脉模板匹配算法。算法采用Sobel算子结合首遇跟踪法检测手指边缘,然后采用最小均方误差原则拟合手指边缘并对图像进行旋转校正归一化;基于最大曲率模型的思想,采用四个方向梯度算子提取静脉;为降低拒真率和提高匹配速度,对静脉图像进行膨胀、三值化和两次压缩,建立包含静脉、背景和模糊区的紧凑型指静脉模板,并将测试模板与登记模板进行交叉点对点的匹配。实验结果表明,该算法兼顾了效率和准确性,只要手指没有反转,就可以得到接近100%的识别率,与传统匹配算法相比在速度和有效性方面都具有明显优势。

关键词:生物图像处理,指静脉识别,旋转校正,模板匹配,最大曲率模型

参考文献

[1]Kresimir Delac,Mislav Grgic.A Survey of Biometric Recognition Methods[C]//46th International Symposium Electronics in Marine,Zadar,Croatia,June16-18,2004:184-193.

[2]YU Xiang,YANG Wen-ming,LIAO Qing-min,et al.A Novel Finger Vein Pattern Extraction Approach for Near-Infrared Image[C]//2nd International Congress on Image and Signal Processing,2009.CISP'09,Beijing,China,Oct17-19,2009:1-5.

[3]Naoto Miura,Akio Nagasaka,Takafumi Miyatake.Feature Extraction of Finger Vein Patterns Based on Repeated Line Tracking and Its Application to Personal Identification[J].Machine Vision and Applications(S0932-8092),2004,15(4):194-203.

[4]Naoto Miura,Akio Nagasaka,Takafumi Miyatake.Extraction of Finger-Vein Patterns Using Maximum Curvature Points in Image Profiles[J].IEICE-Transactions on Information and Systems(S1745-1361),2007,E90-D(8):1185-1194.

[5]David Mulyono,Horng Shi Jinn.A Study of Finger Vein Biometric for Personal Identification[C]//International Symposium on Biometrics and Security Technologies,Istanbul,Turkey,April23-24,2008:1-8.

[6]YU Cheng-bo,QIN Hua-feng,CUI Yan-zhe,et al.Finger-Vein Image Recognition Combining Modified Hausdorff Distance with Minutiae Feature Matching[J].Interdiscip Sci Comput Life Sci(S1913-2751),2009,1:280-289.

[7]余成波,秦华锋.手指静脉图像特征提取算法的研究[J].计算机工程与应用,2008,44(24):175-177.YU Cheng-bo,QIN Hua-feng.Research on extracting human finger vein pattern characteristics[J].Computer Engineering and Applications,2008,44(24):175-177.

身份认证系统的信息存储分析 篇8

关键词:身份认证,信息存储,目录

1 引言 (Introduction)

随着网络技术应用的逐渐普及, 各种应用系统逐渐增多, 校园网应用系统[1]在提供更高层次服务同时, 对于用户身份认证, 用户服务权限的要求相应的提高, 原来每个服务系统各自为政的身份认证方式难以达到这个要求。如何进行用户身份信息的存储管理, 才能实现用户身份认证的可靠性、独立性和安全性?

用户注册信息的存储采用基于LDAP协议的规划设计, 通过基于LDAP协议目录服务的Sun One Directory Server的目录进行存储, 继承了Solaris操作系统的桌面化批量管理和目录的安全可靠等各方面的优点。认证信息存储模块的各种规划与设计, 为用户统一身份认证[2]系统的访问效率性、安全可靠性、可扩展性等方面都提供了有力的保障。

2 认证信息目录存储分析 ( A u t h e n t i c a t i o ninformation of directory stores analysis)

认证信息存储模块的主要包含内容:目录信息树设计、属性和对象类设计、结构设计、目录安全机制的设计、目录结构规划、Sun One Directory Server目录存储。

2.1 LDAP协议目录

LDAP[3]就是轻量级目录访问协议的意思, 是由美国Michigan大学研发的一种新的信息目录访问协议, 目录服务中的目录对象可以代表管理系统中的资源信息、组织信息和人员信息等, LDAP几乎可以存储所有类型的数据:NIS映射、电子邮件地址、联系人信息列表、DNS信息和电话等信息。LDAP中的目录由一个个条目组成, 每个条目类似于关系数据库中的表记录, 所有条目是具有别名DN的属性集合。LDAP协议集还规定了所有DN的存取控制方法、搜索格式、复制方法、命名方法等。

目录与一般的关系数据库是有区别的, 它并不是表达复杂的对象联系, 也不是处理频繁的数据更新及。相反的, 在对目录的操作请求过程中, 更新请求频率是远远低于查找请求频率的, 因此, 目录一般都要针对查找进行优化, 以存储大量相对静态的数据, 以便适合系统对用户注册信息的频繁读取、查找等操作。目录一般按层次采用树状模型, 它能使存储在里面的信息以一个有序的整体呈现在用户面前, 从而在一定程度上简化了网络资源和网络信息的集中管理。

在起初选择用户注册信息存储方式时, 对比目录存储和关系型数据库存储的优缺点, 总结LDAP目录存储在一下几个方面具有更大优势:首先是读写操作方面, 在LDAP中的数据处理主要是进行“读/查询”操作, 所以一般存放相对变化不大的数据信息, 同时对读操作进行了优化处理;而关系型数据库在设计上必须读写兼顾, 因为关系型数据库中存在着大量数据的更新操作;其次是扩展性方面, LDAP可以根据新的需要和应用进行扩展, 而关系型数据库中的基本数据类型很难扩展;再次, 在性能方面, 一个大型LDAP系统对目录整体的访问需要在每秒几千个到几万个查询, 并且这些查询通常比关系型数据库的处理简单的多, 而一个大型关系型数据库系统每秒大概能处理几百个查询事务。因为系统的开源特性使然, 存在一定的不稳定性, 所以, LDAP对该系统并非最佳选择, 结合如上优点, 本文采用目录结构存储用户注册信息, 提出如下三种解决方案:

Windows平台下的目录服务, 活动目录 (ActiveDirectory) 是Windows 2000 Server及其更高版本的集成服务, 是Windows 2000网络中目录服务的实现方式, 使一种网络服务, 它存储网络资源的信息并使得用户和应用程序能访问这些资源, 该目录服务基于Windows系统下。虽然, 功能强大, 设计完善, 但是因为Windows易于被攻击, 其安全性能稍差;GNU/Linux平台下的OpenLDAP目录服务, OpenLDAP目录服务是开放源代码, 易于理解系统架构技术细节, 也能在社区及时同核心开发人员取得联系, 是一种灵活支持所有授权方式的产品, 而且被默认集成到了RedhatLinux下, 带有OpenLDAP安装软件。

因为其开源的特性, 存在一定的不稳定性, 所以, 该产品并非最佳选择;Solaris平台下的目录服务, Sun ONEDirectory Server是功能强大且具伸缩性的分布式目录服务其, 它基于符合工业标准的轻型目录访问协议。是构建集中化与分布式数据库的基础, 这样建立的数据库可用于内部网, 也可跨越外联网从而实现与商业合作伙伴共享数据资源, 其性能优越, 稳定性高, 适合为企业级用户服务。

本文中的系统完成之后将用于校园网用户注册信息的存储, 需要在安全性、稳定性、可靠性等各方面提出更高要求, 综合考虑之后, 本文选择第三种方案。因为, Solaris操作系统在稳定性、安全性等方面是经得住考验的, 为企业级用户提供的目录服务经过了商业的考验更加可靠和稳定。

2.2 目录结构规划

为了使系统的目录服务能更加灵活、更加可靠地完成用户认证信息的存储, 必须重新规划目录的结构。一般的系统采用以服务为辅助的方式进行设计, 先开发存储, 再开发应用。上一代目录以服务为基础, 而新的目录将以信息为基础。

LDAP把语法、匹配规则、属性类型和对象类等统称为Schema。这些系统Schema都在LDAP标准中进行了规定, 而且在不同的应用领域也定义各自不同的Schema, 用户在应用时可以根据需要自定义Schema。RFC2798定义了一个名为Inetorgperson的LDAP对象类以及一组该对象类可用的属性, 这些属性都是目录服务中经常用到的一个人的常用信息。如:Given Name (名字) 、Department Number (部门编号) 、Telephone Number (电话号码) 、Mail (邮件) 、Uid (用户标识号) 。根据实际应用, 标准的属性只是为记录用户信息的典型的目录服务而提供的, 而已有的属性所能表示的信息是不够的, 如果想要要将其扩展到满足广泛的对基础信息的管理, 就需要对LDAP的schema进行一些补充设计。

要想存储和管理各应用系统的用户名和密码, 唯一用于区分用户身份的节点就是OU, 通过判断OU=Student、OU=Teacher或者OU=VIP来判断是学生、教师或者其他身份, 至于用户在各个系统中的身份、角色、权限, 完全由应用系统中存储的该用户的信息来决定。

Sun One Directory Server目录在节点上的设置有个很大的优点, 默认情况下, 目录本身就定义了100多个节点, 可以根据自己的需要随意扩充, 本文就采用了使用SN表示学号, GiverName表示身份证号, 这样就可以根据用户对目录节点的需要, 适当的进行增加节点数量, 以此满足了用户对系统扩充的需要。

2.3 目录安全机制

LDAP与关系数据库很重要的一个区别就在于LDAP提供了强有力的安全模型。它的安全模型主要通过安全通道、访问控制和身份认证等来实现。LDAP的访问控制机制非常丰富而灵活, 它是通过访问控制列表ACL实现的, 而关系数据库系统通常采用基于角色或者用户组进行权限控制。

LDAP的安全认证可以通过RFC2246来实现, RFC2246定义了TLS, 它使用X.509证书向上层提供安全的数据传输, 对传输层数据进行加密。为了使系统具有完备的安全机制, 同时又能适用于分布式环境, 应该使用在传输层进行数据完整性和数据私密性保护, 因此身份认证平台认证系统采用基于公钥体制的TLS认证方式比较好。

2.4 Sun One Directory Server目录存储

Sun One Directory Server的目录服务采用LDAP协议, LDAP协议的查询效率很高, 即使是上百万用户, 查询速度也极快;目录采用节点结构, Sun目录本身已经自定义了100多个节点, 便于用户系统的使用和扩充;该目录服务, 作为一个整体来讲更具优势, 它采用分布式结构, 更加开放, 形成的客户资料全部由用户系统自己掌握, 增加了安全性;在项目实施过程中, Sun One Directory Server给人印象最深的就是开放性, 它在管理上的伸缩性优于其他同类产品。

系统的Sun One Directory Server安装在Solaris9.0操作系统上, 从服务器选择、操作系统选择、目录存储软件选择完全采用Sun公司的产品, 在系统稳定性, 安全性, 可靠性上都得到了最大限度的保障。

当服务器端solaris版本安装完毕之后, 建议安装一个Windows版本的客户端, 便于远程管理, Windows版本的客户端安装相对简单, 这样可以通过客户端连接对目录服务进行操作。

Sun One Directory Server功能十分强大, 在目录存储方面, 很多管理都可以在客户端完成, 下面针对各个不同功能介绍如下:Tasks选择下, 可以启动、停止、重启DirectoryServer;可以直接采用Sun One提供的备份、恢复工具完成对目录的备份恢复工作, 安全、可靠、方便、简单;关于LDIF的导入、导出可以用于批量用户的导入。

LDIF即为LDAP Data Interchange Format, 它是以文本的形式描述目录信息树中各个条目的详细信息。信息的许多操作如数据导入、导出、添加、修改、拷贝等都是基于LDIF文件进行的, 所以LDAP是目录树信息交换的基础。

3 结论 (Conclusion)

通过上述LDIF可以得知, 日常维护过程中, 可以通过导出目录服务的LDIF来实现目录的备份和恢复工作。本文批量导入用户的方法, 就是采用将用户根据上述节点要求, 用自己开发的程序, 将用户相关信息写成LDIF能够识别的格式, 然后采用LDIF导入, 即实现了用户的批量导入, 同样道理, Sun One Directory Server可以实现用户的批量导出。

通过这样的存储, 基本上能保证各种统一身份认证系统的可扩展性、访问效率、安全可靠性等各方面要求, 是一种比较行之有效的管理模式。

参考文献

[1]任河, 李杰.资源访问控制与统一身份认证技术的研究[J].机电产品开发与创新, 2004 (6) :9-11.

[2]李冰, 袁野.LDAP目录服务在统一身份认证系统中的应用[J].信息技术, 2005 (1) :68-71.

认证系统 篇9

随着人们生活水平的提高与个体差异带来的观视体验的不同。使得人们对电视的观看由直播向点播转变, 由被动接收改为主动查找方式的变化。这给广电运营带来了新的挑战、新的机遇, 新的业务增长点。目前重庆有线的机顶盒类型多, 版本多, 且后期还有新的终端设备接入现网, 如家庭网关、智能终端、手机、平板、电脑等。而目前的认证平台已无法支撑后续灵活业务部署。在这样的背景下, 就需要一个具有支持多个不同类型, 多种类型的终端接入认证平台, 点播业务认证, 授权平台来支持后续的业务发展。

由此需要替换目前的机顶盒认证系统, 更换具有更强认证功能的系统来支持不同的终端接入。加入互动认证的模块, 支持互动业务的开展。

1系统介绍

新业务认证系统, 应保证目前现网所有的终端的开机流程不做改变的情况下能够正常认证, 除此之外还要支持新的终端。如:家庭网关、智能终端、手机、平板等。且接入的接口应尽可能的统一或限定在有限的个数。具备互动业务的认证、鉴权、询价、点播确认等功能支持点播业务的开展。同时支持为促使用户点播、满足市场的推广策略系统应具备一些优惠策略。如时段优惠、片源优惠、订购优惠。

1.1系统范围

SSO (单点登录认证) 认证服务是互动业务认证系统的子系统, 位于用户 (STB/PC) 和双向互动服务簇之间。担负终端用户身份认证、请求接入、业务路由等功能。也为后台管理系统提供管理员登入的身份认证。为信息认证系统提供终端认证凭证的管理和校验, 代理服务凭证的发放和校验。如图1所示。

本系统不参与处理信息系统的具体业务, 也不负责数据的维护。本系统不侵入其他系统的代码中, 只是负责过滤和检测。

1.2总体介绍

互动业务认证系统主要完成互动业务的验证、授权和记账。其主要功能用于管理何种用户可以访问何种对应服务设备的权限, 具有访问权的用户可以获得对应服务为那些。如何对正在使用的系统资源的用户所使用的资源数量进行记录。具体为:

1.验证:完成对用户身份的确认, 确认用户是否可以获得对应服务的访问权限。

2.授权:定义用户可以使用哪些指定资源的存取权。

3.记账:记录用户对各种网络服务的用量, 并提供给计费系统。

首先, 认证部分提供了对用户的身份的确认。整个认证环节是采用在终端输入用户名与密码的方式来进行用户身份的权限审核。认证的原理是每个用户都有一个唯一的权限标识。由业务认证服务器将用户的唯一标识同后台数据库中所有用户的标识进行逐一比对。如果符合, 则返回认证通过。如果不符合, 则拒绝对用户提供后续业务连接。

接下来, 用户需要通过获取响应授权来获得对应服务的权限。比如, 登陆系统后, 用户可能会执行查询来进行自身相关信息的查询, 授权会在这一过程中检测当前用户是否拥有执行这些命令的权限。授权过程是一系列控制策略的组合, 主要用于确定服务的种类或质量分别为那些, 用户所被允许使用的服务有哪些。一旦用户通过了认证, 他们也就被授予了相应的权限。

最后一步是记账, 这一过程将会计算用户在使用服务过程中消耗的资源数量。

验证授权和账户同样由业务认证服务器来提供。业务认证服务器是一个能够提供这三项服务的程序。

2系统架构方案

2.1系统运行环境

依赖本认证系统的应用是各种应用的增值系统, 所以本系统也发布为Tomcat下的http/https服务与后台服务的web service服务两种方式, 方便与其他系统的灵活集成与接入。

2.2系统部署架构

如图2所示。

2.2.1系统服务网络

负载均衡器:负载均衡器能够支持各种各样的负载均衡策略。大大提高各节点网络的性能和可靠性。

防火墙:防火墙对系统的后台服务器进行保护, 其防范对象是来自公共网上的对后台系统安全的威胁;

局域网交换机:实现对认证系统的服务器、BOSS系统、VOD平台等的互连, 可以在此划分VLAN。

2.2.2应用系统主机和存储系统

统一认证服务器:存储用户认证信息, 并提供目录服务;完成所有地区的用户使用互动业务、增值业务及未来其他业务的统一认证和授权处理, 配置4台服务器, 通过负载均衡服务器实现负载。

SSO管理服务器:负责同终端接口进行对接, 保证现网终端版本无需升级;配置2台服务器, 考虑负载均衡。

开发测试服务器:用于软件版本上线前的现场的开发、测试。

3系统总体设计

3.1业务功能

如图3所示, 业务认证系统会对接很多的外围系统, 包括企业内部的运营支持系统、BOSS、客服、网管、支付。对外的增值系统, 信息平台, 游戏平台, IMS系统等。

业务认证系统包括如下几个模块:系统管理, 统一会员管理、业务认证、用户管理、合作伙伴管理、业务管理、产品管理、订购管理、统计分析, 外围接口。

该方案可将不同系统的不同账号通过统一会员管理将账号统一, 避免由于系统过多导至用户需要记住大量的账号与密码的问题。进行模块化划分与开发, 各个模块的边界与功能进行清楚的界定, 有助于各小组专注于本模块的功能、性能开发。

针对业务我们根据功能与职能不同分别设计了三个模块。SDP (业务分发平台) 、SSO (单点登录认证) 、AAA (认证平台)

SDP:提供外围系统的接入能力, 并进行用户管理, 订购管理等, 采用java开发, B/S模式。

SSO:提供终端的开机认证能力, 包括登录, 开始登录。采用C++开发, 只提供后台服务。

AAA:提供包括点播在内互动业务内证的认证、授权、计账。包括优惠策略的计算。采用C++开发。提供后台的认证服务。

3.2总体架构

系统内部架构如图4所示。

统一业务认证的建设目标是为互动业务平台、相关增值业务系统提供可扩展的、稳定的、高效的认证、授权和记账服务。

通讯协议处理部分功能:该模块用于接收第三方系统认证通信请求, 并将经过认证系统处理后的认证结果返回给第三方系统, 需支持WebS ervice、TCP/IP、UDP等不同种类通讯协议。

格式解析处理部分功能:用于第三方系统发送过来的认证请求数据包根据接口协议进行内容解析, 其中包括对第三方数据来源校验、属性解析等部分;对认证完成后的数据按照同第三方系统约定的格式进行封装。

认证授权记帐处理池:对已经通过解析处理模块后的认证请求进行具体的业务或服务的认证、授权、记帐处理。该部分涉及到大量的策略计算、数据查询修改等操作, 是认证业务最核心部分, 在该阶段采用多线程并行处理机制。

公用功能:分为系统日志、配置功能界面、注册重载几个功能。

数据存储MyS QL:用于存储认证运行中的临时数据, 包括用户token, 用户基本信息、用户订购信息、产品信息、资费信息、服务信息、服务供应商等信息。

3.3业务流程设计

开机业务流程如图5所示。

说明如下:

1.终端通过携带智能卡号询问登录;

2.SSO生成随机token返回给终端;

3.终端将密码与和token进行组合加密发回至SSO进行密码验证;

4.SSO验证通过, 返回给终端访问首页。

首页分发业务流程如图6所示。

4技术要点

4.1设计思想

在设计时参考已有的成熟的开源软件, 吸收其成熟的架构。同时, 充分利用原有系统的工作成果, 在原有系统的基础上, 融入先进的解决方案。基于以上的改进和扩展, 划分出终端认证管理、门户负载调度、启动以及SOAP认证服务/客户端等模块, 与SSO核心模块共同构成SSO认证服务。

系统前期开发, 负载均衡采用较简单的平均分配原则。认为所有portal服务器的配置相同, 负载能力相同。在请求到来时, 转发分配给用户一个指定好的某IP段的portal服务器。

点播业务的量与频率会非常高, 需充分考虑到程序的处理能力可使用C++语言进行程序编写进行细粒度的控制, 提高程序执行效率。

4.2关键技术介绍

4.2.1 Web Service技术

Web Service是一种新的web应用程序分支, 通过Web通讯协议及资料格式的开放式标准 (例如HTTP、XML及SOAP等) 来为其他的应用程序提供服务。部署Web Service以后, 其他Web Service应用程序可以自动发现并调用其提供的对应服务。Web Service的主要体现的便利性为跨操作系统和业务平台的互操作性。因此, Web Service完全基于XML (可扩展标记语言) 、XSD (XMLSchema) 等并独立于操作系统平台和独立于软件规范标准的新平台。

Web Service通过wsdl格式文件来定义同不同服务之间通讯所使用到的接口名称、动作、传输的数据类型。服务端和客户端可以依据定义好格式的wsdl文件来用工具依据协议规范独立的生成代码框架。

4.2.2 Memcached技术

Memcached是一个高性能的分布式内存对象缓存系统, 主要用于动态网页应用, 以减轻核心后台数据库负载。它通过在内存中缓存数据和对象来减少读取核心后台数据库的次数, 从而提高用户访问网站的响应速度。其客户端可以用任何语言来编写, 并通过memcached协议与守护进程通信。

系统中用到的基础数据配置、用户登录token都存储在memcached中, 这样大大提高了开机认证的过程的响应时间, 提升用户体验。

4.2.3 Hibernate技术

Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC (Java Database Connectivity Java数据库连接) 进行了非常轻量级的对象封装, 使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate不仅负责从Java类到数据库表的映射 (还包括从Java数据类型到SQL数据类型的映射) , 还提供了面向对象的数据查询检索机制, 从而极大地缩短的手动处理SQL和JDBC上的开发时间。同时Hibernate可以在应用EJB的J2EE架构中取代CMP, 完成数据持久化的重任。

使用Hibernate来管理对象和关系数据库的映射, 使得开发人员在开发中不用去考虑数据的检索和修改SQL, 而由Hibernate来做中间的转换。

4.3技术架构特点

4.3.1灵活接入多业务

随着广电行业的发展, 在业务上也呈现出业务的多样性。直播业务, 互动业务, 游戏业务、开机能力业务等等。而这些业务的认证、鉴权没有一个统一的平台进行管理、某些甚至是空白。从目前与今后的发展来看, 业务会不断增多、接入终端也有很多种。

系统正是基于这样的背景而设计开发的。业务认证平台支持不同业务的接入, 如:机顶盒开机业务, 点播业务, 游戏业务等。系统的认证、鉴权都是基于标准的WebS ervice协议的。只要终端可以过通接口调用服务就可以进行业务的认证、鉴权。而不关心具体的终端。终端可以是手机, 电脑, 智能机顶盒, PAD等等。

4.3.2不同业务认证模式灵活

认证模式灵活是指对于开机的机顶盒是否是广电设备进行认证的不同模式。一种是严格检查模式确认已有终端的存在关系, 只有现网的, 并存在于系统中的终端才能允许接入。而非广电系统中的终端不允许接入。另一种是免认让模式, 只要是来询问的设备都认为是合法设备可以接入广电网络。

4.3.3支持OTT类业务

OTT是“Over The Top”的缩写, 是指通过互联网向用户提供各种应用服务。这种应用和目前运营商所提供的通信业务不同, 它仅利用运营商的网络, 而服务由运营商之外的第三方提供。OTT同时也是国际互联网运营商对互联网电视机顶盒业务的“昵称”, 其本质是利用统一的内容管理与分发平台, 通过开放的互联网, 向智能机顶盒提供高清的视频、游戏和应用, 是全球性的“云电视”技术系统架构, 例如将通过互联网传输的视频节目传输到TV上, 终端可以是电视机、电脑、机顶盒、PAD、智能手机等等。

4.3.4认证系统进程的单点故障防范

在业务认证系统中, A1主机和A2主机上各起一个实时计费进程, 两个实时认证进程均能独立实在业务认证系统中, A1主机和A2主机上各起一个实时计费进程, 两个实时认证进程均能独立实现实时认证的功能。

认证进程配置两个实时认证进程对应的地址和端口, 在发送请求时采用随机均衡发送。

当有某个进程连接异常时, 将该连接标志为异常, 所有请求均从另一个连接发送。同时间歇探测异常连接是否可重新使用。

5业务认证平台发展方向

5.1广电业务互联网化

目前认证提供的客户群体主要是广电在网终端用户, 受众群体存在一定的局限性。互联网化是将更多的客户引入到系统中来, 而非局限在广电网络内的客户。通过会员注册的方式, 将大量游离客户纳入到系统管理, 通过广电特有的一些服务将客户吸引进来。后续可推出大量的增值业务, 系统加入多样的第三方支付, 来方便客户的支付。业务认证平台可对接各式各样的外围系统, 可收集各系统对业务认证平台的修改意见与想法, 持续的改进系统, 向着互联网化越走越远。

移动化、娱乐化的互联网业务作为广电业务的发展方向, 在各大运营商都积极介入和发展自身的大众互联网服务, 也同其他互联网业务公司合作, 为广电的客户、互联网用户带来更好的体验, 业务认证系统为多类型的互联网用户接入提供接口, 各类互联网用户通过该平台接入系统, 享受广电的视频、娱乐、游戏等业务。

5.2多维度认证

增值业务平台为互联网用户提供各类认证模式, 不管是匿名用户还是通过账号登录, 以及广电自有用户可以通过客户信息直接进行业务登录, 认证系统为用户提供多维度, 多类型的接入方式, 满足不同渠道的用户登录需求。

5.3互联网支付

互联网用户在享受广电提供的各类增值服务中, 会涉及到费用支付, 特别是对于互联网匿名用户支付业务, 具有偶发性、匿名性、快速性等特点, 这类用户要求支付体验必须便捷、快速、安全等需求, 因此对互联网用户可以采用目前比较流行的第三方支付来保障支付的安全可靠。

同时为了便于支付的统一管理, 在增值业务管理平台对所有的支付进行分类汇总, 如果支付宝支付的账单模式, 可以提供给用户等相关的查询和对账, 账务统一也便于与财务收入的对接和分类汇总, 也为收入和市场提供很好的数据支持。

5.4增值业务接入

除了运营商自身的增值业务, 与运营商合作的第三方增值业务提供方就像增值业务超市一样, 可以为用户提供各类丰富的体验, 在与第三方合作过程中, 双方会在用户数据、业务数据上进行共享和交互, 增值业务平台需要将用户信息, 订购行为通过接口同步到第三方平台用户, 广电用户就可以享受第三方提供的各类增值服务, 通过收入结算方式将合作费用结算给第三方。

5.5与运营商传统核心业务计费系统对接

5.5.1订购同步

广电用户在第三方业务平台注册并订购业务后, 由第三方平台将用户的订购行为同步到增值业务平台, 增值业务平台记录后同步到计费系统, 计费系统按照订购时间、产品等要素进行计费。

广电用户在订购了第三方业务之后, 同步到增值业务平台, 平台记录该订购信息后将其同步给第三方平台进行业务开通激活, 为用户提供实时的服务。

当以上业务在任何一个平台发起退订或者注销后, 都同步到增值业务平台, 由增值业务平台记录后同步给对应的系统, 保障业务和计费数据的一致性。

5.5.2计费话单

第三方系统的计费话单生成之后, 可以直接同步给核心计费系统供各渠道查询, 业务可以经过增值业务平台进行二次的加工处理, 增加必要的要素有同步给计费系统, 对于部分增值业务平台够识别的完整计费要求, 可以直接进行话单的生成和处理。

6结束语

随着互联网化的发展和移动业务的日益月新, 如何为客户提供多样性的增值服务, 提高客户的粘稠度, 就必然需要给客户提供新颖性、趣味性、便捷性的增值服务或第三方服务, 如果进行这些增值业务的统一管理和运营, 就是业务认证系统下一步需要进行的系统性规划建设。

参考文献

[1]李昌金, 陈锦宇.电信企业信息系统统一身份认证平台[J].信息与电脑:理论版.2011 (05) .

统一资源认证服务系统的研究 篇10

职业教育行业的发展与进步带动了职业院校信息化的飞速发展, 伴随着各个资源管理系统的诞生, 也出现了一个个信息孤岛, 各个教育系统有着各自不同的认证系统与资源访问方式, 而且方式各异、孤立不成体系。各个系统之间分散而又浪费管理资源, 不能很好发挥信息资源集约化的优势。统一资源认证系统 (URAS) 就很好的解决了这个问题, 其把各个孤立的教育资源进行整合, 使用LDAP目录访问的方式对用户进行访问验证, 采用单点登录的方式实现了一点登录就可以访问权限内的所有资源, 而不用在多个系统之间进行切换。

1 统一资源认证系统 (URAS) 的设计

教育行业的统一资源认证系统 (URAS) 主要以老师、学生可发布使用的资源为核心, 针对已经发布的资源进行访问权限配置, 使单个登录的老师或学生用户在特定的时间于权限结构下访问自己有权限访问的资源,

系统体系结构如图一。

其中Server提供各种访问接口服务, 同时提供用户的认证与授权机制, 它与LDAP服务器相连接, 主要用户数据从LDAP服务器中获取, 为资源各种服务提供认证和操作接口, 也提供访问控制功能, 同时其向cas提出申请数字证书与废除证书的功能。LDAP服务器存放组织、人员、资源关系信息, 其为整个资源认证系统的核心, 所有的认证服务都围绕LDAP服务器展开。而作为认证基础的cas服务器则用来管理与数字证书相关的服务, CA进行数字证书的发放与取消, RA提供证书的发起活动, 利用LDAP服务作为证书库, 提供证书的管理功能。

系统采用PKI作为统一资源认证系统的安全认证基础来加强系统的资源认证的安全性与扩展性, 来建立自身的认证系统, 同时生成一个自签名的数字证书作为一个CA的证书。

2 统一资源认证系统 (URAS) 的实现

2.1 用户信息库的设计

在体系平台中, LDAP目录服务器主要存储用户信息和资源信息, 同时目录中的数据以高职院校的人员组织结构设置 (如图二) 。

其中User组用以存放用户及用户组信息, APPLICATION用于存放纳入统一资源认证系统的应用系统比如考核系统、资源库系统、评价系统

在形成的目录树结构中根节点之上的叶节点作为入口用于存放数据, 入口以属性名组合命名用来唯一标示该入口。目录中的每个条目均有对应的属性, 各种属性都标记有对应的访问模式与访问权限。

2.2 认证系统的实现

统一资源认证系统在入口认证上分为两个步骤, 一个是登录认证、另外一个是资源访问认证。在登录认证阶段, 统一身份认证系统主要负责将用户与用户有权限的系统账号进行关联, 表明该用户到底可以登录哪些系统, 可以访问哪个系统所对应的应用, 有什么样的权限。

在资源访问认证阶段由子应用系统本身来控制, 由于用户信息存储于目录数据库中, 统一资源认证系统根据用户身份查找该用户在系统中所属的用户组, 并将信息返回给应用系统, 应用系统根据该组所具备的权限决定用户的权限。

2.3 统一资源访问的实现

当用户访问在权限内的资源地址, 系统需要对其进行身份认证, 同时把访问服务的ID发送到服务器端, 如果用户是第一次访问, 则需要提交用户名和密码, 同时产生一个登陆票 (Login Ticket) , 认证中心服务器CAS通过后端LDAP服务器进行身份和密码的验证, 如果验证成功则返回一个授权票据 (TGT) , CAS使用客户端的COOKIE记录授权票据, 在用户端和服务器端都记录了用户的身份则表示用户已经登录成功。如果在客户端没有记录用户的有效信息则每次访问该资源都要求登录。当用户成功登录CAS则记录用户所访问的资源, 用户访问一个资源就会重定向到CAS, CAS通过TGT验证用户的可靠性, 如果是可靠的用户则通过LDAP目录服务器获取用户的角色和权限, 如果用户有访问的权限则CAS产生一个ST, ST联合所要访问的信息发送给要访问的资源。CAS来查找用户是否曾经访问过这个资源, 如果已经访问过了就可以直接访问, 如果没有访问过则进行再一次验证服务。

结束语

统一资源认证系统面对的是各种各样的信息化资源, 本文提出了基于资源二次认证以及LDAP目录存储的系统设计方案, 实现了资源的整合, 在统一入口、统一登录机制、统一访问控制, 统一权限认证的机制之下实现资源的统一管理与使用, 节约了系统管理成本, 提高了资源的有效管理水平。

摘要:伴随着教育行业的发展, 信息化已经成为各个职业院校提高教育管理水平以及资源合理决策分配的有效手段。一个个信息化系统应运而生, 但问题也随之出现, 有了信息化资源, 但是各个信息化资源分别被部署到所对应的系统中, 各司其职。同时各个系统由不同的人进行管理, 有时也出现一个资源被不同的系统重复管理。针对以上问题我们对这些“孤岛”系统进行资源级别的研究, 提出了统一资源认证服务的概念, 其目的在于把各个系统的有效资源存储于同一个系统进行保护性认证管理, 提高各个系统的整合程度, 减少人为操作的烦扰, 节约资源配置的时间, 将所有系统整合为资源统一管理、统一授权、统一审计的“统一资源认证服务系统” (United Resource Authentication System) , 简称URAS。

关键词:统一资源,认证,OSS,LDAP

参考文献

[1]王华东, 胡光武.教学资源门户统一认证系统设计与实现.郑州轻工业学院学报, 2007, 22 (1) .

[2]徐鑫, 苏新宇, 姚毅.数字化校园中统一身份认证系统的分析[J].现代图书馆情报技术, 2005.

认证系统 篇11

【摘要】本文介绍了CNR系统以及LDAP服务器,通过实际的配置案例说明如何在CNR中对接查询LDAP服务器,实现为不同类别的Cable Modem提供不同的服务,以解决在实际运营中如何对多种Cable Modem业务提供支持的问题。

【关键词】CNR;LDAP;Cable Modem;多业务支持伴随广电宽带业务的发展,通过使用Cable Modem作为接入方式的互联网用户不断增多;需要解决对宽带用户CM认证,及时自动的实现对CM访问网络的控制、向用户提供灵活多样的业务以及对多业务的扩展支持等问题。CNR(Cisco Network Registrar)软件集成了DHCP、TFTP以及DNS等等强大的功能,针对中到大型网络,它提供了一个以策略为基础的网络应用,服务商及企业用户能更好的管理它,它使用了其独特的性能,与其他的网络基础软件及商业应用能更好的结合在一起。本文通过介绍如何在CNR中对接LDAP服务器,使CNR通过查询LDAP服务器来实现依据Client-Classes的配置为CM分配不同的IP地址和配置文件,实现为不同类别的CM提供不同的服务。实现区分不同类别的用户,以提供个性化服务。

SIP软交换系统的版权认证 篇12

随着SIP(session initiation protocol会话初始化协议)在通信行业的应用,基于SIP的IP电话系统得到了市场的青睐。逐渐出现了一系列先进的软件及先进的设备,在人们不断更新,完善的基础上,逐步为人们的生活和工作提供服务,其中有很多出色的协议及软件已经得到了人们的认可,甚至做成了一套完整的软件设备在运营商的代理下,为人们正服务着。例如SIP(session initiation protocol会话初始化协议)协议和软交换系统的应用。但是版权认证方式却还单一。

下面是软件版权认证的几种方式:

●安装序列号方式

这是最为常用的方式。通过一种复杂的算法生成安装序列号,在安装过程中,安装程序对用户输入的安装序列号进行校验来验证该系统是否被合法授权,从而完成版权认证。

●用户名+序列号方式

软件系统的供应商给用户提供有效的用户名和序列号,用户在安装过程或启动过程中输入有效的用户名和序列号,系统通过算法校验成功后完成软件授权。

●在线注册

用户安装系统后,通过网络进行注册授权。软件系统的供应商事先已经登记了用户的信息,用户在线注册时,供应商的注册系统对用户的信息进行验证。用户身份有效时,注册系统生成一个凭证信息,软件系统根据凭证信息完成授权。

●激活码方式

用户安装系统后,软件系统会根据用户机器的关键信息(例如:MAC地址、CPU序列号、硬盘序列号等)生成一个注册凭证(也可称为注册码),用户将这个注册凭证发送给软件供应商,供应商通过注册凭证生成一个激活码。用户输入激活码,软件系统完成授权。

在开发SIP软交换系统的过程中,这些认证方式都不能满足需求。在分析了SIP软交换系统的特点及特性后,提出多MAC地址、使用期限、最大用户数的组合来进行版权认证的方法。通过这些组合,实现了有最大用户数量、使用期限的版权认证。

1 认证文件

用license.xml文件来承载认证信息。由于KEY值的生成是单向性的,要对系统的使用期限和最大用户数作出限制,在认证文件中要给出这些信息。版权认证最重要的就是认证文件不被篡改、破解。

1.1 认证文件的组成

1.1.1 serial(序列号)

由授权方提供,具有一定格式。承载着一定信息。

1.1.2 MAC(地址)

由使用方提供,软件运行的服务器上的MAC地址。可以有多块网卡。

1.1.3 max(最大用户数)

由使用方提出,最大用户数是指SIP服务器中注册的最多的有效的内线用户数量。

1.1.4 expiration(到期日期)

由使用方提出,可以使用的最后期限。

1.1.5 key(许可证密匙)

由版权认证授权方提供。版权授权方根据serial、MAC、max、expiration,再加上一个特定的字符串,通过SHA加密和Base64加密形成。

1.2 认证文件的发放方式

由用户向授权发行方提交特定的信息(MAC地址,操作系统)和需求,授权发行方再根据这些信息通过加密算法生成Key值并且与明文一起做成license.xml文件给用户。用户再拷贝到服务器上特定的位置。过程如图1所示:

2 算法简介

消息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。

一个消息摘要(MessageDigest)就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印。

消息摘要有两个基本属性:

●两个不同的报文难以生成相同的摘要

●难以对指定的摘要生成一个报文,而由该报文反推算出指定的摘要

2.1 SHA算法

SHA(Secure Hash Algorithm)是美国国家标准技术局对MD5算法的改进算法,它将长度小于264的比特串压缩为130比特输出序列即散列值(也称为消息摘要或信息认证代码)。

单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。

SHA有以下特性

●可以作用于一个最大长度不超过264的数据块

●产生一个固定长度的输出(160位)

●对任意给定的x,SHA(x)计算相对容易,使用软件或硬件实现都可以

●对任意给定码h,找到x满足SHA(x)=h在计算上是不可行的(单向性)

●对任意给定的数据块x,找到SHA(x)=SHA(y),而y≠x的y是很困难的

●找到任意数据对(x,y),满足SHA(x)=SHA(y)是计算不可行的

前3个特点是算法的基本特点。第4个特点是单向特性,数据正向容易生成,但反向却很难恢复原数据。第5个特点保证,对给定的数据是很难用替换数据生成相同的值。第6个特性可以防止诸如“生日攻击”带来的破坏。

这些充分体现了算法的雪崩效应和防冲突性。

SHA算法的加密过程有以下的五个步骤:

●附加填补比特

●附加消息长度

●初始化寄存器

●以16个字分组(512比特)为单位对消息进行处理

●输出

2.2 BASE64算法

按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。

Base64算法将输入的字符串或一段数据编码成只含有{''A''-''Z'',''a''-''z'',''0''-''9'',''+'',''/''}这64个字符的串,''=''用于填充。其编码的方法是,将输入数据流每次取6 bit,用此6 bit的值(0-63)作为索引去查表,输出相应字符。这样,每3个字节将编码为4个字符(3×8→4×6);不满4个字符的以''=''填充。第一个字符通过右移2位获得第一个目标字符的Base64表位置,根据这个数值取到表上相应的字符,就是第一个目标字符。然后将第一个字符左移4位加上第二个字符右移4位,即获得第二个目标字符。再将第二个字符左移2位加上第三个字符右移6位,获得第三个目标字符。最后取第三个字符的右6位即获得第四个目标字符。在以上的每一个步骤之后,再把结果与0x3F进行AND位操作,就可以得到编码后的字符了。

此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼直接看到。(其过程如图2所示)

3 key的形成

Key值是认证文件的核心,是确保版权认证成功有效的关键,是防止篡改、破解的技术所在。因此,KEY的值必须具有唯一性,其生成过程必须具有单向性。

SHA算法具有很好的雪崩效应和防冲突性,并且在Java中有(由)java.security.MessageDigest类提供了SHA算法。因此用SHA算法实现起来比较安全简单。

3.1 根据license.xml的明文直接生成KEY值

认证文件记录了生成KEY值的所有明文,根据这些明文通过加密算法很容易生成与认证文件中KEY值一致的KEY值,因此认证文件很容易被篡改、破解。这样认证文件失去其作用,直接加密的方式不可取。

3.2 对生成KEY值的序列中附加字符串(密码)产生KEY值

由SHA的特性可知,如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值。

在生成KEY值的序列中,加入一字符串。生成KEY值的序列中只有这个字符串在认证文件中是不存在的,但就是这个字符串,使得认证文件有效不被篡改、破解。这一字符串只有版权授权方知道。KEY的生成过程如图3所示。

计算机中,能显示的字符共有95个。在已知明文的顺序和密码的位数(如12位字符串)的情况下,用我国最快的计算机(曙光4000 A)去破解密码也得用上一千五百多年的时间。

KEY值的唯一性确保了版权认证的成功。

4 认证

4.1 版权认证相关类的关系图及时序图

4.1.1 类的关系图

各类的作用:

4.1.2 类的时序图

4.2 系统启动时的认证

4.2.1 MAC地址检查

服务器上的MAC地址与license.xml文件中的MAC地址相比较,如果一致,则此项检测通过。不一致,则服务不能启动。

4.2.2 到期日期的检查

获取许可证文件(license.xml)的截至日期,与现在的日期相比。如果小于当前的日期,则此项检查通过;如果大于当前日期,则此项检查不通过。

4.2.3 序列号的检查

获得许可证文件(license.xml)中的序列号,检查其格式及其包含的特定信息。

4.2.4 最大用户数的检查

去数据库中检测有效的用户是否超过最大用户数。否,此检测通过;是,则此检测不通过,系统不启动。

4.2.5 KEY的检查

KEY是依附在文件license.xml里,license.xml文件里包括了明文和KEY值。系统启动时,根据license.xml里的明文,通过给定的加密算法,生成新的KEY值,与授权方给的KEY值相比较。比较结果一致表示明文未被改动,系统启动;如果不一致表示明文已被篡改,系统启动出错。

4.3 系统运行过程中的检测

主要是检测注册的用户数量和系统使用期限。

4.3.1 最大用户数量的检测

当我们开通新用户时(注册用户时)用方法isMaxUser()去判断到达最大用户数没有。如果没有,允许注册新用户,否则不允许注册。

4.3.2 使用期限的检测

在注册用户和拨打电话时,都要先通过方法isStationExpired()判断系统的使用期限,过期则注册失败、呼叫建立失败。

5 结论

通过带有明文和KEY值的认证文件,实现了带有最大用户数、使用期限和多MAC地址的版权认证。一个认证文件是否有效、安全,关键是所选算法的散列函数对外界破坏事物的抵抗能力。这里采用具有雪崩效应和防冲突性的SHA算法,加密明文生成KEY值,达到版权认证的有效性。另外,还可以对文件license.xml的明文进行可逆的加密,最后生成的license.xml文件是没有明文的认证文件。

参考文献

[1]Krawczyk H,Bellare M,Canetti R.HMAC:Keyed-Hashing for Message Authentication[M].Internet Engineering Task Force,Request for Comments(RFC)2104,February1997.

[2]Roseoberg J,Schulzr I H,Camar I G.SIP:Session Initiation Protocol[S].IETF RFC326,2002.

[3]徐茂智,游林.信息安全与密码学[M].北京:清华大学出版社.2007.

[4]周晓东,卢东明.软件保护技术[M].北京:清华大学出版社1994.

[5]陈运.信息加密原理[M]成都:电子科技出版社,1990.

上一篇:连续梁支架现浇法下一篇:卫生档案