WO2021118005A1 - 사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법 - Google Patents

사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법 Download PDF

Info

Publication number
WO2021118005A1
WO2021118005A1 PCT/KR2020/010223 KR2020010223W WO2021118005A1 WO 2021118005 A1 WO2021118005 A1 WO 2021118005A1 KR 2020010223 W KR2020010223 W KR 2020010223W WO 2021118005 A1 WO2021118005 A1 WO 2021118005A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
otp
authentication
user terminal
user
Prior art date
Application number
PCT/KR2020/010223
Other languages
English (en)
French (fr)
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 삼성전자주식회사
Publication of WO2021118005A1 publication Critical patent/WO2021118005A1/ko
Priority to US17/837,283 priority Critical patent/US20220311761A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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
    • 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

Definitions

  • the present disclosure relates to a control method of a user terminal and an account management server for managing user accounts, and more particularly, an account for managing user accounts by controlling a user terminal and a relay server that communicate with an external server through a relay server. It relates to a control method of a management server.
  • a user receives an ID and password from an authentication server through authentication with respect to the authentication server, and inputs the received ID and password through a user terminal when connecting to an external server to authenticate.
  • the password delivered to the user must be stored in plaintext or in a form that can be decrypted in the authentication server.
  • the authentication server is exposed to an external attacker, there is a problem in that password information of all users stored in the database of the authentication server is leaked.
  • One technical problem to be solved by the present invention is to provide an account management technology with user convenience and safety against password information leakage.
  • a method for controlling a user terminal comprising: transmitting a user authentication request to an account management server to perform authentication on a user account; transmitting a request for accessing an external server to the account management server when a request for accessing an external server is received after authentication for the user account is performed;
  • first OTP One Time Password
  • second OTP information
  • first communication with a relay server for accessing the external server using the first OTP information creating a channel; generating a second communication channel between the relay server and the external server by performing authentication with the external server using the second OTP information through the first communication channel; and performing communication with the external server through the first communication channel and the second communication channel.
  • a control method of an account management server when a user authentication request is received from a user terminal, authenticating the user terminal; and when receiving a request for access to an external server from the authenticated user terminal, a first OTP is generated and transmitted to the authenticated user terminal and a relay server for accessing the external server, and a second OTP is generated for the authentication transmitting to the user terminal and the external server;
  • a control method comprising a may be provided.
  • a user terminal a communication interface; and a processor, wherein the processor transmits a user authentication request to the account management server through the communication interface to perform authentication on the user account, and after authentication for the user account is performed, through the communication interface
  • a request for accessing an external server is transmitted to the account management server, and in response to the request, first OTP (One Time Password) information and second OTP information from the account management server
  • first OTP One Time Password
  • second OTP information from the account management server
  • a first communication channel with a relay server for accessing the external server is created using the first OTP information, and the second OTP information is used through the first communication channel to the external server
  • a user terminal that generates a second communication channel between the relay server and the external server by performing authentication with the external server and communicates with the external server through the first communication channel and the second communication channel may be provided.
  • an account management server a communication interface; and a processor, wherein the processor authenticates the user terminal when a user authentication request is received from the user terminal, and generates a first OTP when receiving an access request to an external server from the authenticated user terminal
  • An account management server may be provided that transmits to an authenticated user terminal and a relay server for accessing the external server, and generates a second OTP and transmits it to the authenticated user terminal and the external server.
  • the account management server transmits the one-way encrypted password to the relay server and the external server, thereby improving security against password information leakage.
  • FIG. 1 is a view for explaining an account management system according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating a configuration of a user terminal according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram illustrating a configuration of an account management server according to an embodiment of the present disclosure.
  • 4 and 5 are sequence diagrams for explaining the operation of the account management system according to various embodiments of the present disclosure.
  • FIG. 6 is a flowchart illustrating a method of controlling a user terminal according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating a control method of an account management server according to an embodiment of the present disclosure.
  • Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiments, and it should be understood to include all transformations, equivalents and substitutions included in the spirit and scope of the disclosed technology. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description thereof will be omitted.
  • FIG. 1 is a view for explaining an account management system according to an embodiment of the present disclosure.
  • the user terminal 100 may perform authentication on the user account by transmitting a user authentication request to the account management server 200 .
  • the user terminal 100 may perform authentication for the user account in various ways.
  • the account management server 200 may request credential information (eg, password) from the user terminal 100 .
  • the user terminal 100 may transmit the credential information input by the user to the account management server 200 .
  • the account management server 200 may determine whether the user terminal 100 is a previously registered terminal based on the credential information received from the user terminal 100 .
  • the account management server 200 may be accessed.
  • the user terminal 100 may perform authentication for the user account through a single sing-on (SSO) authentication method.
  • the user terminal 100 can access the account management server 200 without separately inputting user's credential information for authentication to the account management server 200 , thereby improving user convenience.
  • SSO sing-on
  • the user terminal 100 When the user terminal 100 receives a request for accessing the external server 400 from the user after authentication for the user account is performed, the user terminal 100 transmits a request for accessing the external server 400 to the account management server 200 .
  • the account management server 200 may transmit an authentication token to the user terminal 100 .
  • the user terminal 100 may transmit a request for accessing the external server 400 to the account management server 200 using the received authentication token.
  • the external server 400 may be a destination server that exists remotely from the user terminal 100 .
  • the account management server 200 may generate a first OTP (One Time Password) in response to a user request and transmit it to the relay server 300 .
  • the relay server 300 may receive the first OTP and store it in a database existing therein.
  • the relay server 300 may be located in the same network environment as the external server 400 or located in a data center existing within a preset range from the external server 400 .
  • a plurality of relay servers 300 may exist in a network environment to which one external server 400 belongs. In this case, the account management server 200 may allocate one relay server 300 located closest to the external server 400 among the plurality of relay servers 300 .
  • the account management server 200 may generate a second OTP in response to a user request and transmit it to the external server 400 .
  • the external server 400 may receive the second OTP and store it in a database existing therein.
  • the account management server 200 may transmit the generated first OTP and the second OTP to the user terminal 100 .
  • the user terminal 100 may create a communication channel to the external server 400 based on the first OTP and the second OTP.
  • the user terminal 100 may generate a first communication channel to the relay server 300 using the first OTP.
  • the user terminal 100 may perform authentication with the relay server 300 based on the first OTP obtained from the account management server 200 .
  • the user terminal 100 may create a first communication channel to communicate with the relay server 300 .
  • the user terminal 100 may access the relay server 300 and create a second communication channel between the relay server 300 and the external server 400 based on the second OTP.
  • the user terminal 100 may perform authentication with the external server 400 using the second OTP.
  • the user terminal 100 may create a second communication channel and communicate with the external server 400 through the second communication channel.
  • the user terminal 100 transmits data to the relay server 300 through a first communication channel, and the relay server 300 transmits data received from the user terminal 100 to an external server ( 400) can be passed.
  • the external server 400 may communicate with the user only through the relay server 300 . Therefore, even if an external attacker obtains a password for access to the external server 400 , it may not be able to access the external server 400 without going through the relay server 300 . Accordingly, the safety of the external server 400 may be improved.
  • the account management server 200 when the user terminal 100 creates the first communication channel, the account management server 200 generates a third OTP different from the first OTP used when the first communication channel is created and transmits it to the relay server 300 . can At this time, the relay server 300 may delete the first OTP stored in the internal database and store the third OTP. Accordingly, even if the first OTP is exposed to the outside, security for the relay server 300 may be maintained. Also, when the user terminal 100 creates the first communication channel, the account management server 200 may randomly generate and update a password for authentication with the relay server 300 . Accordingly, since the user does not need to separately change the password for authentication with the relay server 300 for security, the ease of account management and user satisfaction can be improved.
  • the account management server 200 when the user terminal 100 creates the second communication channel, the account management server 200 generates a fourth OTP different from the second OTP used when the second communication channel is created and transmits it to the external server 400 .
  • the external server 400 may delete the second OTP stored in the internal database and store the fourth OTP. Accordingly, even if the second OTP is exposed to the outside, security for the relay server 300 may be maintained.
  • the account management server 200 may randomly generate and update a password for authentication with the external server 400 . Accordingly, since the user does not need to separately change the password for authentication with the external server 400 for security, the ease of account management and user satisfaction can be improved.
  • first communication channel and the second communication channel may be generated according to various protocols.
  • first communication channel and the second communication channel may be created according to a Secure Shell (SSH) tunneling protocol.
  • SSH Secure Shell
  • RDP Remote Desktop Protocol
  • FIG. 2 is a block diagram illustrating a configuration of a user terminal according to an embodiment of the present disclosure.
  • the user terminal 100 may include an input unit 110 , a display 120 , a memory 130 , a communication interface 140 , and a processor 150 .
  • the user terminal 100 may be implemented as an electronic device such as a personal computer (PC) or a mobile device. Meanwhile, the user terminal 100 does not necessarily include all of the above-described components, and may be implemented while omitting some components.
  • the input unit 110 may be configured to receive various user commands and information. For example, the input unit 110 may obtain a user command for requesting access to the external server 400 . Also, the input unit 110 may obtain a user input for selecting one external server 400 from among a plurality of external server lists displayed through the display 120 . Alternatively, the input unit 110 may obtain a user command for authentication with the account management server 200 . Meanwhile, the input unit 110 may be implemented with various mechanical devices such as a keyboard, a mouse, a voice input device, and an electronic pen.
  • the display 120 may display various screens.
  • the display 120 may display an execution screen of an application or program related to the account management server 200 .
  • the display 120 may be implemented as various types of displays, such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display panel (PDP), and the like.
  • LCD liquid crystal display
  • OLED organic light emitting diode
  • PDP plasma display panel
  • the memory 130 may store various programs and data necessary for the operation of the user terminal 100 . At least one instruction may be stored in the memory 130 .
  • the processor 150 may perform the operation of the user terminal 100 by executing an instruction stored in the memory 130 .
  • the memory 130 may be implemented as a non-volatile memory, a volatile memory, or the like.
  • the communication interface 140 includes at least one circuit and may communicate with various types of external devices according to various types of communication methods.
  • the communication interface 140 may communicate with the account management server 200 , the relay server 300 , and the external server 400 .
  • the communication interface 140 may receive an authentication token and an OTP from the account management server 200 .
  • the communication interface 140 may communicate with the account management server 200 in the first communication method. Also, the communication interface 140 may communicate with the relay server 300 in the second communication method. Also, the communication interface 140 may communicate with the external server 400 in a third communication method. Meanwhile, the first communication method and the second communication method may be the same. For example, the first communication method and the second communication method may be implemented through a wired communication module (eg, LAN, etc.). Also, the second communication method may be different from the third communication method. For example, the second communication method may be implemented through a wired communication module, and the third communication method may be implemented through a wired and wireless communication module. Specifically, the communication interface 140 may communicate with the relay server 300 through the first communication channel in a wired communication method.
  • a wired communication module eg, LAN, etc.
  • the second communication method may be different from the third communication method.
  • the second communication method may be implemented through a wired communication module
  • the third communication method may be implemented through a wired and wireless communication module.
  • the communication interface 140 may communicate with the external server 400 through the second communication channel in a wireless communication method. That is, the above-described first communication channel may be implemented through a wired communication method, and the second communication channel may be implemented through a wireless communication method.
  • the communication interface 140 is a Wi-Fi communication module, a cellular communication module, a 3G (3rd generation) mobile communication module, a 4G (4th generation) mobile communication module, It may include at least one of a 4th generation LTE (Long Term Evolution) communication module and a 5G (5th generation) mobile communication module.
  • the processor 150 may control the overall operation of the user terminal 100 .
  • the processor 150 may transmit a user authentication request to the account management server 200 to perform authentication on the user account.
  • the processor 150 obtains a user input including authentication information (eg, ID and password) through the input unit 110 , and transmits the obtained user input through the communication interface 140 to the account management server ( 200) can be transmitted.
  • the processor 150 may authenticate the user account through the SSO authentication method. Specifically, the processor 150 performs authentication on the SSO authentication server interlocked with the account management server 200 before accepting authentication for the user account to obtain an authentication token, and uses the obtained authentication token to obtain a user account authentication can be performed. Alternatively, the processor 150 may perform authentication based on the user's authentication information with respect to the SSO authentication server, and may perform authentication on the user account through the SSO authentication server.
  • the processor 150 may receive a user request for accessing the external server 400 after authentication for the user account is performed. In this case, the processor 150 may transmit a user request for accessing the external server 400 to the account management server 200 . In addition, the processor 150 acquires an authentication token from the account management server 200 according to user account authentication, and transmits a request for access to the external server 400 to the account management server 200 using the obtained authentication token.
  • a user request to access the external server 400 may be made in various ways. For example, a plurality of connectable external servers 400 are displayed, and a user request may be made in the form of a user selecting one of the displayed external servers.
  • the processor 150 may receive the first OTP and the second OTP from the account management server 200 in response to the user request.
  • the processor 150 may generate a first communication channel with the relay server 300 for accessing the external server 400 using the first OTP.
  • the processor 150 may generate a second communication channel between the relay server 300 and the external server 400 using the second OTP.
  • the processor 150 may create a second communication channel by connecting to the relay server 300 through the first communication channel and performing authentication with the external server 400 .
  • the first OTP and the second OTP are different from each other and may be stored in the relay server 300 and the external server 400 in a one-way encrypted state, respectively.
  • the one-way encrypted state may mean a state in which decryption of encrypted data is impossible.
  • the first communication channel and the second communication channel may be created according to an SSH tunneling protocol.
  • the processor 150 may communicate with the external server 400 through the first communication channel and the second communication channel.
  • FIG. 3 is a block diagram illustrating a configuration of an account management server according to an embodiment of the present disclosure.
  • the account management server 200 may include a communication interface 210 , a processor 220 , and a memory 230 .
  • the account management server 200 may be an application programming interface (API, Application Programming Interface) server.
  • API Application Programming Interface
  • the account management server 200 does not necessarily include all of the above-described components, and may be implemented while omitting some components.
  • memory 230 may correspond to the memory 130 of FIG. 2 , a redundant description will be omitted.
  • the communication interface 210 includes at least one circuit and may communicate with various types of external devices according to various types of communication methods.
  • the communication interface 210 may communicate with the user terminal 100 , the relay server 300 , and the external server 400 .
  • the communication interface 210 may receive user authentication information from the user terminal 200 .
  • the communication interface 210 may communicate with the user terminal 100 in the first communication method. Also, the communication interface 210 may communicate with the relay server 300 in the second communication method. Also, the communication interface 210 may communicate with the external server 400 in a third communication method. Meanwhile, the first communication method and the second communication method may be the same. For example, the first communication method may be implemented through a wired communication module (eg, LAN, etc.). Also, the first communication method may be different from the third communication method. For example, the first communication method may be implemented through a wired communication module, and the third communication method may be implemented through a wireless communication module.
  • a wired communication module eg, LAN, etc.
  • the first communication method may be different from the third communication method.
  • the first communication method may be implemented through a wired communication module
  • the third communication method may be implemented through a wireless communication module.
  • the communication interface 210 is a Wi-Fi communication module, a cellular communication module, a 3G (3rd generation) mobile communication module, a 4G (4th generation) mobile communication module, It may include at least one of a 4th generation LTE (Long Term Evolution) communication module and a 5G (5th generation) mobile communication module.
  • the processor 220 may perform authentication on the user terminal 100 . In this case, the processor 220 may determine whether the user terminal is a terminal previously registered in the memory 230 . If it is determined that the user terminal 100 is a pre-registered terminal, the processor 220 may generate an authentication token and transmit it to the user terminal 100 .
  • the processor 220 may identify at least one relay server 300 .
  • the processor 220 may identify the relay server 300 located closest to the external server 400 among a plurality of relay servers existing in the network to which the external server 400 belongs. Also, the processor 220 may identify a plurality of relay servers 300 to reduce communication load.
  • a relay server for generating a first OTP and accessing the authenticated user terminal and the external server 400 (300) can be transmitted.
  • the processor 220 may generate a second OTP and transmit it to the authenticated user terminal and the external server 400 .
  • the processor 220 may transmit the first OTP and the second OTP to the relay server 300 and the external server 400 in a hash state by one-way encryption.
  • the first OTP and the second OTP transmitted to the relay server 300 and the external server 400 may be stored in the relay server 300 and the external server 400, respectively.
  • the processor 220 when the first communication channel between the user terminal 100 and the relay server 300 is generated based on the first OTP, the processor 220 generates a third OTP different from the first OTP and transmits it to the relay server 300 .
  • the processor 220 may generate a third OTP that is different from the first OTP and transmit it to the relay server 300 when a predetermined time or more has elapsed from when the first communication channel is created.
  • the relay server 300 may delete the pre-stored first OTP while storing the third OTP.
  • the processor 220 when the second communication channel between the relay server 300 and the external server 400 is generated based on the second OTP, the processor 220 generates a fourth OTP different from the second OTP to the external server 400 .
  • the processor 220 may generate a fourth OTP that is different from the second OTP and transmit it to the external server 400 when a predetermined time or more passes from when the second communication channel is created.
  • the external server 400 may delete the pre-stored second OTP while storing the fourth OTP. Accordingly, even if the pre-stored first OTP and second OTP are exposed to the outside, the relay server 300 and the external server 400 may not be exposed to the outside.
  • FIG. 4 is a sequence diagram illustrating an operation of an account management system according to an embodiment of the present disclosure.
  • the user terminal 100 may perform user authentication with the account management server 200 (S410). In this case, the user terminal 100 may authenticate the user account through the SSO authentication method. Alternatively, the account management server 200 may determine whether the user terminal 100 corresponds to a previously registered terminal. When the user terminal 100 corresponds to a previously registered terminal, the account management server 200 may transmit an authentication token to the user terminal 100 .
  • the user terminal 100 may transmit a request for accessing the external server 400 to the account management server 200 (S420). In this case, the user terminal 100 may transmit a request for accessing the external server 400 to the account management server 200 through the authentication token received from the account management server 200 .
  • the account management server 200 may identify the relay server 300 located closest to the external server 400 among at least one pre-installed relay server. Also, the account management server 200 may generate and transmit the first OTP information (or OTP) to the relay server 300 ( S431 ). In this case, the first OTP information may be stored in the relay server 300 in a one-way encrypted state. Then, the account management server 200 may generate the second OTP information and transmit it to the external server 400 (S432). In this case, the second OTP information may be stored in the external server 400 in a one-way encrypted state. Also, the account management server 200 may transmit the first OTP information and the second OTP information to the user terminal 100 ( S433 ).
  • the account management server 200 may transmit the first OTP information and the second OTP information to the user terminal 100 ( S433 ).
  • the user terminal 100 may create a first communication channel with the relay server 300 using the first OTP information (S440).
  • the relay server 300 may generate and store the third OTP information in a one-way encrypted state (S450).
  • the user terminal 100 may create a second communication channel between the relay server 300 and the external server 400 using the second OTP information (S460).
  • the account management server 200 may generate fourth OTP information (S470).
  • the account management server 200 may transmit the generated fourth OTP information to the relay server 300 (S480).
  • the transmitted fourth OTP information may be stored in the relay server 300 in a one-way encrypted state.
  • FIG. 5 is a sequence diagram illustrating an operation of an account management system according to another embodiment of the present disclosure.
  • steps S510, S520, S531, S532, S533, S540, S570, S580, and S590 overlap with the operation of the account management system described above in FIG. 4 , a detailed description thereof will be omitted.
  • the user terminal 100 may create a first communication channel with the relay server 300 by using the first OTP information (S540).
  • the relay server 300 may perform authentication for the user terminal 100 based on the pre-stored first OTP information.
  • the account management server 200 may generate third OTP information different from the first OTP (S550) and transmit it to the relay server 300 (S560).
  • the relay server 300 may update the pre-stored first OTP information with the third OTP information.
  • the account management server 200 generates and transmits the fourth OTP information to the external server 400, but this is only an embodiment, and the account management server 200 Even if the second communication channel is created, the fourth OTP information may not be generated. As such, even if the OTP stored in the external server 400 is not updated, the safety of the external server 400 may be maintained. This is because even if the OTP information stored in the external server 400 is exposed to the outside, communication with the external server 400 can be performed only through the second communication channel.
  • FIG. 6 is a flowchart illustrating a method of controlling a user terminal according to an embodiment of the present disclosure.
  • the control method of the user terminal includes transmitting a user authentication request to the account management server to perform authentication on the user account (S610), accessing an external server after authentication for the user account is performed When a request is received, transmitting a request for accessing an external server to the account management server (S620).
  • the external Upon receiving the first OTP information and the second OTP information from the account management server, the external using the first TOP information Creating a first communication channel with the relay server for accessing the server (S630), performing authentication with an external server using the second OTP information through the first communication channel to perform a second communication between the relay server and the external server It may include generating a channel (S640) and performing communication with an external server through the first communication channel and the second communication channel (S650).
  • FIG. 7 is a flowchart illustrating a control method of an account management server according to an embodiment of the present disclosure.
  • the control method of the account management server includes the step of authenticating the user terminal when user authentication is received from the user terminal (S710) and when receiving a request for access to the external server from the authenticated user terminal, the first It may include generating OTP information and transmitting it to a relay server for accessing an authenticated user terminal and an external server, and generating and transmitting second OTP information to the authenticated user terminal and an external server (S720).
  • each step of the control method of the account management server according to the present embodiment can be clearly understood with reference to FIG. 4 , and detailed description thereof will be omitted.
  • the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • the embodiments described herein may be implemented by the processor itself.
  • embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • computer instructions for performing the processing operation according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • a specific device may perform the processing operation according to the above-described various embodiments.
  • the non-transitory computer-readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device.
  • Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' is a tangible device and only means that it does not contain a signal (eg, electromagnetic wave), and this term refers to cases in which data is semi-permanently stored in a storage medium and temporary It does not distinguish the case of being stored
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be provided as included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store TM ) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a portion of a computer program product eg, a downloadable app
  • a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)

Abstract

사용자 단말이 개시된다. 본 개시에 따른 사용자 단말은 통신 인터페이스; 및 프로세서;를 포함하고, 계정 관리 서버로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행하고, 외부 서버에 접속하기 위한 요청이 수신되면, 계정 관리 서버로 외부 서버에 접속하기 위한 요청을 전송하고, 계정 관리 서버로부터 제1 OTP(One Time Password) 정보 및 제2 OTP 정보를 수신하면, 제1 OTP 정보를 이용하여 중계 서버와의 제1 통신 채널을 생성하고, 제2 OTP 정보를 이용하여 중계 서버와 외부 서버 간의 제2 통신 채널을 생성하고, 제1 통신 채널 및 제2 통신 채널을 통해 외부 서버와 통신을 수행한다.

Description

사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법
본 개시는 사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법으로, 보다 상세하게는, 중계 서버를 통해 외부 서버와 통신을 수행하는 사용자 단말 및 중계 서버를 제어함으로써 사용자 계정을 관리하는 계정 관리 서버의 제어 방법에 관한 것이다.
사용자가 자신의 계정을 이용하여 외부 서버로 접속하고자 할 때, 다양한 인증 방식이 존재한다. 일 예로, 사용자가 외부 서버 접속 용 ID 및 패스워드를 외부 서버 접속 시 사용자 단말을 통해 입력하여 인증하는 방식이 존재한다. 그런데, 이 경우 사용자가 외부 서버 접속을 위한 ID 및 패스워드를 알고 있어야만 인증이 가능하며 보안을 위해 주기적으로 패스워드를 변경해야하는 번거로움이 있다.
다른 일 예로, 사용자가 인증 서버에 대한 인증을 통해 인증 서버로부터 ID 및 패스워드를 수신하고, 수신한 ID 및 패스워드를 외부 서버 접속 시 사용자 단말을 통해 입력하여 인증하는 방식이 존재한다. 이 경우, 사용자에게 전달되는 패스워드는 인증 서버에 평문 또는 복호화가 가능한 형태로 저장되어야 하는데, 인증 서버가 외부 공격자 등에 노출되면 인증 서버의 데이터베이스에 저장된 모든 사용자의 패스워드 정보가 유출되는 문제가 있다.
이에 따라, 사용자 편의성과 패스워드 정보 유출에 대한 안전성을 갖춘 계정 관리 기술에 대한 필요성이 대두된다.
본 발명이 해결하고자 하는 일 기술적 과제는, 사용자 편의성 및 패스워드 정보 유출에 대한 안전성을 갖춘 계정 관리 기술을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시 예에 따르면, 사용자 단말의 제어 방법에 있어서, 계정 관리 서버로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행하는 단계; 상기 사용자 계정에 대한 인증이 수행된 후 외부 서버에 접속하기 위한 요청이 수신되면, 상기 계정 관리 서버로 외부 서버에 접속하기 위한 요청을 전송하는 단계; 상기 요청에 응답하여 상기 계정 관리 서버로부터 제1 OTP(One Time Password) 정보 및 제2 OTP 정보를 수신되면, 상기 제1 OTP 정보를 이용하여 상기 외부 서버에 접속하기 위한 중계 서버와의 제1 통신 채널을 생성하는 단계; 상기 제1 통신 채널을 통해 상기 제2 OTP 정보를 이용하여 상기 외부 서버와 인증을 수행하여 상기 중계 서버와 상기 외부 서버 간의 제2 통신 채널을 생성하는 단계; 및 상기 제1 통신 채널 및 상기 제2 통신 채널을 통해 상기 외부 서버와 통신을 수행하는 단계;를 포함하는 제어 방법이 제공될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 다른 일 실시 예에 따르면, 계정 관리 서버의 제어 방법에 있어서, 사용자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자 단말을 인증하는 단계; 및 상기 인증된 사용자 단말로부터 외부 서버에 대한 접근 요청을 수신하면, 제1 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 접속하기 위한 중계 서버에 전송하고, 제2 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 전송하는 단계; 를 포함하는 제어 방법이 제공될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 또 다른 일 실시 예에 따르면, 사용자 단말에 있어서, 통신 인터페이스; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 통신 인터페이스를 통해 계정 관리 서버로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행하고, 상기 사용자 계정에 대한 인증이 수행된 후 상기 통신 인터페이스를 통해 외부 서버에 접속하기 위한 요청이 수신되면, 상기 계정 관리 서버로 외부 서버에 접속하기 위한 요청을 전송하고, 상기 요청에 응답하여 상기 계정 관리 서버로부터 제1 OTP(One Time Password) 정보 및 제2 OTP 정보를 수신되면, 상기 제1 OTP 정보를 이용하여 상기 외부 서버에 접속하기 위한 중계 서버와의 제1 통신 채널을 생성하고, 상기 제1 통신 채널을 통해 상기 제2 OTP 정보를 이용하여 상기 외부 서버와 인증을 수행하여 상기 중계 서버와 상기 외부 서버 간의 제2 통신 채널을 생성하고, 상기 제1 통신 채널 및 상기 제2 통신 채널을 통해 상기 외부 서버와 통신을 수행하는 사용자 단말이 제공될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 또 다른 일 실시 예에 따르면, 계정 관리 서버에 있어서, 통신 인터페이스; 및 프로세서;를 포함하고, 상기 프로세서는 사용자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자 단말을 인증하고, 상기 인증된 사용자 단말로부터 외부 서버에 대한 접근 요청을 수신하면, 제1 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 접속하기 위한 중계 서버에 전송하고, 제2 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 전송하는 계정 관리 서버가 제공될 수 있다.
본 개시의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 계정 관리 서버는 일방향 암호화된 패스워드를 중계 서버 및 외부 서버에 전송함으로써 패스워드 정보 유출에 대한 안전성이 향상될 수 있다.
그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
도 1은 본 개시의 일 실시 예에 따른 계정 관리 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 사용자 단말의 구성을 도시한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 계정 관리 서버의 구성을 도시한 블록도이다.
도 4 및 5는 본 개시의 여러 실시 예에 따른 계정 관리 시스템의 동작을 설명하기 위한 시퀀스도이다.
도 6은 본 개시의 일 실시 예에 따른 사용자 단말의 제어 방법을 도시한 순서도이다.
도 7은 본 개시의 일 실시 예에 따른 계정 관리 서버의 제어 방법을 도시한 순서도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. 
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 개시의 일 실시 예에 따른 계정 관리 시스템을 설명하기 위한 도면이다.
사용자 단말(100)은 계정 관리 서버(200)로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행할 수 있다. 이 때, 사용자 단말(100)은 여러 방법으로 사용자 계정에 대한 인증을 수행할 수 있다. 일 예로, 계정 관리 서버(200)는 사용자 단말(100)에 크리덴셜(credential)정보(예를 들어, 비밀번호)를 요구할 수 있다. 이 때, 사용자 단말(100)은 사용자에 의해 입력된 크리덴셜 정보를 계정 관리 서버(200)로 전송할 수 있다. 또한, 계정 관리 서버(200)는 사용자 단말(100)로부터 수신한 크리덴셜 정보를 바탕으로 사용자 단말(100)이 기등록된 단말인지 판단할 수 있다. 다른 일 예로, 계정 관리 서버(200)가 사용자 단말(100)이 미리 인증을 완료한 인증 서버와 연동된 경우, 사용자 단말(100)은 계정 관리 서버(200)에 대한 별도의 인증을 수행하지 않고 계정 관리 서버(200)에 접속할 수 있다. 즉, 사용자 단말(100)은 SSO(Single Sing On) 인증 방식을 통해 사용자 계정에 대한 인증을 수행할 수 있다. 이 때, 사용자 단말(100)은 계정 관리 서버(200)에 대한 인증을 위한 별도의 사용자의 크리덴셜 정보 입력 없이도 계정 관리 서버(200)에 접근할 수 있어 사용자 편의성이 향상될 수 있다.
사용자 단말(100)은 사용자 계정에 대한 인증이 수행된 후 사용자로부터 외부 서버(400)에 접속하기 위한 요청을 수신하면, 계정 관리 서버(200)로 외부 서버(400)에 접속하기 위한 요청을 전송할 수 있다. 구체적으로, 사용자 계정에 대한 인증이 성공하면, 계정 관리 서버(200)는 사용자 단말(100)로 인증 토큰(token)을 전송할 수 있다. 이 때, 사용자 단말(100)은 수신한 인증 토큰을 이용하여 계정 관리 서버(200)로 외부 서버(400)에 접속하기 위한 요청을 전송할 수 있다. 여기서, 외부 서버(400)는 사용자 단말(100)로부터 원격에 존재하는 목적지 서버일 수 있다.
그리고, 계정 관리 서버(200)는 사용자 요청에 응답하여 제1 OTP(One Time Password)를 생성하여 중계 서버(300)로 전송할 수 있다. 이 때, 중계 서버(300)는 제1 OTP를 수신하여 그 내부에 존재하는 데이터 베이스에 저장할 수 있다. 여기서 중계 서버(300)는 외부 서버(400)와 동일한 네트워크 환경에 위치하거나 외부 서버(400)로부터 기설정된 범위 내에 존재하는 데이터 센터 내에 위치할 수 있다. 또한, 하나의 외부 서버(400)가 속한 네트워크 환경에는 복수의 중계 서버(300)가 존재할 수 있다. 이 때, 계정 관리 서버(200)는 복수의 중계 서버(300) 중 외부 서버(400)와 가장 가까이 위치한 하나의 중계 서버(300)를 할당할 수 있다. 또한, 계정 관리 서버(200)는 사용자 요청에 응답하여 제2 OTP를 생성하여 외부 서버(400)로 전송할 수 있다. 이 때, 외부 서버(400)는 제2 OTP를 수신하여 그 내부에 존재하는 데이터 베이스에 저장할 수 있다.
한편, 계정 관리 서버(200)는 생성된 제1 OTP 및 제2 OTP를 사용자 단말(100)로 전송할 수 있다. 이 때, 사용자 단말(100)은 제1 OTP 및 제2 OTP를 바탕으로 외부 서버(400)로의 통신 채널을 생성할 수 있다. 구체적으로, 사용자 단말(100)은 제1 OTP를 이용하여 중계 서버(300)까지의 제1 통신 채널을 생성할 수 있다. 이 때, 사용자 단말(100)은 계정 관리 서버(200)로부터 획득한 제1 OTP 를 바탕으로 중계 서버(300)와 인증을 수행할 수 있다. 인증이 완료되면, 사용자 단말(100)은 제1 통신 채널을 생성하여 중계 서버(300)와 통신을 수행할 수 있다.
또한, 사용자 단말(100)은 중계 서버(300)에 접속하여 제2 OTP를 바탕으로 중계 서버(300)와 외부 서버(400)간의 제2 통신 채널을 생성할 수 있다. 이 때, 사용자 단말(100)은 제2 OTP를 이용하여 외부 서버(400)와 인증을 수행할 수 있다. 인증이 완료되면, 사용자 단말(100)은 제2 통신 채널을 생성하고, 제2 통신 채널을 통해 외부 서버(400)와 통신을 수행할 수 있다. 예로, 사용자 단말(100)은 제1 통신 채널을 통해 중계 서버(300)로 데이터를 전송하고, 중계 서버(300)는 사용자 단말(100)로부터 수신한 데이터를 제2 통신 채널을 통해 외부 서버(400)로 전달할 수 있다.
이처럼, 외부 서버(400)는 중계 서버(300)를 통해서만 사용자와 통신을 수행할 수 있다. 따라서, 외부 공격자는 외부 서버(400)에 대한 접속을 위한 패스워드를 획득하더라도, 중계 서버(300)를 통하지 않으면 외부 서버(400)에 접속할 수 없을 수 있다. 이에 따라, 외부 서버(400)의 안전성이 향상될 수 있다.
한편, 계정 관리 서버(200)는 사용자 단말(100)이 제1 통신 채널을 생성하면, 제1 통신 채널의 생성시 이용된 제1 OTP와 다른 제3 OTP를 생성하여 중계 서버(300)로 전송할 수 있다. 이 때, 중계 서버(300)는 그 내부의 데이터 베이스에 저장된 제1 OTP를 삭제하고 제3 OTP를 저장할 수 있다. 이에 따라, 제1 OTP가 외부로 노출되더라도, 중계 서버(300)에 대한 보안은 유지될 수 있다. 또한, 계정 관리 서버(200)는 사용자 단말(100)이 제1 통신 채널을 생성하면 중계 서버(300)와의 인증을 위한 패스워드를 랜덤하게 생성 및 갱신할 수 있다. 이에 따라, 사용자는 보안을 위해 중계 서버(300)와의 인증을 위한 패스워드를 별도로 변경할 필요가 없으므로, 계정 관리의 용이성 및 사용자 만족감이 향상될 수 있다.
그리고, 계정 관리 서버(200)는 사용자 단말(100)이 제2 통신 채널을 생성하면, 제2 통신 채널의 생성시 이용된 제2 OTP와 다른 제4 OTP를 생성하여 외부 서버(400)로 전송할 수 있다. 이 때, 외부 서버(400)는 그 내부의 데이터 베이스에 저장된 제2 OTP를 삭제하고 제4 OTP를 저장할 수 있다. 이에 따라, 제2 OTP가 외부로 노출되더라도, 중계 서버(300)에 대한 보안은 유지될 수 있다. 또한, 계정 관리 서버(200)는 사용자 단말(100)이 제2 통신 채널을 생성하면 외부 서버(400)와의 인증을 위한 패스워드를 랜덤하게 생성 및 갱신할 수 있다. 이에 따라, 사용자는 보안을 위해 외부 서버(400)와의 인증을 위한 패스워드를 별도로 변경할 필요가 없으므로, 계정 관리의 용이성 및 사용자 만족감이 향상될 수 있다.
한편, 제1 통신 채널 및 제2 통신 채널은 다양한 프로토콜에 따라 생성될 수 있다. 일 예로, 제1 통신 채널 및 제2 통신 채널은 보안 쉘(SSH, Secure Shell) 터널링 프로토콜에 따라 생성될 수 있다. 다만 이는 일 실시 예에 불과하며 제1 통신 채널 및 제2 통신 채널은 원격 데스크톱 프로토콜(RDP, Remote Desktop Protocal)에 따라 생성될 수 있다.
이하에서는, 사용자 단말(100)의 각 구성에 대하여 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 사용자 단말의 구성을 도시한 블록도이다.
도 2를 참조하면, 사용자 단말(100)은 입력부(110), 디스플레이(120), 메모리(130), 통신 인터페이스(140) 및 프로세서(150)를 포함할 수 있다. 예로, 사용자 단말(100)은 PC(Personal Computer), 모바일 장치 등의 전자 장치로 구현될 수 있다. 한편, 사용자 단말(100)은 상술한 구성요소를 반드시 모두 포함하여 구현되어야 하는 것은 아니며, 일부 구성요소를 생략한 채 구현될 수 있다.
입력부(110)는 다양한 사용자 명령 및 정보를 입력 받는 구성일 수 있다. 예로, 입력부(110)는 외부 서버(400)로의 접속을 요청하는 사용자 명령을 획득할 수 있다. 또한, 입력부(110)는 디스플레이(120)를 통해 표시되는 복수의 외부 서버 리스트 중 하나의 외부 서버(400)를 선택하는 사용자 입력을 획득할 수 있다. 또는, 입력부(110)는 계정 관리 서버(200)와의 인증을 위한 사용자 명령을 획득할 수 있다. 한편, 입력부(110)는 키보드, 마우스, 음성 입력 장치, 전자펜 등 다양한 기구적 장치로 구현될 수 있다.
디스플레이(120)는 각종 화면을 표시할 수 있다. 예로, 디스플레이(120)는 계정 관리 서버(200)와 관련된 어플리케이션 또는 프로그램의 실행 화면을 디스플레이할 수 있다. 한편, 디스플레이(120)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다.
메모리(130)는 사용자 단말(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(130)에는 적어도 하나의 인스트럭션이 저장될 수 있다. 프로세서(150)는 메모리(130)에 저장된 인스트럭션을 실행함으로써 사용자 단말(100)의 동작을 수행할 수 있다. 한편, 메모리(130)는 비휘발성 메모리, 휘발성 메모리 등으로 구현될 수 있다.
통신 인터페이스(140)는 적어도 하나의 회로를 포함하며 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 특히, 통신 인터페이스(140)는 계정 관리 서버(200), 중계 서버(300) 및 외부 서버(400)와 통신을 수행할 수 있다. 구체적으로, 통신 인터페이스(140)는 계정 관리 서버(200)로부터 인증 토큰 및 OTP를 수신할 수 있다.
한편, 통신 인터페이스(140)는 계정 관리 서버(200)와 제1 통신 방식으로 통신을 수행할 수 있다. 또한, 통신 인터페이스(140)는 중계 서버(300)와 제2 통신 방식으로 통신을 수행할 수 있다. 또한, 통신 인터페이스(140)는 외부 서버(400)와 제3 통신 방식으로 통신을 수행할 수 있다. 한편, 제1 통신 방식 및 제2 통신 방식은 동일할 수 있다. 예를 들어, 제1 통신 방식 및 제2 통신 방식은 유선 통신 모듈(예를 들어, LAN 등)을 통해 구현될 수 있다. 또한, 제2 통신 방식은 제3 통신 방식과 상이할 수 있다. 예를 들어, 제2 통신 방식은 유선 통신 모듈을 통해 구현되며, 제3 통신 방식은 유선 및 무선 통신 모듈을 통해 구현될 수 있다. 구체적으로, 통신 인터페이스(140)는 유선 통신 방식으로 제1 통신 채널을 통해 중계 서버(300)와 통신을 수행할 수 있다. 또한, 통신 인터페이스(140)는 무선 통신 방식으로 제2 통신 채널을 통해 외부 서버(400)와 통신을 수행할 수 있다. 즉, 상술한 제1 통신 채널은 유선 통신 방식을 통해 구현되며, 제2 통신 채널은 무선 통신 방식을 통해 구현될 수 있다. 한편, 무선 통신 방식으로 외부 서버(400)와 통신을 수행할 경우, 통신 인터페이스(140)는 와이파이 통신 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 이동통신 모듈 중 적어도 하나를 포함할 수 있다.
프로세서(150)는 사용자 단말(100)의 전반적인 동작을 제어할 수 있다.
예로, 프로세서(150)는 계정 관리 서버(200)로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행할 수 있다. 이 때, 프로세서(150)는 입력부(110)를 통해 인증 정보(예를 들어, ID 및 패스워드)를 포함하는 사용자 입력을 획득하고, 획득된 사용자 입력을 통신 인터페이스(140)를 통해 계정 관리 서버(200)로 전송할 수 있다. 또한, 프로세서(150)는 SSO 인증 방식을 통해 사용자 계정에 대한 인증을 수행할 수 있다. 구체적으로, 프로세서(150)는 사용자 계정에 대한 인증을 수항하기 전 계정 관리 서버(200)와 연동된 SSO 인증 서버에 대해 인증을 수행하여 인증 토큰을 획득하고, 획득한 인증 토큰을 이용하여 사용자 계정에 대한 인증을 수행할 수 있다. 또는, 프로세서(150)는 SSO 인증 서버에 대해 사용자의 인증 정보를 바탕으로 인증을 수행하고, SSO 인증 서버를 통해 사용자 계정에 대한 인증을 수행할 수 있다.
그리고, 프로세서(150)는 사용자 계정에 대한 인증이 수행된 후 외부 서버(400)에 접속하기 위한 사용자 요청을 수신할 수 있다. 이 때, 프로세서(150)는 외부 서버(400)에 접속하기 위한 사용자 요청을 계정 관리 서버(200)로 전송할 수 있다. 또한, 프로세서(150)는 사용자 계정 인증에 따라 계정 관리 서버(200)로부터 인증 토큰을 획득하고, 획득된 인증 토큰을 이용하여 계정 관리 서버(200)로 외부 서버(400)에 대한 접속 요청을 전송할 수 있다. 한편, 외부 서버(400)에 접속하기 위한 사용자 요청은 다양한 방식으로 이루어질 수 있다. 예를 들어, 접속 가능한 복수의 외부 서버(400)가 디스플레이되고, 사용자가 디스플레이되는 외부 서버 중 하나를 선택하는 형태로 사용자 요청이 이루어질 수 있다.
또한, 프로세서(150)는 사용자 요청에 응답하여 계정 관리 서버(200)로부터 제1 OTP 및 제2 OTP를 수신할 수 있다. 그리고, 프로세서(150)는 제1 OTP를 이용하여 외부 서버(400)에 접속하기 위한 중계 서버(300)와의 제1 통신 채널을 생성할 수 있다. 또한, 프로세서(150)는 제2 OTP를 이용하여 중계 서버(300) 및 외부 서버(400) 간의 제2 통신 채널을 생성할 수 있다. 이 때, 프로세서(150)는 제1 통신 채널을 통해 중계 서버(300)에 접속한 후 외부 서버(400)와의 인증을 수행하여 제2 통신 채널을 생성할 수 있다. 한편, 제1 OTP 및 제2 OTP는 서로 상이하며, 일방향 암호화된 상태로 중계 서버(300) 및 외부 서버(400)에 각각 저장될 수 있다. 여기서, 일방향 암호화된 상태란 암호화된 데이터의 복호화가 불가능한 상태를 의미할 수 있다. 또한, 제1 통신 채널 및 제2 통신 채널은 SSH 터널링 프로토콜에 따라 생성될 수 있다. 그리고, 프로세서(150)는 제1 통신 채널 및 제2 통신 채널을 통해 외부 서버(400)와 통신을 수행할 수 있다.
이하에서는 계정 관리 서버(200)에 대하여 설명하도록 한다.
도 3은 본 개시의 일 실시 예에 따른 계정 관리 서버의 구성을 도시한 블록도이다.
도 3을 참조하면, 계정 관리 서버(200)는 통신 인터페이스(210), 프로세서(220) 및 메모리(230)를 포함할 수 있다. 예로, 계정 관리 서버(200)는 응용 프로그램 프로그래밍 인터페이스(API, Application Programming Interface) 서버일 수 있다. 한편, 계정 관리 서버(200)는 상술한 구성요소를 반드시 모두 포함하여 구현되어야 하는 것은 아니며, 일부 구성요소를 생략한 채 구현될 수 있다. 또한, 및 메모리(230)는 도 2의 메모리(130)에 대응될 수 있으므로, 중복되는 설명은 생략하도록 한다.
통신 인터페이스(210)는 적어도 하나의 회로를 포함하며 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 특히, 통신 인터페이스(210)는 사용자 단말(100), 중계 서버(300) 및 외부 서버(400)와 통신을 수행할 수 있다. 구체적으로, 통신 인터페이스(210)는 사용자 단말(200)로부터 사용자 인증 정보를 수신할 수 있다.
한편, 통신 인터페이스(210)는 사용자 단말(100)과 제1 통신 방식으로 통신을 수행할 수 있다. 또한, 통신 인터페이스(210)는 중계 서버(300)와 제2 통신 방식으로 통신을 수행할 수 있다. 또한, 통신 인터페이스(210)는 외부 서버(400)와 제3 통신 방식으로 통신을 수행할 수 있다. 한편, 제1 통신 방식 및 제2 통신 방식은 동일할 수 있다. 예를 들어, 제1 통신 방식은 유선 통신 모듈(예를 들어, LAN 등)을 통해 구현될 수 있다. 또한, 제1 통신 방식은 제3 통신 방식과 상이할 수 있다. 예를 들어, 제1 통신 방식은 유선 통신 모듈을 통해 구현되며, 제3 통신 방식은 무선 통신 모듈을 통해 구현될 수 있다. 한편, 무선 통신 방식으로 외부 서버(400)와 통신을 수행할 경우, 통신 인터페이스(210)는 와이파이 통신 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 이동통신 모듈 중 적어도 하나를 포함할 수 있다.
프로세서(220)는 사용자 단말(100)로부터 사용자 인증 요청이 수신되면, 사용자 단말(100)에 대한 인증을 수행할 수 있다. 이 때, 프로세서(220)는 사용자 단말이 메모리(230)에 기등록된 단말인지 판단할 수 있다. 사용자 단말(100)이 기등록된 단말로 판단되면, 프로세서(220)는 인증 토큰을 생성하여 사용자 단말(100)로 전송할 수 있다.
프로세서(220)는 인증된 사용자 단말(100)로부터 외부 서버(400)에 대한 접근 요청을 수신하면, 적어도 하나의 중계 서버(300)를 식별할 수 있다. 예로, 프로세서(220)는 외부 서버(400)가 속한 네트워크망에 존재하는 복수의 중계 서버 중 외부 서버(400)와 가장 가까이 위치하는 중계 서버(300)를 식별할 수 있다. 또한, 프로세서(220)는 통신 부하 감소를 위해 복수의 중계 서버(300)를 식별할 수 있다.
그리고, 프로세서(220)는 인증된 사용자 단말(100)로부터 외부 서버(400)에 대한 접근 요청을 수신하면, 제1 OTP를 생성하여 인증된 사용자 단말 및 외부 서버(400)에 접속하기 위한 중계 서버(300)에 전송할 수 있다. 또한, 프로세서(220)는 제2 OTP를 생성하여 인증된 사용자 단말 및 외부 서버(400)에 전송할 수 있다. 이 때, 프로세서(220)는 제1 OTP 및 제2 OTP를 일방향 암호화함으로써 해시(hash) 상태로 중계 서버(300) 및 외부 서버(400)로 각각 전송할 수 있다. 중계 서버(300) 및 외부 서버(400)로 전송된 제1 OTP 및 제2 OTP는 각각 중계 서버(300) 및 외부 서버(400)에 저장될 수 있다.
한편, 프로세서(220)는 제1 OTP를 바탕으로 사용자 단말(100)과 중계 서버(300) 간의 제1 통신 채널이 생성되면, 제1 OTP와 상이한 제3 OTP를 생성하여 중계 서버(300)로 전송할 수 있다. 또는, 프로세서(220)는 제1 통신 채널이 생성된 때로부터 기설정된 시간 이상이 지나면, 제1 OTP와 상이한 제3 OTP를 생성하여 중계 서버(300)로 전송할 수 있다. 이 때, 중계 서버(300)는 제3 OTP를 저장하면서 기저장된 제1 OTP를 삭제할 수 있다.
또한, 프로세서(220)는 제2 OTP를 바탕으로 중계 서버(300)와 외부 서버(400) 간의 제2 통신 채널이 생성되면, 제2 OTP와 상이한 제4 OTP를 생성하여 외부 서버(400)로 전송할 수 있다. 또는, 프로세서(220)는 제2 통신 채널이 생성된 때로부터 기설정된 시간 이상이 지나면, 제2 OTP와 상이한 제4 OTP를 생성하여 외부 서버(400)로 전송할 수 있다. 이 때, 외부 서버(400)는 제4 OTP를 저장하면서 기저장된 제2 OTP를 삭제할 수 있다. 이에 따라, 기저장된 제1 OTP 및 제2 OTP가 외부에 노출되더라도 중계 서버(300) 및 외부 서버(400)는 외부로 노출되지 않을 수 있다.
이하에서는, 계정 관리 서버를 포함하는 다양한 실시 예에 따른 계정 관리 시스템의 동작에 대해 설명하도록 한다.
도 4는 본 개시의 일 실시 예에 따른 계정 관리 시스템의 동작을 설명하기 위한 시퀀스도이다.
사용자 단말(100)은 계정 관리 서버(200)와 사용자 인증을 수행할 수 있다(S410). 이 때, 사용자 단말(100)은 SSO 인증 방식을 통해 사용자 계정에 대한 인증을 수행할 수 있다. 또는, 계정 관리 서버(200)는 사용자 단말(100)이 기등록된 단말에 해당되는 지 판단할 수 있다. 사용자 단말(100)이 기등록된 단말에 해당되면, 계정 관리 서버(200)는 인증 토큰을 사용자 단말(100)로 전송할 수 있다.
사용자 단말(100)은 계정 관리 서버(200)에 대해 외부 서버(400)에 접속하기 위한 요청을 전송할 수 있다(S420). 이 때, 사용자 단말(100)은 계정 관리 서버(200)로부터 수신된 인증 토큰을 통해서 계정 관리 서버(200)로 외부 서버(400)에 접속하기 위한 요청을 전송할 수 있다.
사용자 요청이 수신되면, 계정 관리 서버(200)는 미리 설치된 적어도 하나의 중계 서버 중 외부 서버(400)와 가장 가까이 위치한 중계 서버(300)를 식별할 수 있다. 또한, 계정 관리 서버(200)는 제1 OTP 정보(또는 OTP)를 생성하여 중계 서버(300)로 전송할 수 있다(S431). 이 때, 제1 OTP 정보는 일방향 암호화된 상태로 중계 서버(300)에 저장될 수 있다. 그리고, 계정 관리 서버(200)는 제2 OTP 정보를 생성하여 외부 서버(400)로 전송할 수 있다(S432). 이 때, 제2 OTP 정보는 일방향 암호화된 상태로 외부 서버(400)에 저장될 수 있다. 또한, 계정 관리 서버(200)는 제1 OTP 정보 및 제2 OTP 정보를 사용자 단말(100)로 전송할 수 있다(S433).
사용자 단말(100)은 제1 OTP 정보를 이용하여 중계 서버(300)와 제1 통신 채널을 생성할 수 있다(S440). 제1 통신 채널이 생성되면, 중계 서버(300)는 제3 OTP 정보를 생성하여 일방향 암호화된 상태로 저장할 수 있다(S450). 또한, 사용자 단말(100)은 제2 OTP 정보를 이용하여 중계 서버(300)와 외부 서버(400) 간의 제2 통신 채널을 생성할 수 있다(S460). 제2 통신 채널이 생성되면, 계정 관리 서버(200)는 제4 OTP정보를 생성할 수 있다(S470). 또한 계정 관리 서버(200)는 생성된 제4 OTP 정보를 중계 서버(300)로 전송할 수 있다(S480). 전송된 제4 OTP 정보는 일방향 암호화된 상태로 중계 서버(300)에 저장될 수 있다.
도 5는 본 개시의 다른 일 실시 예에 따른 계정 관리 시스템의 동작을 설명하기 위한 시퀀스도이다.
한편, 단계 S510, S520, S531, S532, S533, S540, S570, S580, S 590은 도 4에서 전술한 계정 관리 시스템의 동작과 중복되는 바 그 상세한 설명은 생략하도록 한다.
사용자 단말(100)은 제1 OTP 정보를 이용하여 중계 서버(300)와 제1 통신 채널을 생성할 수 있다(S540). 이 때, 중계 서버(300)는 기저장된 제1 OTP 정보를 바탕으로 사용자 단말(100)에 대한 인증을 수행할 수 있다. 인증이 완료되어 제1 통신 채널이 생성되면, 계정 관리 서버(200)는 제1 OTP와 상이한 제3 OTP 정보를 생성(S550)하여, 중계 서버(300)로 전송할 수 있다(S560). 중계 서버(300)는 기 저장된 제1 OTP 정보를 제3 OTP 정보로 갱신할 수 있다.
한편, 도 4 및 도 5에서는 계정 관리 서버(200)가 제4 OTP 정보를 생성하여 외부 서버(400)로 전송하는 것으로 설명하였으나, 이는 일 실시 예에 불과하며, 계정 관리 서버(200)는 제2 통신 채널이 생성되더라도 제4 OTP 정보를 생성하지 않을 수 있다. 이처럼 외부 서버(400)에 저장된 OTP가 갱신되지 않더라도 외부 서버(400)의 안전성은 유지될 수 있다. 이는, 외부 서버(400)에 저장된 OTP 정보가 외부로 노출되더라도, 외부 서버(400)와의 통신은 제2 통신 채널을 통해서만 수행될 수 있기 때문이다.
이상에서는 계정 관리 시스템의 동작에 대하여 설명하였다.
이하에서는 사용자 단말 및 계정 관리 서버의 제어 방법에 대하여 설명하도록 한다.
도 6은 본 개시의 일 실시 예에 따른 사용자 단말의 제어 방법을 도시한 순서도이다.
도 6을 참조하면, 사용자 단말의 제어 방법은, 계정 관리 서버로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행하는 단계(S610), 사용자 계정에 대한 인증이 수행된 후 외부 서버에 접속하기 위한 요청이 수신되면, 계정 관리 서버로 외부 서버에 접속하기 위한 요청을 전송하는 단계(S620), 계정 관리 서버로부터 제1 OTP 정보 및 제2 OTP 정보를 수신하면, 제1 TOP 정보를 이용하여 외부 서버에 접속하기 위한 중계 서버와의 제1 통신 채널을 생성하는 단계(S630), 제1 통신 채널을 통해 제2 OTP 정보를 이용하여 외부 서버와 인증을 수행하여 중계 서버와 외부 서버 간의 제2 통신 채널을 생성하는 단계(S640) 및 제1 통신 채널 및 제2 통신 채널을 통해 외부 서버와 통신을 수행하는 단계(S650)를 포함할 수 있다. 한편 본 실시 예에 따른 사용자 단말의 제어 방법의 각 단계는 도 4를 참조하여 명확히 이해될 수 있는 바 그 상세한 설명은 생략하도록 한다.
도 7은 본 개시의 일 실시 예에 따른 계정 관리 서버의 제어 방법을 도시한 순서도이다.
*도 7을 참조하면, 계정 관리 서버의 제어 방법은, 사용자 단말로부터 사용자 인증이 수신되면 사용자 단말을 인증하는 단계(S710) 및 인증된 사용자 단말로부터 외부 서버에 대한 접근 요청을 수신하면, 제1 OTP 정보를 생성하여 인증된 사용자 단말 및 외부 서버에 접속하기 위한 중계 서버에 전송하고, 제2 OTP 정보를 생성하여 인증된 사용자 단말 및 외부 서버에 전송하는 단계(S720)를 포함할 수 있다. 한편 본 실시 예에 따른 계정 관리 서버의 제어 방법의 각 단계는 도 4를 참조하여 명확히 이해될 수 있는 바 그 상세한 설명은 생략하도록 한다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
한편, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어 TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (14)

  1. 사용자 단말의 제어 방법에 있어서,
    계정 관리 서버로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행하는 단계;
    상기 사용자 계정에 대한 인증이 수행된 후 외부 서버에 접속하기 위한 요청이 수신되면, 상기 계정 관리 서버로 외부 서버에 접속하기 위한 요청을 전송하는 단계;
    상기 요청에 응답하여 상기 계정 관리 서버로부터 제1 OTP(One Time Password) 정보 및 제2 OTP 정보를 수신되면, 상기 제1 OTP 정보를 이용하여 상기 외부 서버에 접속하기 위한 중계 서버와의 제1 통신 채널을 생성하는 단계;
    상기 제1 통신 채널을 통해 상기 제2 OTP 정보를 이용하여 상기 외부 서버와 인증을 수행하여 상기 중계 서버와 상기 외부 서버 간의 제2 통신 채널을 생성하는 단계; 및
    상기 제1 통신 채널 및 상기 제2 통신 채널을 통해 상기 외부 서버와 통신을 수행하는 단계;를 포함하는
    제어 방법.
  2. 제1 항에 있어서,
    상기 사용자 계정에 대한 인증을 수행하기 전 상기 계정 관리 서버와 연동된 인증 서버에 대해 인증을 수행하여 인증 토큰을 획득하는 단계;를 더 포함하고,
    상기 사용자 계정에 대한 인증을 수행하는 단계는, 상기 획득된 인증 토큰을 이용하여 사용자 계정에 대한 인증을 수행하는
    제어 방법.
  3. 제1 항에 있어서,
    상기 사용자 계정에 대한 인증을 수행하기 전 상기 계정 관리 서버와 연동된 인증 서버에 대해 사용자의 인증 정보를 바탕으로 인증을 수행하는 단계;를 더 포함하고,
    상기 사용자 계정에 대한 인증을 수행하는 단계는, 상기 인증 서버를 통해 상기 사용자 계정에 대한 인증을 수행하는
    제어 방법.
  4. 제1 항에 있어서,
    상기 제1 통신 채널은 보안 쉘(SSH) 터널링 프로토콜에 따라 생성되는
    제어 방법.
  5. 계정 관리 서버의 제어 방법에 있어서,
    사용자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자 단말을 인증하는 단계; 및
    상기 인증된 사용자 단말로부터 외부 서버에 대한 접근 요청을 수신하면, 제1 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 접속하기 위한 중계 서버에 전송하고, 제2 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 전송하는 단계; 를 포함하는
    제어 방법.
  6. 제5 항에 있어서,
    상기 제1 OTP를 바탕으로 상기 사용자 단말과 상기 외부 서버 간의 제1 통신 채널이 생성되면, 상기 제1 OTP와 다른 제3 OTP를 생성하여 상기 외부 서버로 전송하는 단계; 및
    상기 제2 OTP를 바탕으로 상기 사용자 단말과 상기 중계 서버 간의 제2 통신 채널이 생성되면, 상기 제2 OTP와 다른 제4 OTP를 생성하여 상기 중계 서버로 전송하는 단계;를 더 포함하는
    제어 방법.
  7. 제5 항에 있어서,
    상기 중계 서버는,
    상기 외부 서버에 접속하기 위해 마련된 적어도 하나의 중계 서버 중 상기 외부 서버와 가장 가까이 위치하는
    제어 방법.
  8. 제5 항에 있어서,
    상기 제1 OTP 정보 및 상기 제2 OTP 정보는 서로 상이하며, 일방향 암호화되어 각각 상기 중계 서버 및 상기 외부 서버에 저장되는
    제어 방법.
  9. 사용자 단말에 있어서,
    통신 인터페이스; 및
    프로세서;를 포함하고,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 계정 관리 서버로 사용자 인증 요청을 전송하여 사용자 계정에 대한 인증을 수행하고,
    상기 사용자 계정에 대한 인증이 수행된 후 상기 통신 인터페이스를 통해 외부 서버에 접속하기 위한 요청이 수신되면, 상기 계정 관리 서버로 외부 서버에 접속하기 위한 요청을 전송하고,
    상기 요청에 응답하여 상기 계정 관리 서버로부터 제1 OTP(One Time Password) 정보 및 제2 OTP 정보를 수신되면, 상기 제1 OTP 정보를 이용하여 상기 외부 서버에 접속하기 위한 중계 서버와의 제1 통신 채널을 생성하고,
    상기 제1 통신 채널을 통해 상기 제2 OTP 정보를 이용하여 상기 외부 서버와 인증을 수행하여 상기 중계 서버와 상기 외부 서버 간의 제2 통신 채널을 생성하고,
    상기 제1 통신 채널 및 상기 제2 통신 채널을 통해 상기 외부 서버와 통신을 수행하는
    사용자 단말.
  10. 제9 항에 있어서,
    상기 프로세서는,
    상기 사용자 계정에 대한 인증을 수행하기 전 상기 계정 관리 서버와 연동된 인증 서버에 대해 인증을 수행하여 인증 토큰을 획득하고,
    상기 획득된 인증 토큰을 이용하여 사용자 계정에 대한 인증을 수행하는
    사용자 단말.
  11. 제9 항에 있어서,
    상기 프로세서는,
    상기 사용자 계정에 대한 인증을 수행하기 전 상기 계정 관리 서버와 연동된 인증 서버에 대해 사용자의 인증 정보를 바탕으로 인증을 수행하고,
    상기 인증 서버를 통해 상기 사용자 계정에 대한 인증을 수행하는
    사용자 단말.
  12. 계정 관리 서버에 있어서,
    통신 인터페이스; 및
    프로세서;를 포함하고,
    상기 프로세서는,
    사용자 단말로부터 사용자 인증 요청이 수신되면, 상기 사용자 단말을 인증하고,
    상기 인증된 사용자 단말로부터 외부 서버에 대한 접근 요청을 수신하면, 제1 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 접속하기 위한 중계 서버에 전송하고, 제2 OTP를 생성하여 상기 인증된 사용자 단말 및 상기 외부 서버에 전송하는
    계정 관리 서버.
  13. 제12 항에 있어서,
    상기 프로세서는,
    상기 제1 OTP를 바탕으로 상기 사용자 단말과 상기 외부 서버 간의 제1 통신 채널이 생성되면, 상기 제1 OTP와 다른 제3 OTP를 생성하여 상기 외부 서버로 전송하고,
    상기 제2 OTP를 바탕으로 상기 사용자 단말과 상기 중계 서버 간의 제2 통신 채널이 생성되면, 상기 제2 OTP와 다른 제4 OTP를 생성하여 상기 중계 서버로 전송하는
    계정 관리 서버.
  14. 제12 항에 있어서,
    상기 중계 서버는,
    상기 외부 서버에 접속하기 위해 마련된 적어도 하나의 중계 서버 중 상기 외부 서버와 가장 가까이 위치하는
    계정 관리 서버.
PCT/KR2020/010223 2019-12-10 2020-08-03 사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법 WO2021118005A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/837,283 US20220311761A1 (en) 2019-12-10 2022-06-10 User terminal and control method of account management server for managing user account

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0163599 2019-12-10
KR1020190163599A KR20210073112A (ko) 2019-12-10 2019-12-10 사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/837,283 Continuation US20220311761A1 (en) 2019-12-10 2022-06-10 User terminal and control method of account management server for managing user account

Publications (1)

Publication Number Publication Date
WO2021118005A1 true WO2021118005A1 (ko) 2021-06-17

Family

ID=76330463

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/010223 WO2021118005A1 (ko) 2019-12-10 2020-08-03 사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법

Country Status (3)

Country Link
US (1) US20220311761A1 (ko)
KR (1) KR20210073112A (ko)
WO (1) WO2021118005A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070109442A (ko) * 2006-05-11 2007-11-15 주식회사 케이에스넷 Otp 생성 기능을 구비한 리모컨을 포함하는 셋탑 박스및 이를 이용한 전자 상거래 시스템 및 방법
US20150132984A1 (en) * 2013-11-14 2015-05-14 Saferzone Co., Ltd. Mobile otp service providing system
JP2015121947A (ja) * 2013-12-24 2015-07-02 エンカレッジ・テクノロジ株式会社 ログイン中継サーバ装置、ログイン中継方法、及びプログラム
JP2017069755A (ja) * 2015-09-30 2017-04-06 ブラザー工業株式会社 コンピュータプログラム、および、中継装置
KR20180100995A (ko) * 2017-03-03 2018-09-12 주식회사 와임 분할 기능을 이용한 자동 인증 처리 방법 및 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070109442A (ko) * 2006-05-11 2007-11-15 주식회사 케이에스넷 Otp 생성 기능을 구비한 리모컨을 포함하는 셋탑 박스및 이를 이용한 전자 상거래 시스템 및 방법
US20150132984A1 (en) * 2013-11-14 2015-05-14 Saferzone Co., Ltd. Mobile otp service providing system
JP2015121947A (ja) * 2013-12-24 2015-07-02 エンカレッジ・テクノロジ株式会社 ログイン中継サーバ装置、ログイン中継方法、及びプログラム
JP2017069755A (ja) * 2015-09-30 2017-04-06 ブラザー工業株式会社 コンピュータプログラム、および、中継装置
KR20180100995A (ko) * 2017-03-03 2018-09-12 주식회사 와임 분할 기능을 이용한 자동 인증 처리 방법 및 시스템

Also Published As

Publication number Publication date
US20220311761A1 (en) 2022-09-29
KR20210073112A (ko) 2021-06-18

Similar Documents

Publication Publication Date Title
WO2018066961A1 (en) Trusted execution environment secure element communication
WO2017111383A1 (ko) 생체 정보 기반 인증 장치, 이와 연동하는 제어 서버, 그리고 이들의 생체 정보 기반 로그인 방법
KR100958110B1 (ko) 유비쿼터스 서비스 인증 게이트웨이 장치 및 그 방법
WO2013183814A1 (ko) 개선된 보안 기능 기반의 클라우드 서비스 시스템 및 이를 지원하는 방법
WO2013176491A1 (ko) 웹 서비스 사용자 인증 방법
WO2014058130A1 (ko) 네트워크 드라이브 접근 제어 방법 및 네트워크 드라이브 시스템
WO2014027859A1 (en) Device and method for processing transaction request in processing environment of trust zone
WO2014185594A1 (ko) Vdi 환경에서의 싱글 사인온 시스템 및 방법
WO2013191325A1 (ko) 트러스티드 플랫폼 기반의 개방형 아이디 인증 방법, 이를 위한 장치 및 시스템
WO2018169150A1 (ko) 잠금화면 기반의 사용자 인증 시스템 및 방법
WO2015163558A1 (ko) 생체 정보 인식을 이용한 결제 방법, 이를 위한 장치 및 시스템
WO2018151480A1 (ko) 인증 관리 방법 및 시스템
WO2014200163A1 (ko) 광학 문자 인식을 이용하는 정보 암호화 시스템 및 정보 암호화 방법
WO2013100419A1 (ko) 애플릿 액세스 제어 시스템 및 방법
US20210152359A1 (en) Authentication device based on biometric information, control server and application server, and operation method thereof
WO2012074275A2 (ko) 인터넷 보안을 위한 본인인증 장치, 그 방법 및 이를 기록한 기록매체
EP3821386A1 (en) System and method for secure transactions with a trusted execution environment (tee)
WO2016085050A1 (ko) 주변기기와 연동하는 사용자 단말기 및 그것을 이용한 정보 유출 방지 방법
JP2020095687A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2013048055A1 (ko) 인증매체, 인증단말, 인증서버 및 이들을 이용한 인증방법
WO2021118005A1 (ko) 사용자 단말 및 사용자 계정을 관리하기 위한 계정 관리 서버의 제어 방법
WO2021230636A1 (en) System and method for certificate based authentication for tethering
WO2017078358A1 (ko) 생체 인식을 통한 보안 통신 시스템 및 방법
US11716331B2 (en) Authentication method, an authentication device and a system comprising the authentication device
JP2001236315A (ja) 利用者認証システム、利用者認証支援装置及び利用者認証プログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20897879

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20897879

Country of ref document: EP

Kind code of ref document: A1