Nothing Special   »   [go: up one dir, main page]

KR100954449B1 - System and method for authentication process of java client agent by applet and Remote Method Invocation - Google Patents

System and method for authentication process of java client agent by applet and Remote Method Invocation Download PDF

Info

Publication number
KR100954449B1
KR100954449B1 KR1020080028192A KR20080028192A KR100954449B1 KR 100954449 B1 KR100954449 B1 KR 100954449B1 KR 1020080028192 A KR1020080028192 A KR 1020080028192A KR 20080028192 A KR20080028192 A KR 20080028192A KR 100954449 B1 KR100954449 B1 KR 100954449B1
Authority
KR
South Korea
Prior art keywords
agent
client
authentication
server
sso
Prior art date
Application number
KR1020080028192A
Other languages
Korean (ko)
Other versions
KR20090102924A (en
Inventor
장후규
박동규
Original Assignee
(주)제닉스어소시에츠
박동규
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)제닉스어소시에츠, 박동규 filed Critical (주)제닉스어소시에츠
Priority to KR1020080028192A priority Critical patent/KR100954449B1/en
Publication of KR20090102924A publication Critical patent/KR20090102924A/en
Application granted granted Critical
Publication of KR100954449B1 publication Critical patent/KR100954449B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템 및 그 방법을 제공하기 위한 것으로, 서비스제공 서버(20)에 제출한 인증요청 정보를 인증처리 서버(30)에서 인증처리하여 인증결과를 전송받고, 에이전트 다운로드 서버(50)로부터 다운되어 설치되는 브릿지 SSO 에이전트(12)를 통하여 통신하는 클라이언트(10)와; 상기 클라이언트(10)가 서비스를 제공받기 위하여 웹브라우저를 통하여 접속하는 서비스제공 서버(20)와; 상기 서비스제공 서버(20)에서 인증요청을 하면 인증/권한 정보 DB(40)에서 사용자 정보와 접근권한 정보를 확인하여 상기 서비스제공 서버(20)로 인증토큰을 발행시키는 인증처리 서버(30)와; 상기 서비스제공 서버(20)로부터 인증토큰을 전송위해, 상기 클라이언트(10)에 설치될 브릿지 SSO 에이전트(12)를 배포하는 에이전트 다운로드 서버(50);를 포함하여 구성함으로서, 운영체제 및 웹브라우저에 종속적인 기술을 배제하도록 자바로 구동되는 애플릿과 클라이언트 에이전트를 구현하고 자바가 설치된 어떠한 사용자 PC에서도 인증처리를 비롯한 동일한 서비스를 제공할 수 있게 되는 것이다.The present invention is to provide a Java client agent authentication processing system and method using an applet and RMI, the authentication request information submitted to the service providing server 20 by the authentication processing server 30 to authenticate the authentication result A client 10 which receives and communicates with the bridge SSO agent 12 which is downloaded and installed from the agent download server 50; A service providing server 20 which the client 10 accesses through a web browser to receive a service; When the authentication request is made at the service providing server 20, the authentication / authorization information DB 40 checks the user information and the access authority information and issues an authentication processing server 30 for issuing an authentication token to the service providing server 20; ; In order to transmit the authentication token from the service providing server 20, the agent download server 50 for distributing the bridge SSO agent 12 to be installed in the client 10; and comprising, depending on the operating system and the web browser In order to eliminate the technology, it is possible to implement Java-powered applets and client agents, and to provide the same services including authentication processing on any user PC with Java installed.

애플릿, RMI, 자바, 에이전트, 인증처리 Applet, RMI, Java, Agent, Authentication

Description

애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템 및 그 방법{System and method for authentication process of java client agent by applet and Remote Method Invocation}System and method for authentication process of java client agent by applet and Remote Method Invocation}

본 발명은 웹브라우저에서의 인증처리에 관한 것으로, 특히 자바 애플릿과 자바 RMI 통신기술을 이용하여 브릿지 SSO 에이전트와 인증처리 서버를 통하여 통합단일인증처리를 수행함으로써, 운영체제(Operating System, O/S) 및 웹브라우저에 종속적인 기술을 배제하도록 자바(JAVA)로 구동되는 애플릿(Applet)과 클라이언트 에이전트(Client Agent)를 구현하고 자바(JAVA)가 설치된 어떠한 사용자 PC에서도 인증처리를 비롯한 동일한 서비스를 제공하기에 적당하도록 한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템 및 그 방법에 관한 것이다.The present invention relates to authentication processing in a web browser, and in particular, by performing integrated single authentication processing through a bridge SSO agent and an authentication processing server using a Java applet and Java RMI communication technology, an operating system (O / S). And implement applets and client agents powered by JAVA to exclude technologies that depend on web browsers, and provide the same services including authentication processing on any user PC installed with JAVA. The present invention relates to a Java client agent authentication processing system using applet and RMI, and a method thereof.

일반적으로 웹브라우저와 사용자 PC 상에서 구동되는 특정 프로세스와의 통신은 현재 마이크로소프트(Microsoft) 사의 인터넷 익스플로러(Internet Explorer, IE)가 C 언어로 짜여진 클라이언트 프로세스와 ActiveX Control 기술을 이용하여 적용하고 있다.In general, communication between a web browser and a specific process running on a user's PC is currently applied by Microsoft's Internet Explorer (IE) using a client process written in C language and ActiveX control technology.

여기서 액티브엑스(ActiveX)는 일반 응용프로그램과 웹을 연결시키기 위해 제공되는 기술을 말한다. 이러한 ActiveX는 미국의 마이크로소프트 사가 개발한 것으로, 윈도우95와 윈도우NT에서 비주얼C++, 비주얼베이식, 자바와 같은 개발도구와 표준 프로그래밍 언어를 이용해서 만든 다양한 일반 응용프로그램들과 웹사이트를 연결시켜 준다. 다양한 개발툴을 이용함으로써 인터랙티브한 웹서비스를 제공할 수 있다. 이와 관계된 기술로는 액티브X 컨트롤, 액티브X 도큐먼트, 액티브 스크립팅, 액티브X 서버 프레임워크 등이 있다.Here, ActiveX refers to a technology provided to connect general applications with the web. This ActiveX, developed by Microsoft Corporation in the United States, connects Web sites and various common applications created using standard programming languages and development tools such as Visual C ++, Visual Basic and Java on Windows 95 and Windows NT. By using various development tools, you can provide interactive web services. Related technologies include ActiveX Controls, ActiveX Documents, Active Scripting, and the ActiveX Server Framework.

이 가운데 액티브X 컨트롤은 자바 애플릿 크기의 웹페이지에 내장된 것으로, 1000개 이상이 개발되어 있으며 다양한 언어와 개발툴로 작성할 수 있다. 액티브X 도큐먼트는 HTML(HyperText Markup Language, 하이퍼 텍스트 표기 언어)과는 무관하게 작성된 것으로, MS워드나 엑셀 파일 등을 의미한다. 액티브 스크립팅은 액티브X 컨트롤이나 자바 애플릿에 포함시킬 수 있는 스크립트 언어로, J스크립트나 VB스크립트가 대표적이다.Among them, ActiveX controls are embedded in Java applet-sized web pages. More than 1000 are developed and written in various languages and development tools. ActiveX documents are written independently of HTML (HyperText Markup Language), meaning MS Word or Excel files. Active scripting is a scripting language that can be included in ActiveX controls or Java applets, such as JScript or VBScript.

그러나 이러한 종래의 ActiveX Control 기술은 사용자 PC의 운영체제가 윈도우(Windows) 운영체제일 것을 강요하고, 또한 웹브라우저도 IE(인터넷 익스플로러)일 것을 강요하는 문제점이 있었다.However, the conventional ActiveX Control technology has a problem that the operating system of the user PC is forced to be a Windows (Windows) operating system, and also the Web browser is also IE (Internet Explorer).

또한 Vista O/S의 출시로 인하여 ActiveX Control을 통한 사용자 PC로의 어플리케이션 설치의 제한 등으로 인한 사용자 편의성 저해 등의 문제가 발생하고 있다.In addition, due to the release of Vista O / S, there is a problem of hampering user convenience due to restriction of application installation to user's PC through ActiveX control.

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 자바 애플릿과 자바 RMI 통신기술을 이용하여 브릿지 SSO 에이전트와 인증처리 서버를 통하여 통합단일인증처리를 수행함으로써, 운영체제 및 웹브라우저에 종속적인 기술을 배제하도록 자바로 구동되는 애플릿과 클라이언트 에이전트를 구현하고 자바가 설치된 어떠한 사용자 PC에서도 인증처리를 비롯한 동일한 서비스를 제공할 수 있는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템 및 그 방법을 제공하는데 있다.Accordingly, the present invention has been proposed to solve the above conventional problems, and an object of the present invention is to perform an integrated single authentication process through a bridge SSO agent and an authentication processing server using a Java applet and Java RMI communication technology. Of Java client agent using RMI and applet that can implement Java-based applet and client agent to exclude technology that is dependent on operating system and web browser, and can provide the same service including authentication processing on any user PC with Java installed. An authentication processing system and method thereof are provided.

도 1은 본 발명의 일 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템의 개념도이고, 도 2는 도 1의 상세블록도이고, 도 3은 도 2에서 클라이언트와 인증처리 서버 및 인증연계 서버의 소프트웨어 아키텍처를 보인 개념도이다.1 is a conceptual diagram of an authentication processing system of a Java client agent using an applet and an RMI according to an embodiment of the present invention, FIG. 2 is a detailed block diagram of FIG. 1, FIG. 3 is a client and an authentication processing server of FIG. This is a conceptual diagram showing the software architecture of the authentication association server.

이에 도시된 바와 같이, 서비스제공 서버(20)에 제출한 인증요청 정보(예를 들면, ID/Password, 공인인증정보, 지문인식정보, 홍체인식정보 등)를 인증처리 서버(30)에서 인증처리하여 인증결과를 전송받고, 에이전트 다운로드 서버(50)로부터 다운되어 설치되는 브릿지 SSO 에이전트(12)를 통하여 통신하는 클라이언트(10)와; 상기 클라이언트(10)가 서비스를 제공받기 위하여 웹브라우저를 통하여 접속하는 서비스제공 서버(20)와; 상기 서비스제공 서버(20)에서 인증요청을 하면 인증/권한 정보 DB(40)에서 사용자 정보와 접근권한 정보를 확인하여 상기 서비스제공 서버(20)로 인증토큰을 발행시키는 인증처리 서버(30)와; 상기 서비스제공 서버(20)로부터 인증토큰을 전송위해, 상기 클라이언트(10)에 설치될 브릿지 SSO 에이전트(12)를 배포하는 에이전트 다운로드 서버(50);를 포함하여 구성된 것을 특징으로 한다.As shown therein, the authentication request information (for example, ID / Password, authorized authentication information, fingerprint recognition information, iris recognition information, etc.) submitted to the service providing server 20 is authenticated by the authentication processing server 30. A client 10 receiving the authentication result and communicating through a bridge SSO agent 12 which is downloaded and installed from the agent download server 50; A service providing server 20 which the client 10 accesses through a web browser to receive a service; When the authentication request is made at the service providing server 20, the authentication / authorization information DB 40 checks the user information and the access authority information and issues an authentication processing server 30 for issuing an authentication token to the service providing server 20; ; And an agent download server 50 for distributing the bridge SSO agent 12 to be installed in the client 10 to transmit the authentication token from the service providing server 20.

상기 클라이언트(10)는, 자바 스크립트(Java Script)와 SSO 애플릿(Single Sign-On Applet)을 이용하여 동작되는 웹브라우저(11)와; 상기 웹브라우저(11)의 SSO 애플릿과 자바 RMI(Remote Method Invocation, 원격 메쏘드 호출) 통신을 수행하여 해당 사용자가 이미 인증처리가 되어 있는 여부를 확인하는 브릿지 SSO 에이전트(Bridge SSO Agent)(12)와; 상기 클라이언트(10)에서 동작되는 JRE(Java Runtime Environment, 자바 실행 환경)(13)와; 상기 클라이언트(10)를 동작시키는 운영체제(14);를 포함하여 구성된 것을 특징으로 한다.The client 10 includes: a web browser 11 operated using a Java script and an SSO applet; Bridge SSO Agent 12 for performing Java Remote Method Invocation (RMI) communication with the SSO applet of the web browser 11 to check whether the corresponding user has already been authenticated. ; A JRE (Java Runtime Environment) 13 which is operated in the client 10; And an operating system 14 for operating the client 10.

상기 클라이언트(10)를 동작시키는 상기 운영체제(14)는, Windows, Linux, Mac 중에서 하나 이상인 것을 특징으로 한다.The operating system 14 operating the client 10 is characterized in that at least one of Windows, Linux, Mac.

상기 서비스제공 서버(20)는, 특정 웹서버로 서비스를 제공하며 클라이언트(10)가 웹브라우저(11)를 통해서 접속하여 인증요청 정보를 제출하면 이를 인증처리 서버(30)에서 인증처리하고 그 결과로 인증토큰을 전송받는 것을 특징으로 한다.The service providing server 20 provides a service to a specific web server, and when the client 10 accesses the web browser 11 and submits authentication request information, the service processing server 30 authenticates the authentication request information. Characterized in that the authentication token is received.

상기 서비스제공 서버(20)는, 해당하는 상기 서비스제공 서버(20)가 NET, ASP, PHP, JSP 중에서 하나 이상의 웹프로그램언어로 이루어져 있는 경우 그에 맞는 서버 스크립트로 작성된 서버측 로직 파일로 구성되며, 상기 클라이언트(10)로부터 받은 인증요청을 확인하여 이미 인증이 되어 있다면 서비스 페이지(22)를 실행하여 서비스를 실시하고, 인증받지 못한 경우에는 상기 클라이언트(10)에서 제출한 인증요청 정보를 상기 인증처리 서버(30)로 전달하는 서버 에이전트(SVR Agent)(21)와; 상기 클라이언트(10)에서 상기 서비스제공 서버(20)에 접속하면 서비스 페이지를 제공하고, 상기 서버 에이전트(21)를 호출한 다음 상기 클라이언트(10)에 JRE 1.6 이상이 설치되어 있는지 또는 SSO_Applet.jar가 설치되어 있는지 또는 SSO_Agent.jar가 설치되어 있는지 판별하며, 상기 서버 에이전트(21)로부터 인증토큰과 사용자 권한 정보를 전달받는 서비스 페이지(Service Page)(22);를 포함하여 구성된 것을 특징으로 한다.The service providing server 20 is composed of a server-side logic file written in a server script according to the corresponding service providing server 20 is composed of one or more web program language among NET, ASP, PHP, JSP, If the authentication request received from the client 10 is already verified and the authentication is already performed, the service page 22 is executed to execute the service. If the authentication request is not authenticated, the authentication request information submitted from the client 10 is processed. A server agent (SVR Agent) 21 for transmitting to the server 30; When the client 10 accesses the service providing server 20, it provides a service page, calls the server agent 21, and then JRE 1.6 or later is installed on the client 10 or SSO_Applet.jar is installed. It determines whether it is installed or SSO_Agent.jar is installed, and a service page (Service Page) (22) receiving the authentication token and the user authority information from the server agent (21).

상기 인증처리 서버(30)는, 상기 서비스제공 서버(20)에서 암호화된 인증요청 정보를 요청하면 이의 유효성/정당성을 확인하는 인증 서블릿(Cert Servlet)(31)과; 상기 인증 서블릿(31)으로부터 넘어온 인증요청 정보를 상기 인증/권한 정보 DB(40)에 있는 사용자 정보와 유효성 및 정당성을 비교처리하는 인증 DB 래퍼(Cert DB Wrapper)(32)와; 상기 인증처리 서버(30)에서 웹프로젝트를 구축하기 위한 자바 프레임워크(Java Framework)인 GWAF(Genics Web Application Framework)(33)와; 상기 인증처리 서버(30)에서 자바 기반의 웹서비스를 구동하는 미들웨어인 WAS(Web Application Server)(34)와; 상기 인증처리 서버(30)에서 동작 되는 JRE(35)와; 상기 인증처리 서버(30)를 동작시키는 운영체제(36);를 포함하여 구성된 것을 특징으로 한다.The authentication processing server 30 includes: a cert servlet 31 for checking the validity / legitimacy of the encrypted authentication request information from the service providing server 20; A certificate DB wrapper (32) which compares the authentication request information passed from the authentication servlet (31) with validity and legitimacy with user information in the authentication / authority information DB (40); A Generic Web Application Framework (GWAF) 33, which is a Java framework for building a web project in the authentication processing server 30; A WAS (Web Application Server) 34 which is middleware for driving a Java-based web service in the authentication processing server 30; A JRE 35 operated in the authentication processing server 30; And an operating system 36 for operating the authentication processing server 30.

상기 에이전트 다운로드 서버(50)는, 상기 클라이언트(10)에서 구동되는 클라이언트 에이전트로 배포되는 SSO 에이전트 파일인 SSO_Agent.jar 파일과; 상기 클라이언트(10)에 저장되어 상기 클라이언트(10)의 로컬에서 실행되는 SSO 애플릿 파일인 SSO_Applet.jar 파일과; JRE의 인스톨용 파일인 Install_jre.cab 파일과; XML(eXtensible Markup Language)로 구성된 JNLP(Java Network Launching Protocol) 파일로서 상기 클라이언트(10)의 자바 웹스타트(Java Web Start)를 통해 SSO_Agent 를 구동하는 파일인 sso_agent.jnlp 파일과; 애플릿에 정의된 함수를 웹브라우저에서 호출하는 자바스크립트(JavaScript) 함수를 포함한 파일인 Manager.js 파일과; 애플릿의 다운로드 및 구동과 관련된 로직이 들어있는 자바스크립트(JavaScript) 파일인 Applet.js 파일;을 포함하여 구성된 것을 특징으로 한다.The agent download server 50 may include an SSO_Agent.jar file, which is an SSO agent file distributed to a client agent running on the client 10; An SSO_Applet.jar file, which is an SSO applet file stored in the client 10 and executed locally in the client 10; An Install_jre.cab file which is a file for installing the JRE; A sso_agent.jnlp file, which is a JNLP (Java Network Launching Protocol) file composed of eXtensible Markup Language (XML) file which drives SSO_Agent through Java Web Start of the client 10; A Manager.js file, which is a file containing a JavaScript function that calls a function defined in an applet in a web browser; And Applet.js file, which is a JavaScript file containing logic related to downloading and running applets.

도 4는 본 발명의 일 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법을 보인 개념도이다.4 is a conceptual diagram illustrating an authentication processing method of a Java client agent using an applet and an RMI according to an embodiment of the present invention.

이에 도시된 바와 같이, 클라이언트(10)에서 서비스제공 서버(20)의 서비스 페이지(22)를 웹브라우저(11)로 열면, 해당 사이트에 포함(include)되어 있는 서버 에이전트(21)를 호출하고, 클라이언트(10)에 필요한 어플리케이션(Application)이 설치되어 있는지 판별하는 단계(ST11, ST12)와; 필요한 어플리케이션이 설치되어 있지 않다면 인증연계 서버(50)로부터 이를 다운로드 요청하고, 요청한 어플리케이 션을 클라이언트(10)에 다운로드하여 설치하는 단계(ST13, ST14)와; 상기 클라이언트(10)의 웹브라우저(11)는 applet.js 파일과 manager.js 파일에 있는 스크립트 함수(function)를 호출하고, 자바스크립트 함수(JavaScript function)는 SSO 애플릿(SSO Applet)에 구현되어 있는 Java API(Application Programming Interface)를 호출하며, SSO 애플릿(SSO Applet)의 Java API 는 브릿지 SSO 에이전트(Bridge SSO Agent)(12)와 Java RMI 통신을 수행하여 상기 클라이언트(10)의 해당 사용자가 이미 인증처리가 되어 있는지 여부를 확인하는 단계(ST15 ~ ST17)와; 상기 브릿지 SSO 에이전트(Bridge SSO Agent)는 요청 결과를 SSO 애플릿(SSO Applet)에 전달하고, 웹브라우저(11)는 자바스크립트(JavaScript)를 통해서 SSO 애플릿(SSO Applet)으로부터 인증토큰값을 전달받는 단계(ST18, ST19)와; 상기 서비스제공 서버(20)의 서버 에이전트(Server Agent)(21)는 웹브라우저(11)로부터 받은 인증 여부를 확인하여, 이미 인증이 되어 있다면 서비스 페이지(22)를 이용하여 서비스를 실시하도록 하고, 인증받지 못한 경우에는 상기 클라이언트(10)의 사용자가 제출한 인증요청 정보를 검증받기 위해 인증처리 서버(30)의 인증 서블릿(Cert Servlet)(31)으로 그 값을 넘기는 단계(ST20, ST21)와; 상기 인증 서블릿(Cert Servlet)(31)은 인증 DB 래퍼(Cert DB Wrapper)(32)의 클래스에 인증요청 정보를 제출하고, 상기 인증 DB 래퍼(Cert DB Wrapper)(32)는 인증/권한 정보 DB(40)에서 인증요청 정보의 유효성(Validation)을 비교하여 확인하고, 확인된 인증요청 정보를 상기 인증 서블릿(Cert Servlet)(31)에 전달하는 단계(ST22 ~ ST25)와; 상기 서버 에이전트(21)는 인증여부와 해당 권한 정보들을 상기 인증 서블릿(31)으로부터 전달받아 브릿지 SSO 에이전트(Bridge SSO Agent)(12)에 인증토큰과 사용자 권한 정보를 세팅하고 본래의 해당 서비스 페이지(22)로 포워드(Forward)하는 단계(ST26, ST27);를 포함하여 수행하는 것을 특징으로 한다.As shown in the drawing, when the client 10 opens the service page 22 of the service providing server 20 with the web browser 11, the server agent 21 included in the corresponding site is called. Determining whether an application required by the client 10 is installed (ST11, ST12); If the required application is not installed, requesting to download it from the authentication association server 50, and downloading and installing the requested application to the client 10 (ST13 and ST14); The web browser 11 of the client 10 calls a script function in the applet.js file and the manager.js file, and a JavaScript function is implemented in the SSO Applet. It calls a Java Application Programming Interface (API), and the Java API of the SSO Applet performs Java RMI communication with the Bridge SSO Agent 12 so that the corresponding user of the client 10 has already authenticated. Checking whether or not the process has been performed (ST15 to ST17); The Bridge SSO Agent delivers the request result to the SSO Applet, and the web browser 11 receives the authentication token value from the SSO Applet through JavaScript. (ST18, ST19); The server agent 21 of the service providing server 20 checks whether the authentication is received from the web browser 11, and if it is already authenticated, performs a service using the service page 22, If not authenticated (ST20, ST21) and passing the value to the cert servlet (31) of the authentication processing server 30 to verify the authentication request information submitted by the user of the client 10 and ; The Cert Servlet 31 submits authentication request information to a class of Cert DB Wrapper 32, and the Cert DB Wrapper 32 provides a certificate / authority information DB. Comparing and verifying validity of certification request information at 40 and transferring the verified authentication request information to the cert servlet 31 (ST22 to ST25); The server agent 21 receives the authentication status and the corresponding authority information from the authentication servlet 31, sets the authentication token and the user authority information in the bridge SSO agent 12, and sets the original corresponding service page ( And forwarding to 22) (ST26 and ST27).

상기 필요한 어플리케이션이 설치되어 있는지 판별하는 단계(ST11, ST12)는, JRE 1.6 이상이 설치되어 있는지 또는 SSO_Applet.jar 가 설치되어 있는지 또는 SSO_Agent.jar 가 설치되어 있는지 판별하는 것을 특징으로 한다.The step of determining whether the required application is installed (ST11, ST12), characterized in that it is determined whether JRE 1.6 or more is installed, SSO_Applet.jar or SSO_Agent.jar is installed.

도 5는 본 발명의 다른 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법의 흐름도이다.5 is a flowchart illustrating an authentication processing method of a Java client agent using an applet and RMI according to another embodiment of the present invention.

이에 도시된 바와 같이, 클라이언트(10)에서 서비스 요청을 받으면, 서비스제공 서버(20)는 에이전트가 설치되어 있는지 판별하고, 에이전트가 상기 클라이언트(10)에 설치되어 있지 않으면 인증처리 서버(30)로 설치요청하고, 에이전트가 설치되어 있으면 서비스를 이용하도록 하는 단계(ST31, ST32)와; 상기 인증처리 서버(30)는 상기 서비스제공 서버(20)에서 받은 설치요청에 따라 에이전트 다운로드 서버(50)로 에이전트 다운로드 요청을 수행하여 상기 클라이언트(10)에 브릿지 SSO 에이전트(12)와 SSO 애플릿이 설치되도록 하는 단계(ST33, ST34)와; 상기 서비스 제공 서버(20)는 상기 클라이언트(10)로부터 로그인 요청을 받으면 인증결과를 상기 인증처리 서버(30)로 전송하는 단계(ST35, ST36)와; 상기 서비스제공 서버(20)는 인증처리 서버(30)에서 생성된 토큰(Token)을 제공받고, 상기 클라이언트(10)의 브릿지 SSO 에이전트(12)에 토큰을 저장하고 세션을 생성시키는 단계(ST37, ST38)와; 상기 클라이언트(10)는 세션이 올바르면 상기 서비스제공 서버(20)에서 제공하 는 서비스를 이용하고, 세션이 올바르지 않으면 다시 로그인 요청을 수행하도록 하는 단계(ST39);를 포함하여 수행하는 것을 특징으로 한다.As shown therein, upon receiving the service request from the client 10, the service providing server 20 determines whether the agent is installed, and if the agent is not installed on the client 10, the authentication processing server 30 Requesting installation and using a service if an agent is installed (ST31, ST32); The authentication processing server 30 performs an agent download request to the agent download server 50 according to the installation request received from the service providing server 20 so that the bridge SSO agent 12 and the SSO applet are connected to the client 10. Step (ST33, ST34) to be installed; The service providing server 20 transmits an authentication result to the authentication processing server 30 when receiving a login request from the client 10 (ST35, ST36); The service providing server 20 receives a token generated by the authentication processing server 30, stores the token in the bridge SSO agent 12 of the client 10, and generates a session (ST37, ST38); The client 10 uses the service provided by the service providing server 20 if the session is correct, and if the session is not correct, performing a login request again (ST39). do.

도 6은 본 발명의 다른 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법을 보인 플로우차트이다.6 is a flowchart illustrating a method of authenticating a Java client agent using an applet and an RMI according to another embodiment of the present invention.

이에 도시된 바와 같이, 클라이언트(10)의 웹브라우저(11)는 에이전트 다운로드 서버(50)로부터 브릿지 SSO 에이전트(12)와 SSO 애플릿을 다운로드 받아 설치하는 단계(ST41, ST42)와; 상기 클라이언트(10)에 설치된 상기 브릿지 SSO 에이전트(12)가 구동되면 상기 클라이언트(10)의 웹브라우저(11)의 작업표시줄에 트레이아이콘으로 활성화 되도록 하고, 이때 상기 클라이언트(10)에서 활성화된 에이전트는 RMI 서버 데몬이 되도록 하는 단계(ST43, ST44)와; 상기 클라이언트(10)에서 상기 브릿지 SSO 에이전트(12)가 구동되면, 웹브라우저(11)에서 자바스크립트를 실행하여 SSO 애플릿에 있는 메소드를 호출하고, 애플릿의 특정 메소드는 상기 브릿지 SSO 에이전트(12)의 RMI 서버 데몬에 접속하고 특정 메소드를 호출하며, 상기 브릿지 SSO 에이전트(12)는 요청된 행위를 실행하고 이에 대한 응답을 하며, 웹브라우저(11)는 자바스크립트 함수를 통해서 얻은 결과를 바탕으로 사후 처리를 수행하는 단계(ST45 ~ ST53);를 포함하여 수행하는 것을 특징으로 한다.As shown here, the web browser 11 of the client 10 includes the steps of downloading and installing the bridge SSO agent 12 and the SSO applet from the agent download server 50 (ST41, ST42); When the bridge SSO agent 12 installed in the client 10 is driven to be activated as a tray icon in the task bar of the web browser 11 of the client 10, the agent activated in the client 10 Steps ST43 and ST44 to become RMI server daemons; When the bridge SSO agent 12 is run on the client 10, the web browser 11 executes JavaScript to call a method in an SSO applet, and a specific method of the applet is executed by the bridge SSO agent 12. It connects to the RMI server daemon and calls a specific method, the bridge SSO agent 12 executes the requested action and responds to it, and the web browser 11 post-processes based on the result obtained through the JavaScript function. To perform (ST45 ~ ST53); characterized in that performed.

상기 브릿지 SSO 에이전트(12)가 구동되는 단계(ST45 ~ ST53)는, SSO 애플릿의 요청값 설정(SetValue) 함수를 호출하는 단계(ST46)와; RMI인 상기 브릿지 SSO 에이전트(12)에 접속하는 단계(ST47)와; 상기 브릿지 SSO 에이전트(12)의 요청값 설정(SetValue) 함수를 호출하는 단계(ST48)와; 호출한 요청값 설정(SetValue) 함 수를 이용하여 요청값이 설정되도록 하는 단계(ST49);를 포함하여 수행하는 것을 특징으로 한다.Steps ST45 to ST53 of driving the bridge SSO agent 12 include: calling a request value set function of the SSO applet (ST46); Accessing the bridge SSO agent 12 which is an RMI (ST47); Calling a setvalue function of the bridge SSO agent 12 (ST48); And setting the request value using the called request value set function (SetValue) (ST49).

상기 브릿지 SSO 에이전트(12)가 구동되는 단계(ST45 ~ ST53)는, SSO 애플릿의 요청값 획득(GetValue) 함수를 호출하는 단계(ST50)와; 상기 브릿지 SSO 에이전트(12)의 요청값 획득(GetValue) 함수를 호출하는 단계(ST51)와; RMI인 상기 브릿지 SSO 에이전트(12)에 접속하는 단계(ST51)와; 호출한 요청값 획득(GetValue) 함수를 이용하여 요청값이 획득되도록 하는 단계(ST53);를 포함하여 수행하는 것을 특징으로 한다.Steps ST45 to ST53 of driving the bridge SSO agent 12 include: calling a GetValue function of the SSO applet (ST50); Calling a get value function of the bridge SSO agent 12 (ST51); Accessing the bridge SSO agent 12 which is an RMI (ST51); And a request value obtained by using the called request value get value function (ST53).

본 발명에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템 및 그 방법은 자바 애플릿과 자바 RMI 통신기술을 이용하여 브릿지 SSO 에이전트와 인증처리 서버를 통하여 통합단일인증처리를 수행함으로써, 운영체제 및 웹브라우저에 종속적인 기술을 배제하도록 자바로 구동되는 애플릿과 클라이언트 에이전트를 구현하고 자바가 설치된 어떠한 사용자 PC에서도 인증처리를 비롯한 동일한 서비스를 제공함으로써 자바가 설치된 어떠한 사용자의 PC에서 동일하게 작동되도록 할 수 있고, 이에 따라 운영체제와 웹브라우저의 종류에 따라 별도 버전을 개발할 필요가 없게 되는 효과가 있게 된다.An authentication processing system and method for a Java client agent using an applet and RMI according to the present invention are performed by performing integrated single authentication processing through a bridge SSO agent and an authentication processing server using a Java applet and Java RMI communication technology. Implement Java-powered applets and client agents to eliminate browser-dependent technologies and provide the same services, including authentication, on any user's PC with Java, so that they work the same on any user's PC with Java. Therefore, there is no need to develop a separate version according to the type of operating system and web browser.

이와 같이 구성된 본 발명에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템 및 그 방법의 바람직한 실시예를 첨부한 도면에 의거하여 상세히 설명하면 다음과 같다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 판례 등에 따라 달라질 수 있으며, 이에 따라 각 용어의 의미는 본 명세서 전반에 걸친 내용을 토대로 해석되어야 할 것이다.An embodiment of the authentication processing system and method of a Java client agent using the applet and RMI according to the present invention configured as described above will be described in detail with reference to the accompanying drawings. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted if it is determined that the detailed description of the present invention may unnecessarily obscure the subject matter of the present invention. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to intention or precedent of a user or an operator, and thus, the meaning of each term should be interpreted based on the contents throughout the present specification. will be.

먼저 본 발명은 자바 애플릿과 자바 RMI 통신기술을 이용하여 브릿지 SSO 에이전트와 인증처리 서버를 통하여 통합단일인증처리를 수행함으로써, 운영체제 및 웹브라우저에 종속적인 기술을 배제하도록 자바로 구동되는 애플릿과 클라이언트 에이전트를 구현하고 자바가 설치된 어떠한 사용자 PC에서도 인증처리를 비롯한 동일한 서비스를 제공하고자 한 것이다.First of all, the present invention performs an integrated single authentication process through a bridge SSO agent and an authentication processing server using a Java applet and a Java RMI communication technology. Thus, an applet and a client agent driven by Java to exclude a technology dependent on an operating system and a web browser are provided. It is intended to provide the same service including authentication processing on any user PC with Java installed.

일반적으로 자바(JAVA)는 특별히 인터넷의 분산환경에서 사용되도록 설계된 프로그래밍 언어이다. 자바는 C++ 언어처럼 보이지만, C++ 보다는 사용하기에 간단하고 프로그래밍의 완전한 객체지향성을 강화하였다. 자바는 한 대의 컴퓨터나, 네트워크 상의 분산 클라이언트/서버 환경에서도 실행되는 응용프로그램을 만드는데 모두 사용될 수 있다. 이것은 또한 웹페이지의 일부로서 쓰이는 작은 응용프로그램 모듈이나 애플릿 등을 만드는 데에도 사용될 수 있다. 애플릿들은 사용자들이 웹페이지를 통해 상호작용을 할 수 있도록 해준다.In general, JAVA is a programming language designed specifically for use in the distributed environment of the Internet. Java looks like a C ++ language, but it is simpler to use than C ++ and enhances the full object-oriented nature of programming. Java can be used to create applications that run on a single computer or in a distributed client / server environment on a network. It can also be used to create small application modules or applets that are used as part of a web page. Applets allow users to interact with web pages.

또한 본 발명에서 사용하는 RMI(Remote Method Invocation, 원격 객체 호출)는 네트워크 상으로 다른 자바 어플리케이션과 통신할 수 있는 자바 어플리케이션을 만들기 위해 사용된다. 간단히 설명하면 RMI는 어떤 어플리케이션에서 멀리 떨어진 곳에 위치한 어플리케이션의 메소드(Method, 객체)를 호출하거나 이 어플리케이션의 변수에 접근할 수 있게 하고 객체를 네트워크를 통해 주고 받을 수 있게 하는 것을 의미한다. 또한 이렇게 멀리 떨어진 곳에 위치하는 어플리케이션의 경우 완전히 다른 시스템과 다른 자바 환경에서 동작할 수도 있다는 것이다. RMI는 분산자바 객체 사이의 통신을 위한 메커니즘으로써 간단한 소켓 접속보다 좀 더 정교한 메커니즘이다. RMI를 사용하면 어떠한 프로토콜을 사용해서 통신할 것인지를 미리 알지 않더라도 다른 자바 프로그램과 통신을 할 수 있다.In addition, RMI (Remote Method Invocation) used in the present invention is used to create a Java application that can communicate with other Java applications on the network. In short, RMI means that you can call methods (methods, objects) in an application that is remote from an application, access its variables, and send and receive objects across the network. In addition, such remotely located applications may run on completely different systems and different Java environments. RMI is a mechanism for communication between distributed Java objects that is more sophisticated than simple socket connections. RMI lets you communicate with other Java programs without knowing in advance which protocol to use.

도 1은 본 발명의 일 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템의 개념도이다.1 is a conceptual diagram of an authentication processing system of a Java client agent using an applet and RMI according to an embodiment of the present invention.

그래서 클라이언트(10)는 사용자 PC로 구성되며, 서비스제공 서버(20)에 인증요청 정보(예를 들면, ID/Password, 공인인증정보, 지문인식정보, 홍체인식정보 등)를 제출하고 이는 인증처리 서버(30)에서 인증처리되어 그 인증결과를 전송받고, 에이전트 다운로드 서버(50)로부터 브릿지 SSO 에이전트(12)와 자바 애플릿을 다운받는다.Thus, the client 10 is composed of a user PC, and submits authentication request information (eg, ID / Password, authorized authentication information, fingerprint recognition information, iris recognition information, etc.) to the service providing server 20, which is an authentication process. The server 30 authenticates the authentication result, receives the authentication result, and downloads the bridge SSO agent 12 and the Java applet from the agent download server 50.

서비스제공 서버(20)는 웹사이트(포탈/홈페이지/업무시스템)를 운영하는 고객사 서버로서, 클라이언트(10)의 로그인시 인증처리 서버(30)로 ID/PDW(아이디/패스워드)의 인증요청을 하여 인증처리 서버(30)로부터 인증토큰을 전달받고, 클라이 언트(10)로 인증결과를 전송한다.The service providing server 20 is a client company server that operates a website (portal / home page / working system), and sends an authentication request of ID / PDW (ID / password) to the authentication processing server 30 when the client 10 logs in. By receiving the authentication token from the authentication processing server 30, and transmits the authentication result to the client (10).

인증처리 서버(30)는 SSE(Single Sign-on Engine) 서버로서, 서비스제공 서버(20)에서 인증요청을 하면 인증/권한 정보 DB(40)에서 사용자 정보와 접근권한 정보를 확인하여 서비스제공 서버(20)로 인증토큰을 발행시킨다.The authentication processing server 30 is a single sign-on engine (SSE) server. When an authentication request is made from the service providing server 20, the service providing server checks user information and access authority information in the authentication / authority information DB 40. Issue an authentication token at (20).

인증/권한 정보 DB(40)는 LDAP(Lightweight Directory Access Protocol, 라이트웨이드 디렉토리 액세스 프로토콜), RDBMS(Relational database management system, 릴레이셔널 데이터베이스 관리시스템), MMDB(Main Memory Register Database Management System, 메모리 상주형 데이터베이스) 등으로 구성할 수 있다.The authentication / authority information DB 40 includes Lightweight Directory Access Protocol (LDAP), Relational Database Management System (RDBMS), Main Memory Register Database Management System (MMDB), and Memory Resident Database. ) And the like.

여기서 LDAP(Lightweight Directory Access Protocol, 라이트웨이드 디렉토리 액세스 프로토콜)는 TCP/IP(Transmission Control Protocol / Internet Protocol, 전송 제어 프로토콜 / 인터넷 프로토콜) 상에서 디렉토리 서비스를 조회하고 수정하는 응용 프로토콜이다. 디렉토리는 논리, 계급 방식 속에서 조직화된 비슷한 특성을 가진 객체들의 모임이다. 가장 일반적인 예로는 전화 번호부(telephone directory)가 있는데 가나다 순의 일련의 이름을 가지고 있고, 이름마다 전화 번호와 주소가 포함되어 있다. 이러한 기본 설계 때문에 LDAP는 인증을 위한 다른 서비스에 의해 자주 사용된다. LDAP 디렉토리 트리는 선택된 모델에 따라 다양한 정치적, 지질학적, 조직적 경계를 반영하기도 한다. 오늘날 LDAP의 배치는 최상위 수준의 계급을 구조화하기 위해 도메인 이름 서비스의 이름을 사용하는 경향이 있다. 디렉터리 안에 들어가면 들어갈수록 사람들, 조직, 프린터, 문서, 그 룹 등을 대표하는 항목들이 나타난다.Here, LDAP (Lightweight Directory Access Protocol) is an application protocol for querying and modifying directory services on TCP / IP (Transmission Control Protocol / Internet Protocol, Transmission Control Protocol / Internet Protocol). A directory is a collection of objects with similar characteristics organized in a logical, hierarchical manner. The most common example is the telephone directory, which has a series of names in alphabetical order, each containing a phone number and address. Because of this basic design, LDAP is often used by other services for authentication. The LDAP directory tree may reflect various political, geological and organizational boundaries, depending on the model chosen. Today's deployment of LDAP tends to use the names of domain name services to structure the top level hierarchy. As you enter the directory, items that represent people, organizations, printers, documents, and groups appear.

또한 RDBMS(Relational database management system, 릴레이셔널 데이터베이스 관리시스템)는 행과 열로 된 2차원의 표로 데이터를 표현하는 데이터베이스 관리 시스템(DBMS)이다. 대규모 컴퓨터 시스템을 대상으로 많은 이용자가 대량의 데이터를 다룰 때 데이터베이스를 관리하는 시스템으로서, PC용 데이터베이스보다 대량의 데이터를 취급할 수 있고 신뢰성 측면에서도 뛰어난 업무 시스템을 구축할 수 있다. SQL(Structured Query Language, 구조적 질의어)로 작성된 데이터 조작용 명령에 따라 서버상의 데이터를 조작하며, 수정 등의 명령을 서버로 보낼 수 있는 것이면 어떤 클라이언트에서도 서버의 데이터를 조작할 수 있다.A relational database management system (RDBMS) is also a database management system (DBMS) that represents data in a two-dimensional table of rows and columns. As a system that manages a database when a large number of users deal with a large amount of data for a large computer system, it can handle a larger amount of data than a PC database and can build a work system that is superior in reliability. Manipulate data on the server according to data manipulation commands written in SQL (Structured Query Language), and any client can manipulate the data on the server as long as it can send modifications and other commands to the server.

또한 MMDB(Main Memory Register Database Management System, 메모리 상주형 데이터베이스)는 컴퓨터의 메인 메모리에 상주하며 동작되는 특수 용도의 데이터베이스(DB)이다. 하드 디스크(HD)에 저장돼 사용되는 기존 DB와 달리 메인 메모리에 상주하기 때문에 데이터를 읽어 오는 작업이 생략되고, DB 테이블(table) 전체나 일부를 메인 메모리에 상주시킨 상태에서, 기존 DB의 질의어(query)를 그대로 사용할 수 있어 데이터의 검색, 비교, 분석이 수십 배 빨라진다. 최근 인터넷 쇼핑몰의 전자 카탈로그 검색이나 인터넷 게시판의 인덱스 검색 등 빠른 속도의 데이터 검색과 비교 분석 등 실시간 처리가 요구되고, 메모리 가격의 하락으로 적용이 확산되고 있으며, 실시간 위치 정보를 파악하는 지리 정보 시스템(Geographic Information System, GIS)이나 빠른 로그 데이터 분석이 필요한 고객 관리 시스템(Customer Relationship Management, CRM)도 새로운 활용 분야로 떠오르고 있다.The MMDB (Main Memory Register Database Management System) is a special purpose database (DB) that resides and operates in the main memory of a computer. Unlike existing DB that is stored and used in hard disk (HD), since it resides in main memory, the task of reading data is skipped, and query word of existing DB in the state where all or part of DB table is resident in main memory You can use a query as it is, making data retrieval, comparison, and analysis tens of times faster. Recently, real-time processing such as fast data search and comparative analysis such as electronic catalog search of internet shopping mall or index search of internet bulletin board is required, and application is spreading due to decrease of memory price, and geographic information system that grasps real time location information Geographic Information Systems (GIS) or Customer Relationship Management (CRM), which requires fast log data analysis, are emerging as new applications.

그리고 에이전트 다운로드 서버(50)는 ADS(Agent Download Server) 서버로서, 클라이언트(10)에 JRE나 브릿지 SSO 에이전트(12), 자바 애플릿을 설치할 수 있게 이의 다운로드를 제공하는 서버이다.In addition, the agent download server 50 is an ADS (Agent Download Server) server, which provides a download thereof so that a JRE, a bridge SSO agent 12, and a Java applet can be installed on the client 10.

도 2는 도 1의 상세블록도이다.FIG. 2 is a detailed block diagram of FIG. 1.

그래서 클라이언트(10)의 웹브라우저(11)는 자바 스크립트(Java Script)와 SSO 애플릿(Single Sign-On Applet)을 이용하여 동작된다. 이러한 웹브라우저(11)는 마이크로소프트 사의 Internet Explorer 뿐만 아니라 Fire Fox, Safari, Opera 등 모두를 말한다.Thus, the web browser 11 of the client 10 is operated using Java Script and SSO Applet. Such a web browser 11 refers not only to Microsoft's Internet Explorer, but also to Fire Fox, Safari, Opera, and the like.

그리고 자바 스크립트는 웹브라우저 자체가 여러 가지 기능을 수행하도록 하는 프로그래밍 언어로서, 웹서버 부담을 줄여주면서도 다양한 기능을 수행할 수 있도록 해준다. 이는 HTML 문서와 유기적으로 결합돼 있어 쉽게 사용할 수 있는 컴퓨터 언어이다. 그래서 웹페이지에 문자열이 흘러 지나가거나 문서 색깔이 바뀌는 것 등은 대부분 자바스크립터를 이용해 만든다.JavaScript is a programming language that allows the web browser itself to perform many functions, reducing the burden on the web server and performing various functions. It is an easy-to-use computer language that is organically combined with HTML documents. So most of the time, such as strings flowing through a web page or changing the color of a document, is made using a JavaScript script.

또한 애플릿(Applet)은 웹 브라우저, 제어판과 같은 다른 프로그램에서 실행되는 소프트웨어 구성 요소를 말한다. 애플릿은 독립적으로 사용되지 않으며 작은 기능을 가지고 있다. 애플릿은 "서브루틴"과 기능이 많이 다르다. 먼저, "서블릿" 같은 한 종류의 클라이언트 플랫폼에서만 동작한다. 또한 서브루틴과 달리 애플릿의 컨테이너에 의해 기능이 제한된다. 애플릿은 스크립트 언어가 아닌 컴파일 가능 언어로 작성되므로 성능 향상이나 다양한 기능을 가져올 수 있다. 서브루틴과 달리, 완전한 웹 구성 요소를 애플릿을 가지고 작성할 수 있다.Applets are also software components that run in other programs, such as web browsers and control panels. Applets are not used independently and have small features. Applets differ a lot from "subroutines." First, it only works on one type of client platform, such as "servlets." Also unlike subroutines, functionality is limited by the applet's container. Applets are written in a compileable language rather than a scripting language, so they can improve performance or bring a variety of features. Unlike subroutines, you can write complete Web components with applets.

그래서 SSO 애플릿은 클라이언트(10)인 사용자 PC에 설치되고, 브릿지 SSO 에이전트(12)와 RMI 통신을 하기 위한 교두보로서, 웹브라우저(11)에서는 다이렉트로 브릿지 SSO 에이전트(즉, 사용자 PC의 특정 프로세스)를 호출하지 못한다. 따라서 웹브라우저(11)에서 호출이 가능한 애플릿을 자바스크립트 함수로 호출하기 위한 장치이다.Thus, the SSO applet is installed on the user PC which is the client 10, and is a bridgehead for RMI communication with the bridge SSO agent 12. In the web browser 11, the SSO applet is a direct bridge SSO agent (i.e., a specific process of the user PC). Cannot be called. Therefore, it is a device for calling an applet that can be called in the web browser 11 as a JavaScript function.

브릿지 SSO 에이전트(Bridge SSO Agent)(12)는 웹브라우저(11)의 SSO 애플릿과 자바 RMI(Remote Method Invocation, 원격 객체 호출) 통신을 수행하여 해당 사용자가 이미 인증처리가 되어 있는 여부를 확인한다. 이러한 브릿지 SSO 에이전트(12)는 순수한 자바 기술로 구현된 프로세스이다. 그래서 애플릿과 RMI 통신을 하면서 인증정보와 사용자 권한 정보의 저장 및 확인 기능을 수행한다. 또한 트레이 아이콘(Tray Icon)을 생성하여 사용자 제어 기능을 제공한다.The bridge SSO agent 12 performs Java Remote Method Invocation (RMI) communication with the SSO applet of the web browser 11 to check whether the user is already authenticated. This bridge SSO agent 12 is a process implemented in pure Java technology. Thus, the applet performs RMI communication and stores and verifies authentication and user credentials. It also creates a tray icon to provide user control.

JRE(Java Runtime Environment, 자바 실행 환경)(13)는 클라이언트(10)에서 동작된다. 이러한 JRE는 자바로 만들어진 어플리케이션 및 서비스가 구동되기 위한 사용자 환경을 말한다.The JRE (Java Runtime Environment) 13 is operated on the client 10. This JRE is a user environment for running applications and services written in Java.

운영체제(14)는 클라이언트(10)를 동작시키는 것으로, Windows, Linux, Mac 등의 운영체제가 될 수 있다.The operating system 14 operates the client 10 and may be an operating system such as Windows, Linux, or Mac.

종래의 ActiveX 기술이 윈도우 운영체제와 인터넷 익스플로러에서만 동작되는 것에 비해, 본 발명에서는 그러한 운영체제(14) 및 웹브라우저(11)의 제한이 없다. 이러한 본 발명은 ActiveX Control 기술을 대용하는 자바 기반의 응용기술이다.Compared to the conventional ActiveX technology that only works with the Windows operating system and Internet Explorer, the present invention is not limited by such an operating system 14 and the web browser 11. The present invention is a Java-based application technology to replace the ActiveX Control technology.

한편 서비스제공 서버(20)는 고객사가 서비스하려는 내용을 담고 있는 웹기반의 인터넷 서비스 제공 시스템이다.On the other hand, the service providing server 20 is a web-based Internet service providing system containing the content to be serviced by the customer.

이러한 서비스제공 서버(20)에서 서버 에이전트(SVR Agent)(21)는 해당하는 서비스제공 서버(20)가 NET, ASP, PHP, JSP 중에서 하나 이상의 웹프로그램언어로 이루어져 있는 경우 그에 맞는 서버 스크립트로 작성된 서버측 로직 파일로 구성되며, 클라이언트(10)로부터 받은 인증여부를 확인하여 이미 인증이 되어 있다면 서비스 페이지(22)를 실행하여 서비스를 실시하고, 인증받지 못한 경우에는 클라이언트(10)에서 제출한 인증요청 정보(ID/PWD, 공인인증정보, 지문인식정보, 홍체인식정보 등)를 인증처리 서버(30)로 전달한다. 그리고 서비스제공 서버(20)는 ASP, .Net, PHP, JSP 등 다양한 서버스크립트로 작성될 수 있는데, 서버 에이전트(21)라 함은 이러한 각각에 맞는 SSO를 위해 제공되는 서버측 스크립트를 의미한다.In such a service providing server 20, the server agent (SVR Agent) 21 is written in the server script corresponding to the corresponding service providing server 20 is composed of one or more web program language among NET, ASP, PHP, JSP It consists of a server-side logic file, and if it is already authenticated by checking the authentication received from the client 10, the service page 22 is executed to execute the service, and if not authenticated, the authentication submitted by the client 10 The request information (ID / PWD, authorized authentication information, fingerprint recognition information, iris recognition information, etc.) is transferred to the authentication processing server 30. In addition, the service providing server 20 may be written in various server scripts such as ASP, .Net, PHP, JSP, etc. The server agent 21 means a server-side script provided for each SSO.

여기서 NET(Active Server Page.NET)는 마이크로소프트 사의 닷넷 플랫폼 기반으로 작동하는 새로운 웹 프로그래밍 구현 기술로서, ASP의 인터프리터 방식이 아닌 컴파일된 언어를 사용하여 성능과 확장성 면에서 기존의 ASP보다 크게 향상시킨 것이다. NET는 ASP에 비해 작성하기 쉽고, 재사용하고 공유할 수 있는 깨끗한 코드를 제공하며, 자바와 비슷한 언어인 C#를 사용하여 객체지향 기술 적용한다.Active Server Page.NET (NET) is a new implementation of Web programming that works on Microsoft's .NET platform and uses a compiled language rather than an ASP interpreter to significantly improve performance and scalability. It is. NET is easier to write than ASP, provides clean code that can be reused and shared, and uses object-oriented technology using C #, a Java-like language.

또한 ASP(Active Server Page)는 마이크로소프트 사가 자사의 IIS(Internet Information Server)라는 서버에서 실행할 수 있도록 만든 기술로서, Windows 기반에 MSSQL(MicroSoft Structured Query Language), Oracle을 주로 사용하고 특히 MSSQL을 많이 사용한다. 이는 VBScript 와 JScrpt를 기반으로 하는 스크립트 언어로 개발이 쉽고 편리하다. 또한 인터프리터 방식으로 성능이 좀 떨어지기 때문에 중규모 정도의 사이트 개발에만 이용한다.Active Server Page (ASP) is a technology that allows Microsoft to run on its own server called Internet Information Server (IIS). It mainly uses Microsoft Structured Query Language (MSSQL) and Oracle based on Windows, especially MSSQL. do. It is a scripting language based on VBScript and JScrpt, making development easy and convenient. In addition, the performance of the interpreter is slightly degraded, so it is used only for medium-scale site development.

또한 PHP(Personal Home Page tools 또는 Hypertext Preprocessor)는 마이크로소프트 사가 아닌 한 학생이 개인적인 용도로 개발을 시작해서 지금은 아주 많은 리눅스 공동체에서 사용하는 동적 웹 구현 기술로서, C언어 기반의 문법구조로 지원하는 라이브러리, 함수 등이 많다. Mysql DB와 연동이 매우 탁월하며, Window, Linux, Unix 등 웬만한 OS는 다 지원한다.In addition, PHP (Personal Home Page tools or Hypertext Preprocessor) is a dynamic web implementation technology that has been developed for personal use by a non-Microsoft student and is now used by many Linux communities. There are many libraries, functions, etc. It works very well with MySql DB and supports all OS such as Window, Linux, Unix.

또한 JSP(Java Server Page)는 동적 웹 구현 기술로서, 객체지향적인 자바의 장점을 그대로 웹에서 구현 할 수 있는 기술로 속도 및 성능에서 매우 우수하다. 서블릿과 함께 구동할 수 있으며, 자바 빈즈, EJB(Enterprise JavaBeans) 같은 기술로 보다 강력한 객체지향적 지원이 가능하다.In addition, JSP (Java Server Page) is a dynamic web implementation technology. It is a technology that can implement the advantages of object-oriented Java on the web as it is, and is excellent in speed and performance. It can run with servlets, and more powerful object-oriented support is possible with technologies such as Java beans and Enterprise JavaBeans (EJB).

그리고 서비스 페이지(22)는 클라이언트(10)에서 서비스제공 서버(20)에 접속하면 서비스 페이지를 제공하고, 서버 에이전트(21)를 호출한 다음 클라이언트(10)에 JRE 1.6 이상이 설치되어 있는지 또는 SSO_Applet.jar가 설치되어 있는지 또는 SSO_Agent.jar가 설치되어 있는지 판별하며, 서버 에이전트(21)로부터 인증토큰과 사용자 권한 정보를 전달받는다. 이러한 서비스 페이지(22)는 현재 고객사 서버인 서비스제공 서버(20)에서 서비스하고 있는 사이트로서, SSO 연계 대상인 시스템을 말한다.The service page 22 provides a service page when the client 10 accesses the service providing server 20, calls the server agent 21, and then checks whether JRE 1.6 or higher is installed in the client 10 or SSO_Applet. It determines whether .jar is installed or SSO_Agent.jar is installed, and receives authentication token and user authority information from server agent 21. The service page 22 is a site currently being serviced by the service providing server 20, which is a client company server, and refers to a system to which SSO is linked.

또한 인증처리 서버(30)에서 인증 서블릿(Cert Servlet)(31)은 서비스제공 서버(20)에서 암호화된 인증요청 정보(아이디/패스워드 등)를 요청하면 이의 유효성/정당성을 확인한다.In addition, when the authentication processing server 30 requests the encrypted authentication request information (ID / password, etc.) from the service providing server 20, the cert servlet 31 checks its validity / justification.

인증 DB 래퍼(Cert DB Wrapper)(32)는 인증 서블릿(31)으로부터 넘어온 인증요청 정보를 인증/권한 정보 DB(40)에 있는 사용자 정보와 유효성 및 정당성을 비교처리한다.The certificate DB wrapper 32 compares the authentication request information passed from the authentication servlet 31 with the user information in the authentication / authority information DB 40 and the validity and legitimacy.

GWAF(Genics Web App Framework)(33)는 인증처리 서버(30)에서 웹프로젝트를 구축하기 위한 자바 프레임워크(Java Framework)로서, 제닉스어소시에츠 사에서 진행하는 모든 웹프로젝트를 구축하기 위한 자바 프레임워크이다.The GWAF (Genics Web App Framework) 33 is a Java framework for building a web project on the authentication processing server 30. The Java framework for building all web projects carried out by XENIX Associates, Inc. It is a walk.

WAS(Web Application Server)(34)는 인증처리 서버(30)에서 자바 기반의 웹서비스를 구동하는 미들웨어이다.WAS (Web Application Server) 34 is middleware that runs a Java-based web service in the authentication processing server 30.

JRE(35)는 인증처리 서버(30)에서 동작되는 것으로, 자바로 만들어진 어플리케이션 및 서비스가 구동되기 위한 사용자 환경을 제공해준다.The JRE 35 operates in the authentication processing server 30 and provides a user environment for running applications and services made of Java.

운영체제(36)는 인증처리 서버(30)를 동작시키는 것으로, Windows, Linux, Unix 등으로 구성할 수 있다.The operating system 36 operates the authentication processing server 30 and can be configured as Windows, Linux, Unix, or the like.

또한 에이전트 다운로드 서버(50)에서 SSO_Agent.jar 파일은 클라이언트(10)에서 구동되는 에이전트를 배포하기 위한 SSO 에이전트 파일이다. 그래서 ActiveX에서 사용자 PC 에 xxx.cab 파일로 배포를 하는 것처럼, Java 에서는 사용자 PC에서 구동되는 Agent를 xxx.jar 파일로 배포한다.In addition, the SSO_Agent.jar file in the agent download server 50 is an SSO agent file for distributing an agent running in the client 10. So, as ActiveX distributes to user's PC as xxx.cab file, Java distributes Agent running on user's PC as xxx.jar file.

SSO_Applet.jar 파일은 클라이언트(10)에 저장되어 클라이언트(10)의 로컬에서 실행되는 SSO 애플릿 파일이다.The SSO_Applet.jar file is an SSO applet file stored in the client 10 and executed locally in the client 10.

Install_jre.cab 파일은 Sun 사에서 배포하는 JRE의 인스톨용 파일이다.Install_jre.cab file is a file for installing the JRE distributed by Sun.

sso_agent.jnlp 파일은 XML(eXtensible Markup Language)로 구성된 JNLP(Java Network Launching Protocol) 파일로서 클라이언트(10)의 자바 웹스타트(Java Web Start)를 통해 SSO_Agent 를 구동하는 파일이다.The sso_agent.jnlp file is a Java Network Launching Protocol (JNLP) file composed of XML (eXtensible Markup Language) and is a file that drives SSO_Agent through Java Web Start of the client 10.

Manager.js 파일은 애플릿에 정의된 함수를 웹브라우저에서 호출하는 자바스크립트(JavaScript) 함수를 포함한 파일이다.The Manager.js file is a file containing JavaScript functions that call functions defined in the applet in the web browser.

Applet.js 파일은 애플릿의 다운로드 및 구동과 관련된 로직이 들어있는 자바스크립트(JavaScript) 파일이다.The Applet.js file is a JavaScript file that contains logic related to downloading and running applets.

여기서 JAR 파일이란 archive 파일이다. 즉, 여러 개의 파일을 하나의 파일로 묶는 jar 명령을 사용하여 생성된다. 이 파일은 winzip에서 열어 볼 수 있으며, winzip에서 열어보면 여러 개의 파일들이 디렉토리 정보를 가진 상태로 들어 있다. 이렇게 archive 파일로 묶는 이유는 자바로 개발한 여러 클래스 파일들 또는 패키지 파일이 있을 때, 이를 하나로 묶어두면, 그 클래스들을 참조하기도 편하고, 다운 받기도 쉽기 때문이다.JAR files are archive files. In other words, it is created using the jar command that bundles multiple files into a single file. You can open this file in winzip, and when you open it in winzip, several files contain directory information. The reason for this grouping is that when you have several class files or package files developed in Java, you can group them together so that you can easily refer to them and download them.

도 3은 도 2에서 클라이언트와 인증처리 서버 및 인증연계 서버의 소프트웨어 아키텍처를 보인 개념도이다.3 is a conceptual diagram illustrating a software architecture of a client, an authentication processing server, and an authentication association server in FIG. 2.

그래서 클라이언트(10)는 HTML/XML/XSL, SSO 에이전트, SSO 애플릿, JRE, 브라우저, Windows/Linux/Unix/Mac 등의 O/S로 소프트웨어 아키텍처를 구성할 수 있다.Thus, the client 10 may configure the software architecture with O / S such as HTML / XML / XSL, SSO Agent, SSO Applet, JRE, Browser, Windows / Linux / Unix / Mac, and so on.

또한 인증처리 서버(30)와 에이전트 다운로드 서버(50)는 GWAF 프레임워크, 웹서버와 WAS, JAVA(J2SE), Windows/Linux/Unix 등의 O/S로 소프트웨어 아키텍처를 구성할 수 있다.In addition, the authentication processing server 30 and the agent download server 50 may configure a software architecture with O / S such as GWAF framework, web server, WAS, JAVA (J2SE), Windows / Linux / Unix, and the like.

도 4는 본 발명의 일 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법을 보인 개념도이다.4 is a conceptual diagram illustrating an authentication processing method of a Java client agent using an applet and an RMI according to an embodiment of the present invention.

그래서 사용자가 클라이언트(10)에서 서비스제공 서버(20)의 서비스 페이지(22)를 웹브라우저(11)로 연다(ST11).Thus, the user opens the service page 22 of the service providing server 20 in the client 10 with the web browser 11 (ST11).

그러면 서비스제공 서버(20)의 해당 사이트에 포함(include)되어 있는 서버 에이전트(21)를 호출하고, 클라이언트(10)에 필요한 어플리케이션(Application)이 설치되어 있는지 판별한다. 이때 JRE 1.6 이상이 설치되어 있는지 또는 SSO_Applet.jar 가 설치되어 있는지 또는 SSO_Agent.jar 가 설치되어 있는지 판별한다(ST12).Then, the server agent 21 included in the corresponding site of the service providing server 20 is called, and it is determined whether an application necessary for the client 10 is installed. At this time, it is determined whether JRE 1.6 or higher is installed, SSO_Applet.jar or SSO_Agent.jar is installed (ST12).

만약 필요한 어플리케이션이 설치되어 있지 않다면 인증연계 서버(50)로부터 이를 다운로드 요청한다(ST13).If the required application is not installed, it downloads it from the authentication association server 50 (ST13).

그리고 요청한 어플리케이션을 클라이언트(10)에 다운로드하여 설치한다(ST14).The requested application is downloaded to the client 10 and installed (ST14).

그러면 클라이언트(10)의 웹브라우저(11)는 applet.js 파일과 manager.js 파일에 있는 스크립트 함수(function)를 호출한다(ST15).Then, the web browser 11 of the client 10 calls a script function in the applet.js file and the manager.js file (ST15).

자바스크립트 함수(JavaScript function)는 SSO 애플릿(SSO Applet)에 구현되어 있는 Java API(Application Programming Interface)를 호출한다(ST16).The JavaScript function calls a Java application programming interface (API) implemented in an SSO applet (ST16).

SSO 애플릿(SSO Applet)의 Java API 는 브릿지 SSO 에이전트(Bridge SSO Agent)(12)와 Java RMI 통신을 수행하여 클라이언트(10)의 해당 사용자가 이미 인증처리가 되어 있는지 여부를 확인한다(ST17).The Java API of the SSO Applet performs Java RMI communication with the Bridge SSO Agent 12 to check whether the corresponding user of the client 10 has already been authenticated (ST17).

브릿지 SSO 에이전트(Bridge SSO Agent)는 요청 결과를 다시 SSO 애플릿(SSO Applet)에 전달한다(ST18).The bridge SSO agent forwards the request result back to the SSO applet (ST18).

웹브라우저(11)는 자바스크립트(JavaScript)를 통해서 SSO 애플릿(SSO Applet)으로부터 인증토큰값을 전달받는다(ST19).The web browser 11 receives the authentication token value from the SSO Applet through JavaScript (ST19).

이에 다라 서비스제공 서버(20)의 서버 에이전트(Server Agent)(21)는 웹브라우저(11)로부터 받은 인증 여부를 확인한다. 이미 인증이 되어 있다면 서비스 페이지(22)를 이용하여 서비스를 실시하도록 한다(ST20).Accordingly, the server agent 21 of the service providing server 20 checks whether the authentication is received from the web browser 11. If it is already authenticated to perform the service using the service page 22 (ST20).

만약 인증받지 못한 경우에는 클라이언트(10)의 사용자가 제출한 인증요청정보를 검증받기 위해 인증처리 서버(30)의 인증 서블릿(Cert Servlet)(31)으로 그 값을 넘긴다(ST21).If not authenticated, the value is passed to the cert servlet 31 of the authentication processing server 30 to verify the authentication request information submitted by the user of the client 10 (ST21).

그러면 인증 서블릿(Cert Servlet)(31)은 인증 DB 래퍼(Cert DB Wrapper)(32)의 클래스에 인증요청 정보를 제출한다(ST22).The cert servlet 31 then submits the certificate request information to the class of the Cert DB wrapper 32 (ST22).

또한 인증 DB 래퍼(Cert DB Wrapper)(32)는 인증/권한 정보 DB(40)에서 인증요청 정보의 유효성(Validation)을 확인하기 위해 비교한다(ST23).Also, the certificate DB wrapper 32 compares the certificate / authorization information DB 40 to confirm the validity of the certificate request information (ST23).

그리고 비교한 인증요청 정보의 유무를 인증 DB 래퍼(32)에서 확인한다(ST24).The presence or absence of the compared authentication request information is confirmed by the authentication DB wrapper 32 (ST24).

인증 DB 래퍼(32)는 확인된 인증요청정보를 인증 서블릿(Cert Servlet)(31)에 전달한다(ST25).The authentication DB wrapper 32 transmits the verified authentication request information to the cert servlet 31 (ST25).

서버 에이전트(21)는 인증여부와 해당 권한 정보들을 인증 서블릿(31)으로부터 전달받는다(ST26).The server agent 21 receives authentication status and corresponding authority information from the authentication servlet 31 (ST26).

그리고 서버 에이전트(21)는 브릿지 SSO 에이전트(Bridge SSO Agent)(12)에 인증토큰과 사용자 권한 정보를 세팅하고 본래의 해당 서비스 페이지(22)로 포워드(Forward)한다(ST27).The server agent 21 sets an authentication token and user authority information in the bridge SSO agent 12 and forwards it to the original corresponding service page 22 (ST27).

도 5는 본 발명의 다른 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법의 흐름도이다.5 is a flowchart illustrating an authentication processing method of a Java client agent using an applet and RMI according to another embodiment of the present invention.

먼저 클라이언트(10)에서 서비스제공 서버(20)로 서비스 요청을 한다(ST31).First, a service request is made from the client 10 to the service providing server 20 (ST31).

그러면 서비스제공 서버(20)는 에이전트가 설치되어 있는지 판별한다. 만약 에이전트가 클라이언트(10)에 설치되어 있지 않으면 인증처리 서버(30)로 설치요청하고, 에이전트가 설치되어 있으면 서비스를 이용하도록 한다(ST32).The service providing server 20 then determines whether the agent is installed. If the agent is not installed in the client 10, the installation request is made to the authentication processing server 30, and if the agent is installed, the service is used (ST32).

그리고 인증처리 서버(30)는 서비스제공 서버(20)에서 받은 설치요청에 따라 에이전트 다운로드 서버(50)로 에이전트 다운로드 요청을 한다(ST33).The authentication processing server 30 makes an agent download request to the agent download server 50 according to the installation request received from the service providing server 20 (ST33).

이에 따라 에이전트 다운로드 서버(50)에서는 클라이언트(10)에서 에이전트를 다운로드 받도록 하여, 클라이언트(10)에 브릿지 SSO 에이전트(12)와 SSO 애플릿이 설치되도록 한다(ST34).Accordingly, the agent download server 50 allows the client 10 to download the agent, so that the bridge SSO agent 12 and the SSO applet are installed on the client 10 (ST34).

그런 다음 클라이언트(10)는 서비스제공 서버(20)로 로그인 요청을 한다(ST35).Then, the client 10 requests a login to the service providing server 20 (ST35).

그래서 서비스제공 서버(20)는 클라이언트(10)로부터 로그인 요청을 받으면 인증결과를 인증처리 서버(30)로 전송한다(ST36).When the service providing server 20 receives the login request from the client 10, the service providing server 20 transmits the authentication result to the authentication processing server 30 (ST36).

그리고 서비스제공 서버(20)는 인증처리 서버(30)에서 생성된 토큰(Token)을 제공받는다(ST37).In addition, the service providing server 20 receives a token generated by the authentication processing server 30 (ST37).

또한 클라이언트(10)의 브릿지 SSO 에이전트(12)에 토큰을 저장하고 세션을 생성시킨다(ST38).In addition, the token is stored in the bridge SSO agent 12 of the client 10 and a session is created (ST38).

클라이언트(10)는 세션이 올바르면 서비스제공 서버(20)에서 제공하는 서비스를 이용하고, 세션이 올바르지 않으면 다시 로그인 요청을 수행하도록 한다(ST39).If the session is valid, the client 10 uses the service provided by the service providing server 20, and if the session is not correct, the client 10 performs a login request again (ST39).

도 6은 본 발명의 다른 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법을 보인 플로우차트이다.6 is a flowchart illustrating a method of authenticating a Java client agent using an applet and an RMI according to another embodiment of the present invention.

클라이언트(10)의 웹브라우저(11)는 에이전트 다운로드 서버(50)로부터 브릿지 SSO 에이전트(12)와 SSO 애플릿을 다운로드 받아 설치한다(ST41).The web browser 11 of the client 10 downloads and installs the bridge SSO agent 12 and the SSO applet from the agent download server 50 (ST41).

그리고 설치가 제대로 되었는지 판별한다(ST42).Then, it is determined whether the installation is successful (ST42).

그런 다음 클라이언트(10)에 설치된 브릿지 SSO 에이전트(12)가 에이전트 구동함수의 호출에 의해 구동되면(ST43), 클라이언트(10)의 웹브라우저(11)의 작업표시줄에 트레이아이콘으로 활성화 되도록 하고, 이때 클라이언트(10)에서 활성화된 에이전트는 RMI 서버 데몬이 되도록 한다(ST44).Then, when the bridge SSO agent 12 installed in the client 10 is driven by a call of the agent drive function (ST43), the tray SSO agent 12 is activated as a tray icon in the task bar of the web browser 11 of the client 10, At this time, the agent activated in the client 10 is to be an RMI server daemon (ST44).

그래서 에이전트가 구동되면(45), 클라이언트(10)에서 브릿지 SSO 에이전트(12)가 구동되면, 웹브라우저(11)에서 자바스크립트를 실행하여 SSO 애플릿에 있는 메소드를 호출하고, 애플릿의 특정 메소드는 브릿지 SSO 에이전트(12)의 RMI 서버 데몬에 접속하고 특정 메소드를 호출하며, 브릿지 SSO 에이전트(12)는 요청된 행위를 실행하고 이에 대한 응답을 하며, 웹브라우저(11)는 자바스크립트 함수를 통해서 얻은 결과를 바탕으로 사후 처리를 수행한다.So when the agent is running (45), when the bridge SSO agent (12) is running on the client (10), the web browser (11) executes JavaScript to call the methods in the SSO applet, and specific methods of the applet are bridged. It connects to the RMI server daemon of the SSO agent 12 and invokes a specific method, the bridge SSO agent 12 executes and responds to the requested action, and the web browser 11 obtains the result through the JavaScript function. Post-processing based on

이를 요청값 설정의 예를 통해 설명하면 다음과 같다.If this is explained through the example of request value setting, it is as follows.

먼저 SSO 애플릿의 요청값 설정(SetValue) 함수를 호출한다(ST46).First, the SetValue function of the SSO applet is called (ST46).

그리고 RMI인 브릿지 SSO 에이전트(12)에 접속한다(ST47).It connects to the bridge SSO agent 12 which is an RMI (ST47).

또한 브릿지 SSO 에이전트(12)의 요청값 설정(SetValue) 함수를 호출한다(ST48).In addition, the request value set (SetValue) function of the bridge SSO agent 12 is called (ST48).

호출한 요청값 설정(SetValue) 함수를 이용하여 요청값이 설정되도록 한다(ST49).The request value is set using the called request value set function (ST49).

또한 요청값 획득의 예를 통해 설명하면 다음과 같다.In addition, the example of obtaining request values is as follows.

먼저 SSO 애플릿의 요청값 획득(GetValue) 함수를 호출한다(ST46).First, the getvalue function of the SSO applet is called (ST46).

그리고 브릿지 SSO 에이전트(12)의 요청값 획득(GetValue) 함수를 호출한다(ST51).Then, a request value (GetValue) function of the bridge SSO agent 12 is called (ST51).

또한 RMI인 브릿지 SSO 에이전트(12)에 접속한다(ST52).Furthermore, it connects to the bridge SSO agent 12 which is RMI (ST52).

호출한 요청값 획득(GetValue) 함수를 이용하여 요청값이 획득되도록 한다(ST53).A request value is obtained by using the called getvalue function (ST53).

이처럼 본 발명은 자바 애플릿과 자바 RMI 통신기술을 이용하여 브릿지 SSO 에이전트와 인증처리 서버를 통하여 통합단일인증처리를 수행함으로써, 운영체제 및 웹브라우저에 종속적인 기술을 배제하도록 자바로 구동되는 애플릿과 클라이언트 에이전트를 구현하고 자바가 설치된 어떠한 사용자 PC에서도 인증처리를 비롯한 동일한 서비스를 제공하게 되는 것이다.As described above, the present invention performs an integrated single authentication process through a bridge SSO agent and an authentication processing server using a Java applet and a Java RMI communication technology. It will provide the same services including authentication processing on any user PC with Java installed.

이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서 본 발명에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술적 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the present invention has been described in more detail with reference to the examples, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

도 1은 본 발명의 일 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템의 개념도이다.1 is a conceptual diagram of an authentication processing system of a Java client agent using an applet and RMI according to an embodiment of the present invention.

도 2는 도 1의 상세블록도이다.FIG. 2 is a detailed block diagram of FIG. 1.

도 3은 도 2에서 클라이언트와 인증처리 서버 및 인증연계 서버의 소프트웨어 아키텍처를 보인 개념도이다.3 is a conceptual diagram illustrating a software architecture of a client, an authentication processing server, and an authentication association server in FIG. 2.

도 4는 본 발명의 일 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법을 보인 개념도이다.4 is a conceptual diagram illustrating an authentication processing method of a Java client agent using an applet and an RMI according to an embodiment of the present invention.

도 5은 본 발명의 다른 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법의 흐름도이다.5 is a flowchart illustrating an authentication processing method of a Java client agent using an applet and RMI according to another embodiment of the present invention.

도 6은 본 발명의 다른 실시예에 의한 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법을 보인 플로우차트이다.6 is a flowchart illustrating a method of authenticating a Java client agent using an applet and an RMI according to another embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

10 : 클라이언트(사용자 PC)10: Client (User PC)

11 : 웹브라우저11: Web browser

12 : 브릿지 SSO 에이전트(Bridge SSO Agent)12: Bridge SSO Agent

13 : JRE(Java Runtime Environment, 자바 실행 환경)13: JRE (Java Runtime Environment)

14 : 운영체제(O/S; Windows, Linux, Mac 등)14: Operating system (O / S; Windows, Linux, Mac, etc.)

20 : 서비스제공 서버(포탈 or 웹사이트)20: Service providing server (portal or website)

21 : 서버 에이전트(SVR Agent)21: Server Agent (SVR Agent)

22 : 서비스 페이지(Service Page)22: Service Page

30 : 인증처리 서버(SSE 서버)30: authentication processing server (SSE server)

31 : 인증 서블릿(Cert Servlet)31: Cert Servlet

32 : 인증 DB 래퍼(Cert DB Wrapper)32: Cert DB Wrapper

33 : GWAF(Genics Web App Framework)33: GWAF (Genics Web App Framework)

34 : WAS(Web Application Server; Weblogic, Jeus, Tomcat 등)34: WAS (Web Application Server; Weblogic, Jeus, Tomcat, etc.)

35 : 운영체제(O/S; Windows, Linux, Unix 등)35: Operating system (O / S; Windows, Linux, Unix, etc.)

40 : 인증/권한 정보 DB(LDAP, RDBMS, MMDB 등)40: Authentication / authority information DB (LDAP, RDBMS, MMDB, etc.)

50 : 에이전트 다운로드 서버(Agent Download Server, ADS 서버)50: Agent Download Server (ADS Server)

Claims (13)

서비스제공 서버(20)에 제출한 인증요청 정보를 인증처리 서버(30)에서 인증처리하여 인증결과를 전송받고, 에이전트 다운로드 서버(50)로부터 다운되어 설치되는 브릿지 SSO 에이전트(12)를 통하여 통신하는 클라이언트(10)와;The authentication request information submitted to the service providing server 20 is authenticated by the authentication processing server 30 to receive the authentication result, and is communicated through the bridge SSO agent 12 which is downloaded and installed from the agent download server 50. Client 10; 상기 클라이언트(10)가 서비스를 제공받기 위하여 웹브라우저를 통하여 접속하는 서비스제공 서버(20)와;A service providing server 20 which the client 10 accesses through a web browser to receive a service; 상기 서비스제공 서버(20)에서 인증요청을 하면 인증/권한 정보 DB(40)에서 사용자 정보와 접근권한 정보를 확인하여 상기 서비스제공 서버(20)로 인증토큰을 발행시키는 인증처리 서버(30)와;When the authentication request is made at the service providing server 20, the authentication / authorization information DB 40 checks the user information and the access authority information and issues an authentication processing server 30 for issuing an authentication token to the service providing server 20; ; 상기 서비스제공 서버(20)로부터 인증토큰을 전송위해, 상기 클라이언트(10)에 설치될 브릿지 SSO 에이전트(12)를 배포하는 에이전트 다운로드 서버(50)를 포함하여 구성되고,It is configured to include an agent download server 50 for distributing the bridge SSO agent 12 to be installed in the client 10, to transmit the authentication token from the service providing server 20, 상기 클라이언트(10)는, 자바 스크립트(Java Script)와 SSO 애플릿(Single Sign-On Applet)을 이용하여 동작되는 웹브라우저(11)와; 상기 웹브라우저(11)의 SSO 애플릿과 자바 RMI(Remote Method Invocation, 원격 객체 호출) 통신을 수행하여 해당 사용자가 이미 인증처리가 되어 있는 여부를 확인하는 브릿지 SSO 에이전트(Bridge SSO Agent)(12)와; 상기 클라이언트(10)에서 동작되는 JRE(Java Runtime Environment, 자바 실행 환경)(13)와; 상기 클라이언트(10)를 동작시키는 운영체제(14)를 포함하여 구성된 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템.The client 10 includes: a web browser 11 operated using a Java script and an SSO applet; Bridge SSO Agent 12 for performing Java Remote Method Invocation (RMI) communication with the SSO applet of the web browser 11 to check whether the corresponding user has already been authenticated. ; A JRE (Java Runtime Environment) 13 which is operated in the client 10; Authentication processing system of a Java client agent using an applet and RMI, characterized in that it comprises an operating system (14) for operating the client (10). 삭제delete 청구항 1에 있어서,The method according to claim 1, 상기 클라이언트(10)를 동작시키는 상기 운영체제(14)는,The operating system 14 operating the client 10, Windows, Linux, Mac 중에서 하나 이상인 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템.Authentication processing system of Java client agent using RMI and applet, characterized in that at least one of Windows, Linux, Mac. 청구항 1에 있어서,The method according to claim 1, 상기 서비스제공 서버(20)는,The service providing server 20, 클라이언트(10)의 인증요청을 인증처리 서버(30)에서 인증하고 이의 결과값으로 인증토큰을 받는 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템.Authentication processing system of the Java client agent using the applet and RMI, characterized in that the authentication request of the client 10 is authenticated by the authentication processing server 30 and receives an authentication token as a result thereof. 청구항 1에 있어서,The method according to claim 1, 상기 서비스제공 서버(20)는,The service providing server 20, 해당하는 상기 서비스제공 서버(20)가 NET, ASP, PHP, JSP 중에서 하나 이상의 웹프로그램언어로 이루어져 있는 경우 그에 맞는 서버 스크립트로 작성된 서버측 로직 파일로 구성되며, 상기 클라이언트(10)로부터 받은 인증여부를 확인하여 이미 인증이 되어 있다면 서비스 페이지(22)를 실행하여 서비스를 실시하고, 인증받지 못한 경우에는 상기 클라이언트(10)에서 제출한 인증요청 정보를 상기 인증처리 서버(30)로 전달하는 서버 에이전트(SVR Agent)(21)와;If the corresponding service providing server 20 is composed of one or more web program languages among NET, ASP, PHP, JSP, it is composed of a server-side logic file written in a server script corresponding thereto, and whether the authentication received from the client 10 If it is already authenticated by the service page 22 to execute the service, if not authenticated server agent for transmitting the authentication request information submitted from the client 10 to the authentication processing server 30 (SVR Agent) 21; 상기 클라이언트(10)에서 상기 서비스제공 서버(20)에 접속하면 서비스 페이지를 제공하고, 상기 서버 에이전트(21)를 호출한 다음 상기 클라이언트(10)에 JRE 1.6 이상이 설치되어 있는지 또는 SSO_Applet.jar가 설치되어 있는지 또는 SSO_Agent.jar가 설치되어 있는지 판별하며, 상기 서버 에이전트(21)로부터 인증토큰과 사용자 권한 정보를 전달받는 서비스 페이지(Service Page)(22);When the client 10 accesses the service providing server 20, it provides a service page, calls the server agent 21, and then JRE 1.6 or later is installed on the client 10 or SSO_Applet.jar is installed. A service page 22 for determining whether or not SSO_Agent.jar is installed, and receiving an authentication token and user authority information from the server agent 21; 를 포함하여 구성된 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템.Authentication processing system of the Java client agent using an applet and RMI, characterized in that configured to include. 청구항 1 및 청구항 3 내지 청구항 5 중 어느 하나의 항에 있어서,The method according to any one of claims 1 and 3 to 5, 상기 인증처리 서버(30)는,The authentication processing server 30, 상기 서비스제공 서버(20)에서 암호화된 인증요청 정보를 요청하면 이의 유효성/정당성을 확인하는 인증 서블릿(Cert Servlet)(31)과;A cert servlet 31 for checking the validity / legitimacy of the encrypted authentication request information from the service providing server 20; 상기 인증 서블릿(31)으로부터 넘어온 인증요청 정보를 상기 인증/권한 정보 DB(40)에 있는 사용자 정보와 유효성 및 정당성을 비교처리하는 인증 DB 래퍼(Cert DB Wrapper)(32)와;A certificate DB wrapper (32) which compares the authentication request information passed from the authentication servlet (31) with validity and legitimacy with user information in the authentication / authority information DB (40); 상기 인증처리 서버(30)에서 웹프로젝트를 구축하기 위한 자바 프레임워크(Java Framework)인 GWAF(Genics Web App Framework)(33)와;A Generic Web App Framework (GWAF) 33 which is a Java framework for building a web project in the authentication processing server 30; 상기 인증처리 서버(30)에서 자바 기반의 웹서비스를 구동하는 미들웨어인 WAS(Web Application Server)(34)와;A WAS (Web Application Server) 34 which is middleware for driving a Java-based web service in the authentication processing server 30; 상기 인증처리 서버(30)에서 동작되는 JRE(35)와;A JRE 35 operated in the authentication processing server 30; 상기 인증처리 서버(30)를 동작시키는 운영체제(36);An operating system (36) for operating the authentication processing server (30); 를 포함하여 구성된 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템.Authentication processing system of the Java client agent using an applet and RMI, characterized in that configured to include. 청구항 1 및 청구항 3 내지 청구항 5 중 어느 하나의 항에 있어서,The method according to any one of claims 1 and 3 to 5, 상기 에이전트 다운로드 서버(50)는,The agent download server 50, 상기 클라이언트(10)에서 구동되는 에이전트를 배포하기 위한 SSO 에이전트 파일인 SSO_Agent.jar 파일과;An SSO_Agent.jar file which is an SSO agent file for distributing an agent running in the client 10; 상기 클라이언트(10)에 저장되어 상기 클라이언트(10)의 로컬에서 실행되는 SSO 애플릿 파일인 SSO_Applet.jar 파일과;An SSO_Applet.jar file, which is an SSO applet file stored in the client 10 and executed locally in the client 10; JRE의 인스톨용 파일인 Install_jre.cab 파일과;An Install_jre.cab file which is a file for installing the JRE; XML(eXtensible Markup Language)로 구성된 JNLP(Java Network Launching Protocol) 파일로서 상기 클라이언트(10)의 자바 웹스타트(Java Web Start)를 통해 SSO_Agent 를 구동하는 파일인 sso_agent.jnlp 파일과;A sso_agent.jnlp file, which is a JNLP (Java Network Launching Protocol) file composed of eXtensible Markup Language (XML) file which drives SSO_Agent through Java Web Start of the client 10; 애플릿에 정의된 함수를 웹브라우저에서 호출하는 자바스크립트(JavaScript) 함수를 포함한 파일인 Manager.js 파일과;A Manager.js file, which is a file containing a JavaScript function that calls a function defined in an applet in a web browser; 애플릿의 다운로드 및 구동과 관련된 로직이 들어있는 자바스크립트(JavaScript) 파일인 Applet.js 파일;An Applet.js file, which is a JavaScript file containing logic related to downloading and running an applet; 을 포함하여 구성된 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 시스템.Authentication processing system of the Java client agent using the applet and RMI, characterized in that configured to include. 클라이언트(10)에서 서비스제공 서버(20)의 서비스 페이지(22)를 웹브라우저(11)로 열면, 해당 사이트에 포함(include)되어 있는 서버 에이전트(21)를 호출하고, 클라이언트(10)에 필요한 어플리케이션(Application)이 설치되어 있는지 판별하는 단계(ST11, ST12)와; When the client 10 opens the service page 22 of the service providing server 20 with the web browser 11, the server agent 21, which is included in the corresponding site, is called and the client 10 needs to call it. Determining whether an application is installed (ST11, ST12); 필요한 어플리케이션이 설치되어 있지 않다면 인증연계 서버(50)로부터 이를 다운로드 요청하고, 요청한 어플리케이션을 클라이언트(10)에 다운로드하여 설치하는 단계(ST13, ST14)와; If the required application is not installed, requesting to download it from the authentication association server 50, and downloading and installing the requested application to the client 10 (ST13 and ST14); 상기 클라이언트(10)의 웹브라우저(11)는 applet.js 파일과 manager.js 파일에 있는 스크립트 함수(function)를 호출하고, 자바스크립트 함수(JavaScript function)는 SSO 애플릿(SSO Applet)에 구현되어 있는 Java API(Application Programming Interface)를 호출하며, SSO 애플릿(SSO Applet)의 Java API 는 브릿지 SSO 에이전트(Bridge SSO Agent)(12)와 Java RMI 통신을 수행하여 상기 클라이언트(10)의 해당 사용자가 이미 인증처리가 되어 있는지 여부를 확인하는 단계(ST15 ~ ST17)와; The web browser 11 of the client 10 calls a script function in the applet.js file and the manager.js file, and a JavaScript function is implemented in the SSO Applet. It calls a Java Application Programming Interface (API), and the Java API of the SSO Applet performs Java RMI communication with the Bridge SSO Agent 12 so that the corresponding user of the client 10 has already authenticated. Checking whether or not the process has been performed (ST15 to ST17); 상기 브릿지 SSO 에이전트(Bridge SSO Agent)는 요청 결과를 SSO 애플릿(SSO Applet)에 전달하고, 웹브라우저(11)는 자바스크립트(JavaScript)를 통해서 SSO 애플릿(SSO Applet)으로부터 인증토큰값을 전달받는 단계(ST18, ST19)와; The Bridge SSO Agent delivers the request result to the SSO Applet, and the web browser 11 receives the authentication token value from the SSO Applet through JavaScript. (ST18, ST19); 상기 서비스제공 서버(20)의 서버 에이전트(Server Agent)(21)는 웹브라우저(11)로부터 받은 인증 여부를 확인하여, 이미 인증이 되어 있다면 서비스 페이지(22)를 이용하여 서비스를 실시하도록 하고, 인증받지 못한 경우에는 상기 클라이언트(10)의 사용자가 제출한 인증요청 정보를 검증받기 위해 인증처리 서버(30)의 인증 서블릿(Cert Servlet)(31)으로 그 값을 넘기는 단계(ST20, ST21)와; The server agent 21 of the service providing server 20 checks whether the authentication is received from the web browser 11, and if it is already authenticated, performs a service using the service page 22, If not authenticated (ST20, ST21) and passing the value to the cert servlet (31) of the authentication processing server 30 to verify the authentication request information submitted by the user of the client 10 and ; 상기 인증 서블릿(Cert Servlet)(31)은 인증 DB 래퍼(Cert DB Wrapper)(32)의 클래스에 인증요청 정보를 제출하고, 상기 인증 DB 래퍼(Cert DB Wrapper)(32)는 인증/권한 정보 DB(40)에서 인증요청 정보의 유효성(Validation)을 비교하여 확 인하고, 확인된 인증요청 정보를 상기 인증 서블릿(Cert Servlet)(31)에 전달하는 단계(ST22 ~ ST25)와; The Cert Servlet 31 submits authentication request information to a class of Cert DB Wrapper 32, and the Cert DB Wrapper 32 provides a certificate / authority information DB. Comparing and verifying validity of certification request information at 40 and transferring the verified authentication request information to the cert servlet 31 (ST22 to ST25); 상기 서버 에이전트(21)는 인증여부와 해당 권한 정보들을 상기 인증 서블릿(31)으로부터 전달받아 브릿지 SSO 에이전트(Bridge SSO Agent)(12)에 인증토큰과 사용자 권한 정보를 세팅하고 본래의 해당 서비스 페이지(22)로 포워드(Forward)하는 단계(ST26, ST27);The server agent 21 receives the authentication status and the corresponding authority information from the authentication servlet 31, sets the authentication token and the user authority information in the bridge SSO agent 12, and sets the original corresponding service page ( Forward to 22) ST26 and ST27; 를 포함하여 수행하는 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법.Authentication processing method of a Java client agent using an applet and RMI, characterized in that to perform. 청구항 8에 있어서,The method according to claim 8, 상기 필요한 어플리케이션이 설치되어 있는지 판별하는 단계(ST11, ST12)는,The step of determining whether the necessary application is installed (ST11, ST12), JRE 1.6 이상이 설치되어 있는지 또는 SSO_Applet.jar 가 설치되어 있는지 또는 SSO_Agent.jar 가 설치되어 있는지 판별하는 것을 특징으로 하는 애플릿과 RMI를 이용한 자바 클라이언트 에이전트의 인증처리 방법.A method for authentication of a Java client agent using applets and RMI, characterized by determining whether JRE 1.6 or later is installed, SSO_Applet.jar is installed, or SSO_Agent.jar is installed. 삭제delete 삭제delete 삭제delete 삭제delete
KR1020080028192A 2008-03-27 2008-03-27 System and method for authentication process of java client agent by applet and Remote Method Invocation KR100954449B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080028192A KR100954449B1 (en) 2008-03-27 2008-03-27 System and method for authentication process of java client agent by applet and Remote Method Invocation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080028192A KR100954449B1 (en) 2008-03-27 2008-03-27 System and method for authentication process of java client agent by applet and Remote Method Invocation

Publications (2)

Publication Number Publication Date
KR20090102924A KR20090102924A (en) 2009-10-01
KR100954449B1 true KR100954449B1 (en) 2010-04-27

Family

ID=41532520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080028192A KR100954449B1 (en) 2008-03-27 2008-03-27 System and method for authentication process of java client agent by applet and Remote Method Invocation

Country Status (1)

Country Link
KR (1) KR100954449B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150095255A (en) * 2014-02-13 2015-08-21 주식회사 디지캡 A system providing trusted identity management service using trust service device and its methods of operation

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101883210B1 (en) * 2012-07-02 2018-07-30 에스케이플래닛 주식회사 Service System And Operation Method For Single-Sign On
US9130927B2 (en) 2012-07-02 2015-09-08 Sk Planet Co., Ltd. Single certificate service system and operational method thereof
KR20230036493A (en) * 2021-09-07 2023-03-14 삼성전자주식회사 Method of providing login information and electronic device performing the method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998041919A1 (en) 1997-03-18 1998-09-24 Trend Micro, Incorporated Virus detection in client-server system
US6766454B1 (en) * 1997-04-08 2004-07-20 Visto Corporation System and method for using an authentication applet to identify and authenticate a user in a computer network
US7150038B1 (en) * 2000-04-06 2006-12-12 Oracle International Corp. Facilitating single sign-on by using authenticated code to access a password store
KR20080044020A (en) * 2006-11-15 2008-05-20 에스케이 텔레콤주식회사 One time password unified authentification system and constructing method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998041919A1 (en) 1997-03-18 1998-09-24 Trend Micro, Incorporated Virus detection in client-server system
US6766454B1 (en) * 1997-04-08 2004-07-20 Visto Corporation System and method for using an authentication applet to identify and authenticate a user in a computer network
US7150038B1 (en) * 2000-04-06 2006-12-12 Oracle International Corp. Facilitating single sign-on by using authenticated code to access a password store
KR20080044020A (en) * 2006-11-15 2008-05-20 에스케이 텔레콤주식회사 One time password unified authentification system and constructing method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150095255A (en) * 2014-02-13 2015-08-21 주식회사 디지캡 A system providing trusted identity management service using trust service device and its methods of operation
KR101637155B1 (en) 2014-02-13 2016-07-07 주식회사 디지캡 A system providing trusted identity management service using trust service device and its methods of operation

Also Published As

Publication number Publication date
KR20090102924A (en) 2009-10-01

Similar Documents

Publication Publication Date Title
US20030233483A1 (en) Executing software in a network environment
US6219700B1 (en) Method and apparatus for managing services in a computer network from a central console
EP1141828B1 (en) An apparatus and method for determining a program neighborhood for a client node in a client-server network
US6157953A (en) Authentication and access control in a management console program for managing services in a computer network
US7281047B2 (en) System and method for automatic provision of an application
US7509672B1 (en) Cross-platform single sign-on data sharing
US6154751A (en) Method for executing a user-requested CGI program in a new authentication context while protecting operation of a default web server program
US7441264B2 (en) Security objects controlling access to resources
US6178511B1 (en) Coordinating user target logons in a single sign-on (SSO) environment
US20030033535A1 (en) Method and system for implementing a common user logon to multiple applications
US6675261B2 (en) Request based caching of data store data
US20040117460A1 (en) Multi-user web simulator
CN1732452A (en) System and method for automatically launching and accessing netwrok addresses and applications
JP2002351829A (en) Providing computing service through online network computer environment
US7496761B2 (en) Method and system for batch task creation and execution
CN101268468A (en) Method and apparatus to authenticate source of a scripted code
KR100954449B1 (en) System and method for authentication process of java client agent by applet and Remote Method Invocation
US20040123146A1 (en) Security objects with language translation and speech to text conversion
US20030236979A1 (en) Group security objects and concurrent multi-user security objects
US20030236996A1 (en) Security objects controlling timed access to resources
Gröne et al. The Apache modeling project
AU2006201131B2 (en) Method and system for providing user access to a secure application
KR20000053807A (en) A Remote Control System For Personal Computer Using Web Browser
EP1411429A2 (en) An apparatus and method for determining a program neighbourhood for a client node in a client-server network
Rahim Conception of Authentication and Authorization of Users and Microservices in an Angular, Spring Boot Application Using Keycloak and OAuth2. 0

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee