专利名称:文件加密/解密方法、装置、程序以及存储了该程序的计算机可读记录介质的制作方法
技术领域:
本发明涉及使用计算机来对文件进行加密和解密的技术。
背景技术:
文件加密对于限制保密文档等的阅读者和当通过网络传输时防
止信息的泄露是必要的。以下加密方法是公知的对称密钥密码术, 对加密和解密使用相同的密钥(对称密钥);和公开密钥密码术,使 用一对不同的密钥,即公开密钥和秘密密钥。另外,还有各种加密/ 解密算法。在下述非专利文献中详细地描述了加密和解密。
非专利文献1: S. Nishio等,"Iwanami Lecture Series, Multimedia Information Science 7, Sharing and Integrating Information", Iwanami Shoten Co.,第1版,1999年12月6曰,第143-158页
发明内容
发明所要解决的技术问题
近年来,企业的保密信息被泄露到企业外部的事件发生多起,其 中很多对企业的经营造成严重损害。因此,作为防止保密信息泄露的 对策,需要对文件进行加密管理。而且,需要在职员在企业内所使用 的个人计算机中统一安装用于加密和解密文件的软件。
但是,对文件进行加密意味着只有具有解密被加密文件的密钥的 人才能确认文件的内容。因此,即使将加密软件在整个企业内统一, 如果被允许访问保密信息的人将该信息加密并将加密后的信息带到企 业外,另一个人也无法容易地确认和检查被加密文件的内容,从而会 延迟对保密信息泄露的发现,从而导致损害的扩大。
上述问题的一个解决方案例如是这样一个系统,它具有在整个企 业内统一的加密软件,将所有用于加密和解密的密钥进行登记,并安 排由具有预定权限的人来管理。然而,在这种情况下,要管理的密钥 数量很大,从而是不可行的。实质上不可能管理秘密生成的密钥。
解决技术问题的技术方案
考虑到上述问题,本发明的发明人考虑应包括在企业内统一使用 的加密/解密程序的功能而提出本发明。本发明的一个目的是提供一种 文件加密/解密方法、装置和程序,其中可以自由地生成用于加密的密 钥,并且使用该密钥加密后的文件可以利用由级别高于该文件的生成 者的监督者管理的"主密钥"来解密,并且其中主密钥本身能够被严格 地管理。
本发明的一个方面是一种文件加密/解密方法,计算机利用该方 法执行加密文件的文件加密处理和解密所加密的文件的文件解密处 理,
所述文件加密处理包括
对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);
文件加密步骤,利用所述对话密钥来加密明文文件(fl),以生 成加密文件(f2);
第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加 密所述对话密钥(al),以生成加密对话密钥(a2);
第二加密步骤,利用公开密钥密码术类型的公开密钥(cl)来加 密所述对话密钥(al),以生成加密对话密钥(a3);以及
组合文件生成步骤,生成包括所述加密文件(f2)和所述加密对 话密钥(2, a3)的组合文件,
所述文件解密处理包括
文件分离步骤,将所述组合文件分离成所述加密文件(f2)和所 述加密对话密钥(a2, a3);
明文文件解密步骤,如果所述计算机存储了所述对话密钥(al), 则利用所述对话密钥(al)将所述加密文件(f2)解密成所述明文文
件(f 1);
第一解密步骤,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥 (a2)解密成所述对话密钥(al),然后执行所述明文文件解密步骤; 以及
第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥 (a3)解密成所述对话密钥(al),然后执行所述明文文件解密步骤。 该文件加密/解密方法可以调整成 所述文件加密处理包括
口令输入步骤,通过用户输入接收口令(pl);
对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);
文件加密步骤,利用所述对话密钥来加密明文文件(fl),以生 成加密文件(f2);
对话密钥修改步骤,使所述对话密钥(al)与所述口令(pl)相 关联,并生成通过按照预定的算法修改所述对话密钥(al)而获得的 修改对话密钥(a4);
第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加 密所述口令(pl),以生成加密口令(p2);
第二加密步猓,利用公开密钥密码术类型的公开密钥(cl)来加 密所述口令(pl),以生成加密口令(p3);以及
组合文件生成步骤,生成包括所述加密文件(f2)、所述l务改对 话密钥(a3)和所述加密口令(p2, p3)的组合文件,
所述文件解密处理包括
文件分离步骤,将所述组合文件分离成所述加密文件(f2)、所 述修改对话密钥(a4)和所述加密口令(p2, p3); 口令输入步骤,通过用户输入接收口令;
明文文件解密步骤,如果所输入的口令与所述口令(pl)相匹配, 则按照所述算法将所述修改对话密钥(a4)恢复成所述对话密钥(al),
并且利用对话密钥(al)将所述加密文件(f2)解密成所述明文文件 (fl);
第一解密步骤,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密口令(p2) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密步骤;以及
第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密口令(p3) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密步骤。
替代地,该文件加密/解密方法还可以调整成
所述文件加密处理包括
口令输入步骤,通过用户输入接收口令(pl);
修改对话密钥生成步骤,按照预定的算法将所述口令(pl)修改 成对称密钥密码术类型的对话密钥(p4);
对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);
文件加密步骤,利用所述对话密钥(al)来加密明文文件(fl), 以生成加密文件(f2);
验证数据生成步骤,根据所述对话密钥(al)生成对话密钥的验 证数据(dl);
第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加 密所述对话密钥(al),以生成加密对话密钥(a2);
第二加密步骤,利用公开密钥密码术类型的公开密钥(cl)来加 密所述对话密钥(al),以生成加密对话密钥(a3);
第三加密步骤,利用所述对话密钥(dl)来加密所述对话密钥 Ul),以生成加密对话密钥(a5);以及
组合文件生成步骤,生成包括所述加密文件(f2)、所述验证数 据(dl)和三个加密对话密钥(a2, a3, a5)的组合文件,
所述文件解密处理包括
文件分离步骤,将所述组合文件分离成所述加密文件(f2)、所 述验证数据(dl)和所述三个加密对话密钥(a2, a3, a5); 口令输入步骤; 修改对话密钥生成步骤;
明文文件解密步骤,利用所述对话密钥(al )将所述加密文件(f2 ) 解密成所述明文文件(fl);
第一解密步骤,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥 (a2)解密成所述对话密钥(al),根据所述验证数据(dl)验证所 述对话密钥(al),然后执行所述明文文件解密步骤;
第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥 (a3)解密成所述对话密钥(al),根据所述验证数据(dl)验证所 述对话密钥(al),然后执行所述明文文件解密步骤;以及
第三解密步骤,利用在所述修改对话密钥生成步骤中生成的所述 对话密钥(dl)将所述加密对话密钥(a5 )解密成所述对话密钥(al), 根据所述验证数据Ul)验证所述对话密钥(al),然后执行所述明 文文件解密步骤。
在该文件加密/解密方法中,可以利用公开密钥密码术类型的秘 密密钥(e2)对所述秘密密钥(c2)进行数字认证,并且在所述文件 解密处理中,只有在根据对应于所述秘密密钥(e2)的公开密钥(el) 对所述计算机中的秘密密钥(x)进行验证并且所述秘密密钥(x)被 验证为所述秘密密钥(c2)时,才执行所述第二解密步骤。
另外,该文件加密/解密方法可以调整成利用公开密钥密码术 类型的秘密密钥(e2)对所述公开密钥(cl)进行数字认证,并且在 所述文件加密处理中,只有在根据对应于所述秘密密钥(e2)的>^开 密钥(el)对所述计算机中的公开密钥(y)进行验证并且所述公开密 钥(y)被验证为所述公开密钥(cl)时,才使所述文件加密处理的其 它步骤有效。
根据本发明,还提供一种执行文件加密/解密方法的装置和程序 以及存储了该程序的计算机可读记录介质。 <相关申请的交叉引用>
本申请要求2005年1月28日提交的日本专利申请No. 2005-21359的优先权,该申请的全部内容通过引用结合在本申请中。
图1是示出将本发明一个实施例的文件加密/解密程序存储在记 录介质中的情形的示意图。
图2是示出上述程序的加密处理的示意图。
图3是示出上述程序的解密处理的示意图。
图4示出加密处理的流程图(A)和解密处理的流程图(B)。
图5是示出上述程序的修改例的第一处理方法的加密处理的示意图。
图6是示出第一处理方法的解密处理的示意图。
图7是示出上述程序的修改例的第二处理方法的加密处理的示意图。
图8是示出第二处理方法的解密处理的示意图。 符号说明
1产品公开密钥;2产品秘密密钥;11企业公开密钥;13企业 秘密密钥;15组公开密钥;16组秘密密钥;21对话密钥;31明文 文件;32加密文件;41-43组合文件;51 口令
具体实施例方式
本发明实施例的文件加密/解密程序被存储在CD-ROM等介质中 来提供,并且被安装在计算机中。在本实施例中,程序的销售者使用 唯一的许可码来管理与该销售者締结了许可协议的企业。销售者为每 个许可码生成公开密钥和秘密密钥,并将所生成的公开密钥(企业公 开密钥)和秘密密钥(企业秘密密钥)以及程序本体存储在CD-ROM
中,并将其交付给每个企业。具体地说,销售者生成和管理公开密钥 密码术类型的公开密钥(产品公开密钥)和秘密密钥(产品秘密密钥), 该产品秘密密钥和产品公开密钥在相同的、作为产品的程序间是共用 的。该程序包括利用产品秘密密钥加密的企业公开密钥(加密企业么、 开密钥)和对应于安装在计算机中以执行各种处理的程序本体的代码。
销售者将存储了被编译后的这些密钥和代码的CD-ROM交付给有关 的企业。注意,可以使得产品公开密钥可以从认证机构或销售者的网 站下栽,或者可以从存储了程序的同一 CD-ROM中获得。
图1示意性地示出程序被存储在CD-ROM中的状态。被交付给 企业的是存储了利用产品秘密密钥1将企业公开密钥11加密后得到的 加密企业公开密钥12和描述程序的代码3的CD-ROM 4和存储了通 过使用产品秘密密钥1在企业秘密密钥13上进行数字签名后得到的签 名产品秘密密钥14的CD-ROM 5。注意,利用产品秘密密钥1加密 企业公开密钥11在含义上与利用产品秘密密钥1在企业公开密钥11 上进行数字签名基本等同。而且,可以通过利用产品秘密密钥l将企 业秘密密钥13本身加密、或者通过利用产品秘密密钥l将按照散列函 数等预定算法生成的企业秘密密钥13的摘要加密,来实现企业秘密密 钥13的数字签名。在摘要被加密的情况下,可以将企业秘密密钥13 本身与签名一起存储在CD-ROM 5中。注意,如果企业秘密密钥13 可以被严格管理,则不必对企业秘密密钥13进行数字认证,可以存储 和保存在管理者的计算机中.同样,企业公开密钥14可以在不加密的 情况下存储在CD-ROM 4中。
===在企业中的利用==-
在本实施例中,假定来自CD-ROM 4的程序被存储职员在企业 中所使用的所有计算机中,并且禁止使用其它的加密/解密程序。另外, 该程序包括生成公开密钥密码术类型的公开密钥和秘密密钥的功能, 并且,对于每个部门,其主管在他/她的计算机上生成公开密钥(组公 开密钥)和秘密密钥(组秘密密钥),并将该公开密钥分发给部门中 的其它职员的计算机。
---密码处理系统==-
按照本实施例的方法对文件进行加密和解密的计算机(以下称为 密码处理系统)按照对称密钥密码术并利用秘密密钥(以下称为对话 密钥)来加密有关的明文文件,并且使用按照公开密钥密码术并利用 公开密钥加密对话密钥的公知的"数字信封,,技术。这样可以在企业中 同时实现文件保密管理和泄露的快速发现。
图2和图3示意性地示出利用密码处理系统的文件加密和解密。 图4 (A)和(B)分别示出加密和解密的处理流程。首先,生成对话 密钥21 (sl),并利用对话密钥21将有关的明文文件31加密成加密 文件32 (s2)。利用组4Hf密钥15将对话密钥21加密成组加密对话 密钥22(s3)。通过利用产品公开密钥2来解密加密企业公开密钥12, 得到企业公开密钥11,并且利用企业公开密钥11将对话密钥21加密 成企业加密对话密钥23 (s4—s5)。然后,生成包含通过上述处理生 成的加密文件32、组加密对话密钥22以及企业加密对话密钥23的组 合文件41 (s6)。在本实施例中,禁止不通过企业公开密钥11的解 密(s4)来生成企业加密对话密钥23。如果不通过企业公开密钥11 的解密(s4)而读入企业公开密钥11,则显示不能加密明文文件31 的声明,执行例如使到该点为止的加密处理无效等的错误处理(s7), 并且结束程序的执行。这样,防止以未授权的方式获得企业公开密钥 11的人假装成明文文件31的生成者。当然,可以在加密处理的开始 执行企业公开密钥的解密,是继续后续的处理还是停止可以根据解密 结果来决定。
在解密中,首先,将组合文件41分离成加密文件32、组加密对 话密钥22以及企业加密对话密钥23 (sll)。如果执行解密处理的密 码处理系统具有对话密钥21,则利用对话密钥21将通过分离得到的 加密文件32解密成明文文件31 (sl2—s15)。同时,即使系统不具有 对话密钥21,如果具有组秘密密钥16,则通过利用组秘密密钥16来 解密组加密对话密钥22,来得到对话密钥21,并利用对话密钥21将 加密文件32解密成明文文件31 (sl2—s13—s14—s15)。而且,即使
21
系统既没有对话密钥21也没有组秘密密钥16,如果它具有签名企业 秘密密钥14,则利用产品公开密钥1来验证签名企业秘密密钥14 (sl2—s13— s16),并且使用验证后的密钥作为企业秘密密钥13, 将企业加密对话密钥23解密成对话密钥21 (sl6—s17)。然后,利用 该对话密钥21将加密文件32解密成明文文件31 (sl5)。如果验证 失败,则认为企业秘密密钥13是以非授权方式获得的,执行例如显示 不能解密加密文件32的声明的错误处理(sl8),并且结束处理的执 行。
可以将密码处理系统应用于例如监视通过网络从企业内部传输 到外部的文件的公知的数据包嗅听技术。具体地说,通过设置利用数 据包嗅听来监视网络并且具有密码处理系统的功能、组秘密密钥和企 业秘密密钥的主机,如果职员试图利用由该职员生成的对话密钥来加 密文件并将该文件通过网络传输给企业外部的人,则可以在没有获得 对话密钥和执行解密的情况下快速地检查文件的内容。目前,在检查 文件是否仅限于内部使用时,获得对话密钥和执行解密需要大量的时 间和工作。
---操作环境---
在上述实施例中,即使生成者也无法看到描述对话密钥21的代 码。在这样的加密过程中,程序针对每个对话密钥21生成专用的文件 夹(管理文件夹),来管理将要加密或解密的文件,当密码处理系统 接收到将明文文件31存储到管理文件夹中的用户输入时,利用该文件 夹的对话密钥21将明文文件31加密,并将包括加密文件32和通过利 用组公开密钥15或企业公开密钥ll加密对话密钥21而得到的加密对 话密钥的组合文件41存储在管理文件夹中。响应于从管理文件夹中读 出组合文件41的用户输入,可以按照根据由接收到用户输入的密码处 理系统管理的解密密钥的种类(对话密钥21、组秘密密钥16或企业 秘密密钥13)决定的方式,从组合文件41获得明文文件31。
==-与口令相关联的加密/解密处理==-
例如当在管理文件夹中存储明文文件31或从存储在管理文件夹
中的组合文件41获得明文文件31时,可以将操作环境配置成要求口 令。在这种情况下,可以考虑以下两种方法第一和第二处理方法。
图5示意性地示出第一处理方法的加密处理。在加密处理中,首 先接收和存储由用户输入的口令51。生成对称密钥密码术类型的对话 密钥21,并且生成通过将对话密钥21修改成如果口令51不正确则无 法使用修改后的对话密钥的形式而得到的修改对话密钥24 (s21)。 例如,按照预定的算法来修改对话密钥21,将通过使口令与修改对话 密钥相关联而生成的数据作为修改对话密钥24管理。
接着,利用对话密钥21将明文文件31加密成加密文件32( s22 )。 然后,利用组公开密钥15和企业公开密钥11将口令51加密,从而生 成组加密口令52和企业加密口令53 (s23, s24),并且生成包括加密 文件32、修改对话密钥24、组加密口令52和企业加密口令53在内的 组合文件42 ( s25 )。
图6示意性地示出第一处理方法的解密处理。在加密文件32的 解密处理中,首先,将组合文件42分离成加密文件32、修改对话密 钥24、组加密口令52和企业加密口令53 (s31)。除了该分离以外的 处理取决于由密码处理系统管理的解密密钥(口令51、组秘密密钥16 或企业秘密密钥13)而不同。
当接收到从管理文件夹读出组合文件42的用户输入等适当的解 密指令时,密码处理系统检查其管理的解密密钥。如果管理有口令, 则密码处理系统提示用户通过其用户界面输入口令51 。如果通过用户 输入正确地输入了 口令51,则将修改对话密钥24恢复成对话密钥21, 并利用该对话密钥21将加密文件32解密成明文文件31 ( s32—s33 )。
如果管理有组秘密密钥16,则密码处理系统通过响应于解密指令 利用组秘密密钥16来解密组加密口令52而得到口令51。然后,利用 口令51将修改对话密钥24恢复成对话密钥21,并利用该对话密钥21 将加密文件32解密成明文文件31 ( s34—s32—s33 )。在基于企业秘 密密钥13的解密处理中,利用产品公开密钥来验证已认证的企业秘密 密钥,并且利用企业秘密密钥13来解密企业加密口令53以获得口令
51。然后,将修改对话密钥恢复成对话密钥并将加密文件解密 (s35—s32—s33 )。
至于与口令相关联的加密/解密处理的第二处理方法,在图7中
示意性地示出其加密处理,并且在图8中示意性地示出其解密处理。 在加密处理中,首先接收和存储由用户输入的口令51。生成对称密钥 密码术类型的对话密钥21。然后,利用对话密钥21将明文文件31加 密成加密文件32 (s41)。另外,从对话密钥21等适当的数据61生 成验证数据62 (s42)。验证数据62例如可以是利用散列函数将对话 密钥21进行转换而成的散列值,或者是随机数与利用对话密钥21将 该随机数加密而成的加密随机数的组合。
接着,生成按照预定算法将口令51修改后的口令修改对话密钥 25,该口令修改对话密钥25是与在加密明文文件31时使用的对话密 钥21不同的、对称密钥密码术类型的对话密钥(s43)。注意,可以 按照适当的算法来生成口令修改对话密钥25,例如利用散列函数将可 变长度的口令51转换成固定长度的口令修改对话密钥25。
然后,分别利用口令修改对话密钥25、组公开密钥15和企业公 开密钥11将对话密钥21加密成口令加密对话密钥26、组加密对话密 钥22和企业加密对话密钥23 (s44、 s45、 s46 )。然后,生成包括加 密文件32、验证数据62、 口令加密对话密钥26、组加密对话密钥22 和企业加密对话密钥23的组合文件43 ( s47 )。
在加密文件32的解密处理中,首先将组合文件43分离成加密文 件32、验证数据62、 口令加密对话密钥26、组加密对话密钥22和企 业加密对话密钥23 (s51)。与第一处理方法相同,除了该分离(s51) 以外的处理也取决于由密码处理系统管理的解密密钥(13、 16、 51) 而不同。
如果在密码处理系统中管理有口令51,则口令的用户输入可以响 应于解密指令来接收。如果输入了正确的口令51,则按照上述算法从 该口令51生成口令修改对话密钥25,并且通过利用口令修改对话密 钥25对口令加密对话密钥26进行解密,来获得对话密钥21 (s53)。
注意,在第二处理方法中,利用验证数据62对在解密处理中获 得的对话密钥(以下称为密钥x)进行验证(s54),如果该密钥x不 是以授权方式获得的对话密钥21,则不允许将加密文件32解密成明 文文件31。例如,如果验证数据62是对话密钥21的散列值,则比较 密钥x的散列值和验证数据62的散列值。如果两个散列值匹配,则将 密钥x验证为对话密钥21。如果验证数据62由随机数和加密随机数 构成,则可以将验证数据62中的随机数与通过利用密钥x对加密随机 数进行解密而获得的随机数进行比较。如果在验证过程(s54)中将所 恢复的密钥x认证为授权对话密钥21,则利用该授权对话密钥21将 加密文件32解密成明文文件31 (s55)。
如果在密码处理系统中管理有组秘密密钥16,则利用组秘密密钥 16来解密组加密对话密钥22 (s56),如果通过该解密获得的密钥x 如上所述被认证为对话密钥21,则利用该对话密钥21将加密文件32 解密成明文文件31 ( s56—s54—s55 )。如果管理有企业秘密密钥13, 则通过利用企业秘密密钥13进行的企业加密对话密钥23的解密处理 和利用该解密处理获得的密钥x的认证处理,将加密文件32解密成明 文文件31 ( s57—s54—s55 )。
工业实用性
根据本发明的文件加密/解密程序,可以自由地生成用于加密文 件的密钥,还可以生成用于将利用该密钥加密的文件解密的主密钥。 而且,可以严格地管理该主密钥。因此可以同时实现信息保密管理和 泄露的早期发现。
权利要求
1.一种文件加密/解密方法,计算机利用该方法执行加密文件的文件加密处理和解密所加密的文件的文件解密处理,所述文件加密处理包括对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(a1);文件加密步骤,利用所述对话密钥来加密明文文件(f1),以生成加密文件(f2);第一加密步骤,利用公开密钥密码术类型的公开密钥(b1)来加密所述对话密钥(a1),以生成加密对话密钥(a2);第二加密步骤,利用公开密钥密码术类型的公开密钥(c1)来加密所述对话密钥(a1),以生成加密对话密钥(a3);以及组合文件生成步骤,生成包括所述加密文件(f2)和所述加密对话密钥(2,a3)的组合文件,所述文件解密处理包括文件分离步骤,将所述组合文件分离成所述加密文件(f2)和所述加密对话密钥(a2,a3);明文文件解密步骤,如果所述计算机存储了所述对话密钥(a1),则利用所述对话密钥(a1)将所述加密文件(f2)解密成所述明文文件(f1);第一解密步骤,如果所述计算机具有对应于所述公开密钥(b1)的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥(a2)解密成所述对话密钥(a1),然后执行所述明文文件解密步骤;以及第二解密步骤,如果所述计算机具有对应于所述公开密钥(c1)的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥(a3)解密成所述对话密钥(a1),然后执行所述明文文件解密步骤。
2. —种文件加密/解密方法,计算机利用该方法执行加密文件的 文件加密处理和解密所加密的文件的文件解密处理, 所述文件加密处理包括口令输入步骤,通过用户输入接收口令(pl);对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);文件加密步骤,利用所述对话密钥来加密明文文件(fl),以生 成加密文件(f2);对话密钥修改步骤,使所述对话密钥(al)与所述口令(pl)相 关联,并生成通过按照预定的算法修改所述对话密钥(al)而获得的 修改对话密钥(a4);第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加 密所述口令(pl),以生成加密口令(p2);第二加密步骤,利用公开密钥密码术类型的公开密钥(cl)来加 密所述口令(pl),以生成加密口令(p3);以及组合文件生成步骤,生成包括所述加密文件(O)、所述修改对 话密钥U3)和所述加密口令(p2, p3)的组合文件,所述文件解密处理包括文件分离步驟,将所述组合文件分离成所述加密文件(f2)、所 述修改对话密钥(a4)和所述加密口令(p2, p3); 口令输入步骤,通过用户输入接收口令;明文文件解密步骤,如果所输入的口令与所述口令(pl)相匹配, 则按照所述算法将所述修改对话密钥(a4)恢复成所述对话密钥(al), 并且利用对话密钥(al)将所述加密文件(f2)解密成所述明文文件 (fl);第一解密步骤,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密口令(p2) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密步骤;以及第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密口令(p3) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密步骤。
3. —种文件加密/解密方法,计算机利用该方法执行加密文件的 文件加密处理和解密所加密的文件的文件解密处理,所述文件加密处理包括口令输入步骤,通过用户输入接收口令(pl);修改对话密钥生成步骤,按照预定的算法将所述口令(pl)修改 成对称密钥密码术类型的对话密钥(p4);对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);文件加密步骤,利用所述对话密钥(al)来加密明文文件(fl), 以生成加密文件(f2);验证数据生成步骤,根据所述对话密钥(al)生成对话密钥的验 证数据(dl);第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加 密所述对话密钥(al),以生成加密对话密钥(a2);第二加密步骤,利用公开密钥密码术类型的公开密钥(cl)来加 密所述对话密钥(al),以生成加密对话密钥(a3);第三加密步骤,利用所述对话密钥(dl)来加密所述对话密钥 (al),以生成加密对话密钥(a5);以及組合文件生成步骤,生成包括所述加密文件(f2)、所述验证数 据(dl)和所述三个加密对话密钥(a2, a3, a5)的组合文件,所述文件解密处理包括文件分离步骤,将所述组合文件分离成所述加密文件(£2)、所 述验证数据Ul)和所述三个加密对话密钥(a2, a3, a5); 口令输入步骤; 修改对话密钥生成步骤;明文文件解密步骤,利用所述对话密钥(al )将所述加密文件(f2 ) 解密成所述明文文件(fl);第一解密步骤,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥(a2)解密成所述对话密钥(al),根据所述验证数据(dl)验证所 述对话密钥(al),然后执行所述明文文件解密步骤;第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥(a3)解密成所述对话密钥(al),根据所述验证数据(dl)验证所 述对话密钥(al),然后执行所述明文文件解密步骤;以及第三解密步骤,利用在所述修改对话密钥生成步骤中生成的所述 对话密钥(dl)将所述加密对话密钥(a5)解密成所述对话密钥(al), 根据所述验证数据(dl)验证所述对话密钥(al),然后执行所述明 文文件解密步骤。
4. 如权利要求1-3中任意一项所述的文件加密/解密方法,其 中,利用公开密钥密码术类型的秘密密钥(e2)对所述秘密密钥(c2) 进行数字认证,并且在所述文件解密处理中,只有在根据对应于所述 秘密密钥(e2)的公开密钥(el)对所述计算机中的秘密密钥(x)进 行验证并且所述秘密密钥(x)被验证为所述秘密密钥(c2)时,才执 行所述第二解密步骤。
5. 如权利要求1-3中任意一项所述的文件加密/解密方法,其 中,利用公开密钥密码术类型的秘密密钥(e2)对所述公开密钥(cl) 进行数字认证,并且在所述文件加密处理中,只有在根据对应于所述 秘密密钥(e2)的公开密钥(el)对所述计算机中的公开密钥(y)进 行验证并且所述公开密钥(y)被验证为所述公开密钥(cl)时,才使 所述文件加密处理的其它步骤有效。
6. —种由安装了程序的计算机构成的文件加密/解密装置,所述 文件加密/解密装置包括加密文件的文件加密部;和解密由所述文件加密部加密的文件的文件解密部,所述文件加密部包括对话密钥生成分部,生成对称密钥密码术类型的对话密钥(al); 文件加密分部,利用所述对话密钥来加密明文文件(fl),以生成加密文件(f2);第一加密分部,利用公开密钥密码术类型的公开密钥(bl)来加 密所述对话密钥(al),以生成加密对话密钥(a2);第二加密分部,利用公开密钥密码术类型的公开密钥(cl)来加 密所述对话密钥(al),以生成加密对话密钥(a3);以及组合文件生成分部,生成包括所述加密文件(f2)和所述加密对 话密钥(2, a3)的组合文件,所述文件解密部包括文件分离分部,将所述组合文件分离成所述加密文件(f2)和所 述加密对话密钥(a2, a3);明文文件解密分部,如果所述计算机存储了所述对话密钥(al), 则利用所述对话密钥(al)将所述加密文件(f2)解密成所述明文文 件(fl);第一解密分部,如果所述计算机具有对应于所述>^开密钥(bl)的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥 (a2)解密成所述对话密钥(al),然后执行所述明文文件解密步骤; 以及第二解密分部,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥 (a3)解密成所述对话密钥(al),然后执行所述明文文件解密步骤。
7. —种由安装了程序的计算机构成的文件加密/解密装置,所述 文件加密/解密装置包括加密文件的文件加密部;和解密由所述文件加密部加密的文件的文件解密部,所述文件加密部包括口令输入步骤,通过用户输入接收口令(pl); 对话密钥生成分部,生成对称密钥密码术类型的对话密钥(al); 文件加密分部,利用所述对话密钥来加密明文文件(fl),以生 成加密文件(f2); 对话密钥修改分部,使所述对话密钥(al)与所述口令(pl)相 关联,并生成通过按照预定的算法修改所述对话密钥(al)而获得的 修改对话密钥(a4);第一加密分部,利用公开密钥密码术类型的公开密钥(bl)来加 密所述口令(pl),以生成加密口令(p2);第二加密分部,利用公开密钥密码术类型的公开密钥(cl)来加 密所述口令(pl),以生成加密口令(p3);以及组合文件生成分部,生成包括所述加密文件(f2)、所述修改对 话密钥(a3)和所述加密口令(p2, p3)的组合文件,所述文件解密部包括文件分离分部,将所述组合文件分离成所述加密文件(f2)、所 述修改对话密钥(a4)和所述加密口令(p2, p3); 口令输入分部,通过用户输入接收口令;明文文件解密分部,如果所输入的口令与所述口令(pl)相匹配, 则按照所述算法将所述修改对话密钥(a4 )恢复成所述对话密钥(al), 并且利用对话密钥(al)将所述加密文件(f2)解密成所述明文文件 (fl);第一解密分部,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密口令(p2) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密分部;以及第二解密分部,如果所述计算机具有对应于所述公开密钥(cl)的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密口令(p3) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密分部。
8. —种由安装了程序的计算机构成的文件加密/解密装置,所述 文件加密/解密装置包括加密文件的文件加密部;和解密由所述文件加密部加密的文件的文件解密部, 所述文件加密部包括口令输入分部,通过用户输入接收口令(pl);修改对话密钥生成分部,按照预定的算法将所述口令(pl)修改 成对称密钥密码术类型的对话密钥(p4);对话密钥生成分部,生成对称密钥密码术类型的对话密钥(al);文件加密分部,利用所述对话密钥(al)来加密明文文件(fl), 以生成加密文件(f2);验证数据生成分部,根据所述对话密钥(al)生成对话密钥的验 证数据(dl);第一加密分部,利用公开密钥密码术类型的公开密钥(bl)来加 密所述对话密钥(al),以生成加密对话密钥(a2);第二加密分部,利用公开密钥密码术类型的公开密钥(cl)来加 密所述对话密钥(al),以生成加密对话密钥(a3);第三加密分部,利用所述对话密钥(dl)来加密所述对话密钥 (al),以生成加密对话密钥(a5);以及组合文件生成分部,生成包括所述加密文件(f2)、所述验证数 据(dl)和所述三个加密对话密钥(a2, a3, a5)的组合文件,所述文件解密部包括文件分离分部,将所述组合文件分离成所述加密文件(f2)、所 述验证数据(dl)和所述三个加密对话密钥(a2, a3, a5); 口令输入分部; 修改对话密钥生成分部;明文文件解密分部,利用所述对话密钥(al )将所述加密文件(f2 ) 解密成所述明文文件(fl);第一解密分部,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥 (a2)解密成所述对话密钥(al),根据所述验证数据Ul)验证所 述对话密钥(al),然后启动所述明文文件解密分部;第二解密分部,如果所述计算机具有对应于所述公开密钥(cl)的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥 (a3)解密成所述对话密钥(al),根据所述验证数据(dl)验证所 述对话密钥(al),然后启动所述明文文件解密分部;以及第三解密分部,利用在所述修改对话密钥生成步骤中生成的所述 对话密钥(dl)将所述加密对话密钥(a5 )解密成所述对话密钥(al), 根据所述验证数据(dl)验证所述对话密钥(al),然后启动所述明 文文件解密分部。
9. 如权利要求6-8中任意一项所述的文件加密/解密装置,其 中,利用公开密钥密码术类型的秘密密钥(e2)对所述秘密密钥(c2) 进行数字认证,并且在所述文件解密处理中,只有在根据对应于所述 秘密密钥(e2)的公开密钥(el)对所述计算机中的秘密密钥(x)进 行验证并且所述秘密密钥(x)被验证为所述秘密密钥(c2)时,才执 行所述笫二解密步骤。
10. 如权利要求6-8中任意一项所述的文件加密/解密装置,其 中,利用公开密钥密码术类型的秘密密钥(e2)对所述公开密钥(cl) 进行数字认证,并且在所述文件加密处理中,只有在根据对应于所述 秘密密钥(e2)的公开密钥(el)对所述计算机中的公开密钥(y)进 行验证并且所述公开密钥(y)被验证为所述公开密钥(cl)时,才使 所述文件加密处理的其它步骤有效。
11. 一种文件加密/解密程序,安装在计算机中以使计算机执行 加密文件的文件加密处理和解密所加密的文件的文件解密处理,所述文件加密处理包括对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);文件加密步骤,利用所述对话密钥来加密明文文件(fl),以生 成加密文件(f2);第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加 密所述对话密钥(al),以生成加密对话密钥(a2);第二加密步骤,利用公开密钥密码术类型的公开密钥(cl)来加 密所述对话密钥(al),以生成加密对话密钥(a3);以及组合文件生成步骤,生成包括所述加密文件(f2)和所述加密对 话密钥(2, a3)的组合文件, 所述文件解密处理包括文件分离步骤,将所述组合文件分离成所述加密文件(f2)和所 述加密对话密钥(a2, a3);明文文件解密步骤,如果所述计算机存储了所述对话密钥(al), 则利用所述对话密钥(al)将所述加密文件(f2)解密成所述明文文 件(fl);第一解密步骤,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥 (a2)解密成所述对话密钥(al),然后执行所述明文文件解密步骤; 以及第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥 (a3)解密成所述对话密钥(al),然后执行所述明文文件解密步骤。
12. —种文件加密/解密程序,安装在计算机中以使计算机执行加 密文件的文件加密处理和解密所加密的文件的文件解密处理,所述文件加密处理包括口令输入步骤,通过用户输入接收口令(pl);对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);文件加密步骤,利用所述对话密钥来加密明文文件(fl),以生 成加密文件(f2);对话密钥修改步骤,使所述对话密钥(al)与所述口令(pl)相 关联,并生成通过按照预定的算法修改所述对话密钥(al)而获得的 修改对话密钥(a4);第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加 密所述口令(pl),以生成加密口令(p2);第二加密步骤,利用公开密钥密码术类型的公开密钥(cl)来加 密所述口令(pl),以生成加密口令(p3);以及组合文件生成步骤,生成包括所述加密文件(f2)、所述修改对 话密钥(a3)和所述加密口令(p2, p3)的组合文件, 所述文件解密处理包括文件分离步骤,将所述组合文件分离成所述加密文件(f2)、所 述修改对话密钥(a4)和所述加密口令(p2, p3); 口令输入步骤,通过用户输入接收口令;明文文件解密步骤,如果所输入的口令与所述口令(pl)相匹配, 则按照所述算法将所述修改对话密钥(a4 )恢复成所述对话密钥(al ), 并且利用对话密钥(al)将所述加密文件(f2)解密成所述明文文件 (fl);第一解密步骤,如果所述计算机具有对应于所述公开密钥(bl) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密口令(p2) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密步骤;以及第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl) 的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密口令(p3) 解密成所述口令(pl),并将所述口令(pl)作为所输入的口令提供 给所述明文文件解密步骤。
13. —种文件加密/解密程序,安装在计算机中以使计算机执行加 密文件的文件加密处理和解密所加密的文件的文件解密处理,所述文件加密处理包括口令输入步骤,通过用户输入接收口令(pl);修改对话密钥生成步骤,按照预定的算法将所述口令(pl)修改 成对称密钥密码术类型的对话密钥(p4);对话密钥生成步骤,生成对称密钥密码术类型的对话密钥(al);文件加密步骤,利用所述对话密钥(al)来加密明文文件(fl), 以生成加密文件(f2);验证数据生成步骤,根据所述对话密钥(al)生成对话密钥的验 证数据(dl); 第一加密步骤,利用公开密钥密码术类型的公开密钥(bl)来加密所述对话密钥(al),以生成加密对话密钥(a2);第二加密步骤,利用公开密钥密码术类型的公开密钥(cl)来加 密所述对话密钥(al),以生成加密对话密钥(a3);第三加密步骤,利用所述对话密钥(dl)来加密所述对话密钥 (al),以生成加密对话密钥(a5);以及组合文件生成步骤,生成包括所述加密文件(f2)、所述验证数 据(dl)和所述三个加密对话密钥(a2, a3, a5)的组合文件,所述文件解密处理包括文件分离步骤,将所述组合文件分离成所述加密文件(f2)、所 述验证数据(dl)和所述三个加密对话密钥(a2, a3, a5); 口令输入步骤; 修改对话密钥生成步骤;明文文件解密步骤,利用所述对话密钥(al )将所述加密文件(f2 ) 解密成所述明文文件(fl);第一解密步骤,如果所述计算机具有对应于所述公开密钥(M) 的秘密密钥(b2),则利用所述秘密密钥(b2)将所述加密对话密钥 U2)解密成所述对话密钥(al),根据所述验证数据Ul)验证所 述对话密钥(al),然后执行所述明文文件解密步骤;第二解密步骤,如果所述计算机具有对应于所述公开密钥(cl)的秘密密钥(c2),则利用所述秘密密钥(c2)将所述加密对话密钥 (a3)解密成所述对话密钥(al),根据所述验证数据(dl)验证所 述对话密钥(al),然后执行所述明文文件解密步骤;以及第三解密步骤,利用在所述修改对话密钥生成步骤中生成的所述 对话密钥(dl)将所述加密对话密钥(a5)解密成所述对话密钥(al), 根据所述验证数据(dl)验证所述对话密钥(al),然后执行所述明 文文件解密步骤。
14.如权利要求11 - 13中任意一项所述的文件加密/解密程序, 其中,利用公开密钥密码术类型的秘密密钥(e2 )对所述秘密密钥(c2 ) 进行数字认证,并且在所述文件解密处理中,只有在根据对应于所述秘密密钥(e2)的公开密钥(el)对所述计算机中的秘密密钥(x)进 行验证并且所述秘密密钥(x)被验证为所述秘密密钥(c2)时,才执 行所述笫二解密步骤。
15. 如权利要求11 - 13中任意一项所述的文件加密/解密程序, 其中,利用公开密钥密码术类型的秘密密钥(e2 )对所述公开密钥(cl) 进行数字认证,并且在所述文件加密处理中,只有在根据对应于所述 秘密密钥(e2)的公开密钥(el)对所述计算机中的公开密钥(y)进 行验证并且所述公开密钥(y)被验证为所述公开密钥(cl)时,才使 所述文件加密处理的其它步骤有效。
16. —种存储了如权利要求11 — 15中任意一项所述的文件加密/ 解密程序的计算机可读记录介质.
全文摘要
为了同时实现信息保密管理和信息泄露的早期发现,本发明的文件加密/解密程序使计算机执行包括以下步骤的处理生成对话密钥(a1)的步骤、利用密钥(a1)来加密文件(f1)从而生成文件(f2)的步骤、利用公开密钥(b1)来加密密钥(a1)从而生成密钥(a2)的步骤、利用公开密钥(c1)来加密密钥(a1)从而生成密钥(a3)的步骤、以及生成包括文件(f2)和密钥(a2,a3)的组合文件(f3)的步骤,并且执行包括以下步骤的处理将文件(f3)分离成文件(f2)和密钥(a2,a3)的步骤、利用密钥(a1)将文件(f2)解密成文件(f1)的解密步骤、利用对应于密钥(b1)的秘密密钥(b2)将密钥(a2)解密成密钥(a1)然后前进到解密步骤的步骤、以及利用对应于密钥(c1)的秘密密钥(c2)将密钥(a3)解密成密钥(a1)然后前进到解密步骤的步骤。
文档编号G09C1/00GK101112035SQ200580047390
公开日2008年1月23日 申请日期2005年12月20日 优先权日2005年1月28日
发明者川井雅之, 西川弘幸 申请人:株式会社Oak情报系统;北陆日本电气软件株式会社