KR101033118B1 - 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법 - Google Patents

트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법 Download PDF

Info

Publication number
KR101033118B1
KR101033118B1 KR1020090037070A KR20090037070A KR101033118B1 KR 101033118 B1 KR101033118 B1 KR 101033118B1 KR 1020090037070 A KR1020090037070 A KR 1020090037070A KR 20090037070 A KR20090037070 A KR 20090037070A KR 101033118 B1 KR101033118 B1 KR 101033118B1
Authority
KR
South Korea
Prior art keywords
agent
server
execution
tracer
privacy
Prior art date
Application number
KR1020090037070A
Other languages
English (en)
Other versions
KR20100118308A (ko
Inventor
고진광
정창렬
이성근
최귀상
Original Assignee
순천대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 순천대학교 산학협력단 filed Critical 순천대학교 산학협력단
Priority to KR1020090037070A priority Critical patent/KR101033118B1/ko
Publication of KR20100118308A publication Critical patent/KR20100118308A/ko
Application granted granted Critical
Publication of KR101033118B1 publication Critical patent/KR101033118B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법이 개시된다. 본 발명의 일면에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법은 실행추적서버에서 에이전트서버로 에이전트 리소스 요청메시지와 상기 실행추적서버의 인증서를 전송하여 상기 실행추적서버와 상기 에이전트서버 간의 상호 인증을 수행하는 단계와 상기 에이전트서버에서 상기 실행추적서버로 상기 에이전트의 수락여부 메시지를 요청하는 단계와 상기 실행추적서버에서 상기에이전트를 수락할지 여부를 결정하는 단계와 실행추적서버에서 수락결정을 하는 경우, 이전 에이전트서버는 다음 에이전트서버와 암호키 체인을 형성하되, 에이전트 이동계획에 따라 상기 에이전트를 다음 호스트로 이동시키는 단계 및 상기 다음 에이전트서버로부터 상기 에이전트가 정상적으로 승인되었음을 확인하는 메시지를 수신하는 단계를 포함한다.
트레이터(traitor), 에이전트(Agent), 프라이버시(Privacy)

Description

트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법{AGENT EXECUTING METHOD FOR PROTECTING AGENT PRIVACY FROM TRAITOR}
본 발명은 에이전트 실행방법에 관한 것으로서, 구체적으로는 에이전트의 안전한 실행보장을 위한 실행추적프로토콜과 메시지 전송순서를 이용하여 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법에 관한 것이다.
컴퓨터 기술과 정보통신 기술의 발전은 일반 사용자에게 정보화 패러다임의 변화를 가져왔다. 실세계에서와 같이 사이버 공간에서도 일반 사용자들이 자유롭게 정보기술을 활용할 수 있는 에이전트 기술이 발전하게 되었다.
에이전트는 사용자를 대신해 업무를 수행할 수 있는 자율성(autonomy), 사회성(social ability), 반응성(reactivity), 주도적 능동성(Pro-activeness) 등의 특성을 갖고 있어 사용자로 하여금 시간과 비용의 절약을 가져왔다.
이동 에이전트는 프로그램의 이동코드(mobile code)를 수행하는 방식으로 이동되기 때문에 네트워크의 트래픽을 줄일 수 있다. 또한, 멀티유저에게 작업의 병행성을 높일 수 있고, 유연하고 능동적인 서비스를 제공할 수 있다.
그러나, 이동 에이전트는 악의적인 요소들 즉, 악의적인 호스트에 의해 에이 전트가 위협을 받는 경우와 악의적인 에이전트에 의해서 호스트가 위협을 받는 경우가 있다. 이 때문에 사용자의 작업을 정확하게 수행하기 위해서는 이동 에이전트의 보호문제가 선행되어야 한다.
이동 에이전트의 보호는 이동중이 에이전트의 보호와 호스트에서 실행되는 동아에 에이전트의 코드나 자료를 안전하게 보호하는 방법이나 기법들이 요구된다. 그러나, 에이전트가 실행되는 동아에는 에이전트의 코드나 상태 등이 고려되어 접근하여야 한다. 그러므로, 호스트에게 프로그램이나 실행 상태를 드러내지 않고 수행할 수 없기 때문에 악의적인 위·변조를 방지하는 것은 매우 어렵다.
특히, 일부의 프로토콜은 호스트에 기초한 전형적인 접근을 하기 때문에 호스트가 악의적인 활동을 할 수 있는 범행장소로 남용되는 문제점이 있다.
즉, 암호화된 프로토콜의 악의적인 공격은 악성 데이터를 생성하고 에이전트를 제어하는 트레이터에 의해 이루어지게 된다. 트레이터(Traitor)란, 자신의 범죄를 남에게 전가하여 임의의 호스트가 자신의 의도와는 관계없이 악의적으로 이용되게 하는 호스트를 의미한다.
따라서, 에이전트가 이동하는 동안 하나 이상의 호스트와 매핑을 하는 점에서 트레이터의 악의적인 행위로부터 에이전트의 실행을 매커니즘이 필요하다.
본 발명의 목적은 트레이터로부터 선의의 호스트가 악의적으로 남용되는 것을 방지하기 위하여 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법을 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일면에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법은 실행추적서버에서 에이전트서버로 에이전트 리소스 요청메시지와 상기 실행추적서버의 인증서를 전송하여 상기 실행추적서버와 상기 에이전트서버간의 상호 인증을 수행하는 단계와 상기 에이전트서버에서 상기 실행추적서버로 상기 에이전트의 수락여부 메시지를 요청하는 단계와 상기 실행추적서버에서 상기 에이전트를 수락할지 여부를 결정하는 단계와 상기 실행추적서버에서 수락결정을 하는 경우, 이전 에이전트서버는 다음 에이전트서버 와 암호키 체인을 형성하되, 에이전트 이동계획에 따라 상기 에이전트를 다음 호스트로 이동시키는 단계 및 상기 다음 에이전트서버 로부터 상기 에이전트가 정상적으로 승인되었음을 확인하는 메시지를 수신하는 단계를 포함한다.
상기 에이전트 리소스는 에이전트 확인자(iA), 에이전트 데이터 및 에이전트 코드를 포함한다.
상기 에이전트 데이터는 에이전트 코드, 유효기간(Time-out), 처리시각(Time-stamp) 및 인증서를 포함하되, 에이전트 소유자의 공개키로 암호화된다.
상기 실행추적서버의 인증서는 소정의 임계값을 적용한 디지털 서명을 이용한다.
상기 암호키는 대칭키 암호화 알고리즘에 의해 생성된다.
상기 실행추적서버에서 수락결정 하는 경우, 유효기간(Time-out) 및 처리시각(Time-stamp)를 이용하여 에이전트의 서비스 거부공격(Denial of Sercive Attack)과 지연공격(delay attak)을 방지한다.
상기 실행추적서버에서 수락을 거절하는 경우, 재실행 공격(replay attack)을 방지하기 위하여 재차 이동되는 것을 체크하는 단계를 포함한다.
상기 에이전트를 다음 호스트로 이동시키는 단계는 상기 실행추적서버의 인증서를 함께 보내어 에이전트 코드를 검증하는 단계를 포함한다.
본 발명에 따르면 에이전트가 이동하는 동안 트레이터의 악의적인 행위로 인하여 선의의 호스트가 악의적으로 남용되는 것을 방지할 수 있다.
또한, 분리되지 않는 디지털 서명을 구현하기 위해 임계값 매개변수를 포함한 공개키 암호화 서명으로 그 견고성을 강화할 수 있다.
또한, 인증서 체인을 형성함으로써 에이전트의 무결성과 에이전트 신뢰성을 보장할 수 있다.
또한, 에이전트를 추적할 수 있는 실행추적서버를 호스트 플랫폼에 내장함으로써, 에이전스 서버에서 수행되는 이동 에이전트를 인증기관과 유기적으로 연계하여 에이전트의 안정성과 시스템의 가용성을 향상시킬 수 있다.
또한, 인증서 체인과 에이전트 데이터의 암호키를 이용하여 한번 방문한 흔적이 있는 호스트는 재차 방문하지 않도록 하여 선의의 에이전트가 악의적으로 남용되는 것을 방지할 수 있다.
또한, 초기의 에이전트 소유자에 의해 생성되는 임계서명을 통해서 인증서가 분리되는 것을 방지함으로써 에이전트서버간 상호인증과 디지털 서명, 암호키 체인 등을 병행(Parallel)하여 처리함으로써 에이전트의 프라이버시의 보호와 안전성을 효율적으로 보장할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
도 1은 본 발명의 일 실시예에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법을 구현하기 위한 실행추적서버와 에이전트서버 간의 메시지 전송을 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 호스트(100)는 에이전트서버(200), 실행추적서버(300)를 포함한다.
1. 에이전트의 프라이버시를 보호하기 위한 에이전트의 실행 보장 매커니즘의 필요성
에이전트서버(Agent server: 이하 'AS'라 함)에 에이전트가 이동되는 동안에 호스트가 트레이터로 남용될 수 있는 경우는 아래의 그림의 경우와 같이 ASi +1에서 ASn - 1사이에서 발생할 수 있다. 이유는, 처음 시작되는 AS(ASi)는 에이전트 생성자이므로 트레이터가 될 수 없고, 에이전트 생성자에게 되돌아오기(return) 직전에는 ASi와 상호인증(cross certificate)이 이루어져야 함으로 트레이터가 될 수 없다.
Figure 112009025797025-pat00001
여기서, AS는 에이전트서버이며, 화살표는 에이전트의 이동성을 의미한다.
트레이터(traitor)란 자신의 범죄를 남에게 전가하여 임의의 호스트가 자신 의 의도와는 관계없이 악의적으로 이용되게 하는 악의적인 호스트를 의미한다.
위 그림에서 (2)와 (3)에서 트레이터가 악의적인 활동을 위해 ASi + 1와 ASn - 1사이에서 인증서 체인을 끊거나 위조 등의 활동을 한다.
트레이터에 의해 악의적으로 남용될 수 있는 구조적인 모순들에 대해 살펴보면, 목표된 상태(Targeted State)는 에이전트의 기밀성을 위해 제안된 방법으로 믿을 수 있는 호스트에서만 에이전트를 실행하게 하기 위한 방법이다. 이를 위해 호스트의 개인키와 해시함수를 이용한 디지털 서명을 한다.
에이전트를 수신한 호스트들은 에이전트의 서명 확인을 위해 공개키를 이용한다. 이때 목표상태(Targeted State)의 소유자는 에이전트를 처음으로 생성하여 소유하고 있는 호스트이다. 이들 호스트(100)들은 에이전트서버(200)를 갖고 자신에게로 전송되어온 에이전트들을 자신의 복호 키(decrypt key)를 사용하여 암호화된 메시지를 복호화하여 에이전트를 이용한다.
에이전트 상태구조는 ENCx({m1}k1)(1≤i≤n)으로 표현된다. 수신한 에이전트를 초기상태와 키{m}kz를 복사하고, 에이전트의 전송은 이동계획에 의해 ENCy({m}ky)키와 함께 전송한다. 이 과정에서 공격을 감지하지 못하고 트레이터들에 의해 악의적으로 남용된다.
또한, 에이전트에 새로운 객체를 추가하고자 할 때 하나의 컨터이너(Only Container)에 추가하게 된다. 그리고, 수정과 도청 등으로부터 컨테이너를 보호하 기 위해서 암호화된 체크 합(checksum)을 사용한다. 즉, 초기의 체크 합이 C0
Figure 112009025797025-pat00002
라면, 체크 합은 에이전트가 처음 출발할 때 공개 키에 의해 시작한다.
에이전트의 이동은 i0,i1,…,in이고, i0는 처음 출발하는 ASi이고, in은 현재 에이전트가 있는 곳을 의미한다. 오브젝트(object)는 에이전트 소유자인 ASi만이 비밀로 유지되어 되돌아(return)오게 되고, 되돌아 온 object는 인증 프로토콜에서 사용된다. 체크합은 랜덤 한 오브젝트(object)에 기초하여 에이전트 소유자에 의해 계산된다. 컨테이너는 (ENCi1{m1},…,ENCin{mn}, Cn)이며, 새로운 객체를 추가하고자 할 때는 체크합
Figure 112009025797025-pat00003
도 함께 업데이트 된다.
체크 합의 분석은 에이전트가 ASi로 되돌아오면 수행된다. 에이전트의 소유자 ASi에 의해 에이전트가 ASi +1로 이동하게 되면 ASi +1은 Cj(1≤j≤n)를 알 수 있다. ASi+1는 현재의 체크 합이 컨테이너에 보관되어 있기 때문에 언제든지 Cn을 알 수 있다. 또한, ASi +1은 에이전트가 이전에 방문한 다른 에이전트서버들과 공모하거나 에이전트의 이동에서 루프(Loop) 되었다면 Cj(j〈n)를 발견할 수 있게된다.
이러한 과정에서 ASi +1은 컨테이너의 최대 j번째 항목으로 끝내고 에이전트를 원래의 형태로 되돌려서 위조된 경로로 활동하거나 그렇지 않으면, 익명의 호스트 로 가장하여 l〉j인 오브젝트(object)인 ml을 제거, 또는 첨부하여 대체할 수 있다.
따라서, j+1번째에 첨가하길 원하는 항목을 지닌 에이전트와 초기값을 위한 체크 합 Cj를 지닌 자신의 컨테이너(Only Container)를 생성한 후, ASi +1의 에이전트를 ASi +2나 ASi +n에게 전송한다. 전송된 에이전트는 목표된 상태(targeted state)에 mj+1가 삽입된 후 ASi -1에게 다시 되돌아가는 구조는 다음과 같다.
Figure 112009025797025-pat00004
Figure 112009025797025-pat00005
와 같다.
에이전트가 ASi +2에서 ASi -1로 되돌아오면 ASi -1은 자신의 비밀 키를 이용하여 체크합을 해독한 후, ASi의 공개키로 다시 암호화하여 새로운 암호화 컨테이너를 생성하게 되는데, 아래와 같이 표현된다.
Figure 112009025797025-pat00006
전술한 방법에 의해 새로운 형태의 컨테이너와 기존의 컨테이너가 결합되어 아래와 같이 표현된다.
Figure 112009025797025-pat00007
이는 ASi +2가 트래이터에 의해 악의적으로 이용된다면, ASi +2가 결과들에 대해 ASi+2 이전의 에이전트들의 인증서를 되돌려 놓을 때 까지 체크합이 계속해서 이루지지만, ASn -1 등에서는 에이전트 소유자의 공개키(Public Key)로 암호화되어 있어 Cj가 현재 공개적으로 확인되지 않는다.
이와 같은 상황에서 에이전트들의 프라이버시는 트레이터에 의해 더욱 침해당할 뿐만 아니라 컨테이너 안에 있는 Cj의 길이 이외에는 볼 수 없기 때문에 악의적으로 남용되는 호스트들은 전체의 오브젝트(object)수를 측정한 후 특별히 의심하지 않고 실행하게 되어 문제가 발생하게 된다.
더욱이 체크합은 수동적인 암호화기법으로 채널을 통한 전달 오류에 따른 유연 또는 고의가 아닌 오류들을 방지하는 방법이기 때문에 수신된 체크합과 비교하여 오류를 탐지하는 소극적인 무결성 방법이다.
또 다른 프로토콜의 형태로 자유로운 순회(free-roaming)가능한 에이전트에 의해 획득된 에이전트 데이터의 기밀성을 보호하기 위해 The KAG Family of Protocol이 제안되었다. 이는 쇼핑 에이전트의 시나리오에 근거를 둔다. 에이전트에 의해 많은 가게를 방문하여 가게(shop)들로부터 제공되는 정보 수집 후 수집된 정보에 대한 에이전트 데이터의 기밀성을 보장하는 것이다. 이를 위해 디지털 서명체인으로 검증하는 기법이다.
공격자는 에이전트 초기 생성자 ASi로부터 에이전트를 수신했다면 공격자는 in(n〉1)번째가 될 것이다. ASi +2가 공격자라면, ASi +2는 i(0〈j〈n)인 새로운 ij +1을 선택하고, j-1의 체인관계를 유지하기 위해서 선택된 j를 위한 ij의 자료를 생성한다. 이러한 과정은 ASi + 1는 Asi+2→ij -1에서 메시지 Mj - 1를 제공하고, ij→ij +1에서 Mj를 제공한다. 이 때 트레이터는 ASi+2에서 임의의 자신의 새로운 서명체인관계를 형성하여 위장하게된다.
그리고 ij +1에서는 다시 Traitor인 ASi +2에게 메시지 이동 과정(ij+1→ASi+1)를 거친다. 이렇게 해서 트레이터에게 되돌아온 Mj +1을 버리고, j을 증가 시킨 후 새로운 ij +1을 선택함으로써 트레이터는 악의적인 호스트가 아닌 정상적인 호스트로 자신을 위장하는 것을 마친다. 처리 과정은 다음과 같다.
Figure 112009025797025-pat00008
여기서 M0가 에이전트 소유자의 서명이 있기 때문에 에이전트 소유자처럼 트레이터도 체인 관계와 캡슐화(encapsulation)를 요구한다. 트레이터의 결정에 따라 에이전트가 이동하고, 서명체인(chaining relation)을 형성하면서 자유로운 순회(free-roaming)를 한다.
마지막(원래의 에이전트 소유자)에게 이동되기 바로 전에 이러한 공격을 멈춘다. 이런 유형은 에이전트가 수행되는 동안 에이전트에게 부여된 임무를 변질하고, 엉텅리 정보를 제공하게 한다.
예컨대, 에이전트를 생성한 소유자는 자신이 원하는 정보를 수집하기 위해서 구매 에이전트에게 정보 수집 임무를 부여한다. 이때 원하는 정보가 겨울용 스키복의 정보였으나 공격자에 의해 요구되는 정보가 바뀌어 소유자의 원하는 정보와 다른 정보를 제공하는 등의 문제가 발생하여 에이전트 프라이버시가 침해하게 된다. 그래서 에이전트의 프라이버시를 보호하기 위한 에이전트의 실행 보장 매커니즘이 필요하다.
2. 실행 추적 기반의 견고한 에이전트 실행 프로토콜과 보안
실행추적은 기존의 코드 보안 기술로서, 에이전트를 실행하는 포스트 플랫폼으로부터 실행 흔적을 검증한다. 만일 호스트 플랫폼이 이러한 검증을 수행할 수 있는 유일한 개체라면, 그 플랫폼은 많은 이동 에이전트와 그에 상당하는 검증 요구가 증가할 때 빠르게 처리되어야 한다.
호스트 플랫폼의 검출기술은 이동 에이전트 코드나 상태가 불법적으로 조작되는 것을 검출하여 모든 책임을 범죄자에게 가하게 된다.
이는 트레이터에 의해서 악의적으로 남용되는 문제를 해결할 필요성을 명확하게 나타내고 있으므로 신뢰를 바탕으로 이루어질 수 있도록 에이전트의 오류 검출 시스템이 필요하다.
실행추적(execution tracing) 매커니즘에서 실행 무결성과 데이터 무결성을 위한 에이전트 오류를 검출하게 된다.
네트워크에서 발생하는 시스템 오버헤드와 네트워크의 트래픽을 고려하여 에이전트가 안전하게 실행할 수 있도록 하는 실행추적서버(300)를 설정하며, 이를 TTS(Traceable Trust Server: 이하 'TTS'라 함)라고 명명한다.
TTS(300)는 에이전트 실행을 인증하고, 에이전트의 신뢰성 확인을 위해 에이전트 신원을 확인하고 부인, 봉쇄, 무결성을 위한 인증서를 발행하는 CA 기능 또한 수행하게 된다.
또한, 에이전트 기밀성을 보장하기 위해 암호화모듈(301)을 두어, 에이전트 데이터의 실행결과를 암호화하고, 인증모듈(303)을 통해 인증처리하게 된다. 즉, 에이전트의 데이터의 암호키를 생성하여 암호화하고, 인증모듈(303)을 통해 인증처리한다.
이와같은 과정을 거쳐 에이전트의 안전한 실행을 보장할 수 있으며, 무결성, 기밀성, 인증 부인봉쇄 및 암호화 기능을 지원하는 최적화된 실행 보호 매커니즘을 구현할 수 있게된다.
가. 에이전트서버와 실행추적서버간의 통신을 위한 운영 알고리즘
도 1은 본 발명에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행을 위해 호스트플랫폼(100)내에 내장되어 있는 TTS(300)와 에이전트서버(200)간의 전송 프로토콜을 나타내는 구조이며, 도 2는 본 발명에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행을 위해 다수의 호스트간의 데이터 전송을 나타내는 실행 추적 프로토콜의 구조이다. 도 3은 실행추적서버의 개략적인 구성을 나타내는 블럭도이고, 도 4는 에이전트서버(200)의 수행 알고리즘을 나타낸 것이고, 도 5는 TTS(300)의 알고리즘을 나타낸 도면이다.
도 1 내지 도 5를 참조하면, m1(10)은 TTS(300)에 의해 전송된 메시지는 에이전트서버(200)에게 이동 에이전트 리소스 예컨대, 에이전트 코드, 상태, 에이전트 확인자 등을 전송할 것을 요청한다. 상기 요청을 받아들인 에이전트서버(200)는 m2(20)를 TTS(300)로 전송한다.
m2(20)를 수신한 TTS(300)는 호스트플랫폼(200)의 에이전트 코드를 검증함으로써 이동 에이전트를 받아들일(accept) 것인지 거절(reject)할 것인지를 결정한다.
m3(30)은 TTS(300)에서 에이전트서버(200)에게 TTS(300)에서 결정된 수락여부를 에이전트서버(200)에게 전송한다. 만약, TTS(300)가 수락을 거절하게 되면 이를 에이전트서버(200)에 알리고, 에이전트는 이전 호스트로 되돌려지거나 실행할 수 있는 다른 호스트로 이동한다.
이 때 호스트에서는 프로토콜의 실행이 종료된다.
m4(40)는 m3 메시지가 수신되었음을 응답한다.
에이전트를 수신한 후에는 에이전트의 서비스 거부공격(Denial Service Attack)을 대비한다. TTS(300)는 서비스 거부공격를 막기 위해 유효기간(time-out)과 에이전트서버(200)의 재실행 공격을 막기 위해 처리시각(Time-stamp)을 함께 전송하게 된다.
즉, 에이전트의 올바른 수행을 위해서 TTS(300)와 에이전트서버(200)간에 통신을 수행하면서 트레이터의 악의적인 행위를 검출한다.
나. 실행추적 프로토콜에서 실행추적서버(TTS)기반 메시지 전송
에이전트가 실행되는 동안 실행추적 프로토콜에 의해서 메시지 전송이 지속적으로 이루어진다. 이는 트레이터나 악의적인 요인들로부터 에이전트를 보호하고 안전한 실행을 보장한다.
그리고, 에이전트 데이터를 보호하고 인증을 수행하기 위해 암호키 체인관계를 형성하며, 악의적인 포스트에 의해 인증서체인이 절단되는 공격으로부터 에이전트 데이터를 보호하게 된다. 또한, 에이전트가 다른 에이전트들과 협력하는 경우에는 공모의 위험이 있으므로, TTS(300)의 인증서(305)를 통한 상호인증을 수행한다.
특히, 실행추적 프로토콜은 트레이터에 의한 임의의 호스트가 악의적으로 이용되는 것으로부터 보호하기 때문에 트레이터의 위협으로부터 벗어나서 에이전트를 안전하게 실행할 수 있다.
이동 에이전트의 보호를 위한 실행 추적 프로토콜은 호스트에 에이전트서버(200)와 TTS(300)간의 신뢰성에 대한 검증이 선행되는 것이 바람직하다. 정상적으로 검증이 완료되면 에이전트 실행이 이루어진다.
TTS(300)는 상위기관으로부터 인증서를 발급받아 CA로서의 임무를 수행하며, 인증서의 신분을 확인한다. 상기 인증은 암호화 모듈(303)에에 의해서 이루어진다.
도 6은 실행추적 프로토콜의 전송 시퀀스를 나타낸 도면이다.
도 2 내지 도 6을 참조하면, m1(10)은 실행추적서버A(310)에서 에이전트서버 A(210)로 보내지는 메시지이며, 이는 에이전트 확인자, 에이전트 데이터 및 에이전트 코드를 요청하며, 이 때, 실행추적서버A(310)의 인증서도 함께 전송하여 상호인 증을 하게 된다.
m2(20)는 에이전트서버A(210)가 실행추적서버A(310)에게 에이전트 데이터와 처리시간(Time-stamp), 에이전트 확인자(iA)을 요청하면, 실행추적서버A(310)는 에이전트를 수락(accept)할지 거절(reject)할지 여부를 결정한다. 만약, 실행추적서버A(310)에서 거절하면, 에이전트 서버(200)에 수신된 에이전트는 이동경로에 의해 다음 호스트로 이동한다. 실행추적서버A(310)에 의해 거절되면 처리시간(Time-stamp)에 의해서 시간이 기록된다. 이는 재실행공격(replay attack)을 방지하기 위한 것이다.
실행추적서버A(310)가 에이전트를 수락(accept)하면, 실행추적서버A(310)에 의해 에이전트가 수행추적서버A(310)의 대칭키 암호화 알고리즘에 의해 생성된 키와 인증서를 이용하여 다음 에이전트서버(ASi+1)와 암호키를 체인관계로 형성한다.
에이전트서버A(210)가 실행추적서버A(310)로부터 승인된 메시지를 수신하는 경우, 에이전트의 서비스 거부공격과 지연공격을 시도하는데, 이 때 유효기간(Time-stamp)기록정보와 처리시각(Time-out) 기록정보를 통해 상기 공격들을 방지하게 된다.
또한, 실행추적서버A(210)에서 인증 프로세서에 의해 에이전트의 코드를 추적한다. 인증 프로세서는 인증서 임계값 Pk를 이용하여 트레이터에 의한 서비스 거부 공격을 방지할 수 있다. 에이전트서버A(210)의 인증서는 임계값 Pk를 적용하여 디지털 서명을 하였기 때문에 서명 체인을 끊기 위해서는 임계값 Pk를 먼저 알고 있어야 한다.
그러나, 임계값은 에이전트서버A(210) 소유자의 도움없이 알 수 있는 방법이 없고, RSA와 지수함수를 기반으로 한 분리되지 않는 서명기법을 적용하였기 때문에 안전하다.
m4(40)는 에이전트 데이터의 암호 키를 생성하여 에이전트 데이터를 암호화한다. 그리고 상기 암호키는 키 체인을 형성한다. 에이전트 데이터는 에이전트의 코드와 유효기간(Time-out), 처리시간(Time-stamp)을 포함한다. 그리고 현재 호스트의 실행추적서버A(310)로부터 발행된 에이전트서버A(210)의 인증서(305)를 포함한 에이전트 데이터를 추가한 후에 에이전트 소유자의 공개키로 암호화한다.
m5(50)는 다음 호스트에게 에이전트를 받아들일 것에 대한 수락 여부의 메시지를 요구한다. m6(60)는 현재의 프로토콜과 에이전트의 명령트랙을 보존하고 에이전트 확인자를 포함한 에이전트가 정상적으로 승인되었음을 응답한다. 이로써, 트레이터에 의해 악의적으로 남용되는 호스트를 방지하고, 실행추적서버(TTS)에 의한 실행추적이 이루어지고, 에이전트의 안전한 실행을 보장할 수 있게된다.
한편, M1(11),M2(21),M3(31),M4(41),M5(51),M6(61)의 경우 에이전트가 이동된 후 다음 호스트B(120)에서의 실행추적서버B(320)와 에이전트서버B(220)의 메시지 전송을 나타낸 것이며, 이는 전술한 실행추적서버A(310)와 에이전트서버A(210)간의 메시지 전송과정과 동일하게 진행된다.
도 7은 본 발명의 일실시예에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법에 있어서 트레이터에 의한 악의적인 공격을 나타 내는 도면이다.
도 7을 참조하면, 인증서체인은 호스트들 간에 연결하는 역할을 하고, 실행추적서버는 에이전트를 인증하여 호스트플랫폼에서 에이전트가 이동하면 에이전트를 체크하고, 실행추적서버에 의한 인증서 인증을 통해 트레이터로부터 악의적인 호스트로 남용되는 것을 방지한다.
인증서체인은 인증서를 호스트의 Hi -1에서 전달된 인증서와 체인을 형성한다. 그러나 트레이터에 의해서 체인이 끊길 수 있다. 상기 체인이 끊기면 트레이터는 트레이터 자신의 체인을 형성함으로써, 에이전트 임무수행을 방해한다. 이 경우, 에이전트서버의 인증서가 공격자에 의해서 해독되는 경우, 상기 에이전트서버의 인증서는 정당한 호스트로 위장하기 위해 먼저 실행추적서버와 공모를 시도할 수 있다.
실행추적서버는 상기 공모에 응할 수도 있고 응하지 않을 수도 있다. 만약 실행추적서버가 공고에 응하면 상기 공격자는 실행추적서버의 암호화 알고리즘을 이용하여 인증서 체인관계가 형성된 인증서 암호를 해독하기 위해 분리를 시도한다. 즉, 인증서는 공개키 암호기법으로 암호화되어 있기 때문에 호스트 Hi -1의 비밀키를 추출하는 과정에서 새로운 인증서를 생성하여 호스트 Hi에 삽입하게 된다.
그러나, 공격자가 상기 공개키 암호화에 사용된 함수를 알고 있어야 하지만, 이는 송시자만이 알고있는 소수에 해당하므로, 결국에는 트레이터에 의한 인증서 체인 공격은 성공하지 못하게 된다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를들어, 본 발명의 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법을 실현하기 위한 프로그램이 기록된 기록매체의 형태 등 다양한 형태로 구현될 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것은 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행을 위해 호스트플랫폼내에 내장되어 있는 실행추적서버와 에이전트서버간의 전송 프로토콜을 나타내는 구조.
도 2는 본 발명에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행을 위해 다수의 호스트간의 데이터 전송을 나타내는 실행 추적 프로토콜의 구조.
도 3은 실행추적서버의 개략적인 구성을 나타내는 블럭도.
도 4는 에이전트서버의 수행 알고리즘을 나타낸 도면.
도 5는 실행추적서버의 알고리즘을 나타낸 도면.
도 6은 실행추적 프로토콜의 전송시퀀스를 나타낸 도면.
도 7은 본 발명의 일실시예에 따른 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법에 있어서 트레이터에 의한 악의적인 공격을 나타내는 도면.
《도면의 주요부호에 대한 설명》
100 : 호스트플랫폼 200: 에이전트 서버(AS)
300: 실행추적서버(TTS) 301: 암호화 모듈
303: 인증모듈 305: 인증서

Claims (8)

  1. 실행추적서버에서 에이전트서버로 에이전트 리소스 요청메시지와 상기 실행추적서버의 인증서를 전송하여 상기 실행추적서버와 상기 에이전트서버간의 상호 인증을 수행하는 단계;
    상기 에이전트서버에서 상기 실행추적서버로 상기 에이전트의 수락여부 메시지를 요청하는 단계;
    상기 실행추적서버에서 상기 에이전트를 수락할지 여부를 결정하는 단계;
    상기 실행추적서버에서 수락결정을 하는 경우, 이전 에이전트서버는 다음 에이전트서버와 암호키 체인을 형성하되, 에이전트 이동계획에 따라 상기 에이전트를 다음 호스트로 이동시키는 단계 및
    상기 다음 에이전트서버로부터 상기 에이전트가 정상적으로 승인되었음을 확인하는 메시지를 수신하는 단계
    를 포함하는 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
  2. 제1항에 있어서, 상기 에이전트 리소스는
    에이전트 확인자(iA), 에이전트 데이터 및 에이전트 코드를 포함하는 것인 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
  3. 제2항에 있어서, 상기 에이전트 데이터는
    에이전트 코드, 유효기간(Time-out), 처리시각(Time-stamp) 및 인증서를 포함하되, 에이전트 소유자의 공개키로 암호화되는 것인 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
  4. 제1항에 있어서, 상기 실행추적서버의 인증서는
    소정의 임계값을 적용한 디지털 서명을 이용하는 것인 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
  5. 제1항에 있어서, 상기 암호키는
    대칭키 암호화 알고리즘에 의해 생성되는 것인 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
  6. 제1항에 있어서, 상기 실행추적서버에서 수락결정 하는 경우,
    유효기간(Time-out) 및 처리시각(Time-stamp)를 이용하여 에이전트의 서비스 거부공격(Denial of Sercive Attack)과 지연공격(delay attak)을 방지하는 것인 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
  7. 제1항에 있어서, 상기 실행추적서버에서 수락을 거절하는 경우,
    재실행 공격(replay attack)을 방지하기 위하여 재차 이동되는 것을 체크하는 단계를 포함하는 것인 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
  8. 제1항에 있어서, 상기 에이전트를 다음 호스트로 이동시키는 단계는
    상기 실행추적서버의 인증서를 함께 보내어 에이전트 코드를 검증하는 단계를 포함하는 것인 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법.
KR1020090037070A 2009-04-28 2009-04-28 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법 KR101033118B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090037070A KR101033118B1 (ko) 2009-04-28 2009-04-28 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090037070A KR101033118B1 (ko) 2009-04-28 2009-04-28 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법

Publications (2)

Publication Number Publication Date
KR20100118308A KR20100118308A (ko) 2010-11-05
KR101033118B1 true KR101033118B1 (ko) 2011-05-11

Family

ID=43404640

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090037070A KR101033118B1 (ko) 2009-04-28 2009-04-28 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법

Country Status (1)

Country Link
KR (1) KR101033118B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048679A (ja) 2004-07-30 2006-02-16 Hewlett-Packard Development Co Lp 失敗した要求にサービスを提供するエージェント管理コンソールソフトウェア

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048679A (ja) 2004-07-30 2006-02-16 Hewlett-Packard Development Co Lp 失敗した要求にサービスを提供するエージェント管理コンソールソフトウェア

Also Published As

Publication number Publication date
KR20100118308A (ko) 2010-11-05

Similar Documents

Publication Publication Date Title
CN109309565B (zh) 一种安全认证的方法及装置
KR101018368B1 (ko) 트러스티드 프로세싱 기술을 사용하는 디지탈 권리 관리
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
US9055061B2 (en) Process of authentication for an access to a web site
WO2007094165A1 (ja) 本人確認システムおよびプログラム、並びに、本人確認方法
CN102099810A (zh) 移动设备辅助的安全计算机网络通信
WO2007111234A1 (ja) 脆弱性検証付きのバイオメトリクス認証システムおよび方法
US20080005034A1 (en) Method and Apparatus for Efficient Use of Trusted Third Parties for Additional Content-Sharing Security
KR101817152B1 (ko) 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
CN112769789B (zh) 一种加密通信方法及系统
JP2008176741A (ja) クライアント端末、サービス提供サーバ、サービス提供システム、制御方法、およびサービス提供方法
Jensen et al. A secure credit card protocol over NFC
KR100955880B1 (ko) Rfid 환경에서의 보안 방법, 이를 기록한 기록 매체 및그 시스템
KR101033118B1 (ko) 트레이터로부터 에이전트 프라이버시를 보호하기 위한 에이전트 실행방법
CN111651740B (zh) 一种面向分布式智能嵌入式系统的可信平台共享系统
Shin et al. A telebiometric system mechanism model and biometric network protocol for the security of networked manufacturing
KR101195027B1 (ko) 서비스 보안시스템 및 그 방법
Marikkannu et al. An enhanced mobile agent security protocol
JP5057270B2 (ja) 情報検証方法、情報検証装置および情報検証システム
JP2001350652A (ja) 動作ログ蓄積装置および動作ログ蓄積管理方法
CN116866093B (zh) 身份认证方法、身份认证设备以及可读存储介质
Pasupathinathan et al. Security analysis of Australian and EU e-passport implementation
Ogunnusi et al. Research on security protocol for collaborating mobile agents in network intrusion detection systems
Khaleel Review of Network Authentication Based on Kerberos Protocol.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160412

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170329

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190423

Year of fee payment: 9