首页 / 专利库 / 信号处理 / 联合编码 / 网络连接加密

网络连接加密

阅读:766发布:2022-12-21

专利汇可以提供网络连接加密专利检索,专利查询,专利分析的服务。并且提供一种用于在 服务器 或者其它计算环境内管理加密密钥并且执行加密服务的方法和装置。一种装置用作加密密钥服务器,以确保加密密钥安全并且提供作为网络服务的加密操作。,下面是网络连接加密专利的具体信息内容。

1、一种加密密钥服务器,用于经由网络向连接到所述加密密钥 服务器的远程设备提供加密服务,所述加密密钥服务器包括:
在所述加密密钥服务器上执行的安全网络接口引擎,所述安全网 络接口引擎用于:
建立与至少一个远程设备之间的安全网络通信信道;
解包从所述至少一个远程设备接收的安全的加密服务请求; 以及
打包并传输安全加密服务响应至所述至少一个远程设备;和
在所述加密密钥服务器上执行的加密服务引擎,所述加密服务引 擎与所述安全网络接口引擎双向通信,所述加密服务引擎用于经由所 述安全网络接口引擎提供由所述至少一个远程设备所请求的加密服 务。
2、根据权利要求1所述的加密密钥服务器,其中,所述至少一 个设备是应用程序服务器。
3、根据权利要求1所述的加密密钥服务器,其中,配置所述安 全网络接口引擎,从而根据加密套接字协议层(SSL)协议来建立所 述安全网络通信信道。
4、根据权利要求1所述的加密密钥服务器,其中,配置所述安 全网络接口引擎,从而根据传输层安全(TLS)协议来建立所述安全 网络通信信道。
5、根据权利要求1所述的加密密钥服务器,其中,所述安全网 络接口引擎支持多种通信协议,所述多种通信协议包括:加密套接字 协议层(SSL)协议以及传输层安全(TLS)协议,所述安全网络接 口引擎响应于所述至少一个设备,以根据由所述至少一个设备所选择 的协议来建立所述安全网络通信信道。
6、根据权利要求1所述的加密密钥服务器,其中,所述加密服 务引擎和所述安全网络接口引擎是在所述加密密钥服务器上执行的 单一处理的组成部分。
7、根据权利要求1所述的加密密钥服务器,其中,所述加密服 务引擎用来执行加密以及解密功能。
8、根据权利要求7所述的加密密钥服务器,其中,所述加密和 解密功能包括:
对称密码;
通用密码模式;
序列密码模式;
公共密钥密码术;
用于公共密钥系统的填充方案;
密钥协议方案;
椭圆曲线密码术;,
单向散列函数;
消息鉴别编码;
基于散列函数的密码构造;
伪随机数产生器;
基于密码的密钥派生函数;
沙米尔的秘密共享方案和拉宾的信息分散算法(IDA);
具有gzip(RFC 1952)和zlib(RFC 1950)格式支持的DEFLATE (RFC 1951)压缩/解压缩;
快速多精度整数(大数)和多项式操作;
有限域算术,包括GF(p)和GF(2n);以及
质数产生和验证。
9、根据权利要求7所述的加密密钥服务器,其中,所述加密和解 密功能包括:
DES,3DES,AES,RSA,DSA,ECC,RC6,MARS,Twofish, Serpent,CAST-256,DESX,RC2,RC5,Blowfish,Diamond2,TEA, SAFER,3-WAY,Gost,SHARK,CAST-128,Square,Shipjack,ECB, CBC,CTS,CFB,OFB,计数器模式(CTR),Pannama,ARC4, SEAL,WAKE,Wake-OFB,Blumblumshub,ElGamal,Nyberg-Rueppel (NR),Rabin,Rabin-Williams(RW),LUC,LUCELG,DLIES(DHAES 的变形),用于公共密钥系统的ESIGN填充方案:PKCS#1 v2.0, OAEP,PSSR,IEE P1363 EMSA2,Diffie-Hellman(DH),联合 Diffie-Hellman(DH2),Menezes-Qu-Vanstone(MQV),LUCDIF, XTR-DH,ECDSA,ECNR,ECIES,ECDH,ECMQV,SHA1,MD2, MD4,MD5,HAVAL,RIPEMD-160,Tiger,SHA-2(SHA-256, SHA-384,和SHA-512),Panama,MD5-MAC,HMAC,XOR-MAC, CBC-MAC,DMAC,Luby-Rackoff,MDC,ANSI X9.17附录C,PGP 的RandPool,来自PKCS#5的PBKDF1和PBKDF2。
10、根据权利要求1所述的加密密钥服务器,其中,所述加密服 务引擎用来执行签名和验证功能。
11、根据权利要求10所述的加密密钥服务器,其中,所述签名和 验证操作包括RSA以及DSA。
12、根据权利要求1所述的加密密钥服务器,其中,所述加密服 务引擎用来执行散列法操作。
13、根据权利要求10所述的加密密钥服务器,其中,所述散列法 操作包括具有SHA-1的HMAC。
14、根据权利要求1所述的加密密钥服务器,其中,所述加密服 务引擎还用来在执行所述加密服务之前鉴别并且确定授权加密服务 的请求,并且作为执行所述加密服务的条件。
15、根据权利要求14所述的加密密钥服务器,其中,鉴别加密服 务的请求包括验证以下一组中一个或多个的身份,包括:
客户机,用于请求加密服务;
所述至少一个远程设备,所述客户机从所述至少一个远程设备请 求加密服务;
在所述至少一个远程设备上执行的功能或者程序。
16、根据权利要求14所述的加密密钥服务器,其中,确定授权加 密服务的请求包括:确定给予以下一组中的一个或多个授权特权,包 括:
客户机,用于请求加密服务;
所述至少一个远程设备,所述客户机从所述至少一个远程设备请 求加密服务;
在所述至少一个远程设备上执行的功能或者程序。
17、根据权利要求16所述的加密密钥服务器,其中,确定授权加 密服务的请求的操作还包括:确定所述加密服务的请求是否在与所述 加密服务的请求相关联的请求者的特权内。
18、根据权利要求1所述的加密密钥服务器,其中,所述加密服 务引擎用来跟踪加密服务的请求。
19、根据权利要求1所述的加密密钥服务器,所述加密密钥服务 器还包括:
私人密钥引擎,所述私人密钥引擎用于提供私人密钥,以由所述 加密服务引擎使用来执行加密服务。
20、根据权利要求1所述的加密密钥服务器,其中,所述加密密 钥服务器是网络安全装置。
21、根据权利要求1所述的加密密钥服务器,其中,所述加密密 钥服务器具有支持所述加密服务引擎和所述安全网络接口引擎的计 算机硬件结构体系,所述计算机硬件结构体系包括:
数据总线
双向连接到所述数据总线的中央处理单元;
双向连接到所述数据总线的永久存储设备;
双向连接到所述数据总线的临时存储设备;
双向连接到所述数据总线的网络I/O设备;
双向连接到所述数据总线的加密加速器卡;
双向连接到所述数据总线并用于存储私人密钥的硬件安全模块; 和
智能卡接口设备。
22、根据权利要求21所述的加密密钥服务器,其中,所述硬件安 全模块是防窜改设备。
23、根据权利要求21所述的加密密钥服务器,其中,所述私人密 钥载入所述硬件安全模块中并且以加密格式存储。
24、根据权利要求21所述的加密密钥服务器,其中,所述私人密 钥经由存储所述加密的私人密钥的智能卡被载入所述硬件安全模块 中。
25、根据权利要求24所述的加密密钥服务器,其中,所述加密密 钥服务器支持n中取k的秘密共享,从而使得所述私人密钥只能在插 入k个智能卡之后由所述加密密钥服务器来访问
26、一种加密密钥服务器,用于经由网络向连接到所述加密密钥 服务器的远程设备提供加密服务,所述加密密钥服务器包括:
双向连接到数据总线的加密加速器卡;
智能卡接口设备;
双向连接到所述数据总线并用于安全数据的硬件安全模块;和
其中,只有当n个智能卡中的k个被插入到所述智能卡接口设备 时才可访问所述安全数据。
27、一种应用程序服务器,其寄存多个应用程序,所述应用程序 服务器用于经由网络提供服务给多个客户机,所述应用程序服务器包 括:
加密应用程序接口(API),所述加密API提供了一套标准,所述 多个应用程序利用该套标准来调用多个加密服务,所述多个加密服务 中的至少一个由远程加密密钥服务器执行;和
安全网络接口引擎,所述安全网络接口引擎用于建立与所述远程 加密密钥服务器的安全网络通信信道。
28、根据权利要求27所述的应用程序服务器,其中,所述加密 API利用所述安全网络接口引擎来请求远程加密服务。
29、根据权利要求27所述的应用程序服务器,其中,所述加密 API作为Java密码术扩展(JCE)被提供给所述多个应用程序。
30、根据权利要求27所述的应用程序服务器,其中,所述加密 API经由加密服务提供者(CSP)来提供,并且所述加密API被实现 为动态链接库。
31、根据权利要求27所述的应用程序服务器,其中,所述加密 API经由MS-CAPI来提供。
32、一种执行多个功能和程序的设备,所述设备包括:
在所述设备上执行的安全网络接口引擎,所述安全网络接口引擎 用于建立与至少一个远程加密密钥服务器的安全网络通信信道,打包 并传输加密服务的安全请求到所述至少一个远程加密密钥服务器;以 及接收并解包对加密服务的请求的安全响应;和
在所述设备上执行并与所述安全网络接口引擎双向连接的加密应 用程序接口(API),所述加密API提供一套标准,所述多个功能和 程序利用该套标准调用相应的多个加密服务,其中,所述多个加密服 务的至少一个由所述至少一个加密密钥服务器远程地执行,所述加密 API响应于所述至少一个远程加密服务的请求,来利用该安全网络接 口引擎请求所述加密服务。
33、一种用于提供加密密钥服务的计算机实现的方法,所述方法 包括步骤:
在网络化密钥服务器上建立一套私人密钥;
在网络化设备与所述网络化密钥服务器之间建立安全网络通信信 道;
经由所述安全网络通信信道在所述网络化密钥服务器处接收来自 所述网络化设备的加密密钥服务的请求;
鉴别所述加密密钥服务的请求;
确定授权所述加密密钥服务的请求;以及
当所述请求被授权时,利用所述私人密钥,在所述网络化密钥服 务器处执行所述加密密钥服务的请求。
34、根据权利要求33所述的用于提供加密密钥服务的计算机实现 的方法,其中,所述在网络化服务器上建立私人密钥的步骤包括:加 密该套私人密钥的步骤。
35、根据权利要求33所述的用于提供加密密钥服务的计算机实现 的方法,其中,使用n中取k的秘密共享技术来执行所述加密该套私 人密钥的步骤。
36、根据权利要求33所述的用于提供加密密钥服务的计算机实现 的方法,其中,所述建立安全网络通信信道的步骤包括使用SSL协 议。
37、根据权利要求33所述的用于提供加密密钥服务的计算机实现 的方法,其中,所述建立安全网络通信信道的步骤包括使用TLS协 议。
38、根据权利要求33所述的用于提供加密密钥服务的计算机实现 的方法,其中,所述鉴别所述请求的步骤包括:鉴别以下一组中的一 个或者多个的身份的步骤,包括:
客户机,用于请求加密服务;
所述网络化设备,所述客户机从所述网络化设备请求加密服务; 和
在所述网络化设备上执行的功能或者程序。
39、根据权利要求33所述的用于提供加密密钥服务的计算机实现 的方法,其中,所述确定授权所述请求的步骤包括:确定给予以下一 组中的一个或多个的授权特权的步骤,包括:
客户机,用于请求加密服务;
所述网络化设备,所述客户机从所述网络化设备请求加密服务; 和
在所述网络化设备上执行的功能或者程序。
40、根据权利要求38所述的计算机实现的方法,其中,确定授权 所述请求的步骤包括:确定所述请求是否在与所述加密服务的请求相 关联的请求者的权利内的步骤。
41、根据权利要求33所述的计算机实现的方法,还包括步骤:跟 踪所有加密服务的请求。
42、一种用于提供网络化加密密钥服务的计算机实现的方法,所 述方法包括步骤:
在应用程序服务器内集成加密API;
经由所述加密API将加密服务提供给在所述应用程序服务器上执 行的多个应用程序;
在所述应用程序服务器与远程加密密钥服务器之间建立安全网络 通信信道;
在所述加密API处接收来自应用程序的加密服务的请求;
打包所述加密服务的请求,用以传输到所述加密密钥服务器;
经由所述安全网络通信信道传输所述打包的加密服务的请求到所 述加密密钥服务器;
经由所述安全网络通信通道接收对所述请求的响应;
解包所述响应;和
经由所述加密API提供一个可用的响应给所述请求的应用程序。
43、一种用于确保服务器系统内的加密密钥安全的方法,该方法 包括计算机实现的步骤:
在密钥服务器上存储用于对数据加密的多个加密密钥;和
其中,所述密钥服务器利用安全通信信道与所述服务器系统的至 少一个组件进行通信。
44、一种用于确保服务器系统内的加密密钥安全的方法,该方法 包括计算机实现的步骤:
将用于对数据进行加密的多个加密密钥存储在密钥服务器上;和
其中,所述密钥服务器是代表所述网络系统中至少一个组件的专 用网络装置,其执行加密操作。
45、根据权利要求44所述的方法,其中,所述加密操作包括在加 密套接字协议层(SSL)协议下的操作。
46、根据权利要求44所述的方法,其中,所述加密操作包括在传 输层安全(TLS)协议下的操作。
47、根据权利要求44所述的方法,其中,敏感数据仅以加密形式 存储在所述网络系统中。
48、一种加密密钥服务器装置,用于确保网络系统中的加密密钥 的安全,其中,所述加密密钥服务器存储多个加密密钥并且控制对所 述存储的加密密钥的访问。
49、根据权利要求48所述的加密密钥服务器装置,其中,所述访 问包括单独使用所述存储的加密密钥中的至少一个进行加密操作。
50、根据权利要求48所述的加密密钥服务器装置,其中,所述访 问包括单独使用所述存储的加密密钥中的至少一个进行解密操作。
51、一种加密装置,用于确保服务器系统中的敏感信息的安全, 包括:
数据通信总线
双向连接到所述数据通信总线的中央处理单元;
双向连接到所述数据通信总线的临时存储器
双向连接到所述数据通信总线的永久存储器;
双向连接到所述数据通信总线的网络I/O设备;
双向连接到所述数据通信总线的加密加速器单元;
硬件安全模块;和
连接到所述数据通信总线的智能卡接口。
52、一种用于在网络系统中提供加密服务的计算机实现的方法, 所述计算机实现的方法包括步骤:
将多个加密密钥安全地加载到密钥服务器上;
在所述网络系统的第一组件与所述密钥服务器之间建立安全传输 会话;
向所述密钥服务器鉴别包括所述第一组件的所述网络的一个或者 多个组件;
向所述密钥服务器确定包括所述第一组件的所述网络的所述一个 或者多个组件的授权;
从所述第一组件向所述密钥服务器作出加密操作的请求;
根据与鉴别和确定授权的步骤相关联的结果,确定是否由所述密 钥服务器执行所述请求;
如果所述请求被授权,那么在所述密钥服务器上执行所述请求的 加密操作;和
经由所述安全传输会话,从所述密钥服务器提供所述请求的加密 操作的结果给所述第一组件。
53、一种用于保护网络系统中的数据的方法,所述计算机实现的 方法包括步骤:
提供一个网络设备,用于截取并检查路由到应用程序服务器的数 据,其中,所述网络设备是共享一组密钥的预定的加密服务器组的一 部分,并且所述网络设备用于:
确定所述数据是否为敏感数据;
如果所述数据是敏感的,则加密所述数据以形成加密的数 据,其中,加密步骤包括:使用被所述预定的加密服务器组共享的一 组密钥;和
将所述加密的数据转发到所述应用程序服务器;
将所述加密的数据存储到与所述应用程序服务器相关联的存储 介质中;和
允许一个或者多个后端应用程序服务器来采用所述预定的加密服 务器组中的一个,以从所述存储介质中检索所述加密的数据,并且如 果所述一个或多个后端应用程序服务器被授权访问所述数据,则解密 所述加密的数据。

说明书全文

技术领域

发明一般地涉及数据安全领域,以及具体地涉及在网络环境中 提供加密网络服务并确保加密密钥安全。

背景技术

处理敏感内容的计算机系统于在网络传输和本地存储期间 保护该安全内容。例如,电子商务网站使用各种机制来在传输期间保 护用户信用卡号码以及用户密码。在客户计算机和网站之间的传输期 间,这些站点常常使用众所周知的加密套接字协议层(SSL)或传输 层安全(TLS)协议来保护所有敏感数据。
SSL和TLS通过利用一个只有网络服务器和客户计算机知道的会 话密钥(即:一个加密密钥)对数据进行加密从而在传输时保护数据。 根据这些协议,数据在到达接收网络服务器时被解密。接收服务器处 理数据(例如:验证信用卡号码),并且然后通常将敏感数据存储在 一个服务器数据库中。
用于建立网络客户机和内部网络服务器之间的SSL连接的加密 密钥都存储在相同的内部网络服务器中。同样地,当对将要存储在后 端应用程序服务器和数据库中的数据进行加密时,加密密钥存储在相 同的后端应用程序服务器中,其通常为不安全的平台。这样,存储在 相同的网络服务器和后端应用程序服务器上的加密密钥都容易被偷 窃。加密的数据仅仅与保护加密的数据的加密密钥的安全程度一样。
由于加密操作的处理需要,使得在其上直接进行加密操作的网络 服务器以及应用程序服务器的性能降低。在一种方法中,例如加密加 速器卡的昂贵硬件被使用在这些服务器中,以提高这些服务器的性 能。然而,成本的要求禁止在每个网络/应用程序服务器上安装昂贵 的加密加速器。
在需要加密服务的每个网络/应用程序服务器上不安装昂贵的加 密加速器的情况下,需要不同的结构体系来保护加密密钥以及提高加 密操作的性能。
附图说明
附图描述了本发明的实施例,在图中:
图1描述了根据本发明一个实施例的提供网络化加密服务的计算 机服务器环境10;
图2示意性地描述了根据本发明一个实施例的软件结构体系;
图3A描述了根据本发明一个实施例的适合于网络化加密密钥服 务器的硬件结构体系;
图3B描述了根据本发明一些实施例的用于备份和恢复相对于加 密服务器的私人密钥的操作150,该加密服务器支持组密钥的n中取k 秘密共享;
图4是描述根据本发明一个实施例的一个计算机实现的方法的流 程图,通过该方法,网络化加密密钥服务器可以提供加密服务;
图5是描述根据本发明一个方面的用于执行加密请求鉴别以及 授权分析的计算机实现的方法的流程图
图6是描述用于使在应用程序服务器上示例的应用程序能够通过 标准加密API来访问远程以及本地加密服务的计算机实现的方法的流 程图;
图7描述了根据本发明一些实施例的一个分布式加密服务计算环 境;
图8是显示根据本发明一些实施例的一个系统结构体系的方框 图,其中,一个网络安全装置提供网络化加密密钥服务;以及
图9是描述一个包括透明加密网络安全装置和加密密钥服务器的 网络结构体系的方框图
在图中,相同的参考数字表示相同或者基本相似的元件或者动 作。这里所使用的任何标题都只是为了方便,并不影响本发明的范围 和含义。

具体实施方式

图1描述了根据本发明一个实施例的提供网络化加密服务的计算 机服务器环境10。计算机服务器环境10包括多个客户机12、应用程序 服务器14、以及加密密钥服务器16,它们都经由计算机网络18双向连 接。计算机网络18可以采用任何合适的网络形式,例如因特网或者局 域网。双向连接到应用程序服务器14的是一个网络数据库20。应用程 序服务器14经由计算机网络18提供请求的服务给客户机12。客户机12 请求的服务可以具体地包括加密服务,或者可以满足加密服务的需 求。例如,客户机请求的服务可以要求在网络数据库20上存储敏感数 据,或者从网络数据库20中检索加密的数据。应用程序服务器14可利 用加密密钥服务器16来执行加密服务,这样,从而从应用程序服务器 14中卸载了加密服务的计算强度。
这里所提到的加密密钥服务器也被认为是一个网络化连接加密 设备。下面将详细描述加密服务的原理以及实现这些功能性的各种机 制。
图2示意性地描述了根据本发明一个实施例的用于应用程序服务 器52和加密密钥服务器54的软件结构体系50。图2的软件结构体系并 不局限于应用程序服务器,并且可以根据不同的实施而变化。任何数 目的计算机设备以及系统都可以作为加密密钥服务器54的客户机。在 优选实施例中,应用程序服务器52和加密密钥服务器54经由安全网络 通信信道56双向连接。安全网络通信信道56可以通过例如安全通信协 议SSL或TLS的任何合适的安全通信技术来实施。可替换地,安全信 道可以经由直接物理链路或者通过任何本领域技术人员所熟知的手 段来实现。基于软件的应用程序服务器52仅仅是需要加密密钥服务器 的加密服务的客户机的一个例子。
图2的应用程序服务器52包括多个应用程序60、加密应用程序接 口(API)62、以及安全网络接口引擎64。这些应用程序60是在应用 程序服务器52上所例示的并且执行的软件程序。这些应用程序60可以 为应用程序服务器52的本地用户提供服务,并且可以经由网络连接为 远程客户提供网络服务。
加密API62提供了一套标准,通过该标准,多个应用程序60可以 调用多个加密服务。根据本发明,所述多个加密服务中的至少一个由 加密密钥服务器54远程地执行。为了实现网络化加密密钥服务,加密 API62对远程加密服务的请求作出响应,以利用安全网络接口引擎64 来请求加密服务。
加密API62优选地是一个标准化的软件加密API,应用程序开发 者可以很容易地将其集成到他们的软件中。这样,加密API62可采用 与基本计算环境相关的特定形式。基本计算环境的几个例子包括 Java、Microsoft、PKCS#11/Cryptoki Provider、Oracle9i等,下面将立 即更详细地描述其中的一些环境。
在Java计算环境中,加密API62可提供(expose to)给应用程序 作为Java密码术扩展(JCE)。JEC可以由各种源使用或者调用,这些 源包括:Java服务器页面(JSP)、Java小服务程序、或者企业级Java Beans组件(EJB)。能够使用JCE的Java应用程序还可以由动态服务 器主页(ASP)调用。在本发明的其它一些实施例中,应用程序60可 以直接访问加密密钥服务器54,而不需要加密API62的帮助。
在例如微软的.NET的ASP计算环境中,可以经由加密服务提供商 (CSP)利用VBScript来提供加密功能,其中,Vbscript利用微软加密 API(MS-CAPI)来与CSP进行通信。在这种情况中,CSP或者加密 API被实施为动态链接库,该动态链接库给应用程序60提供了多个加 密操作。加密功能和加密API的上述说明是在网络应用程序服务器的 环境中进行的。然而,加密功能和加密API同样适用于基于非网络的 应用程序服务器,例如使用JCE的基于非网络的Java应用程序和调用 MS-CAPI的基于非网络的Windows应用程序等等。
安全网络接口引擎64被操作用来建立与远程加密密钥服务器54 的安全网络通信信道56。相似地,远程加密密钥服务器54被操作用来 建立与安全网络接口引擎64的安全网络通信信道56。在应用程序服务 器52与远程加密密钥服务器54之间建立了安全网络通信信道56之后, 操作安全网络接口引擎,例如来打包(marshal)并传输加密服务的安 全请求到远程加密密钥服务器54,接收并解包(unmarshal)对加密服 务的请求的安全响应,并且将该响应转发回到加密API62,而加密API 62提供对请求的应用程序60的响应。
可以想到的是,安全网络接口引擎64可以提供安全网络服务给应 用程序服务器,以用于提供应用程序60与应用程序服务器52的客户机 之间的安全通信信道。在图2中,加密API62和安全网络接口引擎64 呈现为两种不同的处理,每个都例示在应用程序服务器52中。这允许 对这些处理的每一个分别进行修改。然而,本发明的另一个实施例公 开了将加密API62和安全网络接口引擎64的功能设置为单一处理,或 者包含在应用程序60中。
更进一步参考图2,加密密钥服务器54包括加密服务引擎70、安 全网络接口引擎72、以及私人密钥引擎74。加密密钥服务器54适用于 经由安全网络通信信道56提供加密服务给连接到所述加密密钥服务 器的应用程序服务器52。操作安全网络接口引擎72,来建立与应用程 序服务器52的安全网络通信信道56,相似地,操作应用程序服务器52 来建立与安全网络接口引擎72的安全网络通信信道56。另外,操作安 全网络接口引擎72,来解包从应用程序服务器52接收的安全的加密服 务请求,以及打包并传输安全加密服务响应到应用程序服务器52。
在加密密钥服务器54上执行的加密服务引擎70与安全网络接口 引擎72双向连接。操作加密服务引擎70,以经由安全网络接口引擎72 来提供由应用程序服务器52所请求的加密服务。加密服务可以包括: 1)散列操作,以及2)签名以及验证操作,例如RSA和DSA。
提供给应用程序60的加密功能可以包括远程客户机最可能期望 的加密功能。这些加密功能必须在应用程序服务器52上执行或者更优 选地在加密密钥服务器54上执行,以从应用程序服务器52卸载执行加 密服务的负担。这样,优选地,加密服务引擎70能够执行没有设置在 应用程序服务器52上的任何提供的加密服务,典型的提供功能包括但 不局限于以下功能,例如加密和解密(例如,DES、3DES、AES、 RSA、DSA、ECC等)、签名和验证(例如,RSA、DSA等)、以及 散列法和验证(例如:SHA-1、HMAC等)。一般地,加密和解密功 能包括:
对称密码,
通用密码模式,
序列密码模式,
公共密钥密码术,
用于公共密钥的填充(padding)方案,
密钥协议方案,
椭圆曲线密码术,
单向散列函数,
消息鉴别编码,
基于散列函数的密码构造,
伪随机数产生器,
基于密码的密钥派生函数,
沙米尔的秘密共享方案和拉宾的信息分散算法(IDA),
具有gzip(RFC 1952)和zlib(RFC 1950)格式支持的DEFLATE (RFC 1951)压缩/解压缩,
快速多精度整数(大数)和多项式操作,
有限域算术,包括GF(p)和GF(2n),以及
质数产生和验证。
可以理解的是,私人密钥引擎74提供执行加密操作所需的私人密 钥给加密服务引擎70。可以通过本领域公知的各种机制以及本发明所 考虑的几种方法来生成和存储这些私人密钥。下面将参照图3来描述 用于产生并且处理私人密钥的一个优选实施例。
在图2中,加密服务引擎70和安全网络接口引擎72呈现为两种不 同的处理,每个都例示在加密服务引擎70上。这允许对这些处理的每 一个分别进行修改。然而,本发明的另一个实施例公开了将加密服务 引擎70和安全网络接口引擎72的功能设置为单一处理。
图3A描述了根据本发明一个实施例的一个硬件结构体系100,其 适用于例如图2所示的加密密钥服务器54的网络化加密密钥服务器。 硬件结构体系100包括中央处理单元(CPU)104、例如硬盘的永久存 储设备106、例如随机存取内存(RAM)的临时存储设备108、网络I/O 设备110、例如加密加速器卡的加密设备112、硬件安全模块(HSM) 114、以及智能卡接口116、它们经由数据总线102双向相连。其它附 加组件也可以作为硬件结构体系100的一部分。
根据图3A的一个实施例,私人密钥120被装入HSM 114中并且以 加密格式存储。在优选实施例中,HSM 114是一个防窜改设备。利用 只有一小组预定的加密密钥服务器知道的一组密钥来加密私人密钥 120。这些组密钥通过智能卡来保护。当在该预定的加密服务器组中 的其中一个上执行备份操作时,创建原始加密密钥的加密形式,作为 备份文件。只有作为该预定组设备中的一部分的加密服务器才能够使 用一个独立的加密密钥来对加密的密钥进行解密。
在一个实施例中,加密服务器还支持组密钥的n中取k秘密共享, 用于提高安全性。其意味着:加密服务器需要智能卡来进行私人密钥 的备份与恢复。例如,组密钥信息分布在一组五个智能卡上(n)上, 优选地,可以进行如下设定,即,使得只有在插入三个智能卡(k) 到智能卡读卡器116之后才可以访问组数据。任何利用少于三个智能 卡来对数据进行访问的企图都会失败。使用n中取k方案确保了数据的 安全性;如果单个卡被盗窃,盗窃者也不能访问存储在HSM 114上的 配置数据,这是因为盗窃者没有足够的卡来满足上述n中取k方案。根 据一些实施例,图3B描述了用于备份和恢复相对于一个加密服务器的 私人密钥的操作150,其中,该加密服务器支持组密钥的n中取k秘密 共享。在步骤152,接收用于备份与恢复私人密钥的请求。在步骤154, 响应于备份的请求,确定n个智能卡中的至少k个是否已经插入到与做 出备份请求的加密服务器相关联的一个智能卡接口设备中。如果确定 n个智能卡中的至少k个没有被插入,则在步骤156,拒绝备份与恢复 的请求。如果确定n个智能卡中的至少k个已经插入,则在步骤158, 同意备份与恢复的请求。
参考图4,将描述根据本发明一个实施例的一个计算机实现的方 法200,通过该方法,例如加密密钥服务器16或54的网络化加密密钥 服务器可以提供加密服务。在初始步骤202,在网络化密钥服务器上 建立一套私人密钥。这些私人密钥可以根据任何合适的机制来创建并 且维持。在优选实施例中,这些私人密钥被存储在一个防窜改硬件设 备中并且不是分布在网络上,而是通过例如参考图3的HSM 114的上述 处理的处理来管理。对于已经在网络化密钥服务器上建了一套私人密 钥的给定应用程序服务器,随后的加密服务的请求不包括步骤202。
在下一个初始步骤204,在应用程序服务器和加密密钥服务器之 间建立了一个安全网络通信信道。在一些实施例中,在客户机的任何 特定加密服务的请求之前,在应用程序服务器和密钥服务器之间建立 连接池。可以无限期地维持连接池,或者可以由于没有激活而断开连 接池。建立安全连接的是一个很重要的处理,因此一旦建立安全连接, 则维持安全连接就是有效的。可以使用SSL和TLS、或者本领域中所 共知的任何合适方法来建立安全信道。在很多情况下,可以使用具有 服务器和客户机凭证的HTTP。另外,在步骤204,验证(例如鉴别) 请求实体的身份。如果合适的话,这包括:应用程序服务器身份的验 证、在应用程序服务器上执行的应用程序身份的验证、以及应用程序 服务器的客户机请求服务的识别。如果请求实体的鉴别失败,那么拒 绝该加密服务的请求。另外,在一些实施例中,当请求实体的鉴别失 败时,处理控制转到步骤216,执行下面解释的与失败的服务请求相 关的内务处理功能。
一旦在步骤202已经建立了私人密钥,而且在步骤204已经建立了 安全网络通信信道,并且鉴别处理已经完成,加密密钥服务器便可以 被用来提供加密服务。因此,在步骤206,密钥服务器经由安全信道 接收一个加密服务的请求。在接收加密服务请求时,密钥服务器将来 自加密的网络格式的请求解开。正如以上参考图2所述,在一些实施 例中,这可以通过安全网络接口引擎来执行。在步骤208,密钥服务 器将执行对加密服务请求的授权分析。步骤208的授权分析确定请求 的服务是否应该被提供给请求的客户机。下面参考图4,将更详细地 描述步骤208的一个实施例。
当步骤208确定可以执行请求时,处理控制从步骤208转到执行请 求的加密服务的步骤210。例如,应用程序服务器可以请求特定的数 据被加密或者解密。在步骤212,加密密钥服务器经由安全信道响应 应用程序服务器。这包括打包数据为安全格式,用于通过网络来传输。 在下一个步骤214,执行与授权的请求的满足相关的各种内务处理功 能。在一些实施例中,这些包括维持与加密请求(时间、客户机身份、 请求的服务、满意的完成等)相关的数据库。
当步骤208确定由于在步骤208的鉴别失败导致请求不可以被执 行时,步骤216执行与失败的服务请求相关的内务处理功能。在一些 实施例中,这包括维持一个与加密请求(时间、客户机身份、请求的 服务等)相关的数据库。这个数据库可以用来估计是否受到攻击,或 者确定系统中的错误。
下面转到图5,现在,将更详细地描述根据本发明一个方面的用 于执行加密请求的授权分析的一个计算机实现的方法208。正如以上 参照图4所述,当一个远程应用程序服务器请求加密密钥服务器执行 应用程序服务器的特定加密功能时,则调用方法208。在第一步骤250 中,确定给予应用程序服务器、应用程序以及客户机的授权特权。如 果不能确定给予应用程序服务器、应用程序、以及客户机的授权特权, 那么认为步骤250的授权测试失败。当步骤250的授权测试失败时,则 在步骤252拒绝请求。当步骤250的授权测试成功时,则步骤254确定 特定的请求是否在请求实体的权利内。例如,应用程序服务器上运行 的某一个的应用程序可能不会被授权来解密某些数据,或者简单地可 能不会被授权来解密不管任何数据,即使相同的应用程序可能被授权 来解密数据。在任何情况下,当请求不在请求实体的权利内时,在步 骤252拒绝请求。当请求在请求实体的权利内时,在步骤256同意请求, 并且处理控制继续,以执行所请求的加密服务。
参照图6,现在将描述一个计算机实现的方法300,该方法用于使 在应用程序服务器上例示的应用程序能够通过一个标准的加密API来 访问远程以及本地的加密服务。步骤302和304是初始化步骤,使得加 密服务对应用程序是可利用的。在步骤302,在应用服务器内集成一 个标准的软件加密API。正如以上参照图2所详细地讨论的那样,加密 API可以根据应用程序服务器的特定计算环境(Java、Microsoft等) 而设计。在步骤304,加密服务被用于提供给在应用程序服务器上例 示的应用程序,以便服务请求可以在执行应用程序中作出。加密提供 者允许程序员利用加密API可用的标准密码术来开发应用程序软件。
在步骤306,一个应用程序调用加密函数,并且加密API接收该服 务请求。该请求被加密API处理,以确定该请求是应当传送到远程加 密服务器还是在本地执行,或者应用程序服务器也可能在允许加密服 务的请求传送之前在本地执行一些验证和授权。当请求被传输到远程 加密服务器时,步骤308打包并且传输请求。在优选实施例中,安全 网络接口引擎经由前面建立的安全网络传输信道来执行打包和传输。 在步骤310,应用程序服务器接收并解包一个对加密服务请求的响应。 在优选实施例中,安全网络接口引擎经由前面建立的安全网络传输信 道来执行响应的接收和解包。该响应被提供给加密API,并且在步骤 312,加密API以合适的格式提供响应给请求应用程序。
图7描述了根据本发明一些实施例的分布式加密服务计算环境 400。计算环境400包括多个加密密钥服务器402、多个应用程序服务 器404、以及多个客户机406,它们都经由例如因特网的广域网408双 向相连。加密密钥服务器402和应用程序服务器404可以采用任何合适 的形式。例如,以上参照图1到3所描述的实施例都是适用的。
考虑各种用于实现分布式加密服务计算环境400的操作的方法。 例如,多个加密密钥服务器402都以独立的方式来进行操作,每个加 密密钥服务器都以独立的方式来提供服务。可替换地,一个特定的加 密密钥服务器402可以作为所有服务的管理器,根据预定的负载平衡 方案,将所有请求从应用程序服务器404引导到其它加密密钥服务器 402。
图8显示了一个其中网络安全装置提供网络化加密密钥服务的系 统结构体系500的方框图。系统结构体系500包括多个客户机502、例 如因特网的广域网504、网络安全装置506、以及应用程序服务器508。 除网络安全装置506外,通过参考图1到7的以上描述可以容易地理解 图8中的所有其它元件。
网络安全装置506物理地位于应用程序服务器508和网络504之 间。本领域技术人员都熟悉网络安全装置以及其一般操作。网络安全 装置506可以提供的一些服务包括:客户机502与应用程序服务器508 之间的安全传输、减少应用程序服务器上的负担并且改善对用户的响 应时间的安全缓存、SSL和TLS的加速、透明的加密服务、客户机鉴 别等等。根据图8的实施例,网络安全装置506还提供加密密钥服务给 应用程序服务器508,网络安全装置506具有一个如上参照图2的加密 密钥服务器54所述的软件结构体系。同样地,网络安全装置506具有 一个如上参照图3的加密密钥服务器所述的硬件结构体系100。以上参 照图4-6所描述的方法也可以很好地应用于网络安全装置506以及应 用程序服务器508的操作。
图9是显示一个网络结构体系600的方框图,该网络结构体系600 包括:多个客户机602、例如因特网的广域网604、透明加密装置606、 多个应用程序服务器608、局域网610、至少一个加密密钥服务器612、 两个或者更多网络数据库614、以及多个后端服务器616。正如在相关 专利申请中所述的,透明加密装置606被构造用来检查所有经由网络 604进入站点的请求,并且利用已经安装的私人密钥120的其中一个来 加密敏感数据。透明加密装置606和加密密钥服务器612是共享组密钥 的一个预定TE装置组的成员,并且装载了相同的私人密钥120。多个 应用程序服务器608能够经由局域网610从加密密钥服务器612请求加 密服务,正如后端服务器616一样。
为了示例性目的,假设客户机602以一个金融机构注册到因特网 上。在这个例子中,应用程序服务器608是一个网络服务器,并且客 户机602经由安全会话提供信用卡号码到网络604上的网络服务器 608。TE装置606检测到信用卡号码是敏感信息,并且利用安装的私 人密钥120之一来加密该数据,使得网络服务器608不是没有阻碍的来 管理该敏感信息。类似地,信用卡号码只能以加密的形式存储在网络 数据库614中。后端服务器616需要访问客户信用卡号码,以检索帐户 信息,并且向加密密钥服务器612提出一个请求,以解密信用卡号码。 在这个例子中,后端服务器616被授权访问客户信用卡号码,并且因 此加密密钥服务器612正如所请求的那样解密信用卡号码。
这里的附图和讨论提供了适合的计算环境的一个简单的、总的说 明,在该计算环境中可以实现本发明的多个方面。尽管没有要求,但 本发明的多个实施例以计算机可执行的指令的总的上下文来描述,例 如,由通用计算机(例如:服务器或者个人计算机)所执行的程序。 本领域技术人员应该理解,可以以其它计算机系统配置来实现本发明 的各个方面,包括:因特网装置、手持设备、便携式计算机、蜂窝或 者移动电话、多处理器系统、基于微处理器或者可编程的消费电子设 备、机顶盒、网络个人计算机(PC)、微型计算机、大型主机等等。
本发明的若干方面可以以专用计算机或者数据处理器来实现,具 体地编程、配置、或者构造专用计算机或者数据处理器以执行以下将 详细说明的计算机可执行指令的一个或者多个。实际上,通常使用在 此的术语“计算机”是指以上设备中的任何一个,以及任何数据处理 器。另外,在这里通常使用的术语“处理器”是指任何逻辑处理单元, 例如,一个或多个中央处理单元(CPU)、数字信号处理器(DSP)、 专用集成电路(ASIC)等等。
在前面的说明中,参考多个根据实施而变化的特定细节描述了本 发明的实施例。这样,申请人的发明的唯一并且绝对的指示是以特定 形式的从本发明中产生的包括随后更改的一套权利要求,其中这些权 利要求以特定形式产生。在此对包含在这些权利要求中的术语所阐述 的任何表达定义应当指导在权利要求中所使用的这些术语的意义。因 此,在权利要求中没有明显地描述的限制、元件、性质、特征、优势 以及属性不应当以任何形式限制该权利要求的范围。因此,说明书和 附图都被认为是说明性的而不是限制性的。
在此引用的所有参考文件以及美国专利和申请都作为参考文件 结合在此。如果需要,可以修改发明的多个方面,以采用在这里所描 述的各种专利和申请的系统、功能以及概念来提供发明的其它实施 例。根据这里的详细描述,可以对本发明做出这些或者其它改变。
虽然本发明的一些方面以以下的一些权利要求形式出现,但是发 明人考虑到了以任何数量的权利要求形式的本发明的各个方面。例 如,虽然,本发明的一个方面描述为在计算机可读介质中实施,但是 类似地,其它方面也可以在计算机可读介质中实施。因此,发明人保 留在提交申请之后添加附加权利要求的权利,以对于发明的其它方面 要求附加权利要求的形式。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈