专利名称:安全方法和系统及存储该方法的程序的计算机可读介质的制作方法
技术领域:
本发明涉及信息安全,更具体地讲,涉及一种用于维护客户机和服务器之间的安全的安全方法和系统以及一种存储用于执行该安全方法的计算机程序的计算机可读介质。
背景技术:
最近,越来越多的家用电器已发展为可访问互联网,并且包括通用串行总线(USB)或压缩盘(CD),从而使得用户能够输入或输出数据。这种消费类电子(CE)装置已从提供简单功能的家电发展成能够在高性能、多功能操作系统(OS)的帮助下在与外部装置通信的同时执行复杂的功能的装置。因此,对更新现有的OS和软件程序的需求正稳步增长。然而,还没有充分考虑当将数据输入CE装置或允许CE装置接收更新文件时的安全维护,因而使得CE装置面临被诸如病毒或黑客的恶意攻击破坏或者被未经授权的用户访问的危险。
通常,客户机用客户机自己的私钥加密数据,并将加密的数据发送给服务器。然后,服务器验证加密的数据,用服务器自己的私钥加密将被发送给客户机的数据,并发送将被发送给客户机的加密的数据。换句话说,客户机和服务器相互验证,然后基于验证的结果决定是否相互发送数据。然而,这种传统的安全技术涉及极为复杂和耗时的加密和解密处理。特别是,当这种传统的安全技术应用于CE装置时,这些CE装置的性能会显著劣化。因此,需要开发有效的安全方法和系统。
发明内容
本发明的一方面提供一种高操作速度的简单且有效的安全方法和系统以及一种存储用于执行该安全方法的计算机程序的计算机可读介质。
本发明的另一方面提供一种安全方法和系统以及一种存储用于执行该安全方法的计算机程序的计算机可读介质,在所述安全方法和系统中,客户机参考从服务器接收的验证信息来管理验证信息,并且可验证从外部装置接收的文件。
根据本发明的一方面,提供一种维护安全的安全方法,该方法包括将客户机的当前验证信息发送给服务器;服务器基于客户机的当前验证信息来产生用于客户机的最新验证信息,并将最新验证信息发送给客户机;客户机使用客户机的当前验证信息来验证最新验证信息;如果最新验证信息被客户机成功验证,则参考该最新验证信息更新客户机的当前验证信息。
所述安全方法还可包括客户机向服务器发出对数据的请求;服务器将请求的数据发送给客户机;和客户机使用客户机的更新的当前验证信息来验证服务器所发送的数据。
根据本发明的另一方面,提供一种维护安全的安全方法,该方法包括将当前验证信息发送给服务器;从服务器接收服务器基于当前验证信息所产生的最新验证信息;使用当前验证信息来验证最新验证信息;和如果最新验证信息被成功验证,则用最新验证信息来更新当前验证信息。
所述更新当前验证信息的步骤可包括通过将当前验证信息与最新验证信息进行比较来确定当前验证信息是否需要被更新;如果当前验证信息需要被更新,则用最新验证信息来更新当前验证信息。
所述安全方法还可包括从服务器接收数据;和使用更新的当前验证信息来验证所述数据。
所述安全方法还可包括发出对服务器可向客户机提供的文件列表的请求;从服务器接收请求的文件列表;使用当前验证信息来验证接收的文件列表;向服务器发出对包括在接收的文件列表中的多个文件中的一个文件的请求;从服务器下载请求的文件;和使用更新的当前验证信息来验证下载的文件。
所述当前验证信息可包括公钥信息。
所述最新验证信息可包括用于客户机的最新公钥信息和该最新公钥信息的数字签名,所述验证最新验证信息的步骤可包括使用包括在当前验证信息中的公钥信息来检验数字签名,所述更新当前验证信息的步骤可包括用最新公钥信息来更新包括在当前验证信息中的公钥信息。
所述当前验证信息可包括公钥信息,所述验证最新验证信息的步骤可包括使用包括在当前验证信息中的公钥信息来检验包括在最新验证信息中的第一数字签名,所述更新当前验证信息的步骤可包括用包括在最新验证信息中的公钥信息来更新包括在当前验证信息中的公钥信息,所述验证数据的步骤可包括使用包括在当前验证信息中的公钥信息来检验包括在所述数据中的第二数字签名。
根据本发明的另一方面,提供一种维护安全的安全方法,该方法包括从客户机接收当前验证信息;和基于该当前验证信息产生最新验证信息,并将该最新验证信息发送给客户机。
根据本发明的另一方面,提供一种维护安全的安全系统,该系统包括存储器,存储当前验证信息;验证信息传输模块,将当前验证信息发送给服务器,并从服务器接收最新验证信息;验证信息管理模块,使用当前验证信息来验证最新验证信息,如果最新验证信息被成功验证,则用最新验证信息来更新当前验证信息;和验证模块,使用存储在存储器中的更新的当前验证信息来验证从服务器接收的数据。
通过参考附图详细描述本发明的示例性实施例,本发明的以上和其它特征将变得更清楚,其中图1是根据本发明的示例性实施例的安全系统的框图;图2是用于解释根据本发明的示例性实施例的安全方法的流程图;图3是用于解释根据本发明的示例性实施例的图1的验证信息管理模块的操作的流程图;图4是用于解释根据本发明的示例性实施例的图1的验证模块的操作的流程图;和图5是用于解释根据本发明的另一示例性实施例的安全方法的流程图。
具体实施例方式
现在将参考显示了本发明的示例性实施例的附图来更全面地描述本发明。
图1是根据本发明的示例性实施例的安全系统的框图。在图1的安全系统中,客户机100和服务器200通过客户机通信模块140和服务器通信模块210相互通信。客户机通信模块140和服务器通信模块210支持有线或无线通信。服务器200是用于向客户机100提供验证信息和数据的系统,其产生和管理验证密钥。
参考图1,客户机100包括验证信息传输模块110、验证模块120和验证信息管理模块130。验证信息150被存储在存储器151中。验证信息150是对数据进行验证和解码所需的,为了在使用客户机100时有效地执行验证操作,可在制造客户机100之前将验证信息150存储在存储器151中。
验证信息传输模块110将存储在存储器151中的验证信息150发送给服务器200,并从服务器200接收最新验证信息。验证信息150可包括公钥信息。另外,服务器200发送最新验证信息,该最新验证信息用于更新现有的公钥,它包括最新公钥信息和该最新公钥信息的数字签名。此外,服务器200基于客户机100所发送的验证信息150来验证客户机100,搜索关于客户机100的验证信息的信息,基于搜索结果产生最新验证信息,并将最新验证信息发送给客户机100。这里,数字签名是一种使用基于公钥的加密方法(即,非对称加密方法)的电子签名。由于数字签名不同于发送器对整个电子文档的加密,所以它可有效地使验证操作变得容易。
验证模块120在验证信息150的帮助下验证从服务器200接收的数据,从而确定数据的完整性。服务器200可将数字签名添加到数据,并将该数据发送给客户机100。然后,客户机100可通过使用包括在验证信息150中的公钥检验包括在服务器200所发送的数据中的数字签名来验证服务器200所发送的数据。
验证信息管理模块130用从服务器200接收的最新验证信息来更新验证信息150,从而保持最新的用于客户机100的验证信息。验证信息管理模块130检验包括在最新验证信息中的数字签名,并用包括在从服务器200接收的最新验证信息中的最新公钥信息来替换包括在验证信息150中的公钥信息。更新的结果随后可用于验证服务器200所发送的数据。
图2是用于解释根据本发明的示例性实施例的安全方法的流程图。参考图2,在操作S202中,客户机将其验证信息发送给服务器。客户机所发送的验证信息可包括与客户机的公钥有关的公钥信息。在操作S204中,服务器基于客户机所发送的验证信息来产生最新验证信息,并将最新验证信息发送给客户机。此外,服务器可基于客户机所发送的验证信息来确定客户机的当前状态,搜索可被客户机验证的信息,并将搜索结果发送给客户机。服务器所发送的最新验证信息可包括用于客户机的最新公钥信息和该最新公钥信息的数字签名。
在操作S206中,客户机在使用服务器所发送的最新验证信息之前使用客户机自己的验证信息来验证该最新验证信息。换句话说,客户机可对最新验证信息进行解密或者可使用客户机自己的公钥来解释包括在最新验证信息中的数字签名,从而确定该最新验证信息是否安全。
如果服务器所发送的最新验证信息被客户机成功验证,则在操作S208中用该最新验证信息来更新客户机的验证信息。换句话说,用包括在最新验证信息中的最新公钥信息来更新包括在客户机的验证信息中的公钥信息,从而更新的公钥可被用于确定服务器随后所发送的数据的完整性。如果在操作S210中客户机向服务器发出对数据的请求,则在操作S212中服务器将数字签名添加到该数据中,并将结果数据发送给客户机。然后,在操作S214中,客户机使用在操作S208中获得的更新的公钥来检验包括在服务器所发送的数据中的数字签名,从而验证服务器所发送的数据。
图3是用于解释根据本发明的示例性实施例的图1的验证信息管理模块130的操作的流程图。参考图3,在操作S302中,从服务器接收最新验证信息。在操作S304中,使用当前验证信息来验证最新验证信息。如果在操作S306中最新验证信息被成功验证,即,如果在操作S306中最新验证信息被确定为具有完整性,则在操作S310中确定最新验证信息是否包括将被更新的新的验证信息。
如果在操作S312中最新验证信息被确定为包括将被更新的新的验证信息,则在操作S314中用包括在最新验证信息中的所述新的验证信息来更新当前验证信息。如果在操作S306中最新验证信息的验证失败,则在操作S308中执行错误处理操作,并终止验证信息管理模块130的操作。
图4是用于解释根据本发明的示例性实施例的图1的验证模块120的操作的流程图。如上所述,客户机可使用以上述方式进行管理的客户机自己的验证信息来验证从外部装置接收的文件。参考图4,在操作S402中,客户机向服务器发出对文件(例如新版本的软件程序)的请求。在操作S404中,客户机从服务器下载该文件。在操作S406中,客户机使用其验证信息来验证下载的文件。如果在操作S408中下载的文件被成功验证,则在操作S412中客户机打开并使用下载的文件。另一方面,如果在操作S408中下载的文件的验证失败,则在操作S410中客户机确定下载的文件是未经授权的系统发送的,并执行错误处理操作。其后,验证模块120的操作终止。
图5是用于解释根据本发明的另一示例性实施例的安全方法的流程图,具体地讲是用于解释客户机从服务器下载文件的操作的流程图。参考图5,在操作S502中,为了从服务器下载文件,客户机访问服务器并将客户机自己的当前公钥信息发送给服务器。在操作S504中,服务器将最新验证信息发送给客户机,该最新验证信息包括最新公钥信息和该最新公钥信息的数字签名。
在操作S506中,客户机使用当前公钥信息来检验包括在最新验证信息中的数字签名。如果最新验证信息被确定为是安全的,则客户机通过将当前公钥信息与最新公钥信息进行比较来决定是否用最新公钥信息来更新当前公钥信息。如果客户机基于比较结果决定用最新公钥信息来更新当前公钥信息,则在操作S508中用最新公钥信息来更新当前公钥信息。如果最新验证信息的验证失败,则发出错误,并可终止与服务器的通信。如果比较结果显示客户机没有必要用最新公钥信息来更新当前公钥信息,则不执行用最新公钥信息更新当前公钥信息的操作。
在操作S510中,客户机发出对服务器可提供给客户机的文件列表的请求。在操作S512中,服务器将请求的文件列表作为文件或不同于文件的数据类型与数字签名一起发送给客户机。在操作S514中,客户机通过使用公钥检验与服务器所发送的文件列表一起发送的数字签名来验证该文件列表。在操作S516中,如果所述文件列表被确定为是安全的,则客户机向服务器发出对包括在该文件列表中的一个文件的请求。在操作S518中,服务器将请求的文件和数字签名发送给客户机。在操作S520中,客户机验证服务器所发送的文件。如果服务器所发送的文件被确定为是安全的,则在操作S522中客户机使用该文件。例如,客户机将该文件发送给请求该文件的软件模块。
根据本发明的示例性实施例的安全方法可被实现为写在计算机可读介质上的计算机可读代码。
如上所述,根据本发明的示例性实施例,可通过维护输入到客户机或从客户机输出的数据的安全来实现安全的数据传输并防止客户机受到恶意程序的破坏。另外,可以以简单的方式维护数据的安全,从而提供一种不会劣化CE装置的性能的有效的安全功能。
尽管已参考本发明的示例性实施例具体显示和描述了本发明,但是本领域的普通技术人员应该理解,在不脱离由权利要求所限定的本发明的范围和精神的情况下,可对其进行形式和细节上的各种改变。
权利要求
1.一种安全方法,包括将客户机的当前验证信息发送给服务器;服务器基于客户机的当前验证信息产生用于客户机的最新验证信息,并将该最新验证信息发送给客户机;客户机使用客户机的当前验证信息来验证最新验证信息;和当最新验证信息被客户机成功验证时,参考该最新验证信息更新客户机的当前验证信息。
2.如权利要求1所述的安全方法,还包括客户机向服务器发出对数据的请求;服务器将请求的数据发送给客户机;和客户机使用客户机的更新的当前验证信息来验证服务器所发送的数据。
3.一种安全方法,包括将当前验证信息发送给服务器;从服务器接收服务器基于该当前验证信息所产生的最新验证信息;使用当前验证信息来验证最新验证信息;和当最新验证信息被成功验证时,用该最新验证信息来更新当前验证信息。
4.如权利要求3所述的安全方法,其中,所述更新当前验证信息的步骤包括通过将当前验证信息与最新验证信息进行比较来确定当前验证信息是否需要被更新;和当当前验证信息需要被更新时,用最新验证信息来更新当前验证信息。
5.如权利要求3所述的安全方法,还包括从服务器接收数据;和使用更新的当前验证信息来验证所述数据。
6.如权利要求3所述的安全方法,还包括发出对服务器可提供的文件列表的请求;从服务器接收请求的文件列表;使用当前验证信息来验证接收的文件列表;向服务器发出对包括在接收的文件列表中的文件的请求;从服务器下载请求的文件;和使用更新的当前验证信息来验证下载的文件。
7.如权利要求3所述的安全方法,其中,所述当前验证信息包括公钥信息。
8.如权利要求7所述的安全方法,其中,所述最新验证信息包括用于客户机的最新公钥信息和该最新公钥信息的数字签名,其中,所述验证最新验证信息的步骤包括使用包括在当前验证信息中的公钥信息来检验数字签名,其中,所述更新当前验证信息的步骤包括用所述最新公钥信息来更新包括在当前验证信息中的公钥信息。
9.如权利要求5所述的安全方法,其中,所述当前验证信息包括公钥信息,其中,所述验证最新验证信息的步骤包括使用包括在当前验证信息中的公钥信息来检验包括在最新验证信息中的第一数字签名,其中,所述更新当前验证信息的步骤包括用包括在最新验证信息中的公钥信息来更新包括在当前验证信息中的公钥信息,其中,所述验证数据的步骤包括使用包括在当前验证信息中的公钥信息来检验包括在所述数据中的第二数字签名。
10.一种安全方法,包括从客户机接收当前验证信息;和基于该当前验证信息产生最新验证信息,并将该最新验证信息发送给客户机。
11.如权利要求10所述的安全方法,其中,所述最新验证信息包括最新公钥信息和该最新公钥信息的第一数字签名。
12.如权利要求11所述的安全方法,还包括接收由客户机发出的对数据的请求;和将请求的数据和该请求的数据的第二数字签名发送给客户机。
13.一种存储用于执行安全方法的计算机程序的计算机可读介质,所述安全方法包括将客户机的当前验证信息发送给服务器;服务器基于客户机的当前验证信息产生用于客户机的最新验证信息,并将该最新验证信息发送给客户机;客户机使用客户机的当前验证信息来验证最新验证信息;和当最新验证信息被客户机成功验证时,参考该最新验证信息更新客户机的当前验证信息。
14.一种安全系统,包括存储器,存储当前验证信息;验证信息传输模块,将当前验证信息发送给服务器,并从服务器接收最新验证信息;验证信息管理模块,使用当前验证信息来验证最新验证信息,并且当最新验证信息被成功验证时,用该最新验证信息来更新当前验证信息;和验证模块,使用存储在存储器中的更新的当前验证信息来验证从服务器接收的数据。
15.如权利要求14所述的安全系统,其中,所述当前验证信息包括公钥信息,其中,所述验证信息管理模块使用包括在当前验证信息中的公钥信息来检验包括在最新验证信息中的第一数字签名,并用包括在最新验证信息中的最新公钥信息来更新包括在当前验证信息中的公钥信息,其中,所述验证模块使用包括在更新的当前验证信息中的公钥信息来检验包括在从服务器接收的数据中的第二数字签名。
全文摘要
提供了一种用于维护客户机和服务器之间的安全的安全方法和系统以及一种存储用于执行该安全方法的计算机程序的计算机可读介质。所述安全系统包括存储器,存储当前验证信息;验证信息传输模块,将当前验证信息发送给服务器,并从服务器接收最新验证信息;验证信息管理模块,使用当前验证信息来验证最新验证信息,并且如果最新验证信息被成功验证,则用该最新验证信息来更新当前验证信息;和验证模块,使用存储在存储器中的更新的当前验证信息来验证从服务器接收的数据。
文档编号H04L9/12GK1941697SQ20061015388
公开日2007年4月4日 申请日期2006年9月14日 优先权日2005年9月30日
发明者金善勃 申请人:三星电子株式会社