KR101992976B1 - A remote access system using the SSH protocol and managing SSH authentication key securely - Google Patents
A remote access system using the SSH protocol and managing SSH authentication key securely Download PDFInfo
- Publication number
- KR101992976B1 KR101992976B1 KR1020190009822A KR20190009822A KR101992976B1 KR 101992976 B1 KR101992976 B1 KR 101992976B1 KR 1020190009822 A KR1020190009822 A KR 1020190009822A KR 20190009822 A KR20190009822 A KR 20190009822A KR 101992976 B1 KR101992976 B1 KR 101992976B1
- Authority
- KR
- South Korea
- Prior art keywords
- ssh
- authentication key
- server
- client
- session
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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 using challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
SSH 인증키를 접근통제 게이트웨이에서 보안 관리하고, 인가된 접근에 요청 시 접근통제 게이트웨이가 SSH 인증키 인증을 대행하고 연결을 중계하는, SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 관한 것으로서, 접근 가능한 서버에 대한 정보를 사전에 설정하여 인가접속 정보로서 저장하고, 각 사용자의 SSH 인증키를 최초로 등록하여 SSH 인증키 보관소에 저장하는 인증권한 정책부; 상기 접근통제 클라이언트로부터 메시지를 수신하고, 상기 접근통제 클라이언트와 세션(이하 클라이언트용 세션)을 형성하여, 상기 메시지를 중계하는 클라이언트 프록시 핸들러; 상기 클라이언트용 세션에 대응되는 세션(이하 서버용 세션)을 서버와 형성하는 SSH 클라이언트 핸들러; 각 사용자의 SSH 인증키를 갱신하여 상기 SSH 인증키 보관소에 저장하는 SSH키 매니저; 및, 상기 클라이언트 세션과 상기 서버용 세션 간의 메시지를 중계하되, SSH 세션 형성을 위한 협상 메시지가 송수신되면, 상기 SSH 인증키 보관소에 저장된 SSH 인증키를 이용하여 상기 서버용 세션을 인증하는 정책 체크부를 포함하는 구성을 마련한다.
상기와 같은 시스템에 의하여, 접근통제 게이트웨이에서 SSH 인증키를 보안 관리하고 서버 접근시 SSH 인증키로 자동으로 인증을 대행함으로써, SSH 인증키가 외부로 유출되는 것을 방지하는 동시에 사용자의 편의성을 향상시킬 수 있다.SSH protocol based server remote access system that security management of SSH authentication key by access control gateway and security management of SSH authentication key that access control gateway performs SSH authentication key authentication and relay connection when requesting authorized access An authentication authority policy unit which sets information on an accessible server in advance and stores it as authorized access information, registers each SSH authentication key for each user first, and stores the SSH authentication key in the SSH authentication key storage; A client proxy handler for receiving a message from the access control client, forming a session with the access control client (hereinafter referred to as a client session), and relaying the message; An SSH client handler for forming a session (hereinafter referred to as a server session) corresponding to the client session with the server; An SSH key manager for updating the SSH authentication key of each user and storing the updated SSH authentication key in the SSH authentication key storage; And a policy checking unit for relaying a message between the client session and the server session, and authenticating the server session using an SSH authentication key stored in the SSH authentication key storage when a negotiation message for forming an SSH session is transmitted and received And a configuration is prepared.
According to the system as described above, the SSH authentication key is securely managed in the access control gateway and the SSH authentication key is automatically authenticated in the server access, thereby preventing the SSH authentication key from being leaked to the outside, have.
Description
본 발명은 게이트웨이 방식의 접근 통제 기술을 이용하여, SSH(secure shell) 프로토콜을 통한 서버 접근 시 인증을 위해 사용되는 SSH 인증키를 안전하게 관리하는, SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 관한 것이다.The present invention relates to an SSH protocol-based server remote access method for securely managing an SSH authentication key used for authentication when accessing a server through a secure shell (SSH) protocol using a gateway-based access control technology, ≪ / RTI >
특히, 본 발명은 패스워드와 같은 역할을 수행하는 SSH 인증키(SSH KEY)의 보안을 위해, 민감 정보인 SSH 인증키를 사용자에게 배포하지 않고 중앙에서 보안 관리하고, 인가된 접근에 요청 시 접근통제 게이트웨이가 SSH 인증키 인증을 대행하고 연결을 중계하는, SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 관한 것이다.In particular, in order to secure an SSH authentication key (SSH KEY) that plays the role of a password, the SSH authentication key, which is sensitive information, is not distributed to a user but managed centrally, The present invention relates to an SSH protocol-based server remote access system for securely managing an SSH authentication key in which a gateway performs an SSH authentication key authentication and relays a connection.
일반적으로, SSH 인증키(SSH KEY)는 SSH 프로토콜을 통해 원격 서버에 접근할 때 인증 수단으로 사용된다. 종래에는 SSH 인증키가 사용자에게 배포되어 사용자 단말, 즉, 로컬 PC에 저장되고, 서버에 원격으로 접속할 때마다 SSH 인증키 파일을 로컬 PC에서 읽어와서 인증이 수행되었다. Generally, an SSH authentication key (SSH KEY) is used as an authentication method when accessing a remote server through the SSH protocol. In the past, an SSH authentication key was distributed to a user, stored in a user terminal, that is, a local PC, and an SSH authentication key file was read from a local PC and authenticated each time the user accessed the server remotely.
도 1에서 보는 바와 같이, 패스워드 인증 방식과는 다르게 SSH 인증키 방식은 사용자 로컬PC 또는 저장 매체에 파일 형태로 관리된다. 특히, SSH 인증키는 기간이 정해지지 않아 만료되지 않는 특징을 가지므로, 유실 및 유출되지 않도록 개별적으로 보안 관리해야 한다. 만약 SSH 인증키가 악의적인 사용자에 의해 유출되면, 서버에 용이하게 접근할 수 있다. 따라서 서버가 중요한 정보를 보관하거나 중요한 서비스를 실행하는 경우, 보안 사고가 발생할 위험이 높다. 이러한 이유로 SSH 인증키는 해커의 표적이 되고 있다.As shown in FIG. 1, unlike the password authentication method, the SSH authentication key method is managed as a file on the user's local PC or storage medium. In particular, since the SSH authentication key has an unspecified period of time, it must be individually managed so as not to be lost or leaked. If the SSH authentication key is leaked by a malicious user, the server can be easily accessed. Therefore, if the server keeps sensitive information or runs critical services, there is a high risk of security incidents. For this reason, SSH authentication keys are the target of hackers.
클라우드 환경에서 자원에 접근할 때의 인증 방식으로 패스워드 대신 SSH 인증키 방식이 점차 채택되고 있다. 특히, 외산 클라우드(AWS, MS Azure, Google Cloud) 환경에서 SSH 인증키 방식이 기본적으로 사용되고 있다. SSH 인증키는 사용자에게 개별 배포되고 있는 실정이므로, SSH 인증키(SSH KEY)에 대한 보안 관리 이슈가 증대되고 있다.SSH authentication key method is being adopted instead of password as an authentication method for accessing resources in a cloud environment. In particular, SSH authentication key method is basically used in foreign cloud (AWS, MS Azure, Google Cloud) environment. Since the SSH authentication key is distributed to each user, security management issues for SSH authentication key (SSH key) are increasing.
특히, 보안 정책 기관(예를 들어, NIST 미국 국립 표준 기술 연구소 등)은 SSH 인증키에 대한 보안 조치를 위해, 주기적으로 패스워드를 변경하는 조치와 같이, SSH 인증키 파일을 주기적으로 갱신할 것을 요구하고 있다.In particular, a security policy authority (e.g., NIST National Institute of Standards and Technology) requests to periodically update an SSH authentication key file, such as a periodic password change action, for security measures against an SSH authentication key .
하지만, SSH 인증키 파일을 주기적으로 갱신하더라도, SSH 인증키 파일은 사용자 로컬 PC에 파일 형태로 적재하고 있으므로, 유출될 경우 보안 사고로 이어질 수 있는 위험을 내포하고 있다.However, even if the SSH authentication key file is periodically updated, the SSH authentication key file is loaded in the form of a file on the user's local PC, which may lead to a security accident if leaked.
또한, 기관에 관리하는 서버가 많을 경우, 전체 서버 별 계정마다 SSH 인증키 파일을 교체하여야 한다. 따라서 인력 리소스 및 시간이 많이 소요되는 문제점이 있다. 또한, 갱신된 SSH 인증키 파일을 사용하는 사용자 로컬 PC의 원격 접속 터미널 툴에서, 서버별 계정마다 SSH 인증키를 갱신하는 작업도 많은 시간 및 리소스를 소모한다는 문제점을 가진다.Also, if there are many servers managed by the organization, the SSH authentication key file should be changed for each server-specific account. Therefore, there is a problem that labor resources and time are consumed. In addition, in the remote access terminal tool of the user's local PC using the updated SSH authentication key file, the task of updating the SSH authentication key for each server also consumes much time and resources.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, SSH 인증키를 사용자에게 배포하지 않고 중앙에서 보안 관리하고, 인가된 접근에 요청 시 접근통제 게이트웨이가 SSH 인증키 인증을 대행하고 연결을 중계하는, SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템을 제공하는 것이다.An object of the present invention is to solve the above-mentioned problems, and it is an object of the present invention to provide a method and system for security management of an SSH authentication key without centralized distribution to a user, And a SSH protocol-based server remote access system for security management of an SSH authentication key.
상기 목적을 달성하기 위해 본 발명은 적어도 하나의 사용자 단말과 서버 사이에 설치되어, 상기 사용자 단말에 설치된 접근통제 클라이언트가 우회시키는 터미널 어플리케이션의 메시지를 중계하고 모니터링하는, SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 관한 것으로서, 접근 가능한 서버에 대한 정보를 사전에 설정하여 인가접속 정보로서 저장하고, 각 사용자의 SSH 인증키를 최초로 등록하여 SSH 인증키 보관소에 저장하는 인증권한 정책부; 상기 접근통제 클라이언트로부터 메시지를 수신하고, 상기 접근통제 클라이언트와 세션(이하 클라이언트용 세션)을 형성하여, 상기 메시지를 중계하는 클라이언트 프록시 핸들러; 상기 클라이언트용 세션에 대응되는 세션(이하 서버용 세션)을 서버와 형성하는 SSH 클라이언트 핸들러; 각 사용자의 SSH 인증키를 갱신하여 상기 SSH 인증키 보관소에 저장하는 SSH키 매니저; 및, 상기 클라이언트 세션과 상기 서버용 세션 간의 메시지를 중계하되, SSH 세션 형성을 위한 협상 메시지가 송수신되면, 상기 SSH 인증키 보관소에 저장된 SSH 인증키를 이용하여 상기 서버용 세션을 인증하는 정책 체크부를 포함하는 것을 특징으로 한다.In order to accomplish the above object, the present invention provides an SSH authentication method, which is installed between at least one user terminal and a server, relays and monitors a message of a terminal application bypassed by an access control client installed in the user terminal, The present invention relates to a protocol based server remote access system, and more particularly, to a protocol based server remote access system, in which information about an accessible server is previously set and stored as authorized access information, an SSH authentication key of each user is registered first and stored in an SSH authentication key storage; A client proxy handler for receiving a message from the access control client, forming a session with the access control client (hereinafter referred to as a client session), and relaying the message; An SSH client handler for forming a session (hereinafter referred to as a server session) corresponding to the client session with the server; An SSH key manager for updating the SSH authentication key of each user and storing the updated SSH authentication key in the SSH authentication key storage; And a policy checking unit for relaying a message between the client session and the server session, and authenticating the server session using an SSH authentication key stored in the SSH authentication key storage when a negotiation message for forming an SSH session is transmitted and received .
또, 본 발명은 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 있어서, 상기 정책 체크부는 상기 서버용 세션을 형성할 때 상기 서버로부터 랜덤 챌린지를 수신하면, 상기 랜덤 챌린저를 상기 SSH 인증키로 암호화 하여 상기 서버로 전달되도록 하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided an SSH protocol-based server remote access system for security management of an SSH authentication key, wherein when the policy checking unit receives a random challenge from the server when forming the server session, And transmits the encrypted data to the server.
또, 본 발명은 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 있어서, 상기 SSH키 매니저는 상기 SSH 인증키를 비대칭키로 생성하고, 상기 SSH 인증키의 공개키를 상기 서버로 전송하고, 상기 SSH 인증키의 개인키 및 공개키를 SSH 인증키 보관소에 저장하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided an SSH protocol-based server remote access system for securely managing an SSH authentication key, wherein the SSH key manager generates the SSH authentication key with an asymmetric key, transmits the public key of the SSH authentication key to the server And stores the private key and the public key of the SSH authentication key in the SSH authentication key storage.
또, 본 발명은 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 있어서, 상기 인증권한 정책부는 상기 접근통제 클라이언트를 통해 사용자가 접근하면, 사용자에 대한 게이트웨이 인증을 수행하고, 인증이 되면 각 사용자의 SSH 인증키 등록 요청을 받아, 각 사용자의 SSH 인증키를 등록하는 것을 특징으로 한다.In addition, the present invention provides an SSH protocol-based server remote access system for security management of an SSH authentication key, wherein the authentication authority policy unit performs gateway authentication for a user when the user accesses the access control client, The SSH authentication key registration request of each user is received and the SSH authentication key of each user is registered.
또, 본 발명은 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 있어서, 상기 SSH키 매니저는 상기 SSH 인증키 보관소의 SSH 인증키 정보와, 상기 인가접속 정보의 각 접속 정보를 이용하여, 각 접속에 해당하는 모든 서버에 SSH 인증키를 갱신시키는 것을 특징으로 한다.According to another aspect of the present invention, there is provided an SSH protocol-based server remote access system for security management of an SSH authentication key, wherein the SSH key manager uses SSH authentication key information of the SSH authentication key storage and each access information of the authorized access information , And updates the SSH authentication key to all servers corresponding to each connection.
상술한 바와 같이, 본 발명에 따른 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템에 의하면, 접근통제 게이트웨이에서 SSH 인증키를 보안 관리하고 서버 접근시 SSH 인증키로 자동으로 인증을 대행함으로써, SSH 인증키가 외부로 유출되는 것을 방지하는 동시에 사용자의 편의성을 향상시킬 수 있는 효과가 얻어진다.As described above, according to the SSH protocol-based server remote access system for security management of the SSH authentication key according to the present invention, the SSH authentication key is securely managed in the access control gateway and the SSH authentication key is automatically authenticated in the server access, It is possible to prevent the SSH authentication key from being leaked to the outside, and at the same time, the convenience of the user can be improved.
즉, 본 발명은 기존에 개별 보안 관리해야 되는 인증 정보인 SSH 인증키에 대해서, 사용자에게 배포하지 않고, 접근통제 게이트웨이에서 보안 관리하여, 관리 미흡으로 유출 시 우려되는 보안 사고를 예방할 수 있다. 또한, 서버 접근 시 접근통제 게이트웨이에서 관리되는 SSH 인증키 정보를 통해 자동 인증을 수행함으로써, 사용의 편의성 및 보안성을 동시에 향상시킬 수 있다.That is, according to the present invention, the SSH authentication key, which is the authentication information to be individually managed, can be securely managed by the access control gateway rather than being distributed to the user, thereby preventing a security accident that might be leaked due to insufficient management. In addition, when the server is accessed, automatic authentication is performed through the SSH authentication key information managed by the access control gateway, so that convenience of use and security can be improved at the same time.
도 1은 종래기술에 따른 사용자의 로컬 PC에 저장된 SSH 인증키로 연결하는 예시 화면으로서, 원격 접속 툴인 PuTTY에서 SSH 인증키로 연결하는 화면.
도 2는 본 발명에서 이용되는 SSH 인증키의 개인키 및 공개키를 예시한 화면.
도 3은 본 발명에서 이용되는 SSH 프로토콜의 인증 과정을 설명하는 흐름도.
도 4는 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 5는 본 발명의 일실시예에 따른 접근통제 클라이언트가 터미널 어플리케이션을 실행시키는 예시 화면.
도 6은 본 발명의 일실시예에 따른 접근통제 시스템의 전체 구성도.
도 7은 본 발명의 일실시예에 따른 접근통제 시스템의 세부 구성에 대한 블록도.
도 8은 본 발명의 일실시예에 따른 SSH 인증키 정보 및, 인가접속 정보의 구성 예시도.
도 9는 본 발명의 일실시예에 따른 접근통제 시스템의 SSH 인증키를 갱신하는 방법을 설명하는 흐름도.
도 10은 본 발명의 일실시예에 따른 접근 통제 시스템의 서버용 SSH 세션을 협상하는 과정을 설명하는 흐름도.FIG. 1 is an exemplary screen for connecting with an SSH authentication key stored in a user's local PC according to the related art. FIG. 1 is a screen for connection with an SSH authentication key in a remote access tool PuTTY.
2 is a view illustrating a private key and a public key of an SSH authentication key used in the present invention;
3 is a flowchart illustrating an authentication process of the SSH protocol used in the present invention.
4 is a block diagram of an entire system for implementing the present invention;
5 is an exemplary screen in which an access control client executes a terminal application according to an embodiment of the present invention.
FIG. 6 is an overall configuration diagram of an access control system according to an embodiment of the present invention; FIG.
7 is a block diagram of a detailed configuration of an access control system according to an embodiment of the present invention;
FIG. 8 is a diagram illustrating a configuration example of SSH authentication key information and authorized access information according to an embodiment of the present invention; FIG.
9 is a flowchart illustrating a method for updating an SSH authentication key of an access control system according to an embodiment of the present invention.
10 is a flowchart illustrating a process of negotiating an SSH session for a server of an access control system according to an embodiment of the present invention.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In the description of the present invention, the same parts are denoted by the same reference numerals, and repetitive description thereof will be omitted.
먼저, 본 발명의 구성을 설명하기 전에, 본 발명에서 사용되는 SSH 인증키의 동작 방식에 대하여 도 2 내지 도 3을 참조하여 설명한다.First, before explaining the configuration of the present invention, the operation of the SSH authentication key used in the present invention will be described with reference to FIG. 2 to FIG.
SSH 서버는 여러가지 방식으로 클라이언트를 인증할 수 있다. 그 중 가장 기본적인 방식은 패스워드를 사용하는 것이다. 이 방식은 사용하기 쉽지만, 이 방식에서 사용되는 패스워드가 복잡하거나 길지 않은 경우가 거의 대부분이기 때문에, 꾸준하고 반복적인 해커의 공격에 안전하지 않다. 또한 컴퓨팅 파워가 비약적으로 발전했기 때문에, 이 방식은 자동화된 스크립트를 사용한 무차별 공격(brute-force attack)에 취약할 수 밖에 없다. 다른 추가적인 보안 방식들도 있지만 SSH 인증키(SSH KEY)가 가장 안정적이고 안전한 검증된 인증방식이다.The SSH server can authenticate clients in a number of ways. The most basic method is to use passwords. This method is easy to use, but since the passwords used in this approach are often complex or long, they are not safe for steady and repetitive hacker attacks. In addition, because computing power has grown dramatically, this approach is vulnerable to brute-force attacks using automated scripts. There are other additional security schemes, but the SSH key is the most reliable and secure proven authentication method.
도 2에서 보는 바와 같이, SSH 키 페어는 비대칭적인 2개의 암호키로서, SSH 서버가 클라이언트를 인증하는데 사용될 수 있다. 각 키 페어는 공개키(Public KEY)와 개인키(Private KEY)로 이루어진다.As shown in FIG. 2, the SSH key pair is two asymmetric cryptographic keys, and the SSH server can be used to authenticate the client. Each key pair consists of a public key and a private key.
개인키(Private KEY)는 클라이언트가 보유하고, 이 키는 절대적인 비밀(누구에게도 복사해 주거나 공개하면 안됨)로 해야만 한다. 개인키(Private KEY)가 알려지는 순간 공격자는 그 쌍이 되는 공개키(Public KEY)로 설정된 서버에 아무 추가적인 인증 없이 로그인이 가능해진다.The private key is owned by the client, and this key must be an absolute secret (do not copy or disclose it to anyone). As soon as the private key is known, the attacker can log in to the server that is set as the public key of the pair without any additional authentication.
이하에서, 넓은 의미의 SSH 인증키는 SSH 키 페어, 즉, 공개키와 개인키를 모두 포함하는 개념으로 설명하고, 좁은 의미의 SSH 인증키는 개인키를 의미하는 것으로 설명한다. 즉, SSH 인증키는 SSH 인증을 위한 키와, 개인키의 의미를 혼용한다.Hereinafter, the SSH authentication key in a broad sense will be described as a concept including an SSH key pair, i.e., a public key and a private key, and a SSH authentication key in a narrow sense means a private key. That is, the SSH authentication key uses a combination of a key for SSH authentication and a private key.
한편, 상기와 같은 개인키는 SSH 프로토콜에서 클라이언트가 보유하는 SSH 인증키로서 사용된다.Meanwhile, the private key is used as an SSH authentication key held by the client in the SSH protocol.
쌍이 되는 공개키(Public KEY)는 아무 걱정 없이 자유롭게 누구에게든 공유할 수 있다. 공개키(Public KEY)로 메시지를 암호화 할 수 있는데, 그 암호화 된 메시지는 그 쌍이 되는 개인키(Private KEY)로만 해석할 수 있다. 즉, 암호화에 사용한 공개키로도 암호화 된 메시지를 해석할 수 없다. 이런 특성이 비대칭적 키 페어를 사용한 인증 방식에 사용된다.Pairing public keys can be freely shared with anyone without worrying about anything. The message can be encrypted with a public key, which can only be interpreted as the private key of the pair. In other words, the message encrypted with the public key used for encryption can not be interpreted. This property is used for authentication schemes using asymmetric key pairs.
공개키는 SSH 프로토콜로 로그인하길 원하는 원격 서버에 업로드된다. 서버에 업로드된 공개키는 사용자 계정에 저장된다. 일례로서, 공개키는 사용자 계정의 ~/.ssh/authorized_keys 라는 파일에 추가된다.The public key is uploaded to a remote server that wants to log in with the SSH protocol. The public key that is uploaded to the server is stored in the user account. As an example, the public key is added to a file named ~ / .ssh / authorized_keys in the user's account.
또한, 클라이언트가 SSH 인증키(SSH KEY)를 사용해 인증하려고 시도하면, 서버는 클라이언트가 개인키(Private KEY)를 가지고 있는지 여부를 테스트 할 수 있다. 클라이언트가 개인키(Private KEY)를 가지고 있는 것이 증명되면, 쉘 세션이 생성되거나 요구된 명령을 실행한다.Also, when a client attempts to authenticate using an SSH authentication key (SSH KEY), the server can test whether the client has a private key. If the client proves to have a private key, a shell session is created or the requested command is executed.
이 전체적인 흐름은 도 3에 도시되고 있다.This overall flow is shown in Fig.
도 3에서 보는 바와 같이, 먼저, 클라이언트가 서버에 SSH 연결을 요청한다(S1).As shown in FIG. 3, first, a client requests an SSH connection to a server (S1).
다음으로, 서버는 랜덤 챌린지(랜덤 데이터 스트링)를 생성해 클라이언트에게 보낸다(S2).Next, the server generates a random challenge (random data string) and sends it to the client (S2).
다음으로, 클라이언트는 서버로부터 받은 챌린지(C)를 자신이 가지고 있는 개인키(Private 키) 또는 SSH 인증키로 암호화해서 암호화 된 메시지를 서버로 보낸다(S3).Next, the client encrypts the challenge (C) received from the server with a private key (private key) or an SSH authentication key held by the client, and sends the encrypted message to the server (S3).
다음으로, 서버는 클라이언트에서 받은 암호화 된 메시지를 공개키(public 키)로 해석한 후 그 결과를 S2 단계에서 자신이 클라이언트에게 보낸 랜덤 챌린지와 일치하는지 확인한다. 공개키(public 키)로 해석할 수 있는 메시지는 그 쌍이 되는 개인키(Private 키)를 가진 사람만이 만들 수 있기 때문에, 확인결과가 일치하면 클라이언트가 인증된 것으로 볼 수 있다.Next, the server interprets the encrypted message received from the client as a public key (public key), and confirms whether the result matches the random challenge sent to the client in step S2. A message that can be interpreted as a public key (public key) can be created only by a person having a pair of private keys (a private key).
다음으로, 본 발명을 실시하기 위한 전체 시스템의 구성에 대하여 도 4를 참조하여 설명한다.Next, the configuration of the entire system for carrying out the present invention will be described with reference to Fig.
도 4에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 사용자 단말(10)에 설치되는 접근통제 클라이언트(20)와 터미널 어플리케이션(60), 서비스를 제공하는 서버(40), 및, 서버(40)의 접근을 통제하는 접근통제 게이트웨이(30)로 구성된다. 또한, 사용자 단말(10)과 접근통제 게이트웨이(30)는 네트워크(미도시)를 통해 연결된다.4, the overall system for implementing the present invention includes a
먼저, 사용자 단말(10)은 사용자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 태플릿PC, 스마트폰, 태블릿PC 등이다. 또한, 사용자 단말(10)은 네트워크(미도시)를 통해 서버(40) 또는 접근통제 게이트웨이(30)에 연결할 수 있는 네트워크 기능을 보유한다. 또한, 사용자 단말(10)은 어플리케이션 등 프로그램 시스템이 설치되어 실행될 수 있다.First, the
다음으로, 터미널 어플리케이션(60)은 사용자 단말(10)에 설치되는 프로그램 시스템으로서, 서버(40)에 접속하기 위한 SSH(secure shell) 프로토콜에 의한 통신 프로그램, 쉘 스크립트, 터미널 어플리케이션 등 통신용 프로그램 시스템이다.Next, the
터미널 어플리케이션(60)은 서버(40)에 접속하여 통신을 수행하나, 실제로 접근통제 게이트웨이(30)를 통해 우회적으로 서버(40)에 접속한다. 즉, 터미널 어플리케이션(60)은 자신의 입장에서 서버(40)와 직접적으로 통신하는 것으로 작동한다. 예를 들어, 터미널 어플리케이션(60)은 서버 정보와 프로토콜 정보(IP주소 및 포트)를 이용하여 세션 설정을 수행하고, 설정된 세션으로 서버(40)에 접근한다. 그러나 접근통제 클라이언트(20)가 터미널 어플리케이션(60)의 통신 패킷 등을 변조하여 접근통제 게이트웨이(30)로 우회시킨다.The
또한, 터미널 어플리케이션(60)은 통신 프로토콜을 통해 서버(40)에 접속하고 통신을 수행한다. 예를들어, 터미널 어플리케이션(60)은 원격접속 프로토콜인 SSH(secure shell)의 프로토콜에 의한 쉘(Shell)을 통해 작업을 수행한다.In addition, the
특히, 터미널 어플리케이션(60)은 통신을 수행하는 사용자 레벨의 어플리케이션이고, 통신을 위한 시스템콜(system call)을 운영체제(또는 운영 시스템)에 요청하면, 사용자 단말(10)의 운영체제는 해당 시스템콜 요청을 처리하는데 이때, 네트워크 드라이버를 통해 네트워크에 접속한다. 즉, 터미널 어플리케이션(60)은 시스템 레벨의 네트워크 드라이버를 통해 네트워크에 접속하여 통신을 수행한다. 따라서 터미널 어플리케이션(60)이 송수신하는 모든 데이터 또는 데이터 패킷은 네트워크 드라이버(미도시)를 거쳐 처리된다(송수신 된다).In particular, when the
한편, 터미널 어플리케이션(60)은 서버(40)에 접근하여 접속 계정 및 패스워드로 사용자 인증을 수행받고, 사용자 인증이 통과되면 서버(40)의 서비스를 이용할 수 있다.Meanwhile, the
터미널 어플리케이션(60)의 예시 화면이 도 5에 도시되고 있다.An exemplary screen of the
도 5에서 보는 바와 같이, 터미널 어플리케이션(60)은 접근통제 클라이언트(20)에 의해 실행될 수 있다. 또 다른 실시예로서, 접근통제 클라이언트(20)가 실행된 상태에서, 터미널 어플리케이션(60)이 사용자 명령 등에 의해 독자적으로 실행될 수 있다.As shown in FIG. 5, the
다음으로, 접근통제 클라이언트(20)는 사용자 단말(10)에 설치되는 프로그램 시스템(또는 어플리케이션)으로서, 접근통제 게이트웨이(30)에 대한 접근을 위해 사용자의 게이트웨이 인증을 수행하고, 사용자가 접근할 수 있는 서버(40)에 대한 정보(이하 접속가능 서버 정보)를 전달받는다.Next, the
구체적으로, 접근통제 클라이언트(20)는 접근통제 게이트웨이(30)에 접근하여 사용자 인증, 또는 게이트웨이에 대한 사용자 인증을 수행한다. 이를 사용자의 게이트웨이 인증이라 부르기로 한다.Specifically, the
바람직하게는, 접근통제 클라이언트(20)는 접근통제 게이트웨이(30)에 접근하여, 사용자별 SSH 인증키를 등록하는 작업을 수행할 수 있다. 즉, 최초로 SSH 인증키의 쌍을 생성하고 이를 최초로 등록시킬 수 있다.Preferably, the
또한, 접근통제 클라이언트(60)는 접근통제 게이트웨이(30)로부터, 게이트웨이를 통해 접근 가능한 서버 정보(이하 접속가능 서버 정보)를 전달받을 수 있다. 접속가능 서버 정보는 서버 정보와 프로토콜 정보(IP주소, 프로토콜 포트번호) 등의 리스트로 구성된다. 예를 들어, { 192.168.0.1:23, 192.168.2.1:23, ... } 등의 리스트를 획득한다. IP주소는 서버의 IP 주소를 의미하고, 포트번호는 프로토콜을 내포하고 있다.In addition, the
또한, 접근통제 클라이언트(20)는 터미널 어플리케이션(60)이 서버(40)와 송수신하는 패킷을 접근통제 게이트웨이(30)로 우회시킨다. 즉, 접근통제 클라이언트(20)는 터미널 어플리케이션(60)이 전송하는 패킷의 목적지을 변조하여 접근통제 게이트웨이(30)로 전송하고, 접근통제 게이트웨이(30)로부터 수신한 패킷을 터미널 어플리케이션(60)로 전달하게 한다. 따라서 터미널 어플리케이션(60)과 서버(40)간의 통신은 접근통제 게이트웨이(30)로 우회되나, 터미널 어플리케이션(60)에게는 서버(40)와 직접 통신하는 것으로 보여진다.In addition, the
특히, 접근통제 클라이언트(20)는 네트워크 필터 드라이버에서 데이터 패킷을 필터링하여 접속가능 서버 정보 내의 주소로 전달되는 패킷인지를 확인한다. 그리고 확인되면 해당 데이터 패킷을 접근통제 클라이언트(20)로 우회시킨다.In particular, the
한편, 접근통제 클라이언트(20)는 터미널 어플리케이션(60)의 패킷을 최초로 접근통제 게이트웨이(30)에 우회시킬 때, 목적지의 IP 주소 및 포트번호 등 서버 접근 정보를 접근통제 게이트웨이(30)에 전달한다.When the
접근통제 클라이언트(20)의 예시 화면이 도 5에 도시되고 있다.An exemplary screen of the
다음으로, 접근통제 게이트웨이(30)는 사용자 단말(10) 또는 터미널 어플리케이션(60)과 서버(40) 사이의 네트워크(미도시) 상에 설치되는 게이트웨이로서, 터미널 어플리케이션(60)과 서버(40) 사이를 모니터링하여 중계하거나 차단한다. 이를 위해 접근통제 게이트웨이(30)는 사용자별(또는 사용자 아이디별) SSH 인증키를 관리하고, 인가된 서버 접속 정보(인가접속 정보)를 관리한다.Next, the
또한, 접근통제 게이트웨이(30)는 각 사용자(또는 사용자 아이디)에 대하여 SSH 인증키를 생성하거나 갱신하여 저장한다. 즉, SSH 인증키의 키 쌍을 생성하여, 해당 접속 정보에 따라 공개키를 서버(40)에 전송하고, 공개키 및 개인키를 SSH 인증키 보관소(Key Repository)(51)에 저장한다. 또한, SSH 인증키 보관소(51)는 각 사용자에 따른 SSH 인증키(또는 SSH 인증키의 개인키)를 보관하며, 바람직하게는, 다수의 SSH 인증키를 목록으로 관리한다.In addition, the
또한, 접근통제 게이트웨이(30)는 서버(40)에 대한 인가접속 정보(52)를 사전에 등록받아 관리한다. 인가접속 정보(52)는 서버 정보(IP 주소), 프로토콜(포트번호), 접속 계정(접속계정 아이디), SSH 인증키 정보 등으로 구성된다. 또한, 인가접속 정보(52)는 다수 개의 접속 정보를 리스트로 관리될 수 있다.In addition, the
또한, 접근통제 게이트웨이(30)는 주기적으로 또는 특정 이벤트에 따라 SSH 인증키를 갱신한다. 즉, 접근통제 게이트웨이(30)는 SSH 인증키를 새로 생성한다. 그리고 SSH 인증키 보관소(51)에 저장된 SSH 인증키 및 인가접속 정보(52)에 저장된 접속 정보를 이용하여 서버(40)에 접속하고, 새로운 생성된 SSH 인증키의 공개키를 서버(40)로 전송하고, SSH 인증키 보관소(51)의 해당 SSH 인증키를 새로 생성된 SSH 인증키로 갱신한다.In addition, the
또한, 접근통제 게이트웨이(30)는 터미널 어플리케이션(60)이 접근통제 클라이언트(20)를 통해 우회되어 접속되면, 접근통제 클라이언트(20)와 서버(40) 사이에서 메시지(또는 데이터 패킷)를 중계한다.The
이때, 접근통제 게이트웨이(30)는 SSH 인증키 보관서(51)에 저장된 SSH 인증키를 이용하여 서버(40)와의 사이에서 SSH 세션(이하 서버용 세션)을 형성한다. 또한, 접근통제 게이트웨이(30)는 접근통제 클라이언트(30)와의 사이에서 세션(이하 클라이언트용 세션)을 형성한다. 이때, 클라이언트용 세션은 SSH 인증키를 사용하는 사용자 인증을 수행하지 않고 세션을 형성한다.At this time, the
그리고 접근통제 게이트웨이(30)는 형성된 세션(클라이언트용 세션 및 서버용 세션)을 통해, 해당 터미널 어플리케이션(60)의 메시지를 서버(40)에 중계한다. 즉, 사용자 단말(10) 또는 접근통제 클라이언트(20)로부터 수신되는 터미널 어플리케이션(60)의 메시지(또는 데이터 패킷)를 수신하여 서버(40)에 전달하고, 서버(40)로부터 결과(또는 결과 메시지, 데이터 패킷)를 수신하여 사용자 단말(10)로 전달한다. 이하에서, 메시지는 패킷 또는 IP 패킷으로 전달되므로, 메시지와 패킷을 혼용한다.Then, the
이때, 클라이언트용 세션은 접근통제 클라이언트(20)와 접근통제 게이트웨이(30) 간의 데이터 송수신(또는 메시지 송수신)을 위한 세션으로서, 자체적인 암호화 세션으로 형성될 수 있다. 암호화 세션 내에서 터미널 어플리케이션과 서버 간의 메시지를 송수신한다. At this time, the client session is a session for data transmission / reception (or message transmission / reception) between the
다음으로, 서버(40)는 사용자 단말(10) 또는 터미널 어플리케이션(60)으로부터 네트워크(미도시)를 통해 접속 요청을 받고, 요청에 따라 접속을 허용하여 통신을 수행시켜준다. 이때, 바람직하게는, 서버(40)는 SSH의 통신 프로토콜(또는 표준화된 통신 프로토콜)을 통해 터미널 어플리케이션(60)과 통신을 수행한다.Next, the
또한, 서버(40)는 SSH 프로토콜을 이용하여, 터미널 어플리케이션(60)로부터 명령문 등 메시지를 수신하고, 해당 메시지의 명령 또는 요청을 수행하고 그 결과(또는 결과 메시지)를 터미널 어플리케이션(60)에 전송한다. 이때, 터미널 어플리케이션(60)과, 서버(40) 사이에는 암호화 세션(또는 SSH 세션)이 형성되고, 세션 내에서 접속 요청 또는 메시지, 결과내용 등이 통신 프로토콜을 통해 데이터 패킷으로 송수신된다.In addition, the
한편, 위에서 설명된 서버(40)와 터미널 어플리케이션(60)과의 통신은 직접 연결되어 처리되지 않고, 접근통제 게이트웨이(30)를 통해 연결된다. 즉, 터미널 어플리케이션(60)의 요청 메시지는 접근통제 게이트웨이(30)를 통해 서버(40)로 전달되고, 또한, 서버(40)의 응답 메시지도 접근통제 게이트웨이(30)를 통해 터미널 어플리케이션(60)에 전달된다.On the other hand, the communication between the
한편, 바람직하게는, 서버(40)는 방화벽(firewall)이 설치되고, 접근통제 게이트(30)로부터 수신되는 데이터(또는 데이터 패킷)만을 통과시키도록, 통제 정책을 설정할 수 있다. 따라서 사용자 단말(10) 또는 터미널 어플리케이션(60)은 직접 서버(50)에 접근할 수 없고 반드시 접근통제 게이트웨이(30)를 통해서만 서버(40)에 접근할 수 있다. 만약 게이트웨이(30)로 패킷 경로를 변경하지 않고 패킷 그대로 서버(40)로 전송되면, 접근통제 구축 조건인 게이트웨이 이외의 서버 접근 경로는 모두 차단하는 방화벽 정책에 의하여 차단되어 접근을 할 수 없다.On the other hand, preferably, the
또한, 서버(40)는 접근통제 게이트웨이(30)로부터 접속되어, SSH 인증키의 공개키에 대한 변경 요청을 받고, 해당 접속 계정의 공개키를 갱신한다.In addition, the
상기와 같은 본 발명의 구성을 요약한 도면이 도 6에 도시되고 있다.FIG. 6 is a diagram summarizing the configuration of the present invention.
도 6에서 보는 바와 같이, 본 발명은 SSH 인증키의 개인키(Private KEY)를 직접 사용자가 관리하지 않도록 하고, 접근통제 게이트웨이(30)에서 관리된다. 이를 통해, SSH 키 인증을 통한 원격 접속 시 요구되는 SSH 개인키(Private KEY)에 대한 관리 미흡 또는 SSH 인증키 정보 유출로 인한 보안 사고를 예방할 수 있다.As shown in FIG. 6, the present invention prevents the private key of the SSH authentication key from being directly managed by the user, and is managed by the
또한, 만료되지 않는 특성을 지닌 SH 인증키에 대해 주기적으로 키 쌍(KEY Pair)을 갱신하여 보안을 강화할 수 있다. 특히, 갱신된 SSH 인증키 정보를 사용자에 배포하지 않고, 중앙의 접근통제 게이트웨이(30)에 적재하고 관리한다.In addition, security can be enhanced by periodically updating the key pair (Key Pair) with respect to the SH authentication key having an unexpired characteristic. In particular, the updated SSH authentication key information is not distributed to users, but is loaded and managed in the central
또한, 사용자는 서버(40)에 접속 시 접근통제 게이트웨이(30)를 경유하도록 구성되고, 접근통제 게이트웨이(30)는 인가된 접속 권한이 있을 경우 접속 인가를 위해, 저장된 SSH 인증키 정보를 저장소(51)에서 가져와서 SSH 키인증을 대신 수행한다. 따라서 SSH 인증키에 대한 보안 관리를 중앙에서 실행할 수 있도록 하여, 보안을 강화할 수 있다.In addition, the user is configured to access the
다음으로, 본 발명의 일실시예에 따른 접근통제 클라이언트(20)의 세부 구성을 도 7을 참조하여 설명한다.Next, a detailed configuration of the
또한, 도 7에서 보는 바와 같이, 본 발명의 일실시예에 따른 접근통제 클라이언트(20)는 접근통제 게이트웨이(30)로부터 접속가능 서버 정보를 수신하는 클라이언트 매니저(21), 터미널 어플리케이션(60)의 패킷을 변조하여 우회시키는 클라이언트 필터 드라이버(22), 및, 클라이언트 필터 드라이버(22)로부터 수신되는 패킷을 접근통제 게이트웨이(30)로 우회시키는 클라이언트 프록시(23)로 구성된다.7, the
즉, 사용자는 인가된 서버에 접근 시 접근통제 클라이언트(20)에 로그온 후 서버에 접근을 요청하게 된다. 사용자 단말(10)의 접근통제 클라이언트(20)는 터미널 어플리케이션(60)을 실행하고, 클라이언트 프록시(23)를 경유하여 접근통제 게이트웨이(30)에 서버 접근을 요청한다. 터미널 어플리케이션(60)은 사용자 명령 등에 의해 독립적으로 실행될 수 있다.That is, when the user accesses the authorized server, the user logs on to the
먼저, 클라이언트 매니저(21)는 접근통제 게이트웨이(30)에 접속하여 사용자의 게이트웨이에 대한 인증(게이트웨이 인증)을 수행한다. 게이트웨이 인증은 접근통제 게이트웨이(30)에 접근하기 위한 사용자 인증, 또는 게이트웨이에 대한 사용자 인증이다.First, the
또한, 클라이언트 매니저(21)는 접근통제 게이트웨이(30)로부터, 게이트웨이를 통해 접근 가능한 서버 정보(또는 접속가능 서버 정보)를 전달받을 수 있다. 앞서 설명한 바와 같이, 접속가능 서버 정보는 서버 정보와 프로토콜 정보(IP주소, 프로토콜 포트번호) 등의 리스트로 구성된다.In addition, the
또한, 클라이언트 매니저(21)는 접속가능 서버 정보를 주소필터 정보로 클라이언트 프록시(23)에 전달한다. 바람직하게는, 클라이언트 프록시(23)를 실행시키고 주소필터 정보를 전달한다. 클라이언트 프록시(23)는 서버(40)와의 통신 세션에서 우회시키는 프록시(proxy) 기능을 수행한다.In addition, the
다음으로, 클라이언트 필터 드라이버(22)는 사용자 단말(10)의 운영체제에 설치되는 네트워크 필터 드라이버로서, 송수신되는 통신 패킷들을 모니터링하고 주소필터 정보(또는 주소필터 리스트)에 속하는 패킷을 탐지하여 변조한다.Next, the
일반적으로, 네트워크 드라이버는 사용자 단말(10)의 운영체제(OS)의 시스템 프로그램으로서, 사용자 프로그램에서 요청되는 네트워크 관련 시스템콜을 처리한다. 즉, 네트워크 드라이버는 서버(40)와 통신을 수행해주는 시스템 프로그램으로서, 서버(40)와 세션을 설정하고, 전송할 데이터를 데이터 패킷으로 만들어 서버(40)에 전송하고, 수신한 데이터 패킷을 데이터로 복원한다. 즉, 네트워크를 이용하는 모든 사용자 프로그램은 시스템 프로그램인 네트워크 드라이버를 통해, 데이터 패킷 차원으로 데이터를 송수신한다.Generally, the network driver is a system program of an operating system (OS) of the
클라이언트 필터 드라이버(22)는 네트워크 드라이버의 일부로서, 네트워크 드라이버의 중간에서 필터링 또는 후킹하는 드라이버이며, 터미널 어플리케이션(60)에서 전송할 패킷을 검사한다.The
이때, 패킷의 헤더정보에는 소스정보(또는 소스주소)와 목적정보(또는 목적주소)로 구성된다. 소스주소는 패킷을 전송하는 소스(source) 또는 터미널 어플리케이션(60)의 IP주소와 포트로 구성된다. 또한, 목적주소는 목적(destination) 또는 서버(40)의 IP주소와 포트로 구성된다.At this time, the header information of the packet includes source information (or source address) and destination information (or destination address). The source address consists of the IP address and port of the source or
클라이언트 필터 드라이버(22)는 데이터 패킷을 검사하여 주소필터 정보(IP필터링 리스트) 내의 주소로 전송하는 패킷인지 확인하고, 확인되면 해당 데이터 패킷을 클라이언트 프록시(23)의 주소로 패킷의 목적지를 변경한다.The
이때, 주소필터 정보에는 서버(40)의 주소를 포함한다. 주소필터 정보(또는 IP필터링 리스트)에는 필터링할 주소 정보를 리스트로 관리하고, 주소필터 정보에 속하는 주소를 목적주소로 가지는 패킷들은 클라이언트 프록시(23)로 우회된다. 즉, 클라이언트 필터 드라이버(22)는 보안 관리가 필요한 서버(40)에 접근하는 데이터 패킷인 경우, 해당 데이터 패킷의 목적지를 변경함으로써, 직접 서버(40)로 전송하지 않고 클라이언트 프록시(23)로 우회시킨다.At this time, the address filter information includes the address of the
한편, 클라이언트 필터 드라이버(22)는 클라이언트 프록시(23)로부터 주소필터 정보와, 클라이언트 프록시(23)의 주소(이하 프록시 주소)를 수신하여 저장해둔다. 바람직하게는, 소정의 주기로 주소필터 정보를 갱신한다. 이때, 클라이언트 프록시(23)는 접근통제 게이트웨이(30)에 접속하여 주소필터 정보를 갱신하여 클라이언트 필터 드라이버(22)에 전달한다.On the other hand, the
바람직하게는, 클라이언트 필터 드라이버(22)는 실행 전에 주소필터 정보와 프록시 주소를 수신하여 저장해두고, 실행되면 데이터 패킷을 주소필터 정보로 목적주소(destination address)를 필터링하여, 필터링된 데이터 패킷의 목적주소를 프록시 주소로 변조(변경)한다.Preferably, the
다음으로, 클라이언트 프록시(23)는 패킷 또는 통신 세션을 중계하는 프록시 기능을 수행한다. 바람직하게는, 클라이언트 프록시(23)는 사용자 단말(10)에서 독립적인 프로세스로서 작동되는 사용자 계층의 프로그램 시스템이다.Next, the
구체적으로, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)를 실행시키고, 주소필터 정보 및 자신의 주소(또는 프록시 주소)를 전달하여 필터링하고 변조하게 한다. 그리고, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)로부터 변조된 패킷을 수신하여 접근통제 게이트웨이(30)로 중계한다.Specifically, the
특히, 클라이언트 필터 드라이버(22)가 필터링 해야하는 패킷이 감지될 경우 패킷의 목적지 주소를 프록시 주소로 변경하고, 네트워크 인터페이스 카드(Network Interface Card) 등으로 전달하는 역할만 수행하면, 목적지 주소가 변경된 패킷은 네트워크 카드(Network Interface Card)를 거쳐 로컬에서 대기하는 클라이언트 프록시(23)로 전달된다.Particularly, when the packet to be filtered by the
클라이언트 필터 드라이버(22)가 실행되어 구동되면, 터미널 어플리케이션(60)이 서버(40)에 원격 접근 패킷을 전송하려는 것을 감지하고, 클라이언트 프록시(23)로 패킷의 경로를 바꿔 전송하게 시킨다. 이때, 클라이언트 프록시(23)는 클라이언트 필터 드라이버(22)로부터 변조된 패킷을 수신하고, 수신한 패킷을 접근통제 게이트웨이(30)로 전송한다. 즉, 클라이언트 프록시(23)은 서버(40)로 전송하려는 패킷을 수신하여, 접근통제 게이트웨이(30)로 우회시킨다.When the
한편, 이를 위해, 클라이언트 프록시(23)은 접근통제 게이트웨이(30)와 세션을 수립하고, 수립된 세션을 통해 패킷을 송수신한다. 바람직하게는, 클라이언트 프록시(23)은 패킷을 수신하면 세션을 수립하고, 전송된 패킷 및 그 이후로 전달되는 패킷들을 수립된 세션으로 전송한다.To this end, the
특히, 클라이언트 프록시(23)는 접근통제 게이트웨이(30)와 SSH 세션을 수립하고, 수립된 SSH 세션을 통해 패킷을 송수신한다. 이때의 SSH 세션을 클라이언트용 세션이라고 부르기로 한다.In particular, the
또한, 클라이언트 프록시(23)은 수신된 패킷을 접근통제 게이트웨이(30)에 전달해야 하지만, 해당 패킷이 실제 어느 서버에 접근해야 하는지에 대한 목적지 정보를 접근통제 게이트웨이(30)에 전달하지 못할 경우 접근통제 게이트웨이(30)는 전달받은 패킷을 어디가 최종 목적지인지 알 수 없어 패킷을 중계할 수 없게 된다. 따라서, 클라이언트 프록시(23)은 패킷이 수신되면, 실제 목적지 정보를 질의하기 위해, 패킷의 소스(Source) 정보 (IP, Client port 번호)를 클라이언트 필터 드라이버(22)와 연결된 채널(또는 인터페이스)을 통해 전달하고, 클라이언트 필터 드라이버(22)는 자신이 변조한 패킷의 실제 목적지를 소스(Source) 정보로 탐색하여 실제 목적지 정보를 연결된 채널로 반환하게 된다.In addition, the
또한, 이때, 클라이언트 프록시(23)은 수신된 변조 패킷의 원래 최종 목적지(또는 패킷의 원래 목적주소)를 클라이언트 필터 드라이버(22)로부터 채널을 통해 획득한다. 특히, 신규 접속 요청(또는 연결 요청) 이벤트가 발생되면, 클라이언트 필터 드라이버(22)에 실제 목적주소를 질의하여 수신한다.Also, at this time, the
또한, 클라이언트 프록시(23)은 터미널 어플리케이션(60)의 패킷을 최초로 접근통제 게이트웨이(30)에 우회시킬 때, 터미널 어플리케이션(60)의 서버 접근 정보를 접근통제 게이트웨이(30)에 전달한다. 서버 접근 정보는 서버 정보(IP주소) 및 프로토콜 정보(포트번호) 등으로 구성된다.The
그리고 클라이언트 프록시(23)은 해당 패킷의 소스 주소(source address)에 대하여, 연결 요청과 같은 세션을 형성하여, 이후 패킷을 송수신한다.Then, the
다음으로, 본 발명의 일실시예에 따른 접근통제 게이트웨이(30)의 세부 구성에 대하여 도 7을 참조하여 보다 구체적으로 설명한다.Next, a detailed configuration of the
도 7의 게이트웨이(30)의 세부 구성에서 보는 바와 같이, 본 발명에 따른 접근통제 게이트웨이(30)는 인가접속 정보(52)를 등록하는 인증권한 정책부(31), 클라이언트 프록시(23)와 통신을 수행하는 클라이언트 프록시 핸들러(32), 서버(40)와 세션을 설정하여 통신을 수행하는 SSH 클라이언트 핸들러(34), 메시지를 파싱하여 분석하고 분석결과에 따라 패스워드를 치환하거나 명령어 통제를 수행하는 정책 체크부(35), 및, SSH 인증키를 갱신하고 관리하는 SSH키 매니저(37)로 구성된다.7, the
또한, 접근통제 게이트웨이(30)는 SSH 인증키 보관소(51), 인가접속 정보(52) 등을 데이터(또는 데이터베이스, 데이터 보관소)로서 구성한다.In addition, the
먼저, 인증권한 정책부(31)는 접속가능한 서버에 대한 정보, 즉, 인가접속 정보(52)를 사전에 저장하여 관리한다. 이때, 인가접속 정보(52)를 사전에 설정되거나, 관리자 등으로부터 입력받아 저장해둔다.First, the authentication
도 8에서 보는 바와 같이, 인가접속 정보(52)는 서버 정보(IP 주소), 접속 프로토콜(포트번호), 접속 계정(접속계정 아이디), SSH 인증키 정보 등으로 구성된다. 또한, 인가접속 정보(52)는 다수 개의 접속 정보를 리스트로 관리될 수 있다.8, the authorized access information 52 includes server information (IP address), connection protocol (port number), connection account (connection account ID), SSH authentication key information, and the like. Also, the authorized connection information 52 can be managed as a list of a plurality of pieces of connection information.
또한, 인증권한 정책부(31)는 접근 가능한 서버 정보(접속가능 서버 정보)를 접근통제 클라이언트(20) 또는 클라이언트 매니저(21)에게 전달할 수 있다. 이때, 인가접속 정보(52)를 참조하여, 인가접속 정보(52)로부터 해당 사용자에 해당하는 접속 정보를 추출하여 접속가능 서버 정보로 구성한다. 또한, 바람직하게는, 인증권한 정책부(31)는 접근통제 클라이언트(20) 또는 클라이언트 매니저(21)에 대해 게이트웨이 인증을 수행하여 통과되면 접속가능 서버 정보를 전송한다.In addition, the authentication
한편, 바람직하게는, 인증권한 정책부(31)는 접근통제 클라이언트(20)에 의해 사용자별 SSH 인증키를 등록하는 작업을 수행할 수 있다. 즉, 사용자의 요청에 의해 최초로 SSH 인증키의 쌍을 생성하고 이를 최초로 등록시킬 수 있다.Preferably, the authentication
다음으로, 클라이언트 프록시 핸들러(32)는 클라이언트 프록시(23)로부터 메시지를 수신하여 정책 체크부(35)를 통해 SSH 클라이언트 핸들러(34)로 전달하고, SSH 클라이언트 핸들러(34)로부터 서버(40)의 결과 메시지 등을 수신하여 클라이언트 프록시(23)로 전달한다. 즉, 클라이언트 프록시 핸들러(32)는 클라이언트 프록시(23)와, 정책 체크부(35) 또는 SSH 클라이언트 핸들러(34) 사이에서 메시지 등 데이터를 중계한다.The
바람직하게는, 클라이언트 프록시 핸들러(32)는 클라이언트 프록시(23)와 세션을 수립하고, 수립된 세션을 통해 데이터(메시지 등)를 송수신한다. 이때, 바람직하게는, SSH 프로토콜에 의한 암호화 세션(또는 SSH 세션, 클라이언트용 세션)이 수립된다.Preferably, the
또한, 클라이언트 프록시 핸들러(32)는 클라이언트 프록시(23) 또는 접근통제 클라이언트(30)가 터미널 어플리케이션(60)의 메시지를 우회시켜 처음으로 접속할 때, 해당 접속 요청에 대하여 목적하는 서버 접근 정보, 즉, 서버 정보(IP주소) 및 프로토콜 정보(포트번호)를 수신받는다. 서버 접근 정보를 통해, 해당 메시지가 어느 서버와 연결할 것인지를 확인할 수 있다.In addition, when the
다음으로, SSH 클라이언트 핸들러(34)는 클라이언트 프록시 핸들러(32)와 형성된 세션(또는 클라이언트용 세션)에 대응되는 세션(이하 서버용 세션)을 서버(40)와 형성한다. 즉, 클라이언트용 세션과 서버용 세션은 클라이언트 프록시(23)와 서버(40) 사이를 중계하기 위한 세션들이다. 또한, 클라이언트 프록시(23)는 터미널 어플리케이션(60)을 프록싱하기 때문에, 결국 클라이언트용 세션과 서버용 세션은 터미널 어플리케이션(60)과 서버(40) 사이를 중계하는 세션들이다.Next, the
특히, SSH 클라이언트 핸들러(34)는 SSH 인증키 보관소(51)에 저장된 SSH 인증키를 이용하여, 서버(40)와 SSH 세션을 서버용 세션으로 형성한다.In particular, the
다음으로, SSH키 매니저(37)는 각 사용자(또는 사용자 아이디)에 대하여 SSH 인증키를 갱신하여 저장한다. 즉, SSH 인증키의 키 쌍을 생성하여, 해당 접속 정보에 따라 공개키를 서버(40)에 전송하고, 개인키(및 공개키)를 SSH 인증키 보관소(Key Repository)(51)에 저장한다.Next, the SSH
앞서 설명한 바와 같이, SSH 인증키 보관소(51)는 각 사용자 또는 사용자 아이디에 따른 SSH 인증키(또는 SSH 인증키의 개인키)를 보관하며, 바람직하게는, 다수의 SSH 인증키를 목록으로 관리한다. SSH 인증키 보관소(51)에서 SSH 인증키의 보관 내용은 도 8에 도시되고 있다.As described above, the SSH authentication
한편, 도 8에 보는 바와 같이, SSH 인증키 정보(51)와 인가접속 정보(52)는 1:N의 대응관계를 가질 수 있다. 즉, 각 인가접속 정보에는 SSH 인증을 위한 인증키가 사용되는데, 해당 SSH 인증키는 SSH 인증키 정보(51) 중 어느 하나를 이용한다. 이때, 인가된 접속의 접속계정의 사용자에 부여된 SSH 인증키가 해당 접속계정의 인증키로 사용된다.On the other hand, as shown in FIG. 8, the SSH authentication
또한, SSH키 매니저(37)가 수행하는 SSH 인증키의 갱신 방법이 도 9에 도시되고 있다. 도 9에서 보는 바와 같이, 서버(40)에 배포된 SSH 인증키에 대한 보안 조치 및 현행화를 위해, SSH키 매니저(37)는 자체적으로 키쌍(KEY Pair)를 신규 생성하고, 관리하는 서버(40)에 접근하여, 계정과 연결된 SSH 공개키(Public KEY) 정보를 갱신한다. 또한, 클라이언트(Client)에서 필요한 SSH 개인키(Private Key) 정보를 사용자에게 배포하지 않고, SSH 인증키 보관소(KEY Repository)(51)에 저장 관리한다.The method of updating the SSH authentication key performed by the SSH
다시 말하면, SSH키 매니저(37)는 주기적으로 또는 특정 이벤트에 따라 SSH 인증키를 갱신한다. 즉, 접근통제 게이트웨이(30)는 SSH 인증키를 새로 생성한다. 그리고 SSH키 매니저(37)는 SSH 인증키 보관소(51)에 저장된 SSH 인증키 및, 인가접속 정보(52)의 접속 정보를 이용하여 서버(40)에 접속하고, 새로운 생성된 SSH 인증키의 공개키를 서버(40)로 전송하고, SSH 인증키 보관소(51)의 해당 SSH 인증키를 그 개인키(및 공개키)로 갱신한다. 이때, 특정 이벤트는 사전에 설정된 이벤트로서, 시스템이 리부팅된다거나 게이트웨이 프로그램들이 갱신되는 것, 관리자의 명령 등으로 설정될 수 있다.In other words, the SSH
이때, SSH키 매니저(37)는 해당 SSH 인증키를 사용하는 모든 인가접속의 서버에 해당 SSH 인증키의 공개키를 전송한다. 즉, 도 8과 같은 대응관계에서, 해당 SSH 인증키에 대응되는 N개의 인가 접속 또는 서버에 각각 SSH 인증키의 공개키를 전송한다.At this time, the SSH
다음으로, 정책 체크부(35)는 클라이언트 세션과 서버용 세션 간의 메시지를 중계하되, 메시지를 분석하여 세션 형성에 대해 통제한다. 특히, 정책 체크부(35)는 SSH 세션 형성을 위한 협상 메시지가 송수신되면, SSH 인증키 보관소(51)에 저장된 SSH 인증키를 이용하여 서버(40)와 SSH 세션에 대해 인증을 수행한다.Next, the
정책 체크부(35)는 클라이언트 프록시 핸들러(31)를 통해 클라이언트 프록시(23)로부터 수신되는 터미널 어플리케이션(60)의 메시지(또는 데이터 패킷)를 전달받아, SSH 클라이언트 프록시(34)를 통해 서버(40)에 전달한다. 그리고, 서버(40)로부터 결과(또는 결과 메시지, 데이터 패킷)를 SSH 클라이언트 프록시(34)를 통해 수신하여 클라이언트 프록시 핸들러(31)를 통해 클라이언트 프록시(23)로 전달한다. 이하에서 정책 체크부(35)는 상기와 같은 방식에 의해 중계하나, 설명에 편의를 위해, 정책 체크부(35)가 서버(40) 또는 접근통제 클라이언트(20)로 전송하는 것으로 기재한다.The
특히, 정책 체크부(35)는 메시지가 서버(40)에 SSH 세션을 형성하기 위한 세션 협상 메시지로 판단하면, 서버(40)와의 사이에서 SSH 세션(이하 서버용 세션)을 형성할 때 SSH 인증키를 이용하여 인증(사용자 인증)을 수행한다. 이때, 정책 체크부(35)는 서버(40)에 대해서는 터미널 어플리케이션(60)인 것으로 가장하여 SSH 세션(서버용 세션)을 형성하고, 접근통제 클라이언트(20)에 대해서는 서버(40)인 것으로 가장하여 세션(클라이언트용 세션)을 형성한다.In particular, when the message is determined to be a session negotiation message for establishing an SSH session with the
정책 체크부(35)가 서버(40)와 SSH 세션(서버용 세션)을 형성하는 과정이 구체적으로 도 10에 도시되고 있다.The process of the
도 10에서 보는 바와 같이, 정책 체크부(35)는 SSH 클라이언트 핸들러(34)를 통해 터미널 어플리케이션(60) 또는 접근통제 클라이언트(30) 처럼 가장하여, SSH 세션을 설정한다.10, the
도 10과 같이, 세션을 형성하는 과정은 키 핸드쉐이크 단계, 사용자 인증 단계, 채널(세션) 수립 단계로 구분된다. 이때, SSH 인증키는 사용자 인증 단계에서 사용된다. 특히, 사용자 인증 단계에서, 터미널 어플리케이션 또는 클라이언트가 접근하고자 하는 계정 아이디(접속 계정) 정보를 게이트웨이에 전송한다. 이때, 게이트웨이는 해당 접속 계정(계정 ID)와 연결된 SSH 인증키 정보를 SSH 인증키 보관서(51)로부터 가져와서, 해당 SSH 인증키를 이용하여 서버(40)와의 SSH 사용자 인증 협상을 완료한다. 그리고 클라이언트에게는 성공 메시지를 전송하여 SSH 인증키 정보가 게이트웨이에 전송되지 않은 상태에서 인증이 완료된다.As shown in FIG. 10, the process of forming a session is divided into a key handshake step, a user authentication step, and a channel (session) establishment step. At this time, the SSH authentication key is used in the user authentication step. In particular, in the user authentication step, the terminal application or the client transmits the account ID (access account) information to be accessed to the gateway. At this time, the gateway obtains the SSH authentication key information associated with the connection account (account ID) from the SSH authentication
즉, 정책 체크부(35)는 SSH 클라이언트 핸들러(34)를 통해 SSH 연결 프로토콜에 규약에 따라 협상을 수행한다. 이때, 협상 단계에 추가적으로, 사용자 인증(User Authentication) 단계에서 SSH 인증키 보관소(51)에 저장된 SSH 개인키(Private KEY) 정보로 사용자 인증 단계를 수행한다.That is, the
즉, 정책 체크부(35)는 상기 서버용 세션을 형성할 때 서버(40)로부터 랜덤 챌린지를 수신하면, 랜덤 챌린저를 SSH 인증키(또는 SSH 개인키)로 암호화 하여 서버(40)로 회신시켜 사용자 인증(User Authentication)을 수행한다.That is, upon receiving the random challenge from the
또한, 정책 체크부(35)는 클라이언트 프록시 핸들러(32)를 통해 서버(40) 처럼 가장하여, SSH 세션(클라이언트용 세션)을 형성한다. 이때, 바람직하게는, 정책 체크부(35)는 사용자 인증을 수행하지 않고 사용자 인증의 성공(Server UserAuth Success) 메시지를 전송하여, 사용자 인증 단계를 건너뛴다.In addition, the
다음으로, 정책 체크부(35)는 수립된 SSH 세션을 통해, 해당 터미널 어플리케이션(60)의 메시지를 서버(40)에 중계한다. 즉, 정책 체크부(35)는 클라이언트용 세션과 서버용 세션을 중계한다.Next, the
이때, 클라이언트용 세션은 접근통제 클라이언트(20)와 접근통제 게이트웨이(30) 간의 데이터 송수신(또는 메시지 송수신)을 위한 세션으로서, 자체적인 암호화 세션으로 형성될 수 있다. At this time, the client session is a session for data transmission / reception (or message transmission / reception) between the
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.Although the present invention has been described in detail with reference to the above embodiments, it is needless to say that the present invention is not limited to the above-described embodiments, and various modifications may be made without departing from the spirit of the present invention.
10 : 사용자 단말 11 : 클라이언트 매니저
12 : 클라이언트 필터 드라이버 13 : 클라이언트 프록시
20 : 터미널 어플리케이션
30 : 접근통제 게이트웨이 31 : 인증권한부
32 : 클라이언트 프록시 핸들러 34 : SSH 클라이언트 핸들러
35 : 정책 체크부 37 : SSH키 매니저
40 : 서버
51 : SSH 인증키 보관소 52 : 인가접속 정보10: user terminal 11: client manager
12: Client Filter Driver 13: Client Proxy
20: Terminal Application
30: access control gateway 31: authentication authority
32: Client Proxy Handler 34: SSH Client Handler
35: Policy check section 37: SSH key manager
40: Server
51: SSH authentication key storage 52: Authorized connection information
Claims (5)
접근 가능한 서버에 대한 정보를 사전에 설정하여 인가접속 정보로서 저장하고, 각 사용자의 SSH 인증키를 최초로 등록하여 SSH 인증키 보관소에 저장하는 인증권한 정책부;
상기 접근통제 클라이언트로부터 메시지를 수신하고, 상기 접근통제 클라이언트와 세션(이하 클라이언트용 세션)을 형성하여, 상기 메시지를 중계하는 클라이언트 프록시 핸들러;
상기 클라이언트용 세션에 대응되는 세션(이하 서버용 세션)을 서버와 형성하는 SSH 클라이언트 핸들러;
각 사용자의 SSH 인증키를 갱신하여 상기 SSH 인증키 보관소에 저장하는 SSH키 매니저; 및,
상기 클라이언트용 세션과 상기 서버용 세션 간의 메시지를 중계하되, SSH 세션 형성을 위한 협상 메시지가 송수신되면, 상기 SSH 인증키 보관소에 저장된 SSH 인증키를 이용하여 상기 서버용 세션을 인증하는 정책 체크부를 포함하고,
세션을 형성하는 과정은 키 핸드쉐이크 단계, 사용자 인증 단계, 및, 세션 수립 단계로 순차적으로 수행되고,
상기 인가접속 정보는 서버 정보, 접속 계정, 및 해당 접속 계정의 사용자 인증을 위한 SSH 인증키 정보를 포함하고, 상기 SSH 인증키 정보는 상기 SSH 인증키 보관서에 저장된 SSH 인증키를 식별할 수 있는 정보이고,
상기 정책 체크부는 상기 SSH 클라이언트 핸들러를 통해 상기 접근통제 클라이언트 처럼 가장하여 상기 서버용 세션을 형성하되, 상기 사용자 인증 단계에서 상기 접근통제 클라이언트가 접속 계정을 전송하면 상기 접속 계정에 해당하는 SSH 인증키를 상기 SSH 인증키 보관소로부터 가져와서, 해당 SSH 인증키를 이용하여 사용자 인증 협상을 완료하고,
상기 정책 체크부는 상기 클라이언트 프록시 핸들러를 통해, 상기 클라이언트용 세션의 사용자 인증 단계에서 접속 계정의 전송 및 성공 메시지의 전송 작업만 수행하게 하고,
상기 SSH키 매니저는 상기 SSH 인증키 보관소의 SSH 인증키와, 상기 인가접속 정보의 각 접속 정보를 이용하여, 각 접속에 해당하는 모든 서버에 SSH 인증키를 갱신시키는 것을 특징으로 하는 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템.
An SSH protocol-based server remote access system installed between at least one user terminal and a server for relaying and monitoring a message of a terminal application bypassed by an access control client installed in the user terminal,
An authentication authority policy unit for setting information on accessible servers in advance and storing them as authorized access information, registering the SSH authentication keys of each user first and storing them in the SSH authentication key storage;
A client proxy handler for receiving a message from the access control client, forming a session with the access control client (hereinafter referred to as a client session), and relaying the message;
An SSH client handler for forming a session (hereinafter referred to as a server session) corresponding to the client session with the server;
An SSH key manager for updating the SSH authentication key of each user and storing the updated SSH authentication key in the SSH authentication key storage; And
And a policy checking unit for relaying a message between the client session and the server session and authenticating the server session using an SSH authentication key stored in the SSH authentication key storage when a negotiation message for forming an SSH session is transmitted and received,
The process of forming a session is sequentially performed in a key handshake step, a user authentication step, and a session establishment step,
The authorized access information includes server information, a connection account, and SSH authentication key information for user authentication of the corresponding connection account, and the SSH authentication key information includes information for identifying an SSH authentication key stored in the SSH authentication key archive Information,
Wherein the policy checking unit forms the server session by impersonating the access control client through the SSH client handler, and when the access control client transmits the connection account in the user authentication step, the policy checking unit notifies the SSH authentication key corresponding to the connection account From the SSH authentication key storage, completes the user authentication negotiation using the corresponding SSH authentication key,
Wherein the policy checking unit allows only the transfer of the connection account and the transmission of the success message in the user authentication step of the client session through the client proxy handler,
Wherein the SSH key manager updates the SSH authentication key to all servers corresponding to the respective connections using the SSH authentication key of the SSH authentication key storage and the access information of the authorized access information, SSH protocol based remote access system for security management.
상기 정책 체크부는 상기 서버용 세션을 형성할 때 상기 서버로부터 랜덤 챌린지를 수신하면, 상기 랜덤 챌린지를 상기 SSH 인증키로 암호화 하여 상기 서버로 전달되도록 하는 것을 특징으로 하는 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템.
The method according to claim 1,
Wherein the policy checking unit encrypts the random challenge with the SSH authentication key and delivers the encrypted random challenge to the server when receiving the random challenge from the server when forming the server session. Server remote access system.
상기 SSH키 매니저는 상기 SSH 인증키를 비대칭키로 생성하고, 상기 SSH 인증키의 공개키를 상기 서버로 전송하고, 상기 SSH 인증키의 개인키 및 공개키를 SSH 인증키 보관소에 저장하는 것을 특징으로 하는 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템.
The method according to claim 1,
The SSH key manager generates the SSH authentication key with an asymmetric key, transmits the public key of the SSH authentication key to the server, and stores the private key and the public key of the SSH authentication key in the SSH authentication key storage. SSH protocol based server remote access system for security management of SSH authentication key.
상기 인증권한 정책부는 상기 접근통제 클라이언트를 통해 사용자가 접근하면, 사용자에 대한 게이트웨이 인증을 수행하고, 인증이 되면 각 사용자의 SSH 인증키 등록 요청을 받아, 각 사용자의 SSH 인증키를 등록하는 것을 특징으로 하는 SSH 인증키를 보안 관리하는 SSH 프로토콜 기반 서버 원격 접근 시스템.
The method according to claim 1,
The authentication authority policy unit performs gateway authentication for the user when the user accesses the access control client, registers the SSH authentication key of each user by receiving the SSH authentication key registration request of each user when authenticated SSH protocol based remote access system for security management of SSH authentication key.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190009822A KR101992976B1 (en) | 2019-01-25 | 2019-01-25 | A remote access system using the SSH protocol and managing SSH authentication key securely |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190009822A KR101992976B1 (en) | 2019-01-25 | 2019-01-25 | A remote access system using the SSH protocol and managing SSH authentication key securely |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR101992976B1 true KR101992976B1 (en) | 2019-06-26 |
Family
ID=67104916
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190009822A Active KR101992976B1 (en) | 2019-01-25 | 2019-01-25 | A remote access system using the SSH protocol and managing SSH authentication key securely |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101992976B1 (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110708299A (en) * | 2019-09-23 | 2020-01-17 | 广州海颐信息安全技术有限公司 | Method and device for privilege centralized management and realization of dynamic host mutual trust authentication |
| KR102118380B1 (en) * | 2019-11-08 | 2020-06-04 | 주식회사 넷앤드 | An access control system of controlling server jobs by users |
| CN113010911A (en) * | 2021-02-07 | 2021-06-22 | 腾讯科技(深圳)有限公司 | Data access control method and device and computer readable storage medium |
| CN113852681A (en) * | 2021-09-22 | 2021-12-28 | 深信服科技股份有限公司 | Gateway authentication method and device and security gateway equipment |
| KR102571612B1 (en) * | 2023-05-30 | 2023-08-29 | 주식회사 피앤피시큐어 | Proxy-based security methods and security systems through SSH tunneling |
| KR102574464B1 (en) * | 2022-12-21 | 2023-09-12 | 알파카네트웍스 주식회사 | Extensible Server Management Framework BASED ON REVERSE CONNECTION PROTOCOL AND ACCESs OPERATIONG METHOD THEREOF |
| US12026268B2 (en) | 2020-07-07 | 2024-07-02 | Samsung Electronics Co., Ltd. | Cloud server and method for controlling cloud server thereof |
| WO2024241405A1 (en) * | 2023-05-19 | 2024-11-28 | e-Janネットワークス株式会社 | Communication system, information processing device, program, information processing method, and connector device |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101859339B1 (en) * | 2017-11-24 | 2018-06-27 | (주)소만사 | Appratus and method for network relay of moving target defense environment |
| KR101896449B1 (en) | 2017-12-21 | 2018-09-07 | 주식회사 넷앤드 | A access control system for security audit and control of server remote access session using encryption communication protocol |
-
2019
- 2019-01-25 KR KR1020190009822A patent/KR101992976B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101859339B1 (en) * | 2017-11-24 | 2018-06-27 | (주)소만사 | Appratus and method for network relay of moving target defense environment |
| KR101896449B1 (en) | 2017-12-21 | 2018-09-07 | 주식회사 넷앤드 | A access control system for security audit and control of server remote access session using encryption communication protocol |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110708299A (en) * | 2019-09-23 | 2020-01-17 | 广州海颐信息安全技术有限公司 | Method and device for privilege centralized management and realization of dynamic host mutual trust authentication |
| KR102118380B1 (en) * | 2019-11-08 | 2020-06-04 | 주식회사 넷앤드 | An access control system of controlling server jobs by users |
| US12026268B2 (en) | 2020-07-07 | 2024-07-02 | Samsung Electronics Co., Ltd. | Cloud server and method for controlling cloud server thereof |
| CN113010911A (en) * | 2021-02-07 | 2021-06-22 | 腾讯科技(深圳)有限公司 | Data access control method and device and computer readable storage medium |
| CN113010911B (en) * | 2021-02-07 | 2024-05-10 | 腾讯科技(深圳)有限公司 | Data access control method, device and computer readable storage medium |
| CN113852681A (en) * | 2021-09-22 | 2021-12-28 | 深信服科技股份有限公司 | Gateway authentication method and device and security gateway equipment |
| KR102574464B1 (en) * | 2022-12-21 | 2023-09-12 | 알파카네트웍스 주식회사 | Extensible Server Management Framework BASED ON REVERSE CONNECTION PROTOCOL AND ACCESs OPERATIONG METHOD THEREOF |
| WO2024241405A1 (en) * | 2023-05-19 | 2024-11-28 | e-Janネットワークス株式会社 | Communication system, information processing device, program, information processing method, and connector device |
| KR102571612B1 (en) * | 2023-05-30 | 2023-08-29 | 주식회사 피앤피시큐어 | Proxy-based security methods and security systems through SSH tunneling |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101992976B1 (en) | A remote access system using the SSH protocol and managing SSH authentication key securely | |
| CN110996318B (en) | A security communication access system for intelligent inspection robots in substations | |
| US11483143B2 (en) | Enhanced monitoring and protection of enterprise data | |
| US10778659B2 (en) | System and method for protecting communications | |
| US9258308B1 (en) | Point to multi-point connections | |
| US8959334B2 (en) | Secure network architecture | |
| US8838965B2 (en) | Secure remote support automation process | |
| JP2023514736A (en) | Method and system for secure communication | |
| Oniga et al. | Analysis, design and implementation of secure LoRaWAN sensor networks | |
| US9210128B2 (en) | Filtering of applications for access to an enterprise network | |
| WO2005020041A1 (en) | System and method for secure remote access | |
| KR101896453B1 (en) | A gateway-based access control system for improving security and reducing constraint of remote access application | |
| EP4323898B1 (en) | Computer-implemented methods and systems for establishing and/or controlling network connectivity | |
| US20080080522A1 (en) | System and method of inserting a node into a virtual ring | |
| KR101896449B1 (en) | A access control system for security audit and control of server remote access session using encryption communication protocol | |
| KR101040543B1 (en) | Encrypted Data Detection System and Detection Method in SHS Communication Environment | |
| CN114661485A (en) | Application program interface access control system and method based on zero trust architecture | |
| CN115174262A (en) | Method and device for safely accessing internal network and electronic equipment | |
| CN102185867A (en) | Method for realizing network security and star network | |
| JP4720576B2 (en) | Network security management system, encrypted communication remote monitoring method and communication terminal. | |
| CN111131173A (en) | A method for proactively providing services in an intranet | |
| KR101992985B1 (en) | An access control system of controlling hard-coded passwords and commands for enhancing security of the servers | |
| KR102150484B1 (en) | An access authentication system using onetime password for enhancing security | |
| CN116248405A (en) | A zero-trust-based network security access control method and a gateway system and storage medium using the method | |
| KR20190024581A (en) | Method for decryping secure sockets layer for security |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20190125 |
|
| PA0201 | Request for examination | ||
| PA0302 | Request for accelerated examination |
Patent event date: 20190130 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20190125 Patent event code: PA03021R01I Comment text: Patent Application |
|
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20190318 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190515 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190619 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20190620 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20220314 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20230313 Start annual number: 5 End annual number: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240320 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20250317 Start annual number: 7 End annual number: 7 |