상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 보안 서비스 제공 방법은 제어 장치로부터 서비스를 요청 받는 단계, 보안 서비스 대상에 대해 허용된 서비스 제공 시간을 나타내는 허용 시간 및 보안 서비스 대상에 대해 서비스가 제공된 시간을 누적한 경과 시간을 비교하는 단계, 상기 비교 결과 상기 허용 시간이 상기 경과시간보다 큰 경우에 상기 제어 장치로부터 요청된 서비스를 제공하는 단계, 및 상기 서비스가 제공되는 시간을 반영하여 상기 경과 시간을 업데이트하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 보안 서비스 제공 방법은 제어 장치가 피제어 장치에게 서비스를 요청 하는 단계, 상기 서비스 요청을 수신한 피제어 장치가 보안 서비스 대상에 대해 허용된 서비스 제공 시간을 나타내는 허용 시간 및 보안 서비스 대상에 대해 서비스가 제공된 시간을 누적한 경과 시간을 비교하는 단계, 상기 비교 결과 상기 허용 시간이 상기 경과시간보다 큰 경우에 상기 제어 장치로부터 요청된 서비스를 제공하는 단계, 및 상기 서비스가 제공되는 시간을 반영하여 상기 경과 시간을 업데이트하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 보안 서비스 제공 장치는 제어 장치 및 관리장치와 데이터를 송수신하는 네트워크 인터페이스부, 상기 네트워크 인터페이스부를 통해 서비스 요청이 수신된 경우, 상기 서비스를 요청한 보안 서비스 대상에 대해 허용된 서비스 제공 시간을 나타내는 허용 시간이 상 기 보안 서비스 대상에 대해 서비스가 제공된 시간을 누적한 경과 시간보다 큰 경우 상기 요청된 서비스를 제공하도록 제어하는 제어부, 및 상기 서비스가 제공되는 시간을 반영하여 상기 경과 시간을 업데이트하는 경과시간 처리부를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 보안 서비스 제공 시스템은 서비스를 요청하는 제어 장치, 특정 보안 서비스 대상에 대해 허용된 서비스 제공 시간을 나타내는 허용 시간이 상기 보안 서비스 대상에 대해 서비스가 제공된 시간을 누적한 경과 시간보다 큰 경우에 상기 제어 장치로부터 요청된 서비스를 제공하고, 상기 서비스가 제공되는 시간을 반영하여 상기 경과 시간을 업데이트하는 피제어 장치, 및 상기 피제어 장치에 상기 허용시간을 설정하는 관리장치를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명을 설명하는데 있어서, 소정의 로컬 네트워크(local network)의 대표 적인 예에 해당되는 홈 네트워크 시스템을 통해 설명할 것이나 본 발명은 이에 한정되지 않으며 본 발명을 통해 설명되는 관리장치, 제어장치 및 피제어 장치로 구성되는 네트워크 시스템 또한 본 발명의 범위에 포함된다. 또한 본 발명을 통해 설명되는 관리장치, 제어장치 및 피제어 장치는 UPnP 미들웨어를 사용하는 홈 네트워크 환경을 가정한 것이나 이 또한 예시적인 것에 불과하며, UPnP뿐만 아니라 JINI, HAVi, HWW와 같은 동적인 메커니즘의 미들웨어를 통해 이해될 수 있는 네트워크 장치들의 기능에 의한 다양한 변형 및 균등한 타 실시예가 가능하다는 점은 본 기술분야의 통상의 지식을 가진 자라면 이해할 수 있을 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 홈 네트워크 시스템을 나타낸 도면이다.
도시된 홈 네트워크 시스템은 관리 장치(100), 제어 장치(200) 및 피제어 장치(300)를 포함한다. 관리 장치(100), 제어 장치(200) 및 피제어 장치(300)는 동일한 홈 네트워크 내에 하나 이상 포함될 수 있다.
본 발명의 실시예에 따라 피제어 장치(300)는 제어 장치(200)에 관한 정보 및 제어 장치(200)로부터 요청되는 서비스를 제공하는데 대한 접근 제어 정보를 저장하고 있다. 접근 제어 정보에는 제어 장치의 요청에 따라 서비스를 제공할 수 있는 최대 시간(이하 허용 시간이라 한다)이 포함되며, 이러한 접근 제어 정보는 도 3을 통해 후술하도록 한다.
제어 장치(200)로부터 서비스가 요청되면 피제어 장치(300)는 접근 제어 정 보에 따라 서비스 제공을 제어하게 된다. 특히 본 발명에 따른 피제어 장치(300)는 접근 제어 정보에 포함된 허용시간 이내에서 제어 장치(200)의 제어 요청에 따른 서비스를 제공할 수 있다. 이러한 접근 제어 정보는 종래와 같이 관리 장치(100)에 의해 편집 가능하다. 이에 따라 관리 장치(100)는 피제어 장치(300)에 새로운 접근 제어 정보를 설정하거나 기존의 접근 제어 정보를 삭제 또는 변경할 수 있다.
이러한 접근 제어 정보 리스트를 통해 피제어 장치(300)의 서비스 제공에 대한 제어는 홈 네트워크에 포함된 제어장치, 제어장치를 사용하는 사용자 및 사용자들로 이루어진 사용자 그룹 별(이하 접근 제어 대상이라 통칭 한다)로 가능하다. 이러한 방법에 의하면 홈 네트워크에 포함된 피제어 장치들 마다 개별적인 보안 서비스를 제공할 수 있다.
한편 본 발명의 다른 실시예에 따라, 제어 장치(200)로부터 서비스가 요청되면 피제어 장치(300)는 관리 장치(100)로부터 제어 장치(200)의 요청에 대해 서비스를 제공할 수 있는 시간이 어느 정도 남아 있는지 확인 받을 수 있다. 이 경우, 관리 장치(100)로부터 확인된 결과에 따라 피제어 장치(300)는 제어 장치(200)의 요청에 대해 서비스를 제공할 것인지의 여부를 판단할 수 있다. 이러한 방법에 의할 경우 홈 네트워크에 포함된 복수의 피제어 장치에 대한 종합적인 보안 서비스를 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 피제어 장치(300)를 나타낸 블록도이다.
도시된 피제어 장치는 암호화부(310), 네트워크 인터페이스부(320), 제어부 (330), 경과시간 처리부(340), 어플리케이션 구동부(350) 및 저장부(360)를 포함한다.
암호화부(310)는 제어부(330)의 제어에 따라 관리 장치(100) 또는 제어 장치(200)로 전송하는 데이터를 암호화하거나, 관리 장치(100) 또는 제어 장치(200)로부터 암호화되어 수신된 데이터를 복호화 한다.
암호화부(310)는 공개키 암호화 방식뿐만 아니라 비밀키 암호화 방식에 의한 암호화 및 복호화를 수행할 수 있으며 두 가지 방식을 모두 수행하기 위해 하나 이상의 암호화부가 존재할 수도 있다. 바람직하게는 공개키 암호화 방식의 암호화 및 복호화는 관리 장치(100) 또는 제어 장치(200)와의 통신 세션을 확립하는 동안의 통신 보안을 위해 사용된다. 한편 비밀키 암호화 방식의 암호화 및 복호화는 통신 세션이 확립된 이후의 통신 보안을 위해 사용되며, 이때 사용되는 키는 통신 세션 확립 결과 생성된 세션키이다.
네트워크 인터페이스부(320)는 유선 또는 무선 전송 매체를 통해 관리 장치(100)나 제어 장치(200)와 데이터를 송수신 한다.
제어부(330)는 관리 장치(100) 또는 제어 장치(200)와의 통신 과정을 제어한다. 제어 장치(200)로부터 서비스가 요청되면 제어부(330)는 서비스를 요청한 제어 장치(200)에 대한 접근 제어 정보를 저장부(360)에서 검색한다. 이때 제어부(330)는 검색된 접근 제어 정보를 통해 허용되는 범위 내에서 제어 장치(200)가 요청한 서비스를 제공하도록 어플리케이션 구동부(350)를 제어한다.
한편 제어부(330)는 제어 장치(200)에 대해서 뿐만 아니라 제어 장치(200)를 사용하는 사용자에 대해서도 서비스의 제공을 제어할 수 있다. 이를 위해 제어 장치(200)를 통해 서비스의 제공을 요청한 사용자가 사용자 인증부(360)에 의해 정당한 사용자로 인증되면, 제어부(330)는 인증된 사용자에 대한 접근 제어 정보를 저장부(360)에서 검색하고, 검색된 접근 제어 정보에 따라 서비스의 제공을 제어하게 된다.
또한 제어부(330)는 한 명 이상의 사용자로 구성된 사용자 그룹별로 서비스의 제공을 제어할 수도 있다. 예컨데 저장부(360)에 저장된 사용자 정보 파일에 각 사용자가 속한 사용자 그룹에 대한 정보도 포함된 경우, 제어부(330)는 사용자 인증부(360)에 의해 인증된 사용자가 속한 사용자 그룹에 대한 접근 제어 정보를 저장부(360)에서 검색하고 검색된 접근 제어 정보에 따라 서비스의 제공을 제어할 수 있다.
본 발명의 다른 실시예에 따라 제어부(330)는 소정의 시간 정보를 관리장치(100)에게 요청하고, 관리장치(100)로부터 전송된 시간정보에 따라 제어 장치(200)를 통해 요청된 서비스를 제공을 제어할 수도 있다.
경과시간 처리부(340)는 어플리케이션 구동부(350)를 통해 서비스가 제공된 시간을 측정하고, 측정된 시간을 반영하여 저장부(370)에 저장된 경과 시간을 업데이트한다. 이러한 경과시간 업데이트는 서비스의 제공이 마쳐진 경우에 수행될 수도 있고, 서비스가 제공되는 도중에 주기적으로 수행될 수도 있다.
한편 본 발명의 다른 실시예에 따라 서비스 제공 여부를 제어하는데 필요한 소정의 시간 정보가 관리장치(100)로부터 전송된 경우 경과시간 처리부(340)는 네 트워크 인터페이스부(320)를 통해 관리장치(100)에게 경과시간을 업데이트하도록 요청할 수도 있다.
어플리케이션 구동부(350)는 제어부(330)의 제어에 따라, 제어 장치(200)로부터 요청된 서비스를 제공한다. 예컨데 피제어 장치(300)가 DVD 플레이어인 경우 어플리케이션 구동부(350)는 동영상 파일의 재생을 수행할 수 있다.
사용자 인증부(360)는 접근 제어 대상이 사용자인 경우, 서비스를 제공 받기 원하는 사용자가 정당한 사용자인지에 관한 인증을 수행한다. 예컨데 사용자가 제어 장치(200)를 통해 사용자 인증 정보(예컨데 사용자를 식별할 수 있는 사용자 식별자와 사용자 식별자를 입력한 사용자가 정당한 사용자인지 판단하기 위한 패스워드)를 입력하여 전송시키면, 이를 수신한 피제어 장치(300)의 사용자 인증부(360)는 저장부(370)에 저장된 사용자 정보 파일을 통해 정당한 사용자인지의 여부를 판단한다. 정당한 사용자로 판단된 경우 제어부(330)는 해당 사용자에 대한 접근 제어 정보를 저장부(370)에서 검색하고, 검색된 접근 제어 정보에 따라 서비스의 제공을 제어하게 된다.
저장부(370)는 사용자 정보 파일, 경과시간 파일 및 접근 제어 정보 리스트를 저장하며 이를 도 3을 참조하여 설명한다.
사용자 정보 파일은 사용자를 인증 하는데 필요한 데이터를 포함한다. 예컨데 사용자 정보 파일은 사용자를 식별할 수 있는 사용자 식별자, 사용자 식별자를 이용하는 사용자에 대해 인증할 수 있는 패스워드, 사용자가 속한 사용자 그룹을 식별할 수 있는 사용자 그룹 식별자 등을 포함할 수 있다.
경과시간 파일은 각 접근 제어 대상(각 사용자, 사용자 그룹, 제어 장치)에 대해 서비스가 제공된 시간의 누적 값인 경과시간이 기록된 파일이다. 경과시간은 어플리케이션 구동부(350)에 의해 서비스가 제공됨에 따라 경과시간 처리부(340)에 의해 업데이트 된다. 경과 시간은 사용자, 사용자 그룹, 제어 장치 별로 기록될 수 있다. 이러한 경과 시간은 제어부(330)가 서비스 제공을 지속할 것인지의 여부를 판단하는데 사용 된다.
예컨데 사용자A가 임의의 제어 장치를 통해 피제어 장치(300)에게 서비스를 요청한 경우, 제어부(330)는 사용자A에 대한 접근 제어 정보에 포함된 허용시간과 경과시간 파일에 포함된 사용자A의 경과시간을 비교한다. 비교 결과 제어부(330)는 허용 시간이 경과 시간보다 큰 경우에 사용자A가 요청한 서비스를 제공하도록 어플리케이션 구동부(350)를 제어하게 된다.
접근 제어 정보 리스트는 각 접근 제어 대상에 대한 접근 제어 정보를 포함한다. 도 4를 참조하여 접근 제어 정보 리스트에 대해 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 접근 제어 정보 리스트(ACL)을 구성하는 엔트리를 XML로 작성한 예를 나타낸 도면이다.
엔트리는 각 접근 제어 대상에 대한 접근 제어 정보이다.
도시된 문서에서 subject 태그는 서비스를 요청하는 제어 장치(200)를 식별하기 위해 사용된다. 따라서 subject 태그에는 제어 장치(200)의 공개키, 주소와 같이 제어 장치(200)를 식별할 수 있는 식별 정보가 삽입된다.
subject 태그 내의 userid 태그는 본 발명에 따라 새로이 삽입된 태그로서, 서비스를 이용하고자 하는 사용자를 식별하기 위해 사용된다. 따라서 userid 태그에는 사용자를 식별할 수 있는 식별 정보가 삽입된다.
groupid 태그 또한 본 발명에 따라 새로이 삽입된 태그로서, 서비스를 이용하고자 하는 사용자가 속한 사용자 그룹을 식별하기 위해 사용된다. 따라서 groupid 태그에는 사용자 그룹을 식별할 수 있는 식별 정보가 삽입된다.
이로써 본 발명의 실시예에 따른 피제어 장치(300)는 제어 장치, 제어 장치를 통해 서비스를 이용하려는 사용자, 사용자가 속한 사용자 그룹별로 서비스 제공을 제어할 수 있게 된다.
access 태그는 subject 태그 또는 userid 태그를 통해 식별되는 제어 장치(200)나 사용자가 이용할 수 있는 서비스 제어 정보를 나타낸다. 예컨데 피제어 장치가 오디오 장치인 경우, 서비스 제어 정보는 재생, 정지, 볼륨 조절, 음악 파일 다운로드 등 피제어 장치가 제공하는 서비스의 이용 및 제어에 관한 정보일 수 있다. 제어부(330)는 access 태그를 통해 접근 제어 대상이 이용할 수 있는 서비스의 종류를 판단할 수 있으며, access 태그에 설정되지 않은 서비스에 대한 요청이 수신되면 오류 메시지를 출력하거나 해당 요청에 반응하지 않을 수 있다.
valid 태그는 서비스를 이용할 수 있는 기간을 제어하는데 사용된다. 예컨데 not-before 태그를 사용하면 not-before 태그에 설정된 날짜 이전에는 서비스를 이용할 수 없도록 제어할 수 있다. 마찬가지로 not-after 태그를 사용하면 not-after 태그에 설정된 날짜 이후에는 서비스를 이용할 수 없도록 제어할 수 있다.
valid 태그 내의 accumulate 태그는 본 발명의 실시예에 따라 새로이 삽입된 태그로서, 서비스를 이용할 수 있는 허용시간을 설정하는데 사용된다. 예컨데 accumulate 태그에 10시간이 설정되면 subject 태그를 통해 식별되는 제어 장치, userid 태그를 통해 식별되는 사용자 또는 groupid 태그를 통해 식별되는 사용자 그룹은 총 10시간 동안 피제어 장치(300)의 서비스를 이용할 수 있게 된다.
accumulate 태그는 not-before 태그나 not-after 태그와 함께 사용될 수도 있다. 이 경우 not-before 태그나 not-after 태그를 통해 설정된 기간 내에서 accumulate 태그를 통해 설정된 허용시간 동안 서비스를 제공할 수 있다.
ACL은 각 접근 제어 대상 별로 이러한 엔트리를 포함하고 있다.
한편 저장부(370)는 피제어 장치(300)의 개인키/공개키 쌍을 저장할 수 있다. 개인키 및 공개키는 암호화부(310)에 의해 수행되는 공개키 암호화 방식에서 사용되는 키 값이다.
도 5는 본 발명의 일 실시예에 따른 관리 장치(100)를 나타낸 블록도이다.
도시된 관리 장치는 암호화부(110), 네트워크 인터페이스부(120), 제어부(130) 및 경과시간 처리부(140), 저장부(150) 및 사용자 인터페이스부(160)를 포함한다.
암호화부(110)는 제어부(130)의 제어에 따라 제어 장치(200) 또는 피제어 장치(300)로 전송하는 데이터를 암호화하거나, 제어 장치(200) 또는 피제어 장치(300)로부터 암호화되어 수신된 데이터를 복호화 한다. 이를 통해 제어 장치(200) 또는 피제어 장치(300)와의 통신에 보안을 강화할 수 있다.
암호화부(110)는 공개키 암호화 방식뿐만 아니라 비밀키 암호화 방식에 의한 암호화 및 복호화를 수행할 수 있으며 두 가지 방식을 모두 수행하기 위해 하나 이상의 암호화부가 존재할 수도 있다. 바람직하게는 공개키 암호화 방식의 암호화 및 복호화는 제어 장치(200) 또는 피제어 장치(300)와의 통신 세션을 확립하는 동안의 통신 보안을 위해 사용된다. 한편 비밀키 암화화 방식의 암호화 및 복호화는 통신 세션이 확립된 이후의 통신 보안을 위해 사용되며, 이때 사용되는 키는 통신 세션 확립 결과 생성된 세션키이다.
네트워크 인터페이스부(120)는 유선 또는 무선 전송 매체를 통해 제어 장치(200)나 피제어 장치(300)와 통신을 수행한다.
제어부(130)는 제어 장치(200) 또는 피제어 장치(300)와의 통신 과정을 제어한다. 한편 제어부(130)는 피제어 장치(300)에 저장된 접근 제어 정보를 편집할 수 있다. 접근 제어 정보의 편집은 기존 접근 제어 정보를 삭제, 변경하거나 새로운 접근 제어 정보를 추가하는 개념을 포함한다. 본 발명의 일 실시예에 따른 접근 제어 정보에 대한 설명은 도 3을 통해 설명한 바와 같다.
또한 제어부(130)는 피제어 장치(300)로부터 특정 보안 서비스 대상에 대한 시간 정보 요청이 수신된 경우 저장부(150)에 저장된 허용시간 및 경과 시간을 검색하여 네트워크 인터페이스부(120)를 통해 피제어 장치(300)에게 전송한다. 본 발명의 다른 실시예로써 피제어 장치(300)로부터 시간 정보 요청이 수신된 경우 제어부(130)는 검색된 허용시간과 경과시간의 차이값을 전송시킬 수도 있다. 이때 차이값은 피제어 장치(300)가 특정 제어 장치 또는 사용자에 대해 서비스를 제공할 수 있는 잔여 시간을 의미한다.
경과시간 처리부(140)는 피제어 장치(300)로부터 경과시간 업데이트 요청과 함께 특정 보안 서비스 대상에 대해 서비스가 제공된 시간이 수신되면 수신된 시간을 저장부(150)에 저장된 경과시간에 반영하여 해당 보안 서비스 대상에 대한 경과시간을 업데이트 한다.
사용자 인터페이스부(150)는 사용자로부터 보안 서비스 대상 별로 특정 피제어 장치의 서비스 제공에 대한 접근 제어 정보를 입력 받는다.
저장부(160)는 각 보안 서비스 대상에 대한 경과 시간 및 허용시간을 저장한다. 이때의 경과시간은 보안 서비스 대상이 홈 네트워크 내의 각 피제어 장치들을 통해 서비스를 제공 받은 시간들의 합이고, 허용시간은 홈 네트워크 내의 각 피제어 장치들을 통해 서비스를 제공 받을 수 있도록 허용된 총 시간일 수 있다.
예컨데 특정 사용자가 홈 네트워크 내의 제1 피제어 장치를 통해 1시간 동안 서비스를 제공 받고, 제2 피제어 장치를 통해 3시간 동안 서비스를 제공 받은 경우 해당 사용자에 대한 경과시간은 사용자가 각 피제어 장치들을 통해 서비스를 제공 받은 시간의 합인 4시간이 된다. 만약 관리 장치(100)의 저장부(160)에 해당 사용자에 대한 허용시간이 5시간으로 설정되어 있었다면 사용자는 제1 피제어 장치, 제2 피제어 장치 또는 홈 네트워크 내의 다른 피제어 장치를 통해 1시간 동안 서비스를 제공 받을 수 있다.
도 6은 본 발명의 일 실시예에 따른 보안 서비스 과정을 나타낸 흐름도이다.
최초, 제어 장치(200)와 피제어 장치(300)간에 통신 보안을 유지하기 위한 일련의 통신 세션 확립 과정이 수행될 수 있으며(S310) 이러한 통신 세션 확립 과 정(S110)은 종래 기술을 따를 수 있다.
그 후 사용자가 제어 장치(200)를 통해 피제어 장치(300)에게 서비스를 요청하면(S120), 사용자 인증이 필요한 경우 피제어 장치(300)의 사용자 인증부(360)는 제어 장치(200)에게 사용자 인증 정보를 요청한다(S130).
이때 제어 장치(200)는 사용자에 의해 입력된 사용자 인증 정보(예컨데 전술한 사용자 식별 정보 및 패스워드)를 피제어 장치(300)에게 전송한다(S140).
제어 장치(200)로부터 사용자 인증 정보를 입력 받은 피제어 장치(300)의 사용자 인증부(360)는 저장부(370)에 저장된 사용자 정보 파일에서 제어 장치(200)로부터 전송 받은 사용자 인증 정보와 일치하는 사용자 정보를 검색한다(S150).
제어 장치(200)로부터 전송된 인증 정보와 일치하는 사용자 정보가 검색되면 사용자 인증부(360)는 제어 장치(200)에게 사용자 인증이 완료되었음을 알린다(S160). 만약 제어 장치(200)로부터 전송된 인증 정보와 일치하는 사용자 정보가 검색되지 않으면, 사용자 인증부(360)는 네트워크 인터페이스부(320)를 통해 제어 장치(300)에게 사용자 인증에 실패했음을 알릴 수 있다. 이 경우 피제어 장치(300)의 제어부(330)는 요청된 서비스를 제공하지 않도록 어플리케이션 구동부(350)를 제어할 수 있다.
사용자 인증 후 제어부(330)는 저장부(370)에서 인증된 사용자에 대한 접근 제어 정보를 검색하고, 검색된 접근 제어 정보에 설정된 제한 조건에 따라 제어 장치(200)로부터 요청된 서비스를 제공하도록 어플리케이션 구동부(350)를 제어하게 된다(S170).
이때 경과시간 처리부(340)는 어플리케이션 구동부(350)에 의해 서비스가 제공되는 시간만큼 저장부(370)에 저장된 경과 시간을 업데이트하게 된다(S180).
한편 도시된 과정은 사용자를 접근 제어 대상으로 설정한 경우이며, 이와 유사한 과정을 통해 사용자 그룹 또는 제어 장치를 접근 제어 대상으로 삼을 수 있다. 제어 장치를 접근 제어 대상으로 삼는 경우 단계 S130 내지 단계 S160의 과정은 생략될 수 있으며, 이 때에는 통신 세션 확립 과정(S110)을 통해 얻어진 제어 장치(200)의 식별 정보(예컨데 제어 장치의 공개키, 주소 등)를 통해 접근 제어 대상을 식별할 수 있다.
도 7은 도 6의 서비스 제공 과정(S170)을 보다 구체적으로 나타낸 흐름도이다.
사용자 인증이 마쳐지면 피제어 장치(300)의 제어부(330)는 저장부(360)에서 인증된 사용자에 대한 허용시간 및 인증된 사용자의 경과 시간을 검색한다(S210).
제어부(330)는 검색된 허용시간 및 경과 시간을 비교하여 제어 장치(200)를 통해 사용자에 의해 요청된 서비스의 제공 여부를 판단하게 된다(S220).
비교 결과 허용시간이 경과시간보다 크면 인증된 사용자가 서비스를 제공 받을 수 있는 시간이 남아 있는 것이므로, 제어부(330)는 어플리케이션 구동부(360)를 통해 요청된 서비스를 제공 한다(S230).
그러나 허용시간이 경과시간 보다 크지 않으면 인증된 사용자는 자신에게 할당된 서비스 이용시간을 모두 소비한 것이므로, 제어부(330)는 네트워크 인터페이스부(320)를 통해 제어장치에게 서비스를 제공할 수 없다는 메시지를 출력한다 (S240).
한편 서비스가 제공되면 그에 따른 경과 시간 업데이트가 수행되며 이를 도 8을 참조하여 설명한다.
도 8은 도 6의 경과시간 업데이트 과정(S180)을 보다 구체적으로 나타낸 흐름도이다.
도 6 및 도 7을 통해 설명한 바와 같은 과정을 통해 어플리케이션 구동부(350)에 의해 서비스가 제공되면 경과시간 처리부(340)는 서비스가 제공된 시간을 누적하여 반영함으로써 저장부(360)에 저장된, 서비스를 요청한 사용자에 대한 경과시간을 업데이트 한다(S310).
경과 시간이 업데이트되면 제어부(330)는 업데이트된 경과시간과 허용시간을 비교한다(S320). 비교 결과 허용시간이 업데이트된 경과시간보다 크면 제어부(330)는 서비스 제공을 지속시키고(S330), 허용시간이 업데이트된 경과시간보다 크지 않으면 제어부(330)는 어플리케이션 구동부(350)를 제어하여 서비스 제공을 중단시킨다(S340).
서비스 제공이 중단되면 제어부(330)는 네트워크 인터페이스부(320)를 통해 제어 장치(200)에게 서비스 제공이 중단 되었다는 메시지를 전송시킬 수 있다(S350).
이와 같은 경과시간 처리부(340)의 경과시간 업데이트 및 그에 따른 제어부(330)의 서비스 제공 지속 여부 판단은 어플리케이션 구동부(350)에 의해 서비스가 제공되는 동안 주기적으로 수행될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 보안 서비스 과정을 나타낸 흐름도이다.
도시 된 과정에서 단계 S410 내지 단계 S460은 도 6을 통해 설명한 단계 S210 내지 단계 S260과 동일하게 수행될 수 있다.
사용자 인증이 완료되면 피제어 장치(300)의 제어부(330)는 인증된 사용자에 대한 소정의 시간 정보를 관리장치(100)에게 요청한다(465). 이때 요청되는 시간 정보는 인증된 사용자에 대한 경과시간 및 허용시간일 수 있다. 이때 경과시간은 보안 서비스 대상(본 실시예에서는 인증된 사용자)이 홈 네트워크 내의 각 피제어 장치들을 통해 서비스를 제공 받은 시간들의 합이고, 허용시간은 홈 네트워크 내의 각 피제어 장치들을 통해 서비스를 제공 받을 수 있도록 허용된 총 시간이다.
피제어 장치(300)로부터 인증된 사용자에 대한 시간 정보가 요청되면 관리장치(100)의 제어부(130)는 요청된 사용자에 대한 허용시간 및 경과시간을 검색하고(S470), 검색된 시간 정보를 네트워크 인터페이스부(120)를 통해 피제어 장치(300)에게 전송시킨다(S475).
이때 제어부(130)는 검색된 허용시간과 경과시간의 차분값을 전송시킬 수도 있으며, 차분값은 인증된 사용자에 대해 서비스를 제공할 수 있는 잔여 시간의 의미를 갖는다.
관리장치(100)로부터 허용시간 및 경과시간을 전송 받거나, 허용시간 및 경과시간의 차분값을 전송 받으면, 피제어 장치(300)의 제어부(330)는 전송된 시간 정보를 통해 서비스 제공 여부를 판단하고 판단 결과에 따라 어플리케이션 구동부 (350)를 통해 서비스를 제공하도록 제어한다(S480).
서비스 제공 단계(S480)은 도 7을 통해 설명한 일련의 과정 중 단계 S220 이하의 과정과 동일하게 수행될 수 있다. 만약 관리장치(100)로부터 전송 받은 시간 정보가 허용시간과 경과시간의 차분값인 경우, 단계 S220은 차분값이 0보다 큰지 판단하는 단계일 수 있다. 판단 결과 차분값이 0보다 크면 서비스를 제공하는 단계(S230)를 수행하고, 차분값이 0보다 작으면 서비스를 제공하지 않는 단계(S240)을 수행하게 된다.
한편 어플리케이션 구동부(350)에 의해 서비스가 제공되면 경과시간 처리부(340)는 서비스가 제공된 시간을 반영하여 경과시간을 업데이트 하도록 관리장치(100)에게 요청할 수 있다(S485).
피제어 장치(300)로부터 경과시간 업데이트 요청이 수신되면 관리장치(100)의 경과시간 처리부(140)는 피제어 장치(300)가 서비스를 제공한 시간을 반영하여 저장부(160)에 저장된 경과시간을 업데이트한다(S490).
이때 피제어 장치(300)의 경과시간 처리부(340) 또한 관리장치(100)로부터 전송 받은 사용자의 경과시간을 업데이트할 수 있다(S495).
도 8을 통해 설명한 바와 마찬가지로 이러한 업데이트 과정(S495, S490)은 주기적으로 수행될 수 있으며, 업데이트가 수행될 때 마다 피제어 장치(300)의 제어부(330)는 허용시간과 업데이트된 경과시간의 비교를 통해 어플리케이션 구동부(350)를 통한 서비스 제공을 지속시킬지의 여부를 판단할 수 있다.
한편 도시된 과정은 사용자를 접근 제어 대상으로 설정한 경우이며, 이와 유 사한 과정을 통해 사용자 그룹 또는 제어 장치를 접근 제어 대상으로 삼을 수 있다. 제어 장치를 접근 제어 대상으로 삼는 경우 단계 S430 내지 단계 S460의 과정은 생략될 수 있으며, 이 때에는 통신 세션 확립 과정(S410)을 통해 얻어진 제어 장치(200)의 식별 정보(예컨데 제어 장치의 공개키, 주소 등)를 통해 접근 제어 대상을 식별할 수 있다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.