于网络系统中取得非对称式密钥的相关方法

文档序号:7924155阅读:342来源:国知局
专利名称:于网络系统中取得非对称式密钥的相关方法
技术领域
本发明涉及一种取得密钥的方法,尤其涉及一种于网络系统中取得密钥的方法。
背景技术
近年来,随着互联网的快速发展,部份传统的交易型态已由电子商务所取代,但目前电子商务仍存在一些技术上需克服的地方,才能令消费者更安心地使用,其中交易过程的安全性即为一重要的课题。
为了使得电子商务的交易获得一定程度的保障,密码学的知识被广泛地应用在网络系统中。举例来说,一个典型的密码系统通常包含三个主角,分别为发信者、收信者、及网络骇客,发信者先将一明文,利用一个加密模组与一加密钥,将该明文加密成一堆无法辨识的符号,称之为密文。接着,发信者利用公众通道(PublicChannel)将密文传送给收信者,收信者在收到密文之后,利用一解密模组与一解密钥,将密文解密,还原成原来的明文。而密码系统中的网络骇客则在公众通道上虎视眈眈地想尽各种方法要截取该密文。
早期的密码系统中,加密钥与解密钥为相同的一对密钥,分别由发信者与收信者保存。请参考图1,图1为利用一私钥系统(private key system)10传送一文件12的示意图。私钥系统10的第一端18包含一加密模组(encryption module)14用来将文件加密,与一解密模组(decryption module)16用来将文件解密,私钥系统10的第二端28也包含一加密模组24与一解密模组26。当使用者欲将文件12由第一端18传送至第二端28,并且又不希望文件12的内容让第三者知道时,使用者就可利用私钥系统10来完成秘密传送文件12的工作。私钥系统10秘密传送文件的方法说明如下使用者先利用加密模组14以一密钥将文件12加密成为一密文20,然后利用一公共通道19将密文20传至第二端28,当第二端28收到密文20后,解密模组26会以该密钥将密文20解密,随后于第二端28的使用者就可以知道文件12的内容了。相对地,当第一端18的使用者接收传自第二端28以该密钥加密后的密文时,可利用解密模组16以该密钥将该密文解密。在加密文件传送的过程中,若有一网络骇客欲截取密文20,由于网络骇客并没有该密钥,所以就算其取得密文20,也无法读出密文20中所隐藏的内容,所以私钥系统10确实能提供秘密传送文件的功能。
但私钥系统10却有一些缺点,第一,第一端18及第二端28的使用者必须随时记住该密钥,若有一方遗忘,则双方都不可能再利用该密钥互相传送密文20了。第二,由于只有第一端18及第二端28的使用者才拥有该密钥,也就是说,第一端18及第二端28的使用者无法利用该密钥传送密文给其他人,因此这套私钥系统10已渐渐不受欢迎了,取而代之的是公钥系统(public key system)。
请参考图2,图2为利用一公钥系统30传送一文件32的示意图。公钥系统30中第一端38包含一加密模组34用来将文件加密,及一解密模组36用来将文件解密,公钥系统30中第二端48也包含一加密模组44与一解密模组46。虽然公钥系统30也是利用一对密钥来将欲传送的文件32加密及将所接收的文件解密,但公钥系统30不同于私钥系统10的是,该对密钥为相异的两把密钥,一为公钥35、一为私钥37,且公钥35与私钥37相对应存在的。当第一端38的使用者欲将文件32由第一端38发送至第二端48时,该使用者先将公钥35由第一端38传送至第二端48,接着该使用者利用加密模组34以私钥37将文件32加密成为一密文40,再利用一公众通道39将密文40传送至第二端48。当第二端48收到密文40后,可利用解密模组46并以第一端38先前传送的公钥35将密文40解密,随后第二端48的使用者就可知道文件32的内容了。相对地,当第二端48的使用者欲将另一文件42由第二端48传至第一端38时,该使用者利用加密模组44以公钥37将文件42加密成为一密文41后,透过公共通道39将密文41传至第一端38,第一端38于收到密文41后,利用解密模组36以私钥37将密文41解密,随后第一端38的使用者就可知道文件42的内容了。同样地,在第一端38将密文40传送至第二端48的过程中,若有一网络骇客欲截取密文40,由于该网络骇客并没有公钥35,所以就算其取得密文40,也无法解读出其中的内容。另一方面,若其他人在公共通道39上也接收到密文41,由于用来解密的私钥37仅第一端38的使用者才拥有,所以其他人也就无法解读出密文41的内容。因此公钥系统30确实能于传送文件时提供保密的功能。
公钥系统30的好处,当然不只于此。请再参考图2,公钥系统30中第一端38的使用者除了可预先将公钥35传至第二端48的使用者外,也可预先将公钥35传至一第三者,即便是该第三者与第一端38的使用者素昧平生。当第一端38的使用者欲传送文件32至第二端48的使用者及该第三者时,第一端38的使用者运用上述的程序将加密过的文件32(也就是密文40)传送出去,而第二端48的使用者及该第三者也利用上述的程序将密文40解密。当第二端48的使用者及该第三者欲传送另一文件至第一端38时,第二端48的使用者及该第三者同样运用上述的程序将该文件加密后传送出去,而第一端38的使用者也利用上述的程序将该加密过的文件解密。如此加密文件的传送就不仅限于二使用者间了(不同于私钥系统)。
不可否认,通常一个密码系统的主要用处在于保障文件于传送时的安全性及隐密性,然而文件的鉴定性、完整性及不可否认性,在商业上的应用有时却要远比隐密性更加地重要。请再参考图2,第一端38的使用者可利用自己的私钥37将文件32透过加密模组34的运算签署成一签署文,而第二端48的使用者及该第三者均可以透过公钥35将该签署文解密还原成文件32,由于只有第一端38的使用者本人才拥有私钥37,亦即只有他本人才有能力将文件32签署成该签署文,而其他任何人均只能透过公钥35验证该签署文而无法伪造该签署文,因此该签署文就如同第一端38的使用者的亲笔签名一样,具有法律效力,日后若有争执(如签署者事后矢口否认),仲裁单位(如法院)可以很容易地做出正确的判断。此种密码系统,也称为数字签署系统(digital sognature system)。就如同发信者(第一端38的使用者)在合约书上签字一样,而收信者(第二端48的使用者及该第三者)就是保有这份合约书的人,他们当然要相信这份签有”字迹”的合约书的法律效力。
由于公钥系统有上述的诸多优点,再加上电子商务对保密系统的需求日益殷切,所以公钥系统也就渐渐成为最受欢迎的保密系统。

发明内容
因此本发明的目的在提供一种于网络系统中取得一对密钥的方法,使用者可利用该对取得的密钥将所要传送的文件加密。
该网络系统包含有至少第一使用者端,一存取点包含一验证模组与一使用者名单,该存取点系用来接收该第一使用者端所传来的一请求验证封包,并利用该验证模组将该请求验证封包的内容与该使用者名单的内容进行验证后,产生一验证讯号。该网络系统另包含一服务器用来接收该验证讯号,并依据该验证讯号与第一演算法产生一对相异的密钥。该取得密钥的方法包含有,由该第一使用者端产生一请求验证封包,使用该存取点接收该请求验证封包,使用该验证模组将该请求验证封包的内容与该使用者名单的内容进行验证、并依据验证的结果产生一验证讯号传至该服务器,该服务器以该第一演算法产生一对相异的密钥,该服务器将该对密钥传送至该存取点,以及由该存取点将该对密钥传送至该第一使用者端。
该方法进一步包含有取得该对密钥后,利用该对密钥来将一文件加密后传送出去,以及接收一加密过的文件后利用该对密钥将该加密过的文件解密。


图1为已知私钥系统的示意图。
图2为已知公钥系统的示意图。
图3为本发明中的网络系统的示意图。
图4为使用者透过本发明中的网络系统取得公钥与私钥的流程图。
图5为图4中的发文方块中的详细步骤的流程图。
图6为图4中的收文方块中的详细步骤的流程图。
图7为图4中的杂凑法发文方块中的详细步骤的流程图。
图8为图4中的杂凑法收文方块中的详细步骤的流程图。
具体实施例方式
请参考图3,图3为本发明中一网络系统70的示意图。网络系统70包含第一端78,至少第二端98,一存取点(access point,AP)72用来收发封包,以及一服务器(certificate server,CS)80用来以第一演算法产生一对相异的密钥,该对密钥包含一公钥85与一私钥87。存取点72包含一验证模组74用来验证第一使用者端78所传来的请求验证封包,以及一名称列表76用来储存复数组使用者名称数据及其相对应的密码数据。第一端78包含一加密模组84用来将文件加密,及一解密模组86用来将文件解密,第二端98也包含一加密模组94及一解密模组96。
第一端78端透过网络系统70取得公钥85与私钥87的程序请参考图4,图4为第一端78透过网络系统70取得公钥85与私钥87的流程图,其各步骤的说明如下步骤100开始;步骤110由第一端78端产生一请求验证封包后并将该请求验证封包传送至存取点72;(请求验证封包内包含第一端78的使用者的名称及密码等数据。)步骤120由存取点72接收该请求验证封包;
步骤130由存取点72内的验证模组74验证该请求验证封包的内容;若为合法,则进行步骤140,若不合法,则进行步骤600;(存取点72内的验证模组74将该请求验证封包内的名称数据与名称列表76的内容逐一比对,检查是否有相符的名称数据,再检查该相符的名称数据所对应的密码数据是否也与该请求验证封包内的密码数据相符,若二者皆相符,则表示第一端78的使用者为存取点72的合法注册过的用户。)步骤140由验证模组74产生一验证讯号并将该验证讯号传至服务器80;步骤150服务器80以该第一演算法产生一对密钥;(服务器80依据接收该验证讯号的有无而产生一对密钥。)步骤160服务器80将该对密钥经由存取点72传至第一端78;步骤600结束。
(若由步骤120直接进行到这步骤,则表示第一端78的使用者并非网络系统70的用户。)步骤150中所提到的第一演算法(也就是密钥对产生的方法),目前较常使用的为DSA(digital signature algorithm)演算法及RSA(Rivest-Shamir-Adleman)演算法等。以RSA演算法为例,其产生一对密钥的步骤如下1)随意找两个大质数p,q.(例如p及q皆为128位元的数);2)算出n=pq;3)取一小奇数e,使得e与(p-1)(q-1)互质;4)解出d,其中de 1(mod n);5)以(e,n)为公钥85;6)以(d,n)为私钥87。
当第一端78取得该对密钥后,可利用该对密钥中的公钥85与私钥87来将欲传送的文件加密。请参考图5,图5就是图4中的发文方块中的详细步骤的流程图,也就是当第一端78取得服务器80所传来的该对密钥后,利用该对密钥内的公钥85及私钥87将文件加密后再传送至第二端98的步骤,其各步骤的说明如下步骤200第一端78将公钥85透过存取点72传至该第二端98;(该第二端98的使用者可为第一端78的使用者的朋友,也可为陌生人。)步骤210使用第一端78的加密模组84以私钥87与一第二演算法将一明文加密成为一密文;(该第二演算法系相对应于第一演算法,也就是说,当利用该第一演算法产生该对密钥的同时,也必须用该第一演算法所设定的该第二演算法将一文件加密,具体的例子容后再述。)步骤220由第一端78将该密文经由存取点72传至第二端98;(因为此时第一端78与第二端98皆没有传送任何请求验证封包至存取点72,所以存取点72不会拒绝将第一端78所传来的该密文传送至第二端98。)步骤230使用第二端98的解密模组96以公钥85与一第三演算法将该密文解密;(该第三演算法也是相对应于该第一演算法,当利用该第一演算法产生该对密钥的同时,也必须用该第一演算法所设定的该第三演算法将该第一演算法所加密的文件解密。)还是以RSA演算法来说明第一端78如何利用该对密钥将一明文加密成一密文,以及说明第二端98如何利用该对密钥将该密文解密成原来的明文第一端78设明文为M1(<n),则密文为C1=M1^d(mod n),其中(d,n)为私钥87。
第二端98设密文为C1,则原来的明文为M1=Cl^e(mod n),其中(e,n)为公钥85。
请参考图6,图6就是图4中的收文方块中的详细步骤的流程图,也就是当第一端78取得服务器80所传来的该对密钥后,第二端98欲利用该对密钥传送文件给第一端78的步骤,其各步骤的说明如下步骤300使用第一端78将公钥85透过存取点72传至第二端98;步骤310使用第二端98的加密模组94以公钥85与该第二演算法将一明文加密成一密文;步骤320由第二端98将该密文透过存取点72传至第一端78;(因为此时第一端78与第二端98皆没有传送任何请求验证封包至存取点72,所以存取点72不会拒绝将第二端98所传来的该密文传送至第一端78。)步骤330使用第一端78的解密模组86以私钥87与该第三演算法将该密文解密;还是以上述的RSA演算法来说明第一端78如何解密由第二端98所传来的该密文第二端98设明文为M2(<n),则密文为C2=M2^e(mod n),其中(e,n)为公钥85。
第一端78设密文为C2,则原来的明文为M2=C2^d(mod n),其中(d,n)为私钥87。
在公钥系统的演算法中,公钥85及私钥87都可以用来提供加密的服务。如果某个密文是经由私钥87来加密时,那么该密文就只能被私钥87所对应的公钥85来解密。这种方式是可以用来产生数字签章的作用。例如网络系统70中第一端78的使用者使用私钥87将文件加密,加密过的文件就成为第一端78的使用者的数字签章,接着第一端78将数字签章传送给第二端98,第二端98的使用者利用第一端78所事先传来的公钥85来验证该加密过的文件上的签章,并解开该加密过的文件。
然而,有些时候若是使用私钥87来将整份文件加密是非常没有效率的,取而代之的,是将文件的杂凑值(Hash)签章就够了,例如1)第一端78先以一第四演算法计算出一文件的第一单向杂凑值(One-wayhash);2)第一端78的使用者利用私钥将该第一单向杂凑值加密,该加密过的第一杂凑值就成了该文件上的签章了;3)第一端78将该文件及该签章一并传送给第二端98;4)第二端98的使用者先利用第一端78所传来的公钥85将该文件上的签章解开,也就是将该加密过的第一单向杂凑值解密,之后以该第四演算法将第一端78所传来的该文件转化成的第二杂凑值,再比较该解密后的第一杂凑值及该第二杂凑值,若是一样,则证明了两件事a)该文件确实传自第一端78;b)该文件在传输过程中未被篡改过。
请参考图7,图7就是图4中的杂凑法发文方块中的详细步骤,也就是当第一端78取得服务器80所传来的公钥85与私钥87后,第一端78的使用者欲传送一文件给第二端98的使用者的步骤,其各步骤的说明如下步骤400由第一端78将公钥85透过存取点72传至第二端98;步骤410由第一端78使用该第四演算法将该文件转化成第一演算值;步骤420使用第一端78加密模组84以私钥87与该第二演算法(步骤210中提到的演算法)将该第一演算值加密成一加密过的第一演算值;步骤430由第一端78的使用者将该文件、及该加密过的第一演算值一并经由存取点72传至第二端98的使用者;步骤440使用第二端98的解密模组96以公钥85与该第三演算法(步骤230中提到的演算法)将该加密过的第一演算值解密成一解密过的第一演算值;步骤450由第二端98使用该第四演算法将该文件转化成第二演算值;步骤460由该第二端98比较该第二演算值与该解密过的第一演算值。
(若该第二演算值与该解密过的第一演算值相等,则代表该文件确实传自第一端78,且该文件在传输过程中未被篡改过。)请参考图8,图8就是图4中的杂凑法收文方块中的详细步骤,也就是当第一端78取得服务器80所传来的公钥85与私钥87对后,由第一端78接收第二端98所传来的文件的步骤,该文件系经过杂凑处理过,其各步骤的说明如下步骤500由第一端78将公钥85透过存取点72传至第二端98;步骤510由第二端98使用该第四演算法将一文件转化成第一演算值;步骤520使用第二端98的加密模组94以公钥85与该第二演算法将该第一演算值加密成一加密过的第一演算值;步骤530由第二端98的使用者将该文件、及该加密过的第一演算值一并经由存取点72传至第一端78的使用者;步骤540使用第一端78的解密模组86以私钥87与该第三演算法将该加密过的第一演算值解密成一解密过的第一演算值;步骤550使用该第四演算法将该文件转化成的第二演算值;步骤560比较该第二演算值与该解密过的第一演算值。
(若该第二演算值与该解密过的第一演算值相等,则代表该文件确实传自第二端98,且该文件在传输过程中未被篡改过。)一般的杂凑演算法计有MD2(message-digest algorithm)、MD5、与SHA1(secureHash algorithm)等演算法。
相较于已知技术,本发明的优点在于任何使用者只要是符合一网络存取点内的用户数据后,就可透过一服务器取得一对密钥,借着该对密钥,该使用者就可放心地先将文件加密后再传送至任何地方,而不须要再担心有其他人能透过网络取得该文件的内容,如此就能提高网络传输文件的隐密性。并且,若该使用者端需经常处理大量的数据时,该使用者端的加密模组与解密模组也可用硬件的架构来取代软件的运算。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明专利的涵盖范围。
权利要求
1.一种于网络系统中取得密钥的方法,该网络系统包含有至少第一使用者端;一存取点,其包含一验证模组与一使用者名单,该存取点用来接收该第一使用者端所传来的一请求该验证包,并利用该验证模组将该请求验证封包的内容与该使用者名单的内容进行验证后,产生一验证讯号;以及一服务器用来接收该验证讯号,并依据该验证讯号与第一演算法产生一对相异的密钥;该方法包含有由该第一使用者端产生一请求验证封包;使用该存取点接收该请求验证封包;使用该验证模组将该请求验证封包的内容与该使用者名单的内容进行验证,并依据验证的结果产生一验证讯号传至该服务器;该服务器以该第一演算法产生一对相异的密钥;该服务器将该对密钥传送至该存取点;以及由该存取点将该对密钥传送至该第一使用者端。
2.如权利要求1所述的方法,其特征在于,该请求验证封包内包含有一使用者名称与一使用者密码。
3.如权利要求1所述的方法,其特征在于,该第一演算法为一RSA演算法。
4.如权利要求1所述的方法,其特征在于,该第一演算法为一DSA演算法。
5.如权利要求1所述的方法,其特征在于,该对密钥包含一公钥与一私钥。
6.如权利要求1所述的方法,其特征在于,该网络系统另包含至少一第二使用者端,连接于该存取点;该第一使用者端另包含一加密模组,其利用该对密钥中的第一密钥以第二演算法将明文(plain text)译成密文(cipher text),该第二使用者端包含一解密模组(decryption module),其利用该对密钥中的第二密钥以第三演算法将密文解密成为明文;该方法另包含有由该第一使用者端将该第二密钥经由该存取点传至该第二使用者端;由该第一使用者端的加密模组以该第一密钥与该第二演算法将一明文加密成为一密文;使用该第一使用者端将该密文经由该存取点传至该第二使用者端;以及使用该第二使用者端的解密模组以该第二密钥与该第三演算法将该密文解密。
7.如权利要求6所述的方法,其特征在于,该第二演算法与该第三演算法对应于该第一演算法。
8.如权利要求6所述的方法,其特征在于,该第二使用者端另包含一加密模组,其利用该第二密钥以该第二演算法将明文译成密文,该第一使用者端另包含一解密模组,其利用该第一密钥以该第三演算法将密文解密成为明文;该方法另包含有使用该第二使用者端之加密模组以该第二密钥及该第二演算法将一明文加密成为一密文;使用该第二使用者端将该密文经由该存取点传至该第一使用者端;以及使用该第一使用者端的解密模组以该第一密钥及该第三演算法将该密文解密成为该明文。
9.如权利要求1所述的方法,其特征在于,该网络系统另包含至少第二使用者端,连接于该存取点;该第一使用者端另包含一加密模组,其利用该对密钥中的第一密钥以第二演算法将一数值加密,该第二使用者端包含一解密模组,其利用该对密钥中的第二密钥以第三演算法将加密过的数值解密;该方法另包含有使用该第一使用者端将该第二密钥经由该存取点传至该第二使用者端;于该第一使用者端使用一第四演算法将一明文转化成第一演算值;使用该第一使用者端的该加密模组以该第一密钥与该第二演算法将该第一演算值加密;由该第一使用者端将该明文、与该加密后的第一演算值一并经由该存取点传至该第二使用者端;使用该第二使用者端的解密模组以该第二密钥与该第三演算法将该加密后的第一演算值解密;于该第二使用者端使用该第四演算法将该明文转化成第二演算值;以及比较该第二演算值与该解密后的第一演算值以判断该明文是否正确地传输至该第二使用者端。
10.如权利要求9所述的方法,其特征在于,该第四演算法为一MD2演算法。
11.如权利要求9所述的方法,其特征在于,该第四演算法为一MD5演算法。
12.如权利要求9所述的方法,其特征在于,该第四演算法为一SHA演算法。
13.如权利要求9所述的方法,其特征在于,该第二演算法与该第三演算法对应于该第一演算法。
14.如权利要求9所述的方法,其特征在于,该第二使用者端另包含一加密模组,其利用该第二密钥以该第二演算法将一数值加密,该第一使用者端另包含一解密模组,其利用该第一密钥以该第三演算法将加密过的数值解密;该方法另包含有于该第二使用者端使用该第四演算法将一明文转化成第一演算值;使用该第二使用者端的该加密模组以该第二密钥与该第二演算法将该第一演算值加密;由该第二使用者端将该明文、与该加密后的第一演算值一并经由该存取点传至该第一使用者端;使用该第一使用者端的解密模组以该第一密钥与该第三演算法将该加密后的第一演算值解密;于该第一使用者端使用该第四演算法将该明文转化成第二演算值;以及比较该第二演算值与该解密后的第一演算值以判断该明文是否正确地传输至该第一使用者端。
全文摘要
本发明提供一种于网络系统中取得密钥的方法,该网络系统包含至少第一使用者端,一存取点,以及一服务器,其中存取点用来验证该第一使用者的身份,而该服务器用来以第一演算法产生一对相异的密钥。该方法包含先由该存取点验证该第一使用者端,待确认无误后,该服务器以该第一演算法产生一对相异的密钥并经由该存取点传至该第一使用者端。该方法另包含该第一使用者端利用该对相异的密钥将文件加密后传送至第二使用者端。
文档编号H04L9/00GK1481108SQ02136789
公开日2004年3月10日 申请日期2002年9月4日 优先权日2002年9月4日
发明者余晓琴, 何代水, 蔡世光 申请人:英华达(上海)电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1