본 발명에 의한 사설 IP사용자가 동시에 인터넷에 접속할 경우 TCP/IP기반에서 선별적으로 허용 및 차단하는 방법은 사설 네트워크하에서 동시에 인터넷을 사용할 수 있는 클라이언트를 선별하여 인터넷 접속을 허용 및 차단하는 방법에 있어서, 사설 네트워크별로 사용 가능한 사설 IP의 수인 허용 IP 정책 수를 PMT(Policy Management Table)에 저장하는 단계; 현재 인터넷에 접속하고 있는 사용자 컴퓨터들에 대하여 아이디, 공인 IP, 사설 IP를 IP풀에 저장하는 단계; 웹브라우저를 통해 인터넷에 접속하고자 하는 사용자 컴퓨터에 애플릿을 실행시켜, 상기 사용자 컴 퓨터의 사설 IP를 얻는 단계; 상기 얻어진 사설 IP에 근거하여, 사설 IP 사용자가 동시에 인터넷 접속을 할 경우 해당 IP풀 정보와 PMT(Policy Management Table)를 비교하여 인터넷 서비스 사업자에 의해 가입된 1대는 반드시 인터넷을 허용하고, 나머지는 PMT(Policy Management Table) 정책 수만큼 선별적으로 인터넷을 허용 및 차단하는 단계; 상기 정책과 비교한 결과 인터넷접속이 차단된 사설 IP이면, 사용자가 요청한 페이지 대신에 패킷을 분석하여 특정 역할을 하는 기능이 심어진 페이지를 사용자가 먼저 받을 수 있도록 전송하여 리다이렉션하는 단계를 포함한다.
또한, 상기 IP풀에 해당 사용자의 아이디 및 공인 IP와 동일한 아이디 및 공인 IP가 존재하고 있으나, 해당 사용자의 사설 IP와 동일한 사설 IP가 존재하고 있지 않을 때, 상기 IP풀에 저장되어 있는 동일한 아이디의 사설 IP사용자 수를 카운트하는 단계를 더 포함하고,상기 카운트 값이 상기 정책표에 지정되어 있는 정책 수 미만이면, 상기 사용자 컴퓨터의 인터넷 접속을 허가하고, 상기 카운트 값이 상기 정책표에 지정되어 있는 정책 수 이상이면, 상기 사용자 컴퓨터의 인터넷 접속을 차단한다.
그리고, 상기 인터넷접속이 차단된 사설 IP인 경우, 전송된 특정 역할을 하는 기능이 심어진 페이지는 접속을 차단한다는 내용을 알려주고 허용 IP 변경 버튼을 구비하고, 상기 허용 IP 변경 버튼이 선택되면, 상기 IP풀에 있는 해당 사설 네트워크의 IP 리스트 중에서 선택적으로 하나를 차단하고, 상기 사용자 컴퓨터의 인터넷 접속을 가능하게 하는 단계를 더 포함한다.
또한, 상기 IP풀을 일정 시간마다 검사하여 일정시간 동안 상기 IP풀에 저장 되어 있는 사용자 컴퓨터의 인터넷 사용 이력이 없으면 그 리스트를 IP 풀에서 제거하는 단계를 더 포함한다.
다음은 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 1은 본 발명에 따른 인터넷 접속 선별 차단방법을 적용한 시스템의 구성도이다.
서버(10)는 사설네트워크의 인터넷 접속을 희망하는 사용자 컴퓨터에 대하여 인터넷 접속을 선별하여 허용 차단하는 기능을 수행한다.
사설 네트워크(N)는 하나의 아이디와 하나의 공인 IP가 각각 설정되어 있고, 각각 복수개의 사용자 컴퓨터들(C1, C2, …, Cn)이 연결되어 있다.
공유기를 사용하지 않는 사설 네트워크(N)의 경우에는 사용자 컴퓨터들(C1, C2, …, Cn)중에서 하나의 사용자 컴퓨터만이 접속가능하다. 그러나, 도 1에 나타낸 것같이 공유기(20)를 사용하는 사설 네트워크의 경우에는 공유기를 통해서 복수의 컴퓨터들(C1, C2, …, Cn)이 각각 다른 사설 IP를 이용하여 동시에 접속가능하다.
서버(10)는 인터넷에 접속한 사용자 컴퓨터에서 전송되어 온 TCP/IP 패킷을 분석하여 요청된 페이지에서 공유 대상자에 대하여 1차 도메인이 있는 도메인으로 접속하는 모든 세션을 리다이렉션하여, 특정 공인 IP(인터넷 IP)를 사용하는 사설 네트워크 내에서 사용자의 사설 IP를 파악한다.
이들 인터넷에 접속한 사용자 컴퓨터의 아이디, 공인 IP 및 사설 IP를 IP풀(11)에 저장한다.
그리고, 서버(10)는 IP풀(11)이 최신 정보를 유지할 수 있도록 일정 시간(10분) 단위로 동작을 하는 작업(JOB) 스케쥴러를 등록한다.
이와 같이 DB화 된 IP풀 정보와 작업(JOB)을 이용하여 사설 IP 사용자가 동시에 인터넷 접속을 할 경우 TCP/IP 기반에서 선별적으로 허용 및 차단한다.
이를 위해, 서버(10)는 동시에 접속가능한 사설 IP의 숫자를 저장하고 있는 정책테이블(Policy Management Table)(12)을 구비하고 있고, 이 정책테이블에 저장되어 있는 사설 IP의 수에 따라서 사설 네트워크(N)의 사용자 컴퓨터들의 인터넷 접속을 차단 및 허용한다.
도 2는 도 1에 있어서, 서버에 구비되어 있는 정책테이블(Policy Management Table)(12)의 일 예를 나타내는 도면이다.
도 2에 나타낸 것같이 정책테이블에는 아이디와 해당 아이디의 허용정책수가 저장되어 있다. 따라서, 서버(10)는 정책테이블에 따라서, 공유기(20)를 사용하는 사설 네트워크(N)에서 허용가능한 사설 IP수만큼 접속을 허가하게 된다.
도 3은 본 발명에 따른 인터넷 접속 선별 차단방법에 있어서 신호흐름을 나타내는 신호흐름도이다.
도 3을 참고하여, 본 발명에 따른 인터넷 접속 선별 차단방법을 설명한다.
먼저, 사용자 컴퓨터(C)에서 사용자는 웹브라우저를 구동하고(단계 S201), 접속하고자 하는 도메인의 http를 요청한다(단계 S202).
서버(10)는 TCP/IP 패킷을 분석하여 요청된 페이지에서 공유 대상자에 대하여 1차 도메인이 있는 도메인으로 접속하는 모든 세션을 리다이렉션하여, 애플릿 (Applet) 실행을 지시한다(단계 S203).
이때, 리다이렉션 페이지는 2단 이상의 프레임 구조로 기존에 접속하려던 웹페이지를 보여줄 프레임은 100%(이하 100% 프레임)로 구성하고 나머지 프레임은 0%(이하 0% 프레임)로 구성한다.
프레임 크기가 0%인 프레임은 모듈을 실행하는 프레임이고, 100% 프레임은 사용자가 HTTP를 요청했던 페이지 정보와 차단 페이지를 제공하는 프레임이다.
사용자 컴퓨터(C)에서는 0% 프레임에서 애플릿을 실행하고(단계 S204), 이 애플릿에서 현재 접속하고자 하는 사용자 컴퓨터가 사용하고 있는 공인 IP와 사설 IP를 전송한다(단계 S205).
서버(10)는 이와 같이 얻어진 사용자의 공인IP와 사설 IP를 이용하여 현재 접속하고자 하는 사용자의 인터넷 사용을 허가 및 차단하는 과정을 설명한다.
먼저, 사용자가 인터넷을 사용하기 위해 접속하면, IP풀에 해당 사용자의 아이디가 존재하는지 아닌지 검사를 한다(단계 S206). 만약, IP풀에 해당 사용자의 아이디가 존재하지 않으면(단계 S206), 이 사용자는 새로운 사설 네트워크에서 접속한 것이므로, 사용자의 아이디, 공인 IP, 사설 IP, 접속 시간을 IP풀에 등록하고, 현재 접속한 사용자가 인터넷을 정상적으로 사용하게 하고(단계 S208), 요청한 http 페이지 정보를 디스플레이한다(단계 S209).
그리고, IP풀에 해당 사용자의 아이디, 공인 IP 사설 IP와 동일한 아이디, 공인 IP 및 사설 IP가 존재하고 있으면(단계 S210), 이미 접속되어 있는 사용자이므로, 해당하는 사용자의 접속 시간을 수정하고 인터넷을 정상적으로 사용하게 하 고(단계 S208), 요청한 http 페이지 정보를 디스플레이한다(단계 S209).
그러나, IP풀에 해당 사용자의 아이디 및 공인 IP와 동일한 아이디 및 공인 IP가 존재하고 있으나, 해당 사용자의 사설 IP와 동일한 사설 IP가 존재하고 있지 않으면, PMT(Policy Management Table)의 정책 수를 고려하여 다음의 2가지 경우로 처리한다.
먼저, IP풀에 저장되어 있는 동일한 아이디의 사설 IP사용자 수를 카운트하여 그 결과 값이 PMT(Policy Management Table)의 정책 수 미만인 제1경우에(단계 S211), IP풀에 아이디와 공인IP, 사설 IP, 접속 시간을 등록하고 현재 접속한 사용자가 인터넷을 정상적으로 사용하게 하고(단계 S208), 요청한 http 페이지 정보를 디스플레이한다(단계 S209).
IP풀에 저장되어 있는 동일한 아이디의 사설 IP사용자 수를 카운트하여 그 결과 값이 PMT(Policy Management Table)의 정책 수 이상인 제2 경우에, 현재 접속한 사용자가 인터넷을 사용하지 못하도록 차단한다(단계 S212).
차단은 0% 프레임에서 실행되는 모듈의 결과 값을 리턴 받아 그 결과 값에 따라 100% 프레임을 제어한다.
이때 결과 값이 인터넷 허용으로 판명되면 사용자가 요청했던 HTTP 페이지를 제공하고 인터넷 차단으로 판명되면 100% 프레임에 도 4에 나타낸 것같이 접속차단표시화면을 디스플레이 한다(단계 S213). 접속차단표시화면에는 "허용 IP 변경"버튼이 표시되어 있어서, 이 허용 IP 변경버튼이 선택되면, 현재 IP풀에 존재하며, 현재 접속하고자 하는 사용자와 동일한 아이디를 사용하는 다른 사용자의 인터넷 사용권한을 차단하고, 현재 접속하고자 하는 사용자가 인터넷 사용 권한을 가지게 된다
그리고 IP풀이 최신 정보를 유지할 수 있도록 일정 시간(10분) 단위로 동작을 하는 작업(JOB) 스케쥴러를 등록한다(단계 S214).
이때 작업(JOB) 스케쥴러가 IP풀의 내용을 최신 정보로 유지하는 기준은 등록시간을 보고 일정 시간동안 시간 변화가 없었던 레코드들을 삭제하며 계속 최신 정보를 유지한다.
위와 동일한 방식으로 진행을 하면서 동시에 인터넷을 사용할 수 있는 사용자의 사설 IP를 선별적으로 허용 및 차단을 하게 된다.
도 5는 인터넷 사용을 1회선만 허용한 경우의 인터넷 접속 허가 및 차단을 나타내는 도면이다.
인터넷 사용을 PMT(Policy Management Table)에서 1회선만 허용하는 경우는 동일한 아이디와 동일한 공인 IP를 사용하는 사설 IP사용자를 최대 1명까지 허용하고 나머지는 차단한다.
도 5에 나타낸 것같이, 인터넷 접속을 시도하는 사용자는 A, B, C이고, 이들은 모두 동일한 아이디와 동일한 공인 IP를 사용하는 사설 IP 사용자이다.
여기에서는 인터넷 사용을 1회선만 허용한 경우이므로, 가장 먼저 접속한 사용자 1명에게 인터넷을 사용 할 수 있는 우선권을 주는 방식으로 인터넷 접속이 허용된다.
먼저, 192.168.0.1(A) 사용자가 처음 인터넷 접속을 시도할 경우 IP풀에서 동일한 아이디와 동일한 공인 IP를 사용하는 사설 IP사용자가 있는지 확인을 한 후, 없으면 IP풀에 아이디, 공인 IP, 사설 IP, 접속시간을 등록하고 인터넷을 사용할 수 있게 허용한다.
그 후, 192.168.0.1(A) 사용자가 20분까지 계속 인터넷을 사용하고 있으므로, 192.168.0.2(B)나 192.168.0.3(C) 사용자는 인터넷 접속을 시도하여도 차단이 되어 인터넷을 사용할 수 없게 된다.
30분에 작업(JOB) 스케쥴러가 실행되면 20분부터 30분 사이에 사용 내역이 없으므로 현재 사용 중이었던 192.168.0.1(A)사용자가 IP풀에서 레코드가 삭제되게 된다.
31분에 192.168.0.3(C)사용자가 인터넷 접속을 시도하였을 경우 IP풀에 동일한 아이디와 동일한 공인 IP를 사용하는 사설 IP 사용자가 없으므로 192.168.0.3(C) 사용자가 IP풀에 아이디, 공인 IP, 사설 IP, 접속시간을 등록한 뒤 192.168.0.3(C) 사용자가 인터넷 접속이 가능하게 된다.
192.168.0.3(C) 사용자가 70분까지 인터넷에 접속함으로써, 192.168.0.1(A)와 192.168.0.2(B)의 사설 IP사용자가 접속을 계속 시도하였으나 인터넷 접속에는 실패를 하게 되고, 도 4에 나타낸 것과 동일한 접속차단화면이 사용자 A와 B의 모니터 화면에 표시된다.
이때, 192.168.0.2(B) 사용자가 인터넷을 사용하고 싶으면, 자신의 모니터 화면에 표시된 접속차단화면에 표시되어 있는 "허용 IP 변경" 버튼을 클릭하여, 현재 IP풀에 존재하며, 사용자B와 동일한 아이디를 사용하는 192.168.0.3(C) 사용자 를 192.168.0.2(B)로 변경하여 192.168.0.3(C)사용자를 차단하고 192.168.0.2(B)사용자가 인터넷 사용 권한을 가지게 된다.
도 6은 인터넷 사용을 3회선만 허용한 경우의 인터넷 접속 허가 및 차단을 나타내는 도면이다.
인터넷 사용을 PMT(Policy Management Table)에서 3회선만 허용하는 경우는 동일한 아이디와 동일한 공인 IP를 사용하는 사설 IP사용자를 최대 3명까지 허용하고 나머지는 차단한다.
도 6에 나타낸 것같이, 인터넷 접속을 시도하는 사용자는 A, B, C, D이고, 이들은 모두 동일한 아이디와 동일한 공인 IP를 사용하는 사설 IP 사용자이다.
여기에서는 인터넷 사용을 3회선만 허용한 경우이므로, 먼저 접속한 사용자 3명에게 인터넷을 사용 할 수 있는 우선권을 주는 방식으로 인터넷 접속이 허용된다.
먼저, 192.168.0.1(A) 사용자가 처음 인터넷 접속을 시도 할 경우 IP풀에서 동일한 아이디와 동일한 공인 IP를 사용하는 사설 IP사용자가 있는지 확인을 한 후, 없으면 IP풀에 아이디, 공인 IP, 사설 IP, 접속시간을 등록하고 인터넷을 사용할 수 있게 허용한다.
그 후, 10분에 192.168.0.2(B)사용자가 접속을 시도하게 되면 IP풀에서 동일한 아이디와 동일한 공인 IP가 있는 것을 확인 후 사설 IP가 IP풀에 존재하면 인터넷을 사용할 수 있게 허용하고, 존재하지 않으면, IP풀에서 동일한 아이디와 동일한 공인 IP를 가진 사설 IP사용자 수를 카운트하여 그 결과 값(여기서, 리턴 값: 1)이 PMT(Policy Management Table)의 정책 수(여기서, 3회선 허용) 미만이면 192.168.0.2(B)의 사설 IP를 등록하고 인터넷을 사용하게 한다. 반대로 그 결과 값이 PMT(Policy Management Table)의 정책 수 이상이면 인터넷을 차단한다.
여기에서는, 192.168.0.2(B)사용자가 접속을 시도한 시점에서 IP풀에서 동일한 아이디와 동일한 공인 IP를 가진 사설 IP사용자 수가 1이므로 PMT(Policy Management Table)의 정책수 3보다 작으므로, 192.168.0.2(B)의 사설 IP를 등록하고 인터넷을 사용하게 허용한다.
그 다음, 15분에 192.168.0.3(C) 사용자가 접속을 시도하게 되면 IP풀에서 동일한 아이디와 동일한 공인 IP가 있는 것을 확인한 후, 192.168.0.3(C) 사용자가 접속을 시도한 시점에서 IP풀에서 동일한 아이디와 동일한 공인 IP를 가진 사설 IP사용자 수가 2이므로 PMT(Policy Management Table)의 정책수 3보다 작으므로, 192.168.0.3(C)의 사설 IP를 등록하고 인터넷을 사용하게 허용한다.
그 후, 17분에 192.168.0.4(D) 사용자가 접속을 시도하게 되면 IP풀에서 동일한 아이디와 동일한 공인 IP가 있는 것을 확인한 후, 192.168.0.4(D) 사용자가 접속을 시도한 시점에서 IP풀에서 동일한 아이디와 동일한 공인 IP를 가진 사설 IP사용자 수가 3이므로 PMT(Policy Management Table)의 정책수 3 미만이 아니므로, 192.168.0.4(D)의 사설 IP를 등록하지 않고 인터넷의 사용을 차단한다.
위와 동일한 방식으로 계속 진행을 하면서 사설 네트워크 하에서 선별적으로 허용 및 차단을 제어할 수 있다.