[0002] 本申请要求于2012年11月8日在韩国知识产权局提交的韩国
专利申请第10-2012-0126168号的权益,其公开通过引用全部并入此处。
技术领域
[0003]
实施例涉及使用网络服务器的自签名证书(self-signed certificate)的用户认证方法。
背景技术
[0004] 在
云计算环境下,连接至网络的各种资源可以被连接至相同网络的客户端设备利用。
[0005] 通过在连接至网络的电子设备内建立网络服务器,可以经由连接至相同网络的客户端设备的网络浏览器
访问和使用电子设备。换句话说,当用户想要访问期望的电子设备时,用户可以通过输入电子设备的相应IP地址到客户端设备的网络浏览器来访问用于控制电子设备的网页。
[0006] 经由网络浏览器对电子设备的访问需要安全用户认证方法以便仅向经认证的用户提供服务。但是,不容易基于超文本传输协议(HTTP)通信具体实现安全用户认证方法。而且,通过采用HTTP通信中的安全套接层(secure socket layer,SSL)生成HTTP——其是一种可靠信道——以及传输认证信息的方法需要将由证书授权发布的证书存储在相应的电子设备中,由此引发发布证书的成本。而且,尽管存在使用挑战-响应协议的基于HTTP的认证方法,但是该方法是通过使用诸如消息
摘要算法5(MD5)之类的不安全的哈希功能设计。
发明内容
[0007] 在一个或多个实施例的一方面,提供了使用网络服务器的自签名证书的基于安全口令的用户认证方法。
[0008] 在一个或多个实施例的方面,提供一种使用网络服务器的自签名证书的用户认证方法,所述用户认证方法包括:从客户端设备接收通过使用注册到所述网络服务器的自签名证书的公共密钥生成的登录消息;通过使用登录消息以及与所述公共密钥相应的秘密密钥生成响应消息;将所生成的响应消息发送到所述客户端设备;当在所述客户端设备处所述响应消息的可靠性通过了验证时,从所述客户端设备经由通过使用所述网络服务器的自签名证书连接的安全套接层(SSL)信道接收来自所述客户端设备的验证值;通过使用接收到的验证值验证所述登录消息的可靠性;以及如果所述登录消息的可靠性通过了验证则确认用户认证完成。
[0009] 通过使用公共密钥和经由所述客户端设备输入的用户ID和口令生成所述登录消息。
[0010] 生成所述响应消息包括:提取注册到所述网络服务器的与所述用户ID相应的口令;选择任意密值;以及通过使用所提取的口令、所述秘密密钥、所述密值以及所述登录消息生成所述响应消息。
[0012] 在一个或多个实施例的方面,提供一种具有网络服务器的电子设备,所述电子设备包括:通信
接口单元,用于与客户端设备通信;证书生成单元,用于生成自签名证书;响应消息生成单元,用于响应于从所述客户端设备接收到的登录消息,通过使用与注册到所述自签名证书的公共密钥相应的秘密密钥生成响应消息;用户认证单元,用于经由通过使用所述网络服务器的自签名证书连接的安全套接层(SSL)信道,通过使用从所述客户端设备接收到验证值来验证所述登录消息的可靠性;存储单元,用于存储用户认证信息;以及控制单元,用于控制用户认证过程,其中,当经由所述
通信接口单元从所述客户端设备接收到所述登录消息时,所述控制单元关由所述响应消息生成单元生成的响应消息发送到所述客户端设备。
[0013] 通过使用注册到所述网络服务器的自签名证书的公共密钥和经由所述客户端设备输入的用户ID和口令生成所述登录消息。
[0014] 响应消息生成单元从所述存储单元提取与经由所述客户端设备输入的用户ID相应的口令,选择任意密值,以及通过使用所提取的口令、所选择的密值、所述秘密密钥和所述登录消息生成所述响应消息。
[0015] 控制单元经由HTTP请求将所述响应消息发送到所述客户端设备。
[0016] 根据一个或多个实施例的另一方面,提供存储用于实现实施例的方法的计算机可读指令的至少一种计算机可读介质。
附图说明
[0017] 上述及其他方面将通过参考附图详细描述示范性具体实施例而变得更加明显,附图中:
[0018] 图1是示出根据实施例使用网络服务器的自签名证书实现用户认证方法的环境的图;
[0019] 图2是示出根据实施例使用网络服务器的自签名证书执行用户认证方法的客户端设备的结构的图;
[0020] 图3是示出根据实施例包括网络服务器的、使用网络服务器的自签名证书执行用户认证的MFP的结构的图;
[0021] 图4是示出根据实施例在使用网络服务器的自签名证书执行用户认证的同时由客户端设备和MFP执行的操作的图;
[0022] 图5至图7是描述根据实施例使用网络服务器的自签名证书的用户认证方法的
流程图。
具体实施方式
[0023] 现在将参考附图更加充分地描述实施例,附图中示出了本发明总的发明构思的示范性实施例。
[0024] 图1是示出根据实施例使用网络服务器的自签名证书实现用户认证方法的环境的图。
[0025] 参考图1,客户端设备100和包括网络服务器的多功能
打印机(在下文中称作MFP)200连接到相同的网络300。这里,尽管在图1中示出MFP200作为包括网络服务器的电子设备,但是也可以使用诸如路由器这样的其它电子设备。用户可以经由网络300从客户端设备100访问MFP200,并且控制MFP200。但是,为了仅使经认证的用户能够访问MFP200,用户认证是必要的。当用户输入用户认证信息——也就是说,用户ID和口令——到客户端设备100上的网络浏览器时,客户端设备100可以通过经由网络300与MFP200通信来执行用户认证。将在下面描述用户认证的详细说明。
[0026] 图2是示出根据实施例使用网络服务器的自签名证书执行用户认证方法的客户端设备100的结构的图。参考图2,客户端设备100可以包括通信接口单元(通信接口)110、控制单元(
控制器)120、用户认证信息输入单元130、安全单元140、登录消息生成单元(登录消息生成器)150、响应消息验证单元(响应消息验证器)160和验证值生成单元(验证值生成器)170。控制单元(控制器)120可以包括一个或多个处理器。将在下面参考图4详细描述客户端设备100的各个组件的操作。
[0027] 图3是示出根据实施例包括网络服务器的、使用网络服务器的自签名证书执行用户认证的MFP200的结构的图。参考图3,包括网络服务器的MFP200可以包括通信接口单元(通信接口)210、控制单元(控制器)220、证书生成单元(证书生成器)230、响应消息生成单元(响应消息生成器)240、用户认证单元(用户认证器)250和存储单元(
存储器)260。控制单元(控制器)220可以包括一个或多个处理器。将在下面参考图4详细描述MFP200的各个组件的操作。
[0028] 图4是示出根据实施例在使用网络服务器的自签名证书执行用户认证的同时由客户端设备100和MFP200执行的操作的图。
[0029] 在下文中,将参考图2至图4详细描述根据实施例的使用网络服务器的自签名证书的用户认证方法。
[0030] 在操作S401中,客户端设备100的用户认证信息输入单元130从用户接收包括用户ID和口令的用户认证信息的输入。当用户认证信息被输入时,用户认证过程启动,并且客户端设备100的安全单元140从MFP200的证书生成单元230生成的自签名证书得到公共密钥。
[0031] 在操作S402中,客户端设备100的登录消息生成单元150和验证值生成单元170通过使用由安全单元140得到的公共密钥以及由用户认证信息输入单元130输入的用户ID和口令,分别生成登录消息和验证值。
[0032] 将在下面详细描述生成登录消息“LoginMsg”和验证值“Verifier”的方法。在下面假定由安全单元140得到的公共密钥是“PK=e_s”,并且口令是“PW”。登录消息生成单元150选择任意密值“u”并且生成任意Rivest-Shamir-Adleman(RSA)密钥对“(PK′,SK′)=(e_c,d_c)”。接下来,生成登录消息,例如“LoginMsg=[u H(PW)^{d_c},u^{e_s}H(PW)]=[R_1,R_2]”。这里,H表示包括在MFP200中的网络服务器与客户端设备100经由网络浏览器共享的哈希函数。而且,生成验证值,例如“Verifier=[verifier_c,verifier_s]=[(u,d_c),e_c]”。
[0033] 当在操作S402中生成登录消息和验证值时,客户端设备100的控制单元120在操作S403中经由通信接口单元110将生成的登录消息发送到MFP200的网络服务器。这里,可以经由HTTP请求发送登录消息。
[0034] MFP200的控制单元220经由通信接口单元210接收从客户端设备100发送的登录消息,将登录消息转发给响应消息生成单元240,并且将登录消息存储在存储单元260中。当MFP200接收到登录消息时,响应消息生成单元240响应于登录消息的接收,在操作S404中生成响应消息。响应消息生成单元240从存储单元260中提取与由用户认证信息输入单元130输入的用户ID相应的口令,并且通过使用提取的口令、与注册到自签名证书的公共密钥相应的秘密密钥以及接收到的登录消息来生成响应消息。
[0035] 将在下面详细描述生成响应消息“ReplyMsg”的方法。在下面假定与用户ID相应的口令是“PW”并且与注册到自签名证书的公共密钥相应的秘密密钥是“SK=e_s”。响应消息生成单元240选择任意密值“v”。接下来,响应消息生成单元240根据“u′=R_2^{d_s}/H(PW)^{d_s}”得到“u”,并且根据“ReplyMsg=[v H(PW)^{d_s},v R_1/{R_2^{d_s}/H(PW)^{d_s}},H(u′,v)]=[R_3,R_4,R_5]”生成响应消息。
[0036] 当在操作S404中生成响应消息时,MFP200的控制单元220在操作S405中经由控制单元120将生成的响应消息发送到客户端设备100。这里,响应消息可以经由HTTP请求发送。
[0037] 客户端设备100的控制单元120经由通信接口单元110接收从MFP200发送的响应消息,并且将接收到的响应消息转发给响应消息验证单元160。在操作S406中,响应消息验证单元160通过使用安全单元140得到的公共密钥以及由验证值生成单元170生成的验证值来验证响应消息的可靠性。
[0038] 将在下面详细描述验证响应消息的可靠性的方法。响应消息验证单元160根据“v=R_4/H(PW)^{d_c}”得到“v”,并且确定响应消息是否满足“R_3^{e_s}/H(PW)=(R_4/H(PW)^{d_c})”和“R_5=H(u,v)”。如果响应消息满足所述条件,则确定响应消息是可靠的。否则,如果响应消息不满足所述条件,则确定响应消息是不可靠的。
[0039] 如果响应消息不可靠,则用户认证过程终止。但是,如果响应消息是可靠的,则客户端设备100的控制单元120在操作S407中,经由通过使用自签名证书连接的安全套接层(SSL)信道,将验证值生成单元170生成的验证值发送到MFP200。
[0040] MFP200的控制单元220经由通信接口单元210接收由客户端设备100发送的验证值,并且将接收到的验证值转发给用户认证单元250。在操作S408中,用户认证单元250通过使用接收到的验证值验证登录消息的可靠性。如果登录消息是可靠的,则确定用户认证是成功的。否则,如果登录消息不可靠,则确定用户认证已经失败。
[0041] 将在下面详细描述验证登录消息的可靠性的方法。确定登录消息是否满足“R_1^{e_c}/H(PW)=(R_2^{d_s}/H(PW)^{d_s})^{d_c}”。如果登录消息满足条件,则确定登录消息是可靠的。否则,如果登录消息不满足条件,则确定登录消息是不可靠的。
[0042] 图5至图7是用于描述根据实施例使用网络服务器的自签名证书的用户认证方法的流程图。在下文中,将参考图5至图7详细描述根据实施例使用网络服务器的自签名证书的用户认证。但是,因为上面参考图2至图4详细描述了生成登录消息和响应消息的方法,所以在下面将省去其详细说明。
[0043] 图5中示出的流程图包括根据实施例的用户认证方法的操作、由包括客户端设备和网络服务器的整个系统执行的操作。参考图5,在操作S501中,用户认证信息,也就是说,用户ID和口令,经由客户端设备输入。在操作S502中,客户端设备通过使用注册到网络服务器的自签名证书的公共密钥、用户ID和口令,生成登录消息和验证值。在操作S503中,客户端设备将在操作S502中生成的登录消息发送到网络服务器。这里,可以经由HTTP请求发送登录消息。
[0044] 在操作S504中,网络服务器通过使用在操作S501中输入的与用户ID相应的口令、与注册到网络服务器的自签名证书的公共密钥相应的秘密密钥以及接收到的登录消息生成响应消息。在操作S505中,网络服务器将在操作S504中生成的响应消息发送到客户端设备。这里,响应消息可以经由HTTP请求发送。
[0045] 在操作S506中,客户端设备通过使用注册到网络服务器的自签名证书的公共密钥以及在操作S502中生成的验证值,来验证接收到的响应消息的可靠性。在操作S507中确定响应消息的可靠性是否通过了验证。如果响应消息的可靠性通过了验证,则用户认证过程前进到操作S508。如果响应消息的可靠性没有通过验证,则用户认证过程终止。
[0046] 在操作S508中,客户端设备经由通过使用网络服务器的自签名证书连接的SSL信道,将在操作S502中生成的验证值发送到网络服务器。在操作S509中,网络服务器通过使用接收到的验证值验证在操作S503中接收到的登录消息的可靠性。在操作S510中确定登录消息的可靠性是否通过了验证。如果登录消息的可靠性通过了验证,则用户认证过程前进到操作S511。如果登录消息的可靠性没有通过验证,则用户认证过程终止。在操作S511中,确认用户认证的完成并且终止用户认证过程。
[0047] 图6中示出的流程图包括根据实施例的用户认证方法的操作、由网络服务器执行的操作。参考图6,网络服务器在操作S601中从客户端设备接收登录消息。这里,通过使用注册到网络服务器的自签名证书的公共密钥生成登录消息。而且,对此,登录消息可以经由HTTP请求接收。
[0048] 接下来,在操作S602中,通过使用与输入到客户端设备的用户ID相应的口令、与注册到网络服务器的自签名证书的公共密钥相应的秘密密钥以及在操作S501中接收到的登录消息,生成响应消息。在操作S603中,生成的响应消息被发送到客户端设备。这里,可以经由HTTP请求发送响应消息。
[0049] 当在客户端设备中响应消息的可靠性通过了验证时,在操作S604中从客户端设备接收验证值。这里,可以经由通过使用网络服务器的自签名证书连接的SSL信道接收验证值。接下来,在操作S605中,通过使用接收到的验证值来验证在操作S601中接收到的登录消息的可靠性。在操作S606中确定登录消息的可靠性是否通过了验证。如果登录消息的可靠性通过了验证,则用户认证过程前进到操作S607。如果登录消息的可靠性没有通过验证,则用户认证过程终止。在操作S607中,确认用户认证的完成并且终止用户认证过程。
[0050] 图7中示出的流程图包括根据实施例的用户认证方法的操作、由客户端设备执行的操作。参考图7,当用户在操作S701中输入用户认证信息,也就是说,用户ID和口令时,用户认证过程启动。在操作S702中,通过使用注册到网络服务器的自签名证书的公共密钥以及在操作S701中输入的用户ID和口令生成注册消息和验证值。
[0051] 接下来,在操作S703中,在操作S702中生成的注册消息被发送到网络服务器,并且在操作S704中从网络服务器接收响应消息。可以经由HTTP请求执行登录消息和响应消息的发送和接收。而且,通过使用与在操作S701中输入的用户ID相应的口令、与注册到网络服务器的自签名证书的公共密钥相应的密值以及在操作S702中生成的登录消息,由网络服务器生成响应消息。
[0052] 在操作S705中,通过使用注册到网络服务器的自签名证书的公共密钥和在操作S702中生成的验证值来验证接收到的响应消息的可靠性。在操作S706中确定响应消息的可靠性是否通过了验证。如果响应消息通过了验证,则用户认证过程前进到操作S707。否则,如果响应消息的可靠性没有通过验证,则终止用户认证过程。
[0053] 在操作S707中,在操作S702中生成的验证值经由通过使用网络服务器的自签名证书连接的SSL信道被发送到网络服务器,并且用户认证过程终止。
[0054] 如上所述,因为通过使用网络服务器的自签名证书生成与其相对应的登录消息和响应消息,并且当响应消息的可靠性通过了验证时经由通过使用网络服务器的自签名证书连接的SSL信道发送验证值,所以客户端设备和网络服务器可以安全地执行用户认证而无需共享密钥。
[0055] 而且,可以通过使用网络服务器的自签名证书而无需由证书授权机构发布的证书,基于用户ID和口令经由HTTP协议安全地执行用户认证。
[0056] 这里描述的装置中的过程、功能、方法和/或
软件可以被记录、存储或者固定在包括程序指令(计算机可读指令)的一个或多个非瞬时计算机可读存储介质(计算机可读记录介质)中,程序指令将由计算机实现以导致一个或多个处理器运行或者执行程序指令。所述介质还可以包括单独的或者与程序指令组合的数据文件、数据结构等等。所述介质和程序指令可以是专
门设计和构造的介质和程序指令,或者它们可以是公知的类型并且对计算机软件技术中普通技术人员可用。非瞬时计算机可读存储介质的示例包括:磁介质,诸如
硬盘、
软盘和磁带;光介质,诸如CD ROM盘和DVD;磁光盘介质,诸如光盘;以及专门配置用于存储和执行程序指令的
硬件设备,诸如
只读存储器(ROM)、
随机存取存储器(RAM)、闪存等等。程序指令的例子包括诸如由编译器生成的机器代码,以及包含可以由计算机使用解释器运行的高级代码的文件。所描述的硬件设备可以被配置为用作记录、存储或者固定在一个或多个计算机可读存储介质中的一个或多个软件模
块,以便执行上面所述的操作和方法或者反之亦然。此外,非瞬时计算机可读存储介质可以在通过网络连接的
计算机系统当中分布并且计算机可读代码或者程序指令可以以分散式存储和运行。此外,计算机可读存储介质还可以在专用集成
电路(ASIC)或者
现场可编程门阵列(FPGA)至少一个中具体实现。
[0057] 虽然已经具体示出和描述了少数实施例,但是本领域普通技术人员将理解,可以对这些实施例进行形式和细节上的各种改变而不脱离如所附
权利要求及其等效物所定义的本公开的精神和范围。