(51) Int. Cl. (19) 대한민국특허청 (KR) (12) 공개특허공보 (A) H04B 1/40 (2006.01) H04L 12/22 (2006.01) (21) 출원번호 10-2008-0104812 (22) 출원일자 2008 년 10 월 24 일 심사청구일자 전체청구항수 : 총 14 항 2008 년 10 월 24 일 (54) 악성코드처리방법및이를위한장치및시스템 (11) 공개번호 10-2010-0050622 (43) 공개일자 2010년05월14일 (71) 출원인 주식회사케이티 경기성남시분당구정자동 206 (72) 발명자 김경태 서울특별시광진구구의 3 동 661 현대아파트 2 차 206-501 김민정 서울특별시관악구봉천 6 동현대홈타운아파트 302-1310 박재민 서울특별시강남구일원동 718 샘터마을 108-1305 (74) 대리인 특허법인가산 (57) 요약 본발명은악성코드처리방법및이를위한장치및시스템에관한것이다. 상기목적을달성하기위하여, 본발명의실시예에따른가입자정보카드장치는이동단말장치와연결되는단말기인터페이스부, 상기단말기인터페이스부가상기이동단말장치로부터인터넷트래픽을수신하는경우, 상기수신된인터넷트래픽에대한악성코드검사를수행하고, 상기악성코드검사결과상기인터넷트래픽에악성코드가존재하는경우상기악성코드를치료하는악성코드처리부, 상기이동단말장치가이동통신망에접속하여통신을수행하는데필요한가입자정보를저장하는저장부, 및상기악성코드의검사및치료가수행되도록제어하는제어부를포함한다. 대표도 - 도 2-1 -
특허청구의범위청구항 1 이동단말장치와연결되는단말기인터페이스부 ; 상기단말기인터페이스부가상기이동단말장치로부터인터넷트래픽을수신하는경우, 상기수신된인터넷트래픽에대한악성코드검사를수행하고, 상기악성코드검사결과상기인터넷트래픽에악성코드가존재하는경우상기악성코드를치료하는악성코드처리부 ; 상기이동단말장치가이동통신망에접속하여통신을수행하는데필요한가입자정보를저장하는저장부 ; 및상기악성코드의검사및치료가수행되도록제어하는제어부를포함하는, 가입자정보카드장치. 청구항 2 제 1항에있어서, 상기저장부는악성코드정보를저장하고, 상기악성코드처리부는상기인터넷트래픽과상기저장부에저장된악성코드정보를비교하여상기악성코드검사를수행하는, 가입자정보카드장치. 청구항 3 제 1항에있어서, 상기악성코드처리부는상기이동단말장치로부터상기인터넷트래픽에대한악성코드검사를요청하는메시지가수신되는경우에상기악성코드검사를수행하는, 가입자정보카드장치. 청구항 4 제 1항에있어서, 상기악성코드처리부는상기인터넷트래픽이사전에설정된외부서버가전송한것일경우에상기악성코드검사를수행하는, 가입자정보카드장치. 청구항 5 제 1항에있어서, 상기인터넷트래픽에대한인터넷서버역할을수행하는스마트카드웹서버부를더포함하고, 상기악성코드처리부는상기인터넷트래픽이상기스마트카드웹서버부에의해처리될인터넷트래픽인경우에상기악성코드검사를수행하는, 가입자정보카드장치. 청구항 6 제 1항에있어서, 상기단말기인터페이스부는상기치료된인터넷트래픽을상기이동단말장치에게전송하는, 가입자정보카드장치. 청구항 7 제 1항에있어서, 상기단말기인터페이스부가상기이동단말장치로부터악성코드검사대상의식별정보와상기악성코드검사대상에대한악성코드검사요청메시지를수신하는경우, 상기악성코드처리부는상기악성코드대상에대한악성코드검사를수행하고, 상기악성코드검사대상은상기이동단말장치에저장된파일, 상기이동단말장치의저장영역, 상기가입자정보카드가저장하고있는파일, 및상기가입자정보카드의저장영역중적어도하나를포함하는, 가입 - 2 -
자정보카드장치. 청구항 8 이동단말장치를통해제공되는인터넷트래픽에대한악성코드검사를수행하는데필요한백신데이터를제공하는백신서비스서버 ; 상기백신데이터를상기이동단말장치로전달하는이동통신망 ; 및상기이동단말장치와연결되며, 상기이동단말장치로전달된백신데이터를이용하여기저장된백신데이터를갱신하는가입자정보카드장치를포함하는, 통신시스템. 청구항 9 제 8항에있어서, 상기가입자정보카드장치는상기이동단말장치로부터상기인터넷트래픽에대한악성코드검사를요청하는메시지가수신되는경우에상기악성코드검사를수행하는, 통신시스템. 청구항 10 제 8항에있어서, 상기가입자정보카드장치는, 상기인터넷트래픽이사전에설정된외부서버가전송한것일경우에상기악성코드검사를수행하는, 통신시스템. 청구항 11 제 8항에있어서, 상기가입자정보카드장치는, 상기인터넷트래픽이상기가입자정보카드장치에포함되는스마트카드웹서버에의해처리될인터넷트래픽인경우에상기악성코드검사를수행하는, 통신시스템. 청구항 12 제 8항에있어서, 상기가입자정보카드장치는상기갱신된백신데이터를이용하여치료된인터넷트래픽을상기이동단말장치에게전송하는, 통신시스템. 청구항 13 제 8항에있어서, 상기백신데이터는백신서블릿 (vaccine servlet), 안티바이러스엔진 (anti-virus engine), 악성코드정보중적어도하나를포함하는, 통신시스템. 청구항 14 이동단말장치 ; 및상기이동단말장치의사용자의이동통신가입자정보를포함하는가입자정보카드장치를포함하고, 상기가입자정보카드장치는, 상기이동단말기와연결되는단말기인터페이스부 ; 상기단말기인터페이스부가상기이동단말장치로부터인터넷트래픽을수신하는경우, 상기수신된인터넷트래픽에대한악성코드검사를수행하고, 상기악성코드검사결과상기인터넷트래픽에악성코드가존재하는경우상기악성코드를치료하는악성코드처리부 ; 상기이동단말장치가이동통신망에접속하여통신을수행하는데필요한가입자정보를저장하는저장부 ; 및상기악성코드의검사및치료가수행되도록제어하는제어부를포함하는, 악성코드처리시스템. - 3 -
명세서 발명의상세한설명 [0001] 기술분야 본발명은악성코드처리에관한것으로서, 더욱상세하게는이동통신환경에서이동단말기사용자의가입자 정보를포함하는가입자정보카드장치를이용한악성코드처리방법, 장치, 및시스템에관한것이다. [0002] [0003] [0004] 배경기술이동통신환경에서단말기에악성코드가유입될경우, 악성코드는단말기의메모리에상주하면서불필요한리소스를점유하여단말기의정상동작이어려워질수있고, 악성코드로인해단말기내의정보들이무단으로외부로유출됨으로써개인정보가악용될가능성도있다. 또한, 단말기에직접적인피해를주지않더라도이동통신망의서버를공격할수있는악성코드가단말기를통해교환되는데이터패킷에삽입되면, 이동통신망전체에악영향을줄수도있다. 따라서, 이동통신환경에서악성코드를처리하기위한기술이요구된다. 발명의내용 [0005] [0006] 해결하고자하는과제본발명은이동통신환경에서단말기로유입되는악성코드를적절히처리하는데그목적이있다. 본발명의목적들은이상에서언급한목적들로제한되지않으며, 언급되지않은또다른목적들은아래의기재로부터당업자에게명확하게이해될수있을것이다. [0007] [0008] [0009] [0010] 과제해결수단상기목적을달성하기위하여, 본발명의실시예에따른가입자정보카드장치는이동단말장치와연결되는단말기인터페이스부, 상기단말기인터페이스부가상기이동단말장치로부터인터넷트래픽을수신하는경우, 상기수신된인터넷트래픽에대한악성코드검사를수행하고, 상기악성코드검사결과상기인터넷트래픽에악성코드가존재하는경우상기악성코드를치료하는악성코드처리부, 상기이동단말장치가이동통신망에접속하여통신을수행하는데필요한가입자정보를저장하는저장부, 및상기악성코드의검사및치료가수행되도록제어하는제어부를포함한다. 상기목적을달성하기위하여, 본발명의실시예에따른통신시스템은이동단말장치를통해제공되는인터넷트래픽에대한악성코드검사를수행하는데필요한백신데이터를제공하는백신서비스서버, 상기백신데이터를상기이동단말장치로전달하는이동통신망, 및상기이동단말장치와연결되며, 상기이동단말장치로전달된백신데이터를이용하여기저장된백신데이터를갱신하는가입자정보카드장치를포함한다. 상기목적을달성하기위하여, 본발명의실시예에따른악성코드처리시스템은이동단말장치, 및상기이동단말장치의사용자의이동통신가입자정보를포함하는가입자정보카드장치를포함하고, 상기가입자정보카드장치는상기이동단말기와연결되는단말기인터페이스부, 상기단말기인터페이스부가상기이동단말장치로부터인터넷트래픽을수신하는경우, 상기수신된인터넷트래픽에대한악성코드검사를수행하고, 상기악성코드검사결과상기인터넷트래픽에악성코드가존재하는경우상기악성코드를치료하는악성코드처리부, 상기이동단말장치가이동통신망에접속하여통신을수행하는데필요한가입자정보를저장하는저장부, 및상기악성코드의검사및치료가수행되도록제어하는제어부를포함한다. 기타실시예들의구체적인사항들은상세한설명및도면들에포함되어있다. [0011] 효과 상기한바와같은본발명의악성코드처리방법및이를위한장치및시스템에따르면이동통신환경에서 단말기로유입되는악성코드로인한피해를감소시킬수있는효과가있다. - 4 -
[0012] [0013] [0014] [0015] [0016] [0017] [0018] [0019] [0020] [0021] [0022] [0023] 발명의실시를위한구체적인내용이하, 첨부된도면을참조하여본발명의바람직한실시예를상세히설명하기로한다. 도 1은본발명의일실시예에따른통신시스템을나타낸도면이다. 도시된통신시스템은이동단말장치 (10), 가입자정보카드장치 (20), 이동통신망 (110), 원격관리서버 (remote administration server; 140), 백신서비스서버 (150), 및무선인터넷서비스서버 (160) 를포함할수있다. 이동통신망 (110) 은 CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), GSM(Global System for Mobile communication) 등의이동통신규격을기반으로할수있으나, 이동통신망 (110) 이기반으로하는특정이동통신규격에의해본발명이한정되는것은아니다. 본발명의일실시예에따르면, 이동통신망 (110) 은무선액세스망 (Radio Access Network; RAN, 120) 과코어망 (core network, 130) 을포함할수있다. 무선액세스망 (120) 은기지국 (121) 이지원가능한무선통신영역인셀 (cell) 로구분될수있는지리적인영역을커버할수있다. 무선액세스망 (120) 의일실시예로 UTRAN(UMTS(Universal Mobile Telecommunications) Terrestrial Radio Access Network) 을들수있다. 무선액세스망 (120) 은기지국 (node-b, 121) 과무선망제어기 (Radio Network Controller; RNC, 122) 를포함할수있다. 기지국 (121) 은무선액세스망 (120) 과이동단말장치 (10) 간의접점역할을수행할수있다. 또한, 무선망제어기 (122) 는유무선채널관리, 이동단말장치 (10) 및기지국 (121) 의프로토콜정합처리, 소프트핸드오프 (Soft Handoff) 처리, GPRS(General Packet Radio Service) 접속, 시스템로딩 (Loading), 장애관리등의기능을수행할수있다. 도 1에서는무선망제어기 (122) 에한개의기지국 (121) 이연결된것으로도시하였으나이는예시적인것이다. 따라서, 무선망제어기 (122) 는복수의기지국과연결될수도있으며, 무선망제어기 (122) 에연결된기지국의수에의해본발명이한정되는것은아니다. 물론, 무선망제어기 (121) 나무선액세스망 (110) 에접속하는이동단말장치 (10) 역시복수로존재할수있다. 무선액세스망 (120) 은회선교환서비스와패킷교환서비스를수용할수있다. 보다구체적으로, 무선액세스망 (120) 이회선교환서비스를지원하는경우무선망제어기 (122) 는이동전화교환국 (Mobile Switching Center; MSC, 131) 을통하여 PSTN(Public Switched Telephone Network, 도시하지않음 ) 및 ISDN(Integrated Services Digital network, 도시하지않음 ) 등으로연결될수있다. 또한, 무선액세스망 (120) 이패킷교환서비스를지원하는경우무선망제어기 (122) 는서빙 GPRS(General Packet Radion Service) 지원노드 (Serving GPRS Support Node; SGSN, 132) 와게이트웨이 GPRS 지원노드 (Gateway GPRS Support Node; GGSN, 133) 를경유하여패킷교환망 ( 예를들어, 인터넷이나 X-25 외부망 ) 으로연결될수있다. SGSN(132) 은이동단말장치 (10) 와의데이터패킷전송을담당하는노드로서, 이동단말장치 (10) 가패킷교환서비스를이용할수있도록세션을형성하고관리할수있다. SGSN(132) 은패킷라우팅및전송, 이동성관리, 논리적링크관리, 및인증등의작업을수행할수있다. GGSN(133) 은패킷교환서비스를제공하기위한게이트웨이역할을수행할수있다. 본발명의일실시예에따르면, GGSN(133) 은이동단말장치 (10) 와외부서버 ( 예를들어원격관리서버 (140), 백신서비스서버 (150), 및무선인터넷서비스서버 (160)) 간에데이터가전달될수있도록접점역할을수행할수있다. 따라서, 이동단말장치 (10) 는이동통신망 (110) 을통하여원격관리서버 (140), 백신서비스서버 (150), 또는무선인터넷서비스서버 (160) 에접속할수있다. 원격관리서버 (140) 는스마트카드웹서버 (Smart Card Web Server; SCWS) 를포함하는가입자정보카드장치 (20) 내에정적 (static) htlm(hyper Text Makeup Langage) 나동적 (dynamic) htlm, 또는컨텐츠의생성, 수정, 삭제등을관리할수있는서버이다. 백신서비스서버 (150) 는바이러스 (virus), 웜 (worm), 트로잔 (trojan) 과같은악성코드 (malicious code) 를진단하고, 이를치료하는데필요한백신 (vaccine) 데이터를제공하는서버이다. 여기서백신데이터는백신서블릿 (vaccine servlet), 안티바이러스엔진 (anti-virus engine), 악성코드정보등을포함할수있으며, 이들에대해서는추후설명하도록한다. 도 1에는원격관리서버 (140) 와백신서비스서버 (150) 가각각독립된객체인것으로도시하였지만, 백신서비스서버 (150) 는원격관리서버 (140) 와통합될수도있다. 이동단말장치 (10) 는이동통신망 (110) 에접속하여이동통신서비스를이용할수있는통신장치이다. 이동 - 5 -
단말장치 (10) 는이동통신망 (110) 을통하여무선인터넷서비스서버 (160) 가제공하는무선인터넷서비스를이용할수있다. 이러한이동단말장치 (10) 의일예로휴대폰을들수있다. 그러나, 디지털기술의발달로디지털장치간의경계가유연해진만큼, 이동단말장치 (10) 의실시예가휴대폰으로한정되는것은아니다. 따라서, 이동단말장치 (10) 는 PDA(Personal Digital Assistants) 나노트북컴퓨터와같은다른유형의휴대용디지털장치로구현될수도있다. [0024] [0025] [0026] [0027] [0028] [0029] [0030] [0031] [0032] 가입자정보카드장치 (20) 는플래시메모리와같이데이터를읽고쓰고지울수있는성질을갖는비휘발성메모리와, 데이터에대한소정의연산능력을갖는중앙처리장치 (CPU) 를포함하는장치이다. 가입자정보카드장치 (20) 는가입자인증정보, 가입자에게할당된이동전화번호등이동단말장치 (10) 의사용자의이동통신가입자정보를저장하고있을수있다. 가입자정보는이동단말장치 (10) 가이동통신망 (110) 에접속하여통신을수행하는데필요한정보이다. 가입자정보카드장치 (20) 는 SCWS를포함할수있다. SCWS는일종의 HTTP(hypertext transfer protocol) 서버이며, 이에따라서가입자정보카드장치 (20) 는 HTTP에기반하여이동단말장치 (10) 와통신을수행할수있다. 물론, 이동단말장치 (10) 도원격관리서버 (140), 백신서비스서버 (150), 무선인터넷서비스서버 (16 0) 와 HTTP에기반하여통신을수행할수있다. 따라서, 가입자정보카드장치 (20) 는이동단말장치 (10) 를경유하여외부서버와 HTTP 메시지를송수신할수있다. 또한, 가입자정보카드장치 (20) 는이동단말장치 (1 0) 를통하여유입되는 HTTP 트래픽에대한악성코드진단및치료작업을수행할수있다. 물론, 가입자정보카드장치 (20) 가수행하는악성코드검사및치료대상이 HTTP 트래픽으로한정되는것은아니다. 예를들어, 가입자정보카드장치 (20) 는왑 (Wireless Application Protocol; WAP) 을기반으로하여이동단말장치 (10) 와통신을수행할수도있다. 이경우, 이동단말장치 (10) 도왑을기반으로하여원격관리서버 (140), 백신서비스서버 (150), 및무선인터넷서비스서버 (160) 와무선통신을수행할수있다. 또한, 왑트래픽이이동단말장치 (10) 를통하여유입되는경우, 가입자정보카드장치 (20) 는왑트래픽에대한악성코드진단및치료작업을수행할수있다. 이처럼, HTTP 외에도왑과같은다른유형의인터넷지원프로토콜을기반으로하는인터넷트래픽이이동단말장치 (10) 로부터유입되더라도, 가입자정보카드장치 (20) 가해당인터넷트래픽에대해서악성코드를검사하고치료하는실시예도가능하다. 다만, 이하에서는인터넷트래픽의일예인 HTTP 트래픽을이용하여본발명의각실시예를설명하도록한다. 본발명의일실시예에따르면, 가입자정보카드장치 (20) 는스마트카드를이용하여구현될수있으며, 이동단말장치 (10) 와의연결및분리가가능하다. 가입자정보카드장치 (20) 의구체적인실시예로써, SIM(Subscriber Identification Module) 카드, USIM(Universal Subscriber Identification Module) 카드, UICC(Universal Integrated Circuit Card), R-UIM(Removable-User Identification Module) 카드등을들수있다. 이하에서는가입자정보카드장치 (20) 에대해보다구체적으로설명하도록한다. 도 2는본발명의일실시예에따른이동단말장치 (10) 와가입자정보카드장치 (20) 를나타낸블록도이다. 이동단말장치 (10) 는카드인터페이스부 (211), 통신부 (212), 브라우저부 (213), 저장부 (214), 사용자입력부 (215), 및제어부 (216) 를포함할수있다. 카드인터페이스부 (211) 는가입자정보카드장치 (20) 에게데이터를송신하거나가입자정보카드장치 (20) 로부터데이터를수신할수있다. 이를위해카드인터페이스부 (211) 는이동단말장치 (10) 가가입자정보카드장치 (20) 와연결될수있도록한다. 여기서 ' 연결 ' 이라는용어는이동단말장치 (10) 와가입자정보카드장치 (20) 가접촉하여유선매체를통한통신을수행할수있는상태, 즉전기적인연결을의미할수있다. 그러나본발명이이에한정되는것은아니며 ' 연결 ' 은이동단말장치 (10) 와가입자정보카드장치 (20) 가일정간격이내의비접촉상태에서무선매체를통해서서로통신할수있는상태에있다는의미도포함하는것으로해석해야한다. 통신부 (212) 는이동통신망 (110) 과무선으로통신을수행할수있다. 이를위해, 통신부 (212) 는 CDMA, WCDMA 또는 GSM와같은이동통신규격을지원할수있다. 브라우저부 (213) 는 HTTP 메시지를처리할수있다. 보다구체적으로, 브라우저부 (213) 는가입자정보카드장치 (20) 나외부서버 (140, 150, 160) 와 HTTP 메시지를교환할수있고, 이동단말장치 (10) 로인입되는 HTTP 메시지를파싱 (parsing) 하고, HTML(Hypertext Markup Language), xhtml(extensible HTML), chtml(compact HTML), WML(Wireless Markup Language) 페이지 (page) 들을디스플레이할수있다. 물론, 디스플레이되는페이지들을물리적인화면으로사용자에게제공하기위한디스플레이부 ( 도시하지않음 ) 가이동단말장치 (10) 에더 - 6 -
포함될수있다. [0033] [0034] [0035] [0036] [0037] [0038] [0039] [0040] [0041] [0042] [0043] 한편, HTTP는전송계층프로토콜인 TCP/IP(Transmission Control Protocol/Internet Protocol) 의상위계층에해당하므로, HTTP 메시지는 TCP/IP를기반으로하여전송될수있으며, 이동단말장치 (10) 는 TCP/IP를처리하는전송계층 (transport layer) 처리부 ( 도시하지않음 ) 를더포함할수도있다. 저장부 (214) 는이동단말장치 (10) 가다른장치나외부서버로부터수신한데이터, 또는이동단말장치 (10) 가생성한데이터를저장할수있다. 예를들어, 저장부 (214) 는주소록, 스케줄데이터, 사진, 음악파일등다양한컨텐츠를저장할수있다. 사용자입력부 (215) 는사용자의요청을입력받을수있다. 이를위해, 사용자입력부 (215) 는버튼, 키패드, 터치패드, 터치스크린등의입력모듈을포함할수있다. 제어부 (216) 는이동단말장치 (10) 를구성하는각구성요소들의동작을제어할수있다. 본발명의일실시예에따르면, 제어부 (216) 는외부서버로부터전송되는 HTTP 트래픽에대해악성코드의감염여부를확인하는검사 ( 이하악성코드검사라한다 ) 가수행될것인지의여부를판단하고, 악성코드검사가필요한 HTTP 트래픽은악성코드검사요청메시지와함께가입자정보카드장치 (20) 로전달되도록제어할수있다. 사용자의요청이있는경우, 제어부 (216) 는악성코드의치료를요청하는메시지를생성하고이메시지가가입자정보카드장치 (20) 에게전달되도록제어할수도있다. 물론, 제어부 (216) 의제어에따라서, HTTP 트래픽과각종요청메시지는카드인터페이스부 (211) 를통하여가입자정보카드장치 (20) 에게전달될수있다. 본발명의일실시예에따르면, 제어부 (216) 는외부서버로부터수신되는모든 HTTP 트래픽에대해악성코드검사가수행되도록요청할수있다. 또는제어부 (216) 는가입자정보카드장치 (20) 의 SCWS의처리를필요로하는 HTTP 트래픽에대해서악성코드검사가수행되도록요청할수도있다. 또다른실시예로써, 제어부 (21 6) 는특정외부서버로부터수신되는 HTTP 트래픽에대해악성코드검사가수행되도록요청할수도있다. 어떠한 HTTP 트래픽에대해악성코드검사를수행하여야할것인가는이동단말장치 (10) 의생산시결정되어있을수도있고, 사용자의요청에따라서설정되거나변경될수도있다. 특정한외부서버로부터수신되는 HTTP 트래픽에대해악성코드검사가수행되어야하는경우에는, 해당외부서버의 URL(Uniform Resource Locator) 을악성코드검사대상으로설정해둘수있다. 본발명의일실시예에따르면, 제어부 (216) 는특정파일또는특정저장영역에대해악성코드검사를수행하고발견된악성코드를치료할것을가입자정보카드장치 (20) 에게요청할수도있다. 어떠한파일또는어떠한저장영역을악성코드검사대상으로삼을것인가는사용자에의해결정될수있다. 이밖에도, 이동단말장치 (10) 는저장부 (214) 에저장된컨텐츠를재생시키거나, 이동단말장치 (10) 의특정기능 ( 촬영, 음성 / 영상통화, 단문메시지처리등 ) 을수행하는데필요한어플리케이션을실행하는어플리케이션실행부를더포함할수있다. 한편, 가입자정보카드장치 (20) 는단말기인터페이스부 (221), 스마트카드웹서버부 (222), 저장부 (223), 백신실행부 (224), 암 / 복호화부 (225) 및제어부 (226) 를포함할수있다. 단말기인터페이스부 (221) 는이동단말장치 (10) 에게데이터를송신하거나이동단말장치 (10) 로부터데이터를수신할수있다. 이를위해단말기인터페이스부 (221) 는가입자정보카드장치 (20) 가이동단말장치 (10) 와연결될수있도록한다. 앞서설명한바와같이, ' 연결 ' 이라는용어는이동단말장치 (10) 와가입자정보카드장치 (20) 가접촉하여유선매체를통한통신을수행할수있는상태를의미할수도있고, 이동단말장치 (10) 와가입자정보카드장치 (20) 가일정간격이내의비접촉상태에서무선매체를통해서서로통신할수있는상태에있음을의미할수도있다. 스마트카드웹서버부 (222) 는 SCWS를포함할수있다. SCWS는 HTTP 서버역할을수행할수있으며, 이를통하여가입자정보카드장치 (20) 는 HTTP에기반하여통신을수행할수있다. 앞서언급한바와같이 HTTP 이외에다른인터넷지원프로토콜이사용되는경우, SCWS는해당인터넷지원프로토콜을처리하는인터넷서버로서의역할을수행할수도있다. 물론, 가입자정보카드장치 (20) 가각유형의인터넷지원프로토콜을처리하기위한별도의서버부 ( 도시하지않음 ) 를포함할수도있다. 또한, SCWS는저장부 (233) 에저장된백신데이터를갱신할수도있다. 저장부 (223) 는플레쉬메모리와같은비휘발성메모리로구현될수있다. 본발명의일실시예에따르면, 저장부 (223) 의데이터저장영역은보안저장영역과일반저장영역으로구분될수있다. 보안저장영역은다른 - 7 -
장치나외부서버의접근으로부터물리적또는논리적으로보호될수있다. 따라서, 보안저장영역에는가입자정보, 악성코드정보, 암호키등과같이다른장치나외부서버의접근으로부터보호되어야할필요가있는보안성데이터가저장될수있다. 여기서, 악성코드정보는악성코드의고유한비트열이나이진수의패턴을포함하며, 특정악성코드를검색하고식별하는데사용될수있는정보이다. 악성코드정보의일예로바이러스서명 (virus signature) 을들수있다. 반면, 일반저장영역에는이동단말장치 (10) 의저장부 (214) 에저장되는각종컨텐츠와같이외부로유출되어도무방한비보안성데이터가저장될수있다. [0044] [0045] [0046] [0047] [0048] [0049] [0050] 악성코드처리부 (224) 는악성코드를검사하고, 발견된악성코드를치료할수있다. 본발명에서악성코드의치료는악성코드를삭제한다는의미도포함하는개념이다. 악성코드처리부 (224) 는악성코드를검사하고치료하기위해서위해필요한어플리케이션을실행할수있다. 악성코드처리부 (224) 가실행하는어플리케이션은백신서블릿및안티바이러스엔진을포함할수있다. 백신서블릿은다른어플리케이션이나구성요소와의인터페이스역할을수행할수있으며, 저장부 (223) 에저장된악성코드정보를갱신하거나새로운악성코드정보를획득할때백신서비스서버 (150) 와인증을수행할수있다. 안티바이러스엔진은저장부 (225) 에저장된악성코드정보를이용하여악성코드를검사하고치료하는기능을수행할수있다. 암 / 복호화부 (225) 는데이터에대한암호화및복호화를수행할수있다. 암 / 복호화부 (225) 는공개키암호화방식 (Public-key Cryptography) 방식뿐만아니라대칭키암호화방식 (Symetric-key Criptography) 또한수행할수있으며, 두가지암호화방식을각각수행하기위해복수의암 / 복호화부가존재할수도있다. 공개키암호화방식은비대칭키암호화방식이라고도하며, 데이터를암호화하는데사용되는키와데이터를복호화하는데사용되는키가서로다른키로구성되는방식이다. 공개키암호화방식에서키는공개키 (public key) 와개인키 (private key) 의쌍으로이루어진다. 공개키는비밀로보관될필요가없으며일반에게손쉽게알려질수있고, 개인키는특정장치자신만이알고있어야한다. 공개키암호화알고리즘의예로는 Diffie- Hellman 방식, RSA 방식, ElGamal 방식, 및타원곡선 (Elliptic Curve) 방식등을들수있다. 대칭키암호화방식은비밀키암호화방식이라고도하며, 데이터를암호화하는데사용되는키와데이터를복호화하는데사용되는키가동일한키로구성되는방식이다. 대칭키암호화방식의예로 DES(Data Encryption Standard) 방식과 AES(Advanced Encryption Standard) 방식을들수있다. 한편, 암 / 복호화부 (225) 는상호인증과정시필요한난수를생성할수도있다. 난수는임의성을갖는숫자열, 문자열, 또는이들의조합을포함할수있다. 제어부 (226) 는가입자정보카드장치 (20) 를구성하는각구성요소들의동작을제어할수있다. 제어부 (226) 는이동단말장치 (10) 로부터악성코드검사요청메시지와함께 HTTP 트래픽이전달되면, 악성코드처리부 (22 4) 를통해 HTTP 트래픽에대한악성코드검사가수행되도록제어할수있다. 물론, 이동단말장치 (10) 로부터특정저장영역이나특정파일에대해악성코드검사가요청될경우에도제어부 (226) 는해당저장영역이나파일에대해악성코드검사가수행되도록제어할수도있다. 이러한제어부는 CPU와같은프로세서를포함할수있다. 본발명의일실시예에따르면, 이동단말장치 (10) 로부터악성코드검사요청이없더라도, 제어부 (226) 는이동단말장치 (10) 로부터전달되는 HTTP 트래픽에대해악성코드검사가수행되도록악성코드처리부 (224) 를제어할수있다. 제어부 (226) 의제어에따라서악성코드처리부 (224) 는입력되는모든 HTTP 트래픽에대해악성코드검사를수행할수도있고, 스마트카드웹서버부 (222) 의처리를필요로하는 HTTP 트래픽에대해서악성코드검사를수행할수도있다. 또한, 악성코드처리부 (224) 는제어부 (226) 의제어에따라서, 특정한외부서버로부터수신되는 HTTP 트래픽에대해악성코드검사를수행할수도있다. 어떠한 HTTP 트래픽에대해악성코드검사를수행할것인가는이동단말장치 (10) 를통한사용자의요청에따라서설정되거나변경될수도있고, 가입자정보카드장치 (20) 의생산시설정되어있을수도있다. 이상에서설명한이동단말장치 (10) 와가입자정보카드장치 (20) 를구성하는구성요소들은모듈로구현될수있다. ' 모듈 ' 은소프트웨어또는 Field Programmable Gate Array(FPGA) 또는주문형반도체 (Application Specific Integrated Circuit, ASIC) 과같은하드웨어구성요소를의미하며, 모듈은어떤역할들을수행한다. 그렇지만모듈은소프트웨어또는하드웨어에한정되는의미는아니다. 모듈은어드레싱할수있는저장매체에있도록구성될수도있고하나또는그이상의프로세서들을실행시키도록구성될수도있다. 따라서, 일예로서모듈은소프트웨어구성요소들, 객체지향소프트웨어구성요소들, 클래스구성요소들및태스크구성요소들과같은구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램코드의세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터구조들, 테이블들, 어레 - 8 -
이들, 및변수들을포함한다. 구성요소들과모듈들에서제공되는기능은더작은수의구성요소들및모듈들로 결합되거나추가적인구성요소들과모듈들로더분리될수있다. [0051] [0052] [0053] [0054] 한편, 가입자정보카드장치 (20) 는생산시부터앞서설명한백신서블릿, 안티바이러스엔진, 및악성코드정보등의백신데이터를포함할수있다. 그러나, 가입자정보카드장치 (20) 의생산시에는이들중일부나전부가포함되어있지않을수도있다. 이에따라서, 가입자정보카드장치 (20) 는백신서비스서버 (150) 를통하여자신이보유하지않은백신데이터를신규로다운로드할수도있고, 이미존재하는백신데이터를갱신할수도있다. 백신데이터는보안이유지되는것이바람직하다. 따라서, 백신데이터를신규로다운로드하거나갱신할때에는백신서비스서버 (150) 와가입자정보카드장치 (20) 간에상호인증을통한보안채널이형성될수있다. 이에대해도 3을참조하여설명하도록한다. 도 3은본발명의일실시예에따른상호인증과정을나타낸흐름도이다. 본실시예에는가입자정보카드장치 (20) 와백신서비스서버 (150) 가직접통신하는것처럼도시되어있지만이는설명의편의를위한것일뿐이며, 이들간에전송되는정보는이동단말장치 (10) 과이동통신망 (110) 을경유하게된다. 본실시예에서아래첨자 'C' 는가입자정보카드장치 (20) 소유이거나가입자정보카드장치 (20) 가생성한데이터를의미하고, 아래첨자 'S' 는백신서비스서버 (150) 소유이거나백신서비스서버 (150) 가생성한데이터를의미한다. 가입자정보카드장치 (20) 는백신서비스서버 (150) 에게상호인증요청메시지를전송할수있다 (S310). 상호인증요청메시지는인증기관 (Certification Authority, 도시하지않음 ) 이가입자정보카드장치 (20) 에대하여발행한인증서 (Certificate) C 를포함할수있다. 인증서 C 는가입자정보카드장치 (20) 의 ID C 와공개키 C 를 포함할수있으며, 인증기관에의하여전자서명되어있다. [0055] 가입자정보카드장치 (20) 의인증서 C 를수신한백신서비스서버 (150) 는인증서폐기목록 (Certificate Revocation List; 이하, "CRL" 이라함 ) 을사용하여인증서 C 가유효한것인지를확인할수있다 (S315). 만약, 가입자정보카드장치 (20) 의인증서 C 가 CRL에등록된인증서라면, 백신서비스서버 (150) 는가입자정보카드장치 (20) 와의상호인증을거부할수있다. 그러나가입자정보카드장치 (20) 의인증서 C 가 CRL에등록되지않다면, 백신서비스서버 (150) 는인증서 C 를통해서가입자정보카드장치 (20) 의공개키 C 를얻을수있다. [0056] 그후, 백신서비스서버 (150) 는난수 S 를생성하고 (S320), 생성된난수 S 를인증서 C 에서얻은가입자정보카드 장치 (20) 의공개키 C 로암호화할수있다 (S325). [0057] 그후, 백신서비스서버 (150) 은상호인증응답메시지를가입자정보카드장치 (20) 에게전송할수있다 (S330). 상호인증응답메시지는인증기관이백신서비스서버 (150) 에대하여발행한인증서 S 및암호화된난 수 S 를포함할수있다. 인증서 S 는백신서비스서버 (150) 의 ID S 와공개키 S 를포함하고, 인증기관에의하여전자 서명되어있다. [0058] 백신서비스서버 (150) 로부터인증서 S 및암호화된난수 S 를수신한가입자정보카드장치 (20) 는 CRL 을사용하여 인증서 S 가유효한것인지를확인하고, 암호화된난수 S 를가입자정보카드장치 (20) 의개인키 C 로복호화할수있 다 (S335). 이때가입자정보카드장치 (20) 는백신서비스서버 (150) 의인증서 S 를통해서백신서비스서버 (150) 의공개키 S 를획득할수있다. [0059] 그후, 가입자정보카드장치 (20) 는난수 C 를생성하고 (S340), 생성된난수 C 를백신서비스서버 (150) 의공개키 S 로암호화할수있다 (S345). [0060] [0061] 그후, 가입자정보카드장치 (20) 는백신서비스서버 (150) 에게상호인증종료메시지를전송할수있다 (S350). 상호인증종료메시지는암호화된난수 C 를포함할수있다. 가입자정보카드장치 (20) 로부터상호인증종료메시지를수신한백신서비스서버 (150) 는자신의개인키 S 로 상호인증종료메시지에포함된암호화된난수 C 를복호화할수있다 (S355). [0062] 이에따라서가입자정보카드장치 (20) 와백신서비스서버 (150) 는상호두개의난수 ( 난수 M 및난수 S ) 를공유 - 9 -
할수있다. 상호인증결과두개의난수 ( 난수 M 및난수 S ) 를공유한가입자정보카드장치 (20) 와백신서비스서버 (150) 는두개의난수 ( 난수 M 및난수 S ) 를사용하여세션키를생성할수있다 (S360, S365). 가입자정보카드장치 (20) 와백신서비스서버 (150) 가세션키를생성하기위해서사용하는키생성알고리즘은상호동일하다. 따라서가입자정보카드장치 (20) 와백신서비스서버 (150) 는상호동일한세션키를공유하게된다. [0063] [0064] [0065] [0066] [0067] [0068] [0069] [0070] [0071] 가입자정보카드장치 (20) 와백신서비스서버 (150) 는상호인증이후상대방에게전송할데이터를세션키로암호화하고, 상대방으로부터수신된암호화된데이터를세션키로복호화할수있다. 이에따라서가입자정보카드장치 (20) 와백신서비스서버 (150) 간의데이터전송에보안이유지될수있다. 이러한가입자인증카드장치 (20) 의상호인증과정은제어부 (226) 의제어하에다른구성요소들이동작함으로써수행될수있다. 도 3에서는가입자정보카드장치 (20) 의상호인증요청메시지전송을시작으로상호인증과정이수행되는것으로도시하였으나, 도 3의상호인증과정은일실시예일뿐이며, 본발명이이에한정되는것은아니다. 실시예에따라서는백신서비스서버 (150) 가상호인증요청메시지를전송함으로써상호인증과정이수행될수도있다. 또한, 백신서비스서버 (150) 뿐만아니라, 원격관리서버 (140) 나무선인터넷서비스서버 (150) 와가입자정보카드장치 (20) 간에도필요에따라서상호인증작업이수행될수있다. 도 3에도시된바와같은상호인증과정후에가입자정보카드장치 (20) 는백신데이터의갱신이나신규백신데이터의다운로드를백신서비스서버 (150) 에게요청할수있고, 백신서비스서버 (150) 는필요한백신데이터를제공함으로써, 가입자정보카드장치 (20) 가백신데이터를갱신하거나보유할수있게된다. 물론, 이러한백신데이터갱신과정은일실시예일뿐이므로, 본발명이이에한정되는것은아니다. 실시예에따라서는도 3에도시된바와같은상호인증과정후에백신서비스서버 (150) 가백신데이터갱신명령이포함된메시지를가입자정보카드장치 (20) 로전송함으로써, 백신데이터갱신과정이수행될수도있다. 구체적으로, 백신서비스서버 (150) 는백신데이터갱신명령이포함된메시지를이동단말장치 (10) 로전송할수있다. 이후, 이동단말장치 (10) 로수신된메시지가사용자에의해선택되면, 이동단말장치 (10) 는수신된메시지내의백신데이터갱신명령을가입자정보카드장치 (20) 로전송할수있다. 백신데이터갱신명령이수신되면, 가입자정보카드장치 (20) 의스마트카드웹서버부 (232) 는저장부 (223) 에저장된백신데이터예를들면, 바이러스서명를갱신할수있다. 도 4는본발명의일실시예에따른가입자정보카드장치 (20) 를통한악성코드처리과정을나타낸흐름도이다. 본실시예에서이동단말장치 (10) 는이동통신망 (100) 을통하여외부서버 (400) 와 HTTP 기반의통신을수행하고있는상태이다. 여기서외부서버 (400) 는무선인터넷서비스서버 (160) 일수도있고원격관리서버 (140) 일수도있다. 외부서버 (400) 가이동단말장치 (10) 에게 HTTP 트래픽을송신하면 (S410), 이동단말장치 (10) 는 HTTP 트래픽을가입자정보카드 (20) 장치에게전달할수있다 (S420). 이때, 이동단말장치 (10) 는 HTTP 트래픽에대한악성코드검사요청메시지도함께전달할수있다. 어떠한 HTTP 트래픽에대해악성코드검사를요청할것인지는앞서설명한바와같이다양한실시예로구현가능하다. 예를들어, 모든 HTTP 트래픽, 특정외부서버로부터전송된 HTTP 트래픽, 가입자정보카드장치 (20) 의스마트카드웹서버부 (222) 의처리를필요로하는 HTTP 트래픽등악성코드검사대상은실시예에따라서달라질수있으며, 사용자의요청에따라악성코드검사대상이변경될수도있다. HTTP 트래픽과함께악성코드검사요청을수신한가입자정보카드장치 (20) 는 HTTP 트래픽에대해서악성코드검사를수행할수있다 (S430). 과정 S430에서가입자정보카드장치 (20) 의제어부 (226) 는악성코드처리부 (224) 에게악성코드검사를요청할수있으며, 악성코드처리부 (224) 는저장부 (223) 의보안영역에저장된악성코드정보를읽어온후, HTTP 트래픽과악성코드정보를비교함으로써 HTTP 트래픽에서악성코드를검사할수있다. 그후, 가입자정보카드장치 (20) 는악성코드검사결과를이동단말장치 (10) 에게전달할수있다 (S440). 이동단말장치 (10) 는가입자정보카드장치 (20) 로부터수신한악성코드검사결과를사용자에게디스플레이할수있으며, 사용자는이를통해서 HTTP 트래픽이악성코드에감염되었는지여부를확인할수있다. HTTP 트래픽에악성코드가존재하는경우사용자는해당악성코드를치료하도록요청할수있으며, 사용자의요청이있으면이동단말장치 (10) 는악성코드의치료를요청하는치료요청메시지를가입자정보카드장치 (20) - 10 -
에게전송할수있다 (S450). [0072] [0073] [0074] [0075] [0076] [0077] [0078] [0079] [0080] [0081] [0082] [0083] 가입자정보카드장치 (20) 는악성코드에감염된 HTTP 트래픽을치료할수있으며 (S460), 치료가완료된 HTTP 트래픽을이동단말장치 (10) 에게전달할수있다 (S470). 물론, 가입자정보카드장치 (20) 는악성코드치료결과도이동단말장치 (10) 에게전송할수있다. 이동단말장치 (10) 는수신된 HTTP 트래픽을이용하여추후프로세스를진행할수있다 ( 예를들어, 브라우저부 (213) 를통한웹페이지디스플레이 ). 만약, 도 4의과정 S430에서수행된악성코드검사결과악성코드가발견되지않는다면, 도 4의과정 S450 및 S460은생략될수있으며, 과정 S470에서가입자정보카드장치 (20) 가전달하는 HTTP 트래픽은과정 S420에서이동단말장치 (10) 로부터수신된 HTTP 트래픽과동일할수있다. 한편, 도 4의실시예에서는이동단말장치 (10) 의악성코드검사요청이있는것으로설명하였지만, 이동단말장치 (10) 의악성코드검사요청없이가입자정보카드장치 (20) 가자동으로 HTTP 트래픽에대한악성코드검사를수행하는실시예도가능하다. 예를들어, 이동단말장치 (10) 는악성코드검사요청없이 HTTP 트래픽을가입자정보카드장치 (20) 에게전달하고, 가입자정보카드장치 (20) 는사전에설정된 HTTP 트래픽에대해서악성코드검사를수행할수도있다. 예를들어, 가입자정보카드장치 (20) 는모든 HTTP 트래픽에대해서악성코드검사를수행할수도있고, 특성외부서버로부터전성된 HTTP 트래픽에대해서악성코드검사를수행할수도있다. 또는가입자정보카드장치 (20) 는스마트카드웹서버부 (22) 의처리를필요로하는 HTTP 트래픽에대해서악성코드검사를수행할수도있다. 악성코드검사대상의설정은사용자에의해변경될수도있다. 도 5는본발명의다른실시예에따른가입자정보카드장치 (20) 를통한악성코드처리과정을나타낸흐름도이다. 사용자는이동단말장치 (10) 를통해서악성코드검사대상이되는파일이나저장영역을선택할수있다. 악성코드검사대상은이동단말장치 (10) 의저장부 (214) 에저장된적어도하나의파일또는저장부 (214) 의일부저장영역이나모든저장영역으로선택될수있다. 물론, 가입자정보카드장치 (20) 의저장부 (223) 에저장된파일이나저장부 (223) 의저장영역역시악성코드검사대상이될수있다. 악성코드검사대상이선택되면 (S510), 이동단말장치 (10) 는가입자정보카드장치 (20) 에게선택된악성코드검사대상에대한악성코드검사를요청할수있다 (S520). 과정 S520에서악성코드검사요청메시지가전송될수있으며, 악성코드검사요청메시지는악성코드검사대상의식별정보 ( 예를들어, 파일이름, 저장영역 ID 등 ) 를포함할수있다. 악성코드검사대상이이동단말장치 (10) 의저장부 (214) 에저장된파일이거나저장부 (214) 의저장영역이라면, 가입자정보카드장치 (20) 는해당파일이나해당저장영역에저장된파일들의바이너리코드 (binary code) 를이동단말장치 (10) 에게요청할수있다 (S530). 이때, 이동단말장치 (10) 는요청된코드바이너리를가입자정보카드장치 (20) 에게전송할수있다 (S540). 물론, 악성코드검사대상이가입자정보카드장치 (20) 의저장부 (223) 에저장된파일이거나저장부 (223) 의저장영역이라면, 과정 S530 및 S540 대신가입자정보카드장치 (20) 내에서악성코드처리부 (224) 가저장부 (223) 에서악성코드검사대상에해당하는파일의바이너리코드를획득하는과정으로대체될수있다. 다시도 5를참조하면, 가입자정보카드장치 (20) 는악성코드검사대상에대해악성코드검사를수행할수있다 (S550). 과정 S550에서가입자정보카드장치 (20) 의제어부 (226) 는악성코드처리부 (224) 에게악성코드검사를요청할수있으며, 악성코드처리부 (224) 는저장부 (223) 의보안영역에저장된악성코드정보를읽어온후, 바이너리코드와악성코드정보를비교함으로써악성코드를검사할수있다. 그후, 가입자정보카드장치 (20) 는악성코드검사결과를이동단말장치 (10) 에게전달할수있다 (S560). 이동단말장치 (10) 는가입자정보카드장치 (20) 로부터수신한악성코드검사결과를사용자에게디스플레이할수있으며, 사용자는이를통해서악성코드검사대상이악성코드에감염되었는지여부를확인할수있다. 악성코드검사대상에악성코드가존재하는경우사용자는해당악성코드를치료하도록요청할수있으며, 사용자의요청이있으면이동단말장치 (10) 는악성코드의치료를요청하는치료요청메시지를가입자정보카드장치 (20) 에게전송할수있다 (S570). - 11 -
[0084] [0085] 가입자정보카드장치 (20) 는바이너리코드에서악성코드를치료할수있으며 (S580), 치료결과를이동단말장치 (10) 에게전송할수있다 (S590). 물론, 가입자정보카드장치 (20) 는치료가완료된바이너리코드도이동단말장치 (10) 에게전송할수있으며, 이동단말장치 (10) 는이를저장할수있다. 이상과첨부된도면을참조하여본발명의실시예를설명하였지만, 본발명이속하는기술분야에서통상의지식을가진자는본발명이그기술적사상이나필수적인특징을변경하지않고서다른구체적인형태로실시될수있다는것을이해할수있을것이다. 그러므로이상에서기술한실시예들은모든면에서예시적인것이며한정적이아닌것으로이해해야만한다. [0086] [0087] [0088] [0089] [0090] [0091] [0092] [0093] [0094] 도면의간단한설명도 1은본발명의일실시예에따른통신시스템을나타낸도면이다. 도 2는본발명의일실시예에따른이동단말장치와가입자정보카드장치를나타낸블록도이다. 도 3은본발명의일실시예에따른상호인증과정을나타낸흐름도이다. 도 4는본발명의일실시예에따른가입자정보카드장치를통한악성코드처리과정을나타낸흐름도이다. 도 5는본발명의일실시예에따른가입자정보카드장치를통한악성코드처리과정을나타낸흐름도이다. < 도면의주요부분에관한부호의설명 > 221 : 단말기인터페이스부 222 : 스마트카드웹서버부 223 : 저장부 224 : 악성코드처리부 225 : 암 / 복호화부 226 : 제어부 도면 도면 1-12 -
도면 2-13 -
도면 3-14 -
도면 4-15 -
도면 5-16 -