密钥快速分发系统及方法 【技术领域】
本发明涉及一种密钥快速分发系统及方法,尤其是涉及一种存储生成的密钥以便于及时取用及分发的系统及方法。
【背景技术】
随着网络环境及技术的成熟,网络通讯渐变成人们生活的一部份。基于保护通讯资料完整性及隐密性,人们逐渐发展出加密技术以对其通讯资料内容进行保护,以防止非授权用户对资料进行窃取与窜改。
关于密钥生成的支持技术曾揭露于2000年9月26日公告的美国第6,125,185号专利,该专利名称是“密钥产生的系统及方法(SYSTEMAND METHOD FOR ENCRYPTION KEY GENERATOR)”。该专利揭露:一种可以通过DES(Data Encryption Standard)及RSA(注:RSA是取其三个发明人名字前缀的缩写所组成)加密技术来产生密钥的方法。该专利生成一DES密钥并存储在服务器中,再利用RSA技术对该DES密钥加密以传输到用户端计算机。该用户端计算机将加密后的DES密钥解密取出后,即可利用DES密钥进行资料加密以利于服务器进行传输。该专利所揭露技术的不足之处在于,当一个服务器同时面对多台用户端计算机请求密钥时,此专利没有提出有效的方法来缩短DES密钥的生成时间以利快速的进行密钥分发。由于密钥生成需要较长的时间,有必要提出一种新的解决方案,该方案能提供简单而快速的密钥分发系统及方法,当面对大量的密钥请求时,缩短其密钥分发时间。
【发明内容】
本发明提供一种密钥快速分发系统及方法,其用于当面对大量的密钥请求时,缩短其密钥分发时间。该系统包括多台网络服务器、密钥缓冲池及密钥生成服务器。每一网络服务器包括一服务器管理模块,其可发出一密钥请求。该密钥缓冲池用于存储密钥。该密钥生成服务器连接一密钥缓冲池,并通过一网络连接多台网络服务器,该密钥生成服务器包括一密钥生成模块及一密钥分发模块。该密钥生成模块用于生成密钥并将该密钥存储于密钥缓冲池中。该密钥分发模块用于接收密钥请求,并访问该密钥缓冲池,以取用其中的密钥向网络服务器进行分发,或连接密钥生成模块以进行密钥的生成。待密钥分发完成,密钥缓冲池自动将已分发的密钥删除。
本发明的方法包括以下步骤:(a)提供一网络服务器用于发出一密钥请求;(b)提供一密钥生成服务器接收该密钥请求;(c)该密钥生成服务器连接一密钥缓冲池,并检查该密钥缓冲池中是否存储有密钥;(d)若该密钥缓冲池中没有存储密钥,则该密钥生成服务器生成密钥,并将该密钥存入密钥缓冲池中;(e)该密钥生成服务器访问该密钥缓冲池以取用密钥,并分发给发出密钥请求的网络服务器;(f)该密钥分发模块将已分发的密钥由密钥缓冲池中删除。
【附图说明】
图1是本发明密钥快速分发系统的硬件架构图。
图2是本发明密钥快速分发系统的模块关联图。
图3是本发明密钥快速分发方法的流程图。
图4是本发明密钥生成方法地流程图。
【具体实施方式】
如图1所示,是本发明密钥快速分发系统的硬件架构图。该硬件架构包括一网络5连接多台网络服务器2、多台用户端计算机4及一密钥生成服务器1。用户可通过用户端计算机4访问网络服务器2。该密钥生成服务器1负责密钥的生成及分发,其连接一密钥缓冲池3以存储生成的密钥,该密钥缓冲池3可为内存(如RAM/ROM等)或辅助内存(如硬盘/外挂式硬盘/数据库等)。网络服务器2可通过网络5向密钥生成服务器1请求密钥,以利于对网络服务器2及用户端计算机4之间的沟通信息进行加解密。
如图2所示,是本发明密钥快速分发系统的模块关联图。网络服务器2包括一服务器管理模块21,其通过网络5连接用户端界面41。当一新的用户登录该用户端计算机4时,用户端计算机4通过该用户端界面41发出一认证请求给服务器管理模块21,该服务器管理模块21进行身份认证后生成一授权内容,并发送一密钥请求给密钥生成服务器1来取得一密钥并存储。服务器管理模块21使用该密钥对授权内容进行加密,并将该加密后的授权内容及该密钥发送给用户端计算机4。用户端计算机4接收并存储该密钥后,即可利用该密钥对加密后的授权内容进行解密,用以确认该用户身份及使用权限。此后,当该用户通过用户端计算机4与网络服务器2进行沟通时,其沟通信息可使用存于用户端计算机4的密钥及网络服务器2的密钥进行加解密。密钥生成服务器1包括一密钥生成模块11及一密钥分发模块12,两模块皆连接密钥缓冲池3。该密钥分发模块12接收服务器管理模块21所产生的一密钥请求后,判断密钥缓冲池3内是否有备存的密钥以及时分发,或连接到密钥生成模块11以生成新的密钥来分发给网络服务器2。该密钥生成模块11除生成密钥分发模块12所请求的密钥之外,还可生成其它密钥以填满密钥缓冲池3。该密钥生成模块11是通过习知的DES(Data Encryption Standard)密钥生成技术来生成密钥。
如图3所示,是本发明密钥快速分发方法的流程图。当网络服务器2所包含的服务器管理模块21发出密钥请求后(步骤S10),由密钥分发模块12接收该密钥请求(步骤S11)。之后密钥分发模块12检查密钥缓冲池3是否为空(步骤S12)。若不为空,密钥分发模块12则从密钥缓冲池3中选取一密钥进行分发(步骤S15),并自动将该已分发的密钥删除;若为空,密钥分发模块12则连接密钥生成模块11生成密钥(步骤S13)。该密钥生成后将存入密钥缓冲池3中(步骤S14),并通知密钥分发模块12取用该密钥进行分发。上述的“空”表示密钥缓冲池3中没有任何密钥存储其中。
如图4所示,是本发明密钥生成方法的流程图。该流程可开始于上述快速分发流程结束后,或由系统管理者订定一周期时间定期执行。当密钥生成模块11检查缓冲池不为满时(步骤S20),密钥生成模块11开始生成密钥(步骤S21)并将该密钥存入密钥缓冲池3中(步骤S22)。之后,密钥生成模块11继续生成密钥并将该密钥存入密钥缓冲池3直到该缓冲池3的存储空间使用完毕(步骤S20)后结束流程。上述的“满”指密钥缓冲池3的存储空间已经满载。