KR20040101293A - 보안장치 - Google Patents

보안장치 Download PDF

Info

Publication number
KR20040101293A
KR20040101293A KR10-2004-7014216A KR20047014216A KR20040101293A KR 20040101293 A KR20040101293 A KR 20040101293A KR 20047014216 A KR20047014216 A KR 20047014216A KR 20040101293 A KR20040101293 A KR 20040101293A
Authority
KR
South Korea
Prior art keywords
digital data
destination information
protection level
storage
unit
Prior art date
Application number
KR10-2004-7014216A
Other languages
English (en)
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 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20040101293A publication Critical patent/KR20040101293A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Abstract

프로그램을 실행하기 위한 프로그램을 내부에 저장할 수 있는 보안장치는, 낮은 보호레벨의 저장부; 높은 보호레벨의 저장부; 프로그램과, 대응하는 부가정보로서, 상기 취득된 프로그램의 저장 목적지를 결정하기 위해 사용되는 부가정보를 취득하는 프로그램 취득부; 상기 부가정보에 따라 상기 낮은 보호레벨의 저장부와 상기 높은 보호레벨의 저장부 중의 하나에 상기 취득된 프로그램을 저장하는 부가정보 분석부; 영역 검색부; 보호레벨 판정부; 및 프로그램 저장부를 포함한다.

Description

보안장치{SECURE DEVICE}
최근, 인터넷 등을 통해 음악 콘텐츠와 동화상 콘텐츠를 배포하기 위한 다양한 종류의 전자정보 서비스가 유행하고 있다. 전자정보 서비스의 예로는 콘텐츠 배포 서비스와 모바일 EC 서비스가 있다.
이러한 전자정보 서비스는 권한없이 콘텐츠를 사용하는 것을 방지하기 위한 콘텐츠 보호기술과, 모바일 EC에서의 인증기술 및 비용청구 기술 등의 EC보호기술을 필요로 한다. 따라서 이러한 기술을 갖춘 보안장치가 이미 개발되어 있거나 사용 중에 있다.
예를 들어, 사용자는 이러한 보안장치를 이동전화기에 장착하여 길거리에서 콘텐츠 배포 서비스와 모바일 EC 서비스 등을 안전하게 실행하고 있다.
이러한 보안장치에 대한 상세한 정보에 대해, 미야케 준(MIYAKE Jun), 이시하라 하루츠구(ISHIHARA Harutsugu), 및 츠네히로 다카시(TSUNEHIRO Takashi)에 의한 특별 발행물인 2001년 10월 히타치 효론(Hitachi Hyoron)의 "콘텐츠 배포 및 모바일 상거래를 위한 보안 멀티미디어 카드"는 콘텐츠 보호기술과 EC 보호기술을 갖춘 보안 멀티미디어 카드(이하, "SMMC"라 약칭함)를 기재하고 있다.
프로그램 다운로드 기능을 갖는 SMMC들이 있으며, 그 일례로 자바(JAVA) 카드(자바는 등록된 상표임)가 있다. 여기에서, 다운로드되는 프로그램이란 새로운 어플리케이션 프로그램과 이미 카드 상에서 실행되고 있는 프로그램의 갱신버전을 말한다.
프로그램 다운로드 기능을 갖는 SMMC는 그의 TRM(Tamper Resistant Module: 위조 방지 모듈)에 암호처리 엔진, 보안 키 정보, CPU, RAM, ROM, 및 EEPROM을 포함한다. SMMC는 또한 TRM의 외부에 대용량(예를 들면, 8MB에서 256MB의 범위)의 플래시 메모리(flash memory)를 포함한다. SMMC에서, CPU는 암호처리 엔진과 보안 키 정보를 이용하여 인증처리와 암호처리 등을 제어한다. CPU는 또한 프로그램의 실행을 위해 외부장치로부터 다운로드되는 프로그램을 취득하고, 취득된 프로그램을 TRM에 장착된 EEPROM에 저장한다.
여기에서, TRM은 외부장치가 저장 데이터를 권한없이 참조하고, 위조하는 등의 행위를 방지하는 수단을 구비한 모듈이다.
또한, 플래시 메모리에는 배포 콘텐츠인 음악 콘텐츠와 동화상 콘텐츠 등의 각종 디지털 데이터가 저장된다.
TRM에 장착된 EEPROM은 저장용량에 대한 단가의 관점에서 보면 다른 메모리에 비해 값비싼 장치이다. 따라서 EEPROM의 용량증가는 SMMC의 비용에 큰 영향을 줄 것이다. 또한 장치의 특성 때문에 TRM에 장착가능한 EEPROM의 용량은 제한된다. 현재의 구조에 따르는 EEPROM의 표준용량은 약 64KB이다.
한편, SSMC에 다운로드되는 어플리케이션 프로그램은 이제부터는 상당히 증가될 것으로 예상된다. 이러한 관점에서, 현재의 구조를 갖는 TRM의 EEPROM에, 필요한 어플리케이션 프로그램을 저장할 수 없게 될 것이 확실하다.
TRM의 EEPROM이 수용할 수 없는 어플리케이션 프로그램을 TRM 외부의 플래시 메모리에 저장하는 방법이 있다. 그러나 이러한 방법의 무계획적인 사용은 보안의 관점에서 보면 실용적이지 못하고, 적어도 각 프로그램 관리자로부터 승인을 얻는 것이 필수적이다. 이러한 시스템을 실현하기 위해서는 보안성을 확보하는 새로운 기술이 필요하다.
본 발명의 목적은 프로그램 관리자에 의해 요구되는 보안성을 확보하면서, TRM 상에서 실현되는 저장영역의 용량을 초과하는 프로그램을 다운로드할 수 있는 보안장치를 제공하기 위한 것이다.
본 발명은 콘텐츠의 권한없는 사용을 방지하는 기술과, 전자 상거래(모바일 EC)에서 사기를 방지하기 위한 기술을 갖는 보안장치에 관한 것이다.
도 1은 본 발명의 제 1 실시예에 관한 보안 시스템의 구성을 도시한 도면
도 2는 본 발명의 제 1 실시예에 관한 보안장치의 구성을 도시한 도면
도 3은 본 발명의 제 1 실시예의 부가정보를 도시한 도면
도 4는 본 발명의 제 1 실시예의 보안장치(100)에서 프로그램의 다운로드 처리가 어떻게 동작하는지를 보여주는 흐름도
도 5는 본 발명의 제 2 실시예에 관한 보안장치(200)의 구성을 도시한 도면.
도 6은 본 발명의 제 2 실시예의 부가정보를 나타낸 도면
도 7은 본 발명의 제 1 실시예의 보안장치(100)에서 프로그램의 다운로드 처리가 어떻게 동작하는지를 보여주는 흐름도
본 발명에 따르는 보안장치는 각각이 저장영역을 갖는 복수의 저장부; 디지털 데이터와, 상기 디지털 데이터에 부가되어 상기 디지털 데이터의 저장 목적지로서의 저장부를 결정하기 위해 사용되는 목적지 정보를 취득하는 취득부; 및 상기 목적지 정보에 기초하여 결정된 저장부에 상기 디지털 데이터를 저장하는 처리부를 포함한다.
각각이 저장영역을 포함하는 복수의 저장부를 보안장치가 구비하는 경우, 본 발명에 따르는 보안장치를 위한 저장방법은, 디지털 데이터와, 상기 디지털 데이터의 저장 목적지로서의 저장부를 결정하기 위해 사용되는 목적지 정보를 통신으로취득하는 단계와; 상기 목적지 정보에 기초하여 지정된 저장부에 상기 디지털 데이터를 저장하는 단계를 포함한다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 디지털 데이터에 대한 목적지 정보를 설정할 수 있다. 이것은 TRM 내부에 장착된 EEPROM 등의 높은 보호레벨을 갖는 저장부의 용량이 부족할 때 유용하다. 특히 이러한 경우 관리자에 의해 설정된 목적지 정보에 따른다면 그 디지털 데이터는 TRM 외부에 장착된 플래시 메모리 등의 낮은 보호레벨을 갖는 저장부에 저장될 수 있다. 그러므로 이러한 구성으로 그 가격에 따라 디지털 데이터를 유효하게 저장할 수 있게 된다.
따라서, TRM에 장착된 저장영역의 용량을 초과하는 프로그램을 다운로드할 때, 관리자에 의해 요구되는 보안성을 확보하면서도 다운로드를 실현할 수 있게 된다.
또, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있고, 상기 목적지 정보는 상기 디지털 데이터에 필요한 보호레벨을 특정할 수 있으며, 상기 처리부는 상기 목적지 정보에 의해 특정된 보호레벨과 동일한 보호레벨에 대응하는 저장부를 상기 디지털 데이터를 위한 저장 목적지로서 결정할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 디지털 데이터에 필요한 보호레벨을 설정하여, 그 디지털 데이터의 보호레벨과 동일한 보호레벨에 대응하는 저장부를 그 디지털 데이터에 대한 저장 목적지로서 결정할 수 있다. 이러한 구성은 그 가격에 따라 디지털 데이터를 효과적으로 저장할 수 있게 해준다.
또한, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있으며, 상기 목적지 정보는 상기 디지털 데이터에 필요한 보호레벨을 특정할 수 있고, 상기 처리부는 상기 목적지 정보에 의해 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부를 상기 디지털 데이터를 위한 저장 목적지로서 결정할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 디지털 데이터에 필요한 보호레벨을 설정하여, 그 디지털 데이터의 보호레벨 이상의 보호레벨에 대응하는 저장부를 그 디지털 데이터에 대한 저장 목적지로서 결정한다. 이러한 구성은 그 가격에 따라 디지털 데이터를 효과적으로 저장할 수 있게 해준다.
또, 상술한 보안장치에서, 상기 처리부는, 상기 목적지 정보에 의해 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부 중에서, 상기 디지털 데이터를 수용하기 위한 빈 저장영역을 갖는 모든 저장부를 검색하는 검색 서브유닛; 상기 디지털 데이터를 수용하기 위한 빈 저장영역을 갖는 것으로 발견된 모든 저장부 중에서, 가장 높은 보호레벨에 대응하는 저장부를 상기 디지털 데이터의 저장 목적지인 것으로 결정하는 결정 서브유닛; 및 상기 결정 서브유닛에 의해 결정된 상기 저장부에 상기 디지털 데이터를 저장하는 저장 서브유닛을 추가로 포함할 수 있다.
상술한 구성은 이용가능한 저장영역을 갖는 저장부 중에서 가장 높은 보호레벨을 갖는 저장부를 저장 목적지로서 결정할 수 있게 해준다. 따라서 각 디지털 데이터는 안전하게 저장된다.
또한, 상술한 보안장치에서, 상기 처리부는 상기 검색 서브유닛에 의해 발견된 저장부가 없으면, 상기 디지털 데이터가 저장될 수 없음을 사용자에게 보여주도록 에러정보를 출력하는 출력 서브유닛을 추가로 포함할 수 있다.
상술한 구성은 이용가능한 저장영역이 없을 때 디지털 데이터가 저장될 수 없음을 사용자에게 표시하여 줄 수 있게 해준다.
또, 상술한 보안장치에서, 상기 처리부는, 상기 검색 서브유닛에 의해 발견된 저장부가 없으면, (1)상기 취득부에서 취득된 디지털 데이터에 대응하는 목적지 정보에 의해 특정된 제 1 보호레벨 이상의 보호레벨에 대응하는 상기 복수의 저장부의 어느 하나에 이미 저장된 각 디지털 데이터에 대응하는 목적지 정보를 판독하고, (2)상기 판독된 목적지 정보로부터, 상기 제 1 보호레벨보다 낮은 보호레벨을 특정하는 목적지 정보를 추출하며, (3)상기 취득된 디지털 데이터에 대한 저장영역을 할당하기 위해, 상기 추출된 목적지 정보에 대응하는 디지털 데이터를 상기 제 1 보호레벨보다 낮고 상기 추출된 목적지 정보에 의해 특정된 각각의 보호레벨 이상의 보호레벨에 대응하는 저장부로 이동시키는 이동 서브유닛을 추가로 포함할 수 있고, 상기 저장 서브유닛은 상기 이동 서브유닛에 의해 할당된 저장영역에 상기 취득된 디지털 데이터를 저장할 수 있다.
상술한 구성에 의하면, 미리 저장된 디지털 데이터는 새로운 디지털 데이터를 위한 저장영역을 할당하도록 그 목적지 정보에 따라 이동될 수 있다. 따라서, 이러한 구성은 그 가격에 따라 디지털 데이터를 효과적으로 저장할 수 있게 해준다.
또한, 상술한 보안장치에서, 상기 처리부는, 상기 이동 서브유닛이 저장영역을 할당할 수 없으면, 상기 취득된 디지털 데이터가 저장될 수 없는 것임을 사용자에게 제공하도록 에러정보를 출력하는 출력 서브유닛을 추가로 포함할 수 있다.
상술한 구성에 의하면, 비록 미리 저장된 디지털 데이터가 이동되더라도, 저장영역이 할당되어 있지 않으면, 사용자가 새로운 디지털 데이터를 위한 공간이 없음을 보고받게 될 것이다.
또, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있고, 상기 목적지 정보는 상기 디지털 데이터에 요구되는 보호레벨을 특정할 수 있으며, 상기 디지털 데이터에 대한 상기 저장 목적지가 상기 목적지 정보와 동일한 보호레벨을 갖는 저장부이어야 하는지 또는 각각이 상기 목적지 정보에 의해 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부들 중의 하나인지를 결정하기 위해 상기 목적지 정보가 추가로 사용될 수 있고, 상기 처리부는 상기 목적지 정보에 따라, 상기 목적지 정보와 동일한 보호레벨에 대응하는 저장부, 또는 상기 목적지 정보를 이용하여 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부들 중의 하나를 결정할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 그 디지털 데이터가 그 디지털 데이터와 동일한 보호레벨을 갖는 저장부에 저장되어야 하는지 또는 그 디지털 데이터 이상의 보호레벨을 갖는 저장부 중의 하나에 저장되어야 하는지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
또한, 상술한 보안장치에서, 상기 목적지 정보는 상기 디지털 정보가 상기 보안장치에 저장되기 전에 상기 디지털 데이터에 대한 목적지 정보가 임의로 결정될 수 있는지를 특정할 수 있고, 상기 처리부는 상기 목적지 정보에 따라 상기 디지털 정보를 임의로 결정된 저장부 또는 상기 목적지 정보에 기초하여 결정된 저장부에 저장할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 그 디지털 데이터의 저장 목적지가 보안장치 내에서 임의로 결정될 수 있는지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
또, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있고, 상기 목적지 정보는 미리 정해진 보호레벨보다 더 낮은 보호레벨에 대응하는 저장부에 상기 디지털 데이터를 저장하기 전에, 상기 디지털 데이터를 암호화할 것인지를 특정할 수 있으며, 상기 처리부는 상기 디지털 데이터를 상기 더 낮은 보호레벨의 저장부에 저장하기 전에, 상기 목적지 정보에 따라 상기 디지털 데이터를 선택적으로 암호화할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 미리 정해진 보호레벨보다 더 낮은 보호레벨을 갖는 저장부에 디지털 데이터를 저장할 때 그 디지털 데이터를 암호화할 것인지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
게다가, 각 보안장치에 고유한 키가 이러한 암호화에 사용되면, 플래시 메모리 등의 낮은 보호레벨을 갖는 저장부에 저장된 디지털 데이터는, 다른 보안장치에 그 디지털 데이터를 권한없이 복제하고자 하는 제 3 자의 공격으로부터 보호될 것이다.
즉, 다른 보안장치에 권한없이 복제하고자 하는 시도가 있더라도, 보안장치 고유의 키는 다른 보안장치에 사용된 키와 다르기 때문에 정확하게 암호해독을 할 수 없고, 따라서 디지털 데이터의 권한없는 사용이 봉쇄되게 된다.
또한, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있으며, 상기 목적지 정보는 미리 정해진 보호레벨보다 더 낮은 보호레벨을 갖는 저장부에 상기 디지털 데이터를 저장할 때, 상기 디지털 데이터에 메시지 인증 코드를 부가할 지의 여부를 특정할 수 있고, 상기 처리부는 상기 디지털 데이터를 상기 더 낮은 보호레벨의 저장부에 저장하기 전에, 상기 목적지 정보에 따라 상기 디지털 데이터에 메시지 인증 코드를 선택적으로 부가할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 미리 정해진 보호레벨보다 더 낮은 보호레벨을 갖는 저장부에 디지털 데이터를 저장할 때, 그 디지털 데이터에 메시지 인증 코드를 부가할지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
게다가, 만약 이러한 메시지 인증 코드가 디지털 데이터를 저장하기 전에 부가되면, 플래시 메모리 등의 낮은 보호레벨을 갖는 저장부에 저장된 디지털 데이터의 권한없는 사용 등이 방지될 것이다. 여기에서의 권한없는 사용은 디지털 데이터 또는 대응 목적지 정보를 위조함으로써 실현될 수 있다.
이것은 디지털 데이터 또는 대응 목적지 정보가 위조되더라도, 인증처리를 실행함으로써 위조의 사실을 찾아낼 수 있다는 것을 의미한다. 따라서, 위조가 검출되면, 디지털 데이터의 사용을 금지시킬 수 있다.
또, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있으며, 상기 목적지 정보는 미리 정해진 보호레벨보다 더 낮은 보호레벨을 갖는 저장부에 상기 디지털 데이터를 저장할 때, 디지털 서명을 삽입할지의 여부를 특정할 수 있으며, 상기 처리부는 상기 디지털 데이터를 상기 더 낮은 보호레벨의 저장부에 저장하기 전에, 상기 목적지 정보에 따라 상기 디지털 데이터에 상기 디지털 서명을 선택적으로 삽입할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 미리 정해진 보호레벨보다 더 낮은 보호레벨을 갖는 저장부에 디지털 데이터를 저장할 때, 그 디지털 데이터에 디지털 서명을 삽입할지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
게다가, 만약 이러한 디지털 서명이 디지털 데이터를 저장하기 전에 삽입되면, 플래시 메모리 등의 낮은 보호레벨을 갖는 저장부에 저장된 디지털 데이터의 권한없는 사용 등이 방지될 것이다. 여기에서의 권한없는 사용은 디지털 데이터 또는 대응 목적지 정보를 위조함으로써 실현될 수 있다.
이것은 디지털 데이터 또는 대응 목적지 정보가 위조되더라도, 인증처리를 실행함으로써 위조의 사실을 찾아낼 수 있다는 것을 의미한다. 따라서, 위조가 검출되면, 디지털 데이터의 사용을 금지시킬 수 있다.
또한, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있으며, 상기 목적지 정보는 상기 취득부에서 취득된 디지털 데이터의 우선순위 레벨을 특정할 수 있고, 적어도 하나의 저장부는 디지털 데이터를 내부에 미리 저장할 수 있으며, 상기 미리 저장된 디지털 데이터의 각각은 하나의 우선순위 레벨에 대응할 수 있고, 상기 미리 저장된 디지털 데이터는 보다 높은 우선순위 레벨에 대응하는 디지털 데이터가 보다 높은 보호레벨에 대응하는 저장부에 저장되는 상태로 상기 복수의 저장부에 저장될 수 있으며, 상기 처리부는 보다 높은 우선순위 레벨에 대응하는 디지털 데이터가 보다 높은 보호레벨에 대응하는 저장부에 저장되어 있는 상태를 유지하도록, 상기 목적지 정보에 의해 특정된 우선순위 레벨에 따라 상기 취득된 디지털 데이터를 저장부에 저장할 수 있다.
상술한 구성에 의하면, 디지털 데이터의 관리자는 디지털 데이터가 우선순위 레벨에 따르는 저장부에 저장될 수 있도록 그 디지털 데이터의 우선순위 레벨을 설정할 수 있다. 따라서 이러한 구성은 디지털 데이터의 효율적인 저장을 실현시켜 준다.
또, 상술한 보안장치에서, 상기 미리 저장된 디지털 데이터의 각각은 우선순위 레벨을 특정하는 목적지 정보를 부가할 수 있으며, 상기 처리부는, 복수의 저장부에 대하여 가장 높은 보호레벨에 대응하는 저장부로부터 차례로 시작하여 (1)상기 복수의 저장부 중의 어느 하나가 상기 취득된 디지털 데이터를 수용하기 위한 빈 저장영역을 갖는지의 여부를 판정하고, (2)판정결과, 빈 저장영역을 갖지 않으면, 상기 저장부에 저장된 디지털 데이터에 대응하는 목적지 정보를 판독하며, (3)상기 취득된 디지털 데이터에 대응하는 목적지 정보에 의해 특정된 우선순위 레벨보다 낮은 우선순위 레벨을 특정하는 모든 목적지 정보를 추출하며, (4)상기 추출된 목적지 정보에 의해 특정된 보호레벨보다 낮은 보호레벨에 대응하는 저장부에상기 추출된 목적지 정보에 대응하는 디지털 데이터를 이동시키고, (5)판정결과가 상기 취득된 디지털 데이터에 대한 빈 저장영역을 할당하기 위한 빈 저장영역을 갖는 것으로 판정할 때까지 (1)~(4)를 반복하여 상기 취득된 디지털 데이터에 대한 저장영역을 할당하는 이동 서브유닛; 및 상기 이동 서브유닛에 의해 할당된 저장영역에 상기 취득된 디지털 데이터를 저장하는 저장 서브유닛을 추가로 포함할 수 있다.
상술한 구성에 의하면, 미리 저장된 디지털 데이터는 그 디지털 데이터의 우선순위 레벨에 따라 이동될 수 있으므로, 가능한한 높은 보호레벨을 갖는 저장영역은 새로운 디지털 데이터를 위해 할당될 수 있다. 따라서, 디지털 데이터의 각각은 안전하게 저장될 수 있다.
또한, 상술한 보안장치에서, 상기 이동 서브유닛에 의해 판독되는 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터가 암호화되어야 하는지를 특정할 수 있고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 이동되는 디지털 데이터를 선택적으로 암호화하여 이동시킬 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 그 디지털 데이터가 이동될 때 그 디지털 데이터가 암호화되어야 할 지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
게다가 이러한 암호화에 각 보안장치에 고유한 키가 사용되면, 플래시 메모리 등의 낮은 보호레벨을 갖는 저장부로 이동된 디지털 데이터는 다른 보안장치에그 디지털 데이터를 권한없이 복제하고자하는 제 3 자의 공격으로부터 보호될 것이다.
즉, 다른 보안장치에 권한없이 복제하고자 하는 시도가 있더라도, 보안장치 고유의 키는 다른 보안장치에 사용된 키와 다르기 때문에 정확하게 암호해독을 할 수 없고, 따라서 디지털 데이터의 권한없는 사용이 봉쇄되게 된다.
또, 상술한 보안장치에서, 상기 이동 서브유닛에 의해 판독되는 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터에 메시지 인증 코드가 부가되어야 하는지를 특정할 수 있고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 이동되는 디지털 데이터에 메시지 인증 코드를 선택적으로 부가하여 이동시킬 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 그 디지털 데이터가 이동될 때 그 디지털 데이터에 메시지 인증 코드가 부가되어야 하는지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
게다가, 만약 이러한 메시지 인증 코드가 디지털 데이터의 이동 전에 부가되면, 플래시 메모리 등의 낮은 보호레벨을 갖는 저장부로 이동된 디지털 데이터의 권한없는 사용 등이 방지될 것이다. 여기에서의 권한없는 사용은 디지털 데이터 또는 대응 목적지 정보를 위조함으로써 실현될 수 있다.
이것은 디지털 데이터 또는 대응 목적지 정보가 위조되더라도, 인증처리를 실행함으로써 위조의 사실을 찾아낼 수 있다는 것을 의미한다. 따라서, 위조가 검출되면, 디지털 데이터의 사용을 금지시킬 수 있다.
또한, 상술한 보안장치에서, 상기 이동 서브유닛에 의해 판독되는 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터에 디지털 서명이 삽입되어야 하는지를 특정할 수 있고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 이동되는 디지털 데이터에 디지털 서명을 선택적으로 삽입하여 이동시킬 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 데이터가 이동될 때 그 디지털 데이터에 디지털 서명이 삽입되어야 하는지를 설정할 수 있다. 이것은 장치의 유연성을 훨씬 높여준다.
게다가, 만약 이러한 디지털 서명이 디지털 데이터를 이동하기 전에 삽입되면, 플래시 메모리 등의 낮은 보호레벨을 갖는 저장부로 이동된 디지털 데이터의 권한없는 사용 등이 방지될 것이다. 여기에서의 권한없는 사용은 디지털 데이터 또는 대응 목적지 정보를 위조함으로써 실현될 수 있다.
이것은 디지털 데이터 또는 대응 목적지 정보가 위조되더라도, 인증처리를 실행함으로써 위조의 사실을 찾아낼 수 있다는 것을 의미한다. 따라서, 위조가 검출되면, 디지털 데이터의 사용을 금지시킬 수 있다.
또, 상술한 보안장치에서, 상기 목적지 정보는 보호레벨을 추가로 특정할 수 있으며, 상기 이동 서브유닛은 상기 취득된 디지털 데이터에 대응하는 목적지 정보에 의해 특정된 보호레벨보다 낮은 보호레벨에 대응하는 저장부에 대하여 (1)~(5)로부터의 처리를 실행하지 않을 수 있고, 상기 처리부는 만약 상기 이동 서브유닛이 저장영역을 할당할 수 없으면, 상기 취득된 디지털 데이터가 저장될 수 없음을 사용자에게 제공할 수 있도록 에러정보를 출력하는 출력 서브유닛을 추가로 포함할 수 있다.
상술한 구성에 의하면, 각 디지털 데이터의 관리자는 이동처리가 그 디지털 데이터보다 낮은 보호레벨을 갖는 저장부에 대해서는 실행되지 않도록 하기 위해 그 디지털 데이터에 대한 보호레벨을 추가로 설정한 수 있다. 이것은 디지털 데이터의 보안성을 확보하는데 도움을 준다.
게다가 저장영역이 할당될 수 없으면, 이러한 구성은 사용자에게 새로운 디지털 데이터를 위한 공간이 없음을 알려줄 수 있다.
또한, 상술한 보안장치에서, 상기 취득부에서 취득된 상기 디지털 데이터는 복수의 서브-프로그램을 포함하는 컴퓨터 프로그램이며, 각각의 서브-프로그램은 목적지 정보에 대응하고, 상기 처리부는 상기 서브-프로그램에 부가된 목적지 정보에 기초하여 결정된 저장부에 각각의 서브-프로그램을 저장할 수 있다.
상술한 구성에 의하면, 디지털 데이터의 관리자는 저장 목적지의 결정이 각 서브-프로그램에 대하여 실행될 수 있도록 대응 목적지 정보에 따라 각 서브-프로그램에 대한 목적지 정보를 설정할 수 있다. 이것은 서브-프로그램의 값에 따라 각 서브-프로그램을 효율적으로 저장하는데 도움을 준다.
또, 상술한 보안장치에서, 상기 복수의 저장부의 각각은 하나의 보호레벨에 대응할 수 있고, 상기 디지털 데이터는 하나의 메인 루틴(main routine)과 서브-루틴(sub-routine)을 포함하는 컴퓨터 프로그램일 수 있고, 상기 메인 루틴과 서브-루틴은 각각 목적지 정보를 부가하며, 상기 메인 루틴에 대응하는 목적지 정보는 상기 메인 루틴이 높은 우선순위 레벨에 대응하는 저장부에 저장되어야 한다는 것을 특정하고, 상기 처리부는 상기 루틴에 대응하는 목적지 정보에 기초하여 결정된 저장부에 각각의 루틴을 저장할 수 있다.
상술한 구성에 의하면, 디지털 데이터의 관리자는 저장 목적지의 결정이 각 루틴에 대하여 실행될 수 있도록, 대응 목적지 정보에 따라 각 루틴에 대한 목적지 정보를 설정할 수 있다. 이것은 루틴의 값에 따라 각 루틴을 효율적으로 저장하는데 도움을 준다.
특히, 높은 보호레벨을 갖는 저장요소에 메인 루틴만을 저장함으로써 프로그램은 판독이 더 어렵게 되도록 만들어질 것이다.
또한, 상술한 보안장치에서, 상기 디지털 데이터는 디지털 서명이 삽입되거나 인증 식별자가 부가될 수 있으며, 상기 디지털 서명과 인증 식별자는 1)상기 목적지 정보의 정확성, 또는 2)상기 디지털 데이터와 상기 목적지 정보 간의 대응의 정확성을 보여주고, 상기 처리부는 상기 디지털 서명 또는 상기 인증 식별자에 따라 인증을 실행하고, 상기 인증이 성공적으로 실행되면 상기 디지털 데이터만을 저장할 수 있다.
상술한 구성에 의하면, 디지털 데이터와 목적지 정보는 분리되지 않고, 보안성을 높여 준다.
(개관)
본 발명에서, 보안장치는 각각이 상이한 보호레벨에 해당하는 여러 종류의 저장영역을 갖는다. 보안장치는 디지털 데이터와, 그 디지털 데이터가 저장되어야 하는 저장영역을 결정하는데 사용되는 부가정보를 통신으로 취득하고, 그 부가정보에 따라 저장영역을 결정하며, 미리 정해진 저장영역에 그 디지털 데이터를 저장한다.
보다 구체적으로, SMMC는 높은 보호레벨을 갖는 EEPROM과 낮은 보호레벨을 갖는 플래시 메모리의 두 종류의 저장요소를 포함한다. SMMC는 서버로부터 이동전화를 통한 통신에 의해 프로그램과 부가정보를 수신하고, 그 부가정보에 따라 저장요소를 결정하며, 상기 결정된 저장요소에 상기 프로그램을 다운로드한다.
(시스템 구성)
도 1은 본 발명의 제 1 실시예에 관한 보안 시스템의 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 보안 시스템은 서버(1), 이동전화(2) 및 보안장치로(10)로 구성된다.
서버(1)는 각 프로그램에 대한 부가정보를 미리 저장하고, 서버(1) 운영자의 지시조작에 따라 또는 이동전화(2) 사용자의 요청에 따라, 전화선을 통해 해당하는 프로그램과 부가정보를 이동전화(2)에 전송한다.
여기에서, 부가정보의 예로는 TRM(12)에 장착된 EEPROM을 특정하는 플래그(flag), 또는 TRM(12) 외부에 장착된 플래시 메모리(18)를 특정하는 플래그가 있다.
이동전화(2)는 서버(1)로부터 전화선을 통해 해당하는 프로그램과 부가정보를 수신한다.
보안장치(10)는 자바 카드 등의 다운로드 기능을 갖는 SMMC이며, 예를 들면 사용자에 의해 이동전화(2)에 장착된다. 보안장치(10)는 이동전화(2)에 수신된 프로그램과 대응 부가정보를 수신하고, 그 부가정보를 이용하여 EEPROM(19) 또는 플래시 메모리(18)를 결정하며, 결정된 저장요소에 프로그램을 다운로드한다.
보안장치의 크기는 종래의 스탬프 크기의 SMMC 및 IC카드 정도의 크기이다. 보안장치는 다른 형태를 가질 수도 있다.
도 1에 도시된 바와 같이, 보안장치는 TRM(12)의 외부에 카드 인터페이스 회로(11)와 플래시 메모리(18)를 포함한다. 보안장치(10)는 TRM(12)의 내부에 암호처리 엔진(13), 보안 키 정보(14), CPU(15), ROM(16), RAM(17), EEPROM(19), 및 부가정보 처리부(20)를 포함한다.
여기에서, 다운로드되는 프로그램은 예를 들면, 비용청구의 어플리케이션 프로그램, 빌링(billing) 정보에 관한 프로그램, 카드에 이미 설치되어 있는 프로그램의 업그레이드 버전이며, 이들 모두는 보안장치(10)에서 사용될 때 일정한 보호레벨을 필요로 한다.
본 명세서에서, TRM(12) 내에 구현되어 있는 EEPROM(19)은 권한없는 외부장치가 EEPROM(19)에 저장된 프로그램에 액세스하기 어렵고, 따라서 EEPROM(19) 내의 데이터를 권한없이 변경하기 어렵기 때문에 높은 보호레벨을 갖는 것으로서 설명되어 있다.
반면, TRM(12) 외부에 구현되어 있는 플래시 메모리(18)는 권한없는 외부장치가 플래시 메모리(18)에 저장된 프로그램에 비교적 용이하게 액세스할 수 있기 때문에 본 명세서에서는 낮은 보호레벨을 갖는 것으로 설명되어 있다.
카드 인터페이스 회로(11)는 이동전화(2)와 데이터를 교환하며, 이동전화(2)로부터 프로그램과 대응 부가정보를 수신한다.
TRM(12)은 위조방지 모듈(tamper resistant module)이며, 외부장치가 저장된 데이터에 대하여 권한없이 액세스하고 위조하는 것에 대항하는 수단을 구비하고 있다.
암호처리 엔진(13)은 프로그램이 플래시 메모리에 저장되기 전에 프로그램을 암호화하고, MAC(Message Authentication Code: 메시지 인증 코드) 정보와 디지털서명의 인증처리를 실행한다. 여기에서 디지털 서명은 프로그램의 보안성을 보증하기 위해 프로그램에 삽입되어 있다.
보안키 정보(14)는 암호처리 엔진(13)이 암호처리, 인증처리 등을 실행할 때 사용된다.
부가정보 처리부(20)는 카드 인터페이스 회로(11)에 의해 수신된 프로그램에 대응하는 부가정보의 의미를 분석하고, 프로그램이 저장되어야 하는 저장요소가 EEPROM(19)인지 플래시 메모리(18)인지를 결정한다.
CPU(15)는 ROM(16)에 미리 저장된 프로그램을 실행하고, RAM(17), 플래시 메모리(18) 및 EEPROM(19)을 이용하여 암호처리 엔진(13)과 부가정보 처리부(20)를 제어하며, 카드 인터페이스 회로(11)에 수신된 프로그램을 부가정보 처리부(20)에 의해 결정된 저장요소에 다운로드한다.
여기에서, 암호처리 엔진(13) 및 부가정보 처리부(20)에 의해 실행되는 것으로 설명된 처리는 ROM(16)에 미리 저장된 프로그램을 실행함으로써 CPU(15)에 의해 실현될 수도 있다는 점에 유념해야 한다.
(제 1 실시예)
<보안장치의 구성>
도 2는 본 발명의 제 1 실시예에 관한 보안장치(100)의 구성을 도시한 도면이다.
도 2에 도시된 보안장치(100)는 TRM(110)의 외부에 프로그램 취득부(101)와 낮은 보호레벨의 저장부(102)를 포함하고, TRM(110)의 내부에 높은 보호레벨의 저장부(118), 부가정보 분석부(111), 영역 검색부(112), 보호레벨 판정부(113), 이동부(114), 프로그램 저장부(115), 에러 출력부(116), 및 암호처리부(117)를 포함한다.
프로그램 취득부(101)는 도 1에 도시된 카드 인터페이스 회로(11)에 대응하며, 이동전화로부터 프로그램과 대응 부가정보를 취득한다.
낮은 보호레벨의 저장부(102)는 낮은 보호레벨을 갖는 저장요소이며, 예를 들면 TRM 외부에 구현된 플래시 메모리이다.
높은 보호레벨의 저장부(118)는 높은 보호레벨을 갖는 저장요소이며, 예를 들면 TRM 내부에 구현된 EEPROM이다.
부가정보 분석부(111)는 프로그램 취득부(101)에 의해 취득된 프로그램에 대응하는 부가정보를 분석하여, 영역 검색부(112)와 암호처리부(117)에 실행지시를 내린다.
영역 검색부(112)는 높은 보호레벨의 저장부(118)와 낮은 보호레벨의 저장부(102) 내에서 프로그램 취득부(101)에서 취득된 프로그램을 수용할 수 있을 만큼 충분히 큰 빈 저장영역을 검색하여, 그러한 저장영역이 존재하는지를 판정한다.
보호레벨 판정부(113)는 영역 검색부(112)에 의해 발견된 저장영역이 부가정보를 위한 것인지를 판정함으로써, 프로그램 취득부(101)에 의해 취득된 프로그램에 대한 저장 목적지(storage destination)를 결정한다. 필요하면, 보호레벨 판정부(113)는 에러 출력부(116)에 에러정보를 출력할 것을 지시한다.
도 3은 본 발명의 제 1 실시예에 관한 부가정보를 도시한 도면이다.
도 3에 도시된 바와 같이, 부가정보는 제 1 실시예에서 5비트를 갖도록 되어 있다.
부가정보의 최하위 2비트는 4개의 보호레벨, 즉 "00","01","10" 및 "11" 중 하나를 식별해 준다.
최하위 2비트가 "00"이면, 이것은 대응 프로그램이 높은 보호레벨의 저장부(118)의 빈 저장영역에 저장되어야 하고, 만약 높은 보호레벨의 저장부(118)가 이러한 저장영역을 갖지 못하면 프로그램을 저장하지 않고 이동전화에 에러정보를 보내야 한다는 것을 나타낸다.
최하위 2비트가 "01"이면, 이것은 대응 프로그램이 높은 보호레벨의 저장부(118)의 빈 저장영역에 저장되어야 하고, 만약 높은 보호레벨의 저장부(118)가 이러한 저장영역을 갖지 못하면 프로그램이 저장될 수 있도록 공간을 확보할 필요가 있다는 것을 나타낸다. 여기에서, 최하위 2비트 "01"은, 다른 프로그램이 이미 저장되어 있는 높은 보호레벨의 저장부(118)의 저장영역에 대응 프로그램이 오버라이트되어야 한다는 것을 나타내도록 지정될 수도 있다는 점에 유의하여야 한다.
최하위 2비트가 "10"이면, 이것은 대응 프로그램이 낮은 보호레벨의 저장부(102)에 저장되어야 하고, 만약 낮은 보호레벨의 저장부(102)가 이용할 수 있는 어떠한 저장영역도 갖지 못하면 프로그램을 저장하지 않고 이동전화에 에러정보를 보내야 한다는 것을 나타낸다.
최하위 2비트가 "11"이면, 이것은 대응 프로그램이 높은 보호레벨의 저장부(118)에 공간이 있으면 저장되어야 하고, 만약 높은 보호레벨의 저장부(118)에 공간이 없으면 대응 프로그램이 낮은 보호레벨의 저장부(118)에 저장되어야 한다는 것을 나타낸다. 그리고, 프로그램을 수용할 수 있는 낮은 보호레벨의 저장부(102)에 공간이 없으면, 에러정보가 이동전화에 보내져야 한다.
부가정보의 제 3 최하위 비트는, 대응 프로그램을 낮은 보호레벨의 저장부(102)에 저장하기 전에 대응 프로그램이 암호화되어야 하는지의 여부를 나타낸다.
여기에서, 제 3 최하위 비트가 "0"이면, 이것은 프로그램을 암호화하지 않는다는 것을 나타내고, 제 3 최하위 비트가 "1"이면, 이것은 프로그램을 암호화한다는 것을 나타낸다.
부가정보의 제 4 최하위 비트는 낮은 보호레벨의 저장부(102)에 프로그램을 저장함에 있어 대응 프로그램에 MAC 정보를 부가하고 디지털 서명을 삽입할 필요가 있는지의 여부를 나타낸다.
여기에서, 제 4 최하위 비트가 "0"이면, 이것은 대응 프로그램에 MAC 정보를 부가하거나 또는 디지털 서명을 삽입할 필요가 없음을 나타내며, 제 4 최하위 비트가 "1"이면 이것은 대응 프로그램에 MAC 정보를 부가하고 디지털 서명을 삽입할 필요가 있음을 나타낸다.
부가정보의 최상위 비트(즉, 가장 낮은 자리수에서 5번째 비트)는 보안장치(100)의 사용자가 그의 자유재량으로 대응 프로그램이 저장되어야 하는 목적지(이하, 때때로 "저장 목적지(storage destination)"라 함)를 결정할 수 있는지의 여부를 나타낸다.
여기에서, 최상위 비트가 "0"이면, 이것은 사용자가 저장위치를 결정하는 자유재량이 없다는 것을 나타내고, 최상위 비트가 "1"이면, 이것은 부가정보의 최하위 2비트에 의해 나타나는 보호레벨과는 관계없이 사용자가 그의 자유재량으로 저장위치를 결정할 수 있다는 것을 나타낸다.
높은 보호레벨의 저장부(118)에서 이용가능한 저장영역이 발견되면, 보호레벨 판정부(113)는 최상위 비트가 "0"이고, 최하위 2비트가 "00", "01", "11" 중의 하나일 것을 조건으로, 높은 보호레벨의 저장부(118) 내의 저장영역이 저장 목적지가 되도록 결정한다.
반면, 이용가능한 저장영역이 낮은 보호레벨의 저장부(102) 내에서 발견되면, 보호레벨 판정부(113)는 최상위 비트가 "0"이고 최하위 2비트가 "10"일 것을 조건으로 낮은 보호레벨의 저장부(102) 내의 저장영역을 저장 목적지로서 결정한다. 보호레벨 판정부(113)는, 이용가능한 저장영역이 높은 보호레벨의 저장부(118)에서는 발견되지 않으나 낮은 보호레벨의 저장부(102)에서 발견되면, 최상위 비트가 "0"이고 최하위 2비트가 "11"일 것을 조건으로, 낮은 보호레벨의 저장부(102) 중 이용가능한 저장영역을 저장 목적지로서 결정한다.
또한 보호레벨 판정부(113)는ㅠ 이용가능한 저장영역이 높은 보호레벨의 저장부(118)과 낮은 보호레벨의 저장부(102) 중 적어도 하나에서 발견되면, 최상위 비트가 "1"일 것을 조건으로 이용가능한 저장영역 중의 하나를 저장 목적지로서 결정한다.
또한 보호레벨 판정부(113)는 이용가능한 저장영역이 높은 보호레벨의 저장부(118)에서 발견되지 않고, 최상위 비트가 "0"이며 최하위 2비트가 "01"이면, 높은 보호레벨의 저장부(118)에 공간을 만들 것을 이동부(114)에 지시한다. 여기에서, 높은 보호레벨의 저장부(118) 내의 저장영역이 이 저장영역 내의 다른 프로그램의 존재에 관계없이 대응 프로그램으로 오버라이트 되어야만 한다는 것을 나타내도록 최하위 2비트 "01"이 미리 지정되면, 높은 보호레벨의 저장부(118) 내의 이 저장영역은 비록 상이한 프로그램이 그 저장영역에 이미 저장되어 있다고 하더라도 대응 프로그램을 위한 저장 목적지로서 결정될 것이다.
또한, 보호레벨 판정부(113)는 다음과 같은 경우에 에러 출력부(116)에 에러정보를 출력할 것을 지시한다. 최상위 비트가 "0"이고 최하위 2비트가 "00"일 것을 조건으로 높은 보호레벨의 저장부(118)에서 이용가능한 저장영역이 발견되지 않을 경우, 최상위 비트가 "0"이고 최하위 2비트가 "10"일 것을 조건으로 낮은 보호레벨의 저장부(102)에서 이용가능한 저장영역이 발견되지 않을 경우, 최상위 비트가 "1"일 것을 조건으로 하거나, 최상위 비트가 "0"이고, 최하위 2비트가 "11"일 것을 조건으로 높은 보호레벨의 저장부(118)와 낮은 보호레벨의 저장부(102)의 어느 곳에서도 이용가능한 저장영역이 발견되지 않을 경우.
이동부(114)는 이용가능한 저장영역이 높은 보호레벨의 저장부(118)에서 발견되지 않고, 부가정보의 최상위 비트가 "0"이고, 최하위 2비트가 "01"이면, 높은 보호레벨의 저장부(118)에 저장된 각 프로그램에 부가된 부가정보를 판독하며, 최상위 비트가 "0"이거나 또는 최하위 2비트가 "11"인 부가정보를 추출하고, 추출된 부가정보를 갖는 프로그램을 낮은 보호레벨의 저장부(102)로 이동시켜, 높은 보호레벨의 저장부(118)내에 이용가능한 저장영역을 할당하여 프로그램 취득부(101)에서 취득된 프로그램을 저장한다. .
여기에서, 만약 필요한 용량을 갖는 빈 저장영역이 할당되지 않으면, 에러 출력부(116)는 에러정보를 출력할 것을 지시할 것이다. 이러한 경우에, 다른 프로그램이 이미 저장되어 있는, 높은 보호레벨의 저장부(118) 내의 저장영역을 저장 목적지로서 결정할 수 있는 구성이 가능하다는 점에 유념해야 한다.
프로그램 저장부(115)는 보호레벨 판정부(113)에 의해 결정되거나 이동부(114)에 의해 할당된 저장 목적지에 프로그램 취득부(101)에서 취득된 프로그램을 저장한다.
에러 출력부(116)는 보호레벨 판정부(113)가 내린 에러정보의 출력 지시에 따라, 이동전화에 에러정보를 반환하고, 디지털 데이터를 저장할 수 없다는 것을 이동전화의 디스플레이부에 표시한다.
암호처리부(117)는 각각의 보호장치에 대해 ID정보를 저장한다. 프로그램 취득부(101)에서 취득된 프로그램을 낮은 보호레벨의 저장부(102)에 저장하거나 또는 그 프로그램을 높은 보호레벨의 저장부(118)로부터 낮은 보호레벨의 저장부(102)로 이동시키면, 암호처리부(117)는 부가정보의 제 4 최하위 비트가 "1"일 것을 조건으로 MAC 정보를 프로그램에 부가하고, 디지털 서명을 프로그램에 삽입하며, 만약 부가정보의 제 3 최하위 비트가 "1"이면 저장된 ID정보를 이용하여 프로그램을 암호화한다.
여기에서, 높은 보호레벨의 저장부(118)에 프로그램을 저장할 때, 만약 부가정보의 제 4 최하위 비트가 "1"이면 암호처리부(117)는 프로그램에 MAC 정보를 부가하고, 프로그램에 디지털 서명을 삽입할 수 있으며, 부가정보의 제 3 최하위 비트가 "1"이면 저장된 ID 정보를 이용하여 프로그램을 암호화할 수 있다는 점에 유념해야 한다.
<동작>
도 4는 본 발명의 제 1 실시예의 보안장치(100)에서 프로그램의 다운로드 처리가 어떻게 동작하는지를 보여주는 흐름도이다.
이하, 프로그램의 다운로드 처리가 어떻게 동작되는지를 설명하기로 한다.
(1) 프로그램 취득부(101)는 이동전화로부터 프로그램과 대응 부가정보를 취득한다(S1).
(2) 부가정보 분석부(111)는 부가정보의 최상위 비트가 "0"인지의 여부를 분석한다(S2).
(3) 최상위 비트가 "1"이면, 영역 검색부(112)는 높은 보호레벨의 저장부(118)와 낮은 보호레벨의 저장부(102) 내에서, 프로그램 취득부(101)에서 취득된 프로그램을 수용할 수 있는 빈 저장영역을 검색하여, 이들 저장부 중의 적어도 하나가 이용가능한 저장영역을 갖는지의 여부를 판정한다(S3). 만약 이러한 저장영역이 존재하지 않으면, 에러처리가 실행된다.
(4) 만약 적어도 하나의 저장영역이 발견되면, 사용자로부터의 직접 지시 또는 사용자에 의해 미리 설정된 지시에 따라 저장영역 중의 하나가 프로그램의 저장 목적지로서 결정된다(S4).
(5) 만약 최상위 비트가 "0"이면, 보호레벨 판정부(113)는 부가정보의 최하위 2비트가 "10"인지 아닌지의 여부를 판정한다(S5).
(6) 만약 최하위 2비트가 "10"이면, 영역 검색부(112)는 낮은 보호레벨의 저장부(102) 내에서, 프로그램 취득부(101)에서 취득된 프로그램을 수용할 만한 충분히 빈 저장영역을 검색하여, 낮은 보호레벨의 저장부(102)가 이러한 저장영역을 갖는지의 여부를 판정한다(S6). 만약 이러한 저장영역이 존재하지 않는 것으로 판정되면, 에러처리가 실행된다.
(7) 만약 이용가능한 저장영역이 존재한다고 판정되면, 보호레벨 판정부(113)는 저장영역을 저장 목적지로서 판정한다(S7).
(8) 만약 최하위 2비트가 "10"이 아니면, 영역 검색부(112)는 높은 보호레벨의 저장부(118)에서, 프로그램 취득부(110)에서 취득된 프로그램을 저장하기에 충분히 큰 빈 저장영역을 검색한다(S8).
(9) 이러한 저장영역이 존재하는 것으로 판정되면, 보호레벨 판정부(113)는 높은 보호레벨의 저장부(118) 내의 저장영역을 저장 목적지로서 결정한다(S9).
(10) 이러한 저장영역이 존재하지 않는 것으로 판정되면, 보호레벨 판정부(113)는 부가정보의 최하위 2비트가 "00"인지의 여부를 판정한다(S10). 최하위 2비트가 "00"이면, 에러처리가 실행된다.
(11) 최하위 2비트가 "00"이 아니면, 보호레벨 판정부(113)는 최하위 2비트가 "01"인지의 여부를 판정한다(S11).
(12) 최하위 2비트가 "01"이면, 이동부(114)는 저장된 프로그램에 부가된 부가정보에 따라 높은 보호레벨의 저장부(118)에 저장되어 있는 프로그램을 낮은 보호레벨의 저장부(102)로 이동시켜, 높은 보호레벨의 저장부(118)에 저장영역을 할당한다(S12). 이러한 저장영역이 할당될 수 없으면, 에러처리가 실행된다.
여기에서, 프로그램이 높은 보호레벨의 저장부(118)로부터 이동되도록 암호처리부(117)에 의한 각 처리가 실행되지 않으면, 프로그램을 이동시키기 전에 부가정보의 제 4 최하위 비트에 따라 프로그램에 MAC 정보가 부가되고, 디지털 서명이 삽입되며, 제 3 최하위 비트에 따라 프로그램에 대하여 암호화가 실행된다.
(13) 최하위 2비트가 "01"이 아니면, 이것은 "11"임을 의미한다. 따라서 영역 검색부(112)는 낮은 보호레벨의 저장부(102)에서, 프로그램 취득부(101)에서 취득된 프로그램을 저장하기에 충분히 큰 빈 저장영역을 검색한다(S13). 이러한 저장영역이 존재하지 않으면, 에러처리가 실행된다.
(14) 이러한 저장영역이 존재하는 것으로 판정되면, 보호레벨 판정부(113)는 낮은 보호레벨의 저장부(102)에서 발견되는 저장영역을 저장 목적지로서 결정한다(S14).
(15) 프로그램 저장부(115)는 결정되거나 할당된 저장 목적지에 프로그램을 저장한다(S19).
여기에서, 낮은 보호레벨의 저장부(102)에 프로그램을 저장할 때, 부가정보 분석부(111)는 부가정보의 제 4 최하위 비트 및 제 3 최하위 비트를 분석하고, 그 분석결과에 따라 암호처리부(117)는 MAC 정보를 부가하고, 디지털 서명을 삽입하여 그 프로그램을 암호화한다.
(16) 저장 목적지가 발견되지 않거나 할당되지 않으면, 에러 출력부(116)는에러정보를 이동전화에 반환한다(S20).
(제 2 실시예)
<보안장치의 구성>
도 5는 본 발명의 제 2 실시예에 관한 보안장치(200)의 구성을 도시한 도면이다.
여기에서, 제 1 실시예와 동일한 구성요소에는 제 1 실시예와 동일한 참조번호를 부여하며, 그에 대한 상세한 설명은 생략하기로 한다.
도 5에 도시된 보안장치(200)는 TRM(210) 외부에 프로그램 취득부(101)와 낮은 보호레벨의 저장부(102)를 포함하고, TRM(210) 내부에 높은 보호레벨의 저장부(118), 부가정보 분석부(111), 영역 검색부(112), 보호레벨 판정부(213), 이동부(214), 프로그램 저장부(115), 에러 출력부(116), 및 암호처리부(117)를 포함한다.
보호레벨 판정부(213)는 높은 보호레벨의 저장부(118)에 가장 높은 우선순위를 갖는 프로그램부터 차례로 프로그램을 저장한다. 높은 보호레벨의 저장부(118)에 더 이상의 공간이 없으면, 보호레벨 판정부(213)는 프로그램의 저장을 위해 낮은 보호레벨의 저장부(102)를 이용하고, 필요하면 에러 출력부(116)에 에러정보를 출력할 것을 지시한다.
도 6은 본 발명의 제 2 실시예의 부가정보를 나타낸 도면이다.
도 6에 도시된 바와 같이, 제 2 실시예에서, 부가정보는 5비트를 갖는 것으로 되어 있다.
부가정보의 최하위 2비트는 "00", "01", "10", 및 "11" 중의 하나이고, 이것은 대응 프로그램의 우선순위의 4가지 레벨을 나타낸다.
최하위 2비트가 "00"이면, 이것은 프로그램의 우선순위가 가장 높음을 나타낸다.
최하위 2비트가 "01"이면, 이것은 프로그램의 우선순위가 두번째임을 나타낸다.
최하위 2비트가 "10"이면, 이것은 프로그램의 우선순위가 세번째임을 나타낸다.
최하위 2비트가 "11"이면, 이것은 프로그램의 우선순위가 4개의 레벨 중 가장 낮음을 나타낸다.
부가정보의 제3, 제4, 및 최상위 비트는 제 1 실시예와 동일함을 의미한다.
여기에서, 보호레벨 판정부(213)는 만약 이용가능한 저장영역이 높은 보호레벨의 저장부(118)에서 발견되면 높은 보호레벨의 저장부(118)에서 발견된 저장영역을 저장 목적지로서 결정한다.
또한 보호레벨 판정부(213)는, 이용가능한 저장영역이 높은 보호레벨의 저장부(118)에서 발견되지 않고, 부가정보의 최상위 비트가 "0"이고, 최하위 2비트가 "00", "01" 및 "10" 중의 하나이면, 이동부(214)에 높은 보호레벨의 저장부(118)에 공간을 확보할 것을 지시한다.
또한 보호레벨 판정부(213)는, 이용가능한 저장영역이 높은 보호레벨의 저장부(118)에서는 발견되지 않았으나 낮은 보호레벨의 저장부(102)에서 발견되면, 부가정보의 최상위 비트가 "0"이고, 최하위 2비트가 "11"일 것을 조건으로, 낮은 보호레벨의 저장부(102)에서 발견된 저장영역을 저장 목적지로서 결정한다.
이동부(214)는, 이용가능한 저장영역이 높은 보호레벨의 저장부(118)에서 발견되지 않고, 저장될 프로그램인 부가정보의 최상위 비트가 "0"이고 최하위 2비트가 "00", "01", 및 "10" 중의 하나이면, 높은 보호레벨의 저장부(118)에 저장된 각 프로그램에 부가된 부가정보를 판독하고, 저장될 프로그램의 부가정보보다 우선순위가 더 낮은 부가정보를 추출하며, 추출된 부가정보에 대응하는 프로그램을 낮은 보호레벨의 저장부(102)로 이동시켜, 높은 보호레벨의 저장부(118)에 프로그램 취득부(101)에서 요구되는 프로그램을 저장하도록 저장영역을 할당한다.
여기에서, 저장영역이 높은 보호레벨의 저장부(118)에 할당되지 못하면, 저장영역은 낮은 보호레벨의 저장부(102)에 할당되어야 한다.
저장영역이 낮은 보호레벨의 저장부(102)에 할당될 수 없으면, 보호레벨 판정부(213)는 에러 출력부(116)에 에러정보를 출력할 것을 지시한다.
또한, 부가정보의 가장 낮은 자리수로부터 두번째 비트가 "0"이면 프로그램의 저장이 높은 보호레벨의 저장부(118)에만 허용되도록, 구성되는 경우를 가정해 보자. 이러한 경우, 이동부(214)는 가장 낮은 자리수로부터 두번째 비트가 "0"인 부가정보에 대응하는 프로그램을 이동시키지 않는다.
저장영역이 높은 보호레벨의 저장부(118)에서 발견되지 않고, 또 부가정보의 가장 낮은 자리수로부터 두번째 비트가 "0"이면, 보호레벨 판정부(213)는 낮은 보호레벨의 저장부(102)에서 발견된 저장영역을 저장 목적지로서 결정하지 않으며, 그 대신, 에러 출력부(116)에 에러정보를 출력할 것을 지시한다.
<동작>
도 7은 본 발명의 제 1 실시예의 보안장치(100)에서 프로그램의 다운로드 처리가 어떻게 동작하는지를 보여주는 흐름도이다.
이하, 프로그램의 다운로드 처리가 어떻게 동작하는지에 대해 설명하기로 한다.
여기에서, 제 1 실시예에서의 단계와 동일한 단계는 동일한 참조번호를 부여하고, 그에 대한 설명은 생략하기로 한다.
(1) 제 1 실시예의 (1)과 동일한 동작.
(2) 제 1 실시예의 (2)와 동일한 동작.
(3) 제 1 실시예의 (3)과 동일한 동작.
(4) 제 1 실시예의 (4)와 동일한 동작.
(5) 최상위 비트가 "0"이면, 영역 검색부(112)는 높은 보호레벨의 저장부(118) 내에서, 프로그램 취득부(101)에서 취득된 프로그램을 수용하기에 충분히 큰 빈 저장영역을 검색하여, 높은 보호레벨의 저장부(118)가 이러한 저장영역을 구비하는지의 여부를 판정한다(S21).
(6) 저장영역이 존재하면, 보호레벨 판정부(113)는 높은 보호레벨의 저장부(118) 내의 저장영역을 저장 목적지로서 결정한다(S22).
(7) 저장영역이 존재하지 않으면, 보호레벨 판정부(113)는 부가정보의 최하위 2비트가 "11"인지 아닌지의 여부를 판정한다(S23).
(8) 최하위 2비트가 "11"이면, 영역 검색부(112)는 낮은 보호레벨의 저장부(102) 내에서, 프로그램 취득부(101)에서 취득된 프로그램을 수용하기에 충분히 큰 빈 저장영역을 검색하여, 낮은 보호레벨의 저장부(102)가 이러한 저장영역을 구비하는지의 여부를 판정한다(S24). 저장영역이 존재하지 않는 것으로 판정되면, 에러처리가 실행된다.
(9) 저장영역이 존재하는 것으로 판정되면, 보호레벨 판정부(113)는 낮은 보호레벨의 저장부(102)에서 발견된 저장영역을 저장 목적지로서 결정한다(S25).
(10) 최하위 2비트가 "11"이 아니면, 이동부(214)는 높은 보호레벨의 저장부(118)에 저장된 프로그램의 각각에 대응하는 부가정보를 판독하고, 현재 저장된 프로그램의 부가정보보다 우선순위가 더 낮은 부가정보를 추출하며, 부가정보가 더 낮은 우선순위를 갖는 프로그램을 낮은 보호레벨의 저장부(102)로 이동시키고, 높은 보호레벨의 저장부(118) 내에 저장영역을 할당하며, 이 저장영역은 프로그램 취득부에서 취득된 프로그램을 저장할 수 있다(S26).
여기에서, 프로그램이 높은 보호레벨의 저장부(118)로부터 이동되도록 암호처리부(117)에 의한 각 처리가 실행되지 못하면, 이동되는 프로그램은 낮은 보호레벨의 저장부(102)로 이동되기 전에, 부가정보의 제 4 최하위 비트에 따라 MAC 정보를 부가하고, 디지털 서명을 삽입할 것이며, 제 3 최하위 비트에 따라 암호화될 것이다.
(11) 저장영역이 높은 보호레벨의 저장부(118)에 할당되지 않으면, 저장영역은 낮은 보호레벨의 저장부(102)에 할당될 것이다(S27). 낮은 보호레벨의 저장부(102)에 저장영역을 할당하는 것이 불가능하다면 에러처리가 실행된다.
(12) 제 1 실시예의 (15)와 동일한 동작임(S15).
(13) 제 1 실시예의 (16)과 동일한 동작임(S16).
(변형)
여기에서, 프로그램 파일의 헤더에 프로그램 ID와 함께 부가정보가 저장되며, 헤더를 포함하는 전체 프로그램 파일에 MAC정보가 부가되고 디지털 서명이 삽입되는 구성이 또한 가능하다는 점에 유념해야 한다. 프로그램을 다운로드하는 조건으로서, 보안장치는 MAC 정보와 디지털 서명의 인증을 실행한다. 또는 프로그램을 실행할 때 부가정보가 출력될 수 있다.
또한, 본 발명의 제 1 및 제 2 실시예에서, 부가정보는 프로그램과 함께 저장되고, 프로그램을 이동시킬 때 사용된다. 그러나 부가정보가 사용되지 않는다면 부가정보를 저장할 필요가 없기 때문에 프로그램은 이동되지 않을 것이다. 따라서 이러한 경우에는 그 부가정보 없이 프로그램만이 저장되도록 구성될 수 있다.
또한 본 발명의 제 1 및 제 2 실시예에서는 각각의 보호레벨이 서로 상이한, 프로그램을 저장하기 위한 두 종류의 구성요소가 있다. 그러나 각각의 보호레벨이 서로 상이한 3 종류 이상의 저장요소가 있을 수도 있다.
또한 본 발명의 제 1 및 제 2 실시예에서 각 프로그램은 하나의 부가정보를 갖는다. 그러나 하나의 프로그램이 2이상의 부가정보를 가질 수 있다. 예를 들어, 하나의 프로그램이 복수의 서브-프로그램으로 분할된다. 이러한 구성에서는 부가정보를 하나의 서브-프로그램에 대응시킴으로써, 회계 프로그램에서 비용청구 처리에 직접 관련된 서브-프로그램 등의 가장 신뢰성 있는 서브-프로그램만을 높은 보호레벨을 갖는 저장요소에 저장할 수 있게 만들어진다. 다른 예에서, 다른 서브-루틴(sub-routine)으로부터 메인 루틴(main routine)을 분할하고, 부가정보를 각 루틴에 부가할 수 있게 된다. 이것은 높은 보호레벨을 갖는 저장요소에 메인 루틴을 저장함으로써, 또는 높은 보호레벨을 갖는 저장 구성요소에 가장 신뢰성 있는 서브-루틴을 저장함으로써 전체 프로그램의 의미를 판독하는 것을 어렵게 만든다.
또한, 제 1 및 제 2 실시예에서는 다운로드되는 것이 프로그램이지만, 디지털 콘텐츠 또는 다른 디지털 데이터일 수도 있다.
(요약)
상술한 바와 같이, 본 발명에 따르는 보안장치는 프로그램에 대응하는 부가정보에 기초하여 프로그램에 대한 저장 목적지를 결정할 수 있게 하여 준다. 따라서, 프로그램의 관리자가 프로그램의 다운로드에 필요한 보안을 확보하기 위해서는, 프로그램의 관리자가 TRM에 장착된 저장영역의 용량을 초과하는 프로그램에 대해 부가정보를 설정할 수 있다.
본 발명은 인터넷 등의 네트워크를 통해 음악 콘텐츠와 동화상 콘텐츠를 배포하는 콘텐츠 배포 서비스 및 모바일 전자상거래 서비스(mobile EC service) 등의 각종 전자정보 서비스에 적용할 수 있다.
본 발명에 따르는 보안장치는 프로그램의 관리자에 의해 요구되는 보안을 확보하면서, TRM 상에서 실행되는 저장영역의 용량을 초과하는 프로그램을 다운로드할 수 있다. 보안장치의 사용자는 본 발명의 보안장치를 사용자의 이동전화에 장착함으로써 콘텐츠 배포 서비스, 모바일 전자상거래 서비스 등을 길거리에서 안전하게 즐길 수 있다.

Claims (28)

  1. 각각이 저장영역을 갖는 복수의 저장부;
    디지털 데이터와, 상기 디지털 데이터에 부가되어 상기 디지털 데이터의 저장 목적지로서의 저장부를 결정하기 위해 사용되는 목적지 정보를 취득하는 취득부; 및
    상기 목적지 정보에 기초하여 결정된 저장부에 상기 디지털 데이터를 저장하는 처리부를 포함하는 것을 특징으로 하는 보안장치.
  2. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하며, 상기 목적지 정보는 상기 디지털 데이터에 필요한 보호레벨을 특정하고, 상기 처리부는 상기 목적지 정보에 의해 특정된 보호레벨과 동일한 보호레벨에 대응하는 저장부를 상기 디지털 데이터를 위한 저장 목적지로서 결정하는 것을 특징으로 하는 보안장치.
  3. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하며, 상기 목적지 정보는 상기 디지털 데이터에 필요한 보호레벨을 특정하고, 상기 처리부는 상기 목적지 정보에 의해 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부를 상기 디지털 데이터를 위한 저장 목적지로서 결정하는 것을 특징으로 하는 보안장치.
  4. 제 3 항에 있어서,
    상기 처리부는,
    상기 목적지 정보에 의해 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부 중에서, 상기 디지털 데이터를 수용하기 위한 빈 저장영역을 갖는 모든 저장부를 검색하는 검색 서브유닛;
    상기 디지털 데이터를 수용하기 위한 빈 저장영역을 갖는 것으로 발견된 모든 저장부 중에서, 가장 높은 보호레벨에 대응하는 저장부를 상기 디지털 데이터의 저장 목적지인 것으로 결정하는 결정 서브유닛; 및
    상기 결정 서브유닛에 의해 결정된 상기 저장부에 상기 디지털 데이터를 저장하는 저장 서브유닛을 추가로 포함하는 것을 특징으로 하는 보안장치.
  5. 제 4 항에 있어서,
    상기 처리부는,
    상기 검색 서브유닛에 의해 발견된 저장부가 없으면, 상기 디지털 데이터가 저장될 수 없음을 사용자에게 보여주도록 에러정보를 출력하는 출력 서브유닛을 추가로 포함하는 것을 특징으로 하는 보안장치.
  6. 제 4 항에 있어서,
    상기 처리부는,
    상기 검색 서브유닛에 의해 발견된 저장부가 없으면, (1)상기 취득부에서 취득된 디지털 데이터에 대응하는 목적지 정보에 의해 특정된 제 1 보호레벨 이상의 보호레벨에 대응하는 상기 복수의 저장부의 어느 하나에 이미 저장된 각 디지털 데이터에 대응하는 목적지 정보를 판독하고, (2)상기 판독된 목적지 정보로부터, 상기 제 1 보호레벨보다 낮은 보호레벨을 특정하는 목적지 정보를 추출하며, (3)상기 취득된 디지털 데이터에 대한 저장영역을 할당하기 위해, 상기 추출된 목적지 정보에 대응하는 디지털 데이터를 상기 제 1 보호레벨보다 낮고 상기 추출된 목적지 정보에 의해 특정된 각각의 보호레벨 이상의 보호레벨에 대응하는 저장부로 이동시키는 이동 서브유닛을 추가로 포함하고,
    상기 저장 서브유닛은 상기 이동 서브유닛에 의해 할당된 저장영역에 상기 취득된 디지털 데이터를 저장하는 것을 특징으로 하는 보안장치.
  7. 제 6 항에 있어서,
    상기 이동 서브유닛에 의해 판독되는 상기 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터가 암호화되어야 하는지의 여부를 특정하고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 이동되는 디지털 데이터를 선택적으로 암호화하여 이동시키는 것을 특징으로 하는 보안장치.
  8. 제 6 항에 있어서,
    상기 이동 서브유닛에 의해 판독된 상기 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터가 메시지 인증 코드를 부가하여야만 하는지의 여부를 특정하고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 메시지 인증 코드를 이동되는 디지털 데이터에 선택적으로 부가하여 이동시키는 것을 특징으로 하는 보안장치.
  9. 제 6 항에 있어서,
    상기 이동 서브유닛에 의해 판독된 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터에 디지털 서명이 삽입되어야만 하는지의 여부를 특정하고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 디지털 서명을 이동되는 디지털 데이터에 선택적으로 삽입하여 이동시키는 것을 특징으로 하는 보안장치.
  10. 제 6 항에 있어서,
    상기 처리부는, 상기 이동 서브유닛이 저장영역을 할당할 수 없으면, 상기 취득된 디지털 데이터가 저장될 수 없는 것임을 사용자에게 제공하도록 에러정보를 출력하는 출력 서브유닛을 추가로 포함하는 것을 특징으로 하는 보안장치.
  11. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하고, 상기 목적지 정보는 상기 디지털 데이터에 요구되는 보호레벨을 특정하며, 상기 디지털 데이터에 대한 상기 저장 목적지가 상기 목적지 정보와 동일한 보호레벨을 갖는 저장부이어야 하는지 또는 각각이 상기 목적지 정보에 의해 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부들 중의 하나인지를 결정하기 위해 상기 목적지 정보가 추가로 사용되고, 상기 처리부는 상기 목적지 정보에 따라, 상기 목적지 정보와 동일한 보호레벨에 대응하는 저장부, 또는 상기 목적지 정보를 이용하여 특정된 보호레벨 이상의 보호레벨에 대응하는 저장부들 중의 하나를 결정하는 것을 특징으로 하는 보안장치.
  12. 제 1 항에 있어서,
    상기 목적지 정보는 상기 디지털 정보가 상기 보안장치에 저장되기 전에 상기 디지털 데이터에 대한 목적지 정보가 임의로 결정될 수 있는지를 특정하고, 상기 처리부는 상기 목적지 정보에 따라 상기 디지털 정보를 임의로 결정된 저장부 또는 상기 목적지 정보에 기초하여 결정된 저장부에 저장하는 것을 특징으로 하는 보안장치.
  13. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하고, 상기 목적지 정보는 미리 정해진 보호레벨보다 더 낮은 보호레벨에 대응하는 저장부에 상기 디지털 데이터를 저장하기 전에, 상기 디지털 데이터를 암호화할 것인지를 특정하고, 상기 처리부는 상기 디지털 데이터를 상기 더 낮은 보호레벨의 저장부에 저장하기 전에, 상기 목적지 정보에 따라 상기 디지털 데이터를 선택적으로 암호화하는 것을 특징으로 하는 보안장치.
  14. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하며, 상기 목적지 정보는 미리 정해진 보호레벨보다 더 낮은 보호레벨을 갖는 저장부에 상기 디지털 데이터를 저장할 때, 상기 디지털 데이터에 메시지 인증 코드를 부가할 지의 여부를 특정하고, 상기 처리부는 상기 디지털 데이터를 상기 더 낮은 보호레벨의 저장부에 저장하기 전에, 상기 목적지 정보에 따라 상기 디지털 데이터에 메시지 인증 코드를 선택적으로 부가하는 것을 특징으로 하는 보안장치.
  15. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하며, 상기 목적지 정보는 미리 정해진 보호레벨보다 더 낮은 보호레벨을 갖는 저장부에 상기 디지털 데이터를 저장할 때, 디지털 서명을 삽입할지의 여부를 특정하며, 상기 처리부는 상기 디지털 데이터를 상기 더 낮은 보호레벨의 저장부에 저장하기 전에, 상기 목적지 정보에 따라 상기 디지털 데이터에 상기 디지털 서명을 선택적으로 삽입하는 것을 특징으로 하는 보안장치.
  16. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하며, 상기 목적지 정보는 상기 취득부에서 취득된 디지털 데이터의 우선순위 레벨을 특정하고, 적어도 하나의 저장부는 디지털 데이터를 내부에 미리 저장하고 있으며, 상기 미리 저장된 디지털 데이터의 각각은 하나의 우선순위 레벨에 대응하고, 상기 미리 저장된 디지털 데이터는 보다 높은 우선순위 레벨에 대응하는 디지털 데이터가 보다 높은 보호레벨에 대응하는 저장부에 저장되는 상태로 상기 복수의 저장부에 저장되며, 상기 처리부는 보다 높은 우선순위 레벨에 대응하는 디지털 데이터가 보다 높은 보호레벨에 대응하는 저장부에 저장되어 있는 상태를 유지하도록, 상기 목적지 정보에 의해 특정된 우선순위 레벨에 따라 상기 취득된 디지털 데이터를 저장부에 저장하는 것을 특징으로 하는 보안장치.
  17. 제 16 항에 있어서,
    상기 미리 저장된 디지털 데이터의 각각은 우선순위 레벨을 특정하는 목적지 정보에 대응하고,
    상기 처리부는,
    복수의 저장부에 대하여 가장 높은 보호레벨에 대응하는 저장부로부터 차례로 시작하여 (1)상기 복수의 저장부 중의 어느 하나가 상기 취득된 디지털 데이터를 수용하기 위한 빈 저장영역을 갖는지의 여부를 판정하고, (2)판정결과, 빈 저장영역을 갖지 않으면, 상기 저장부에 저장된 디지털 데이터에 대응하는 목적지 정보를 판독하며, (3)상기 취득된 디지털 데이터에 대응하는 목적지 정보에 의해 특정된 우선순위 레벨보다 낮은 우선순위 레벨을 특정하는 모든 목적지 정보를 추출하며, (4)상기 추출된 목적지 정보에 의해 특정된 보호레벨보다 낮은 보호레벨에 대응하는 저장부에 상기 추출된 목적지 정보에 대응하는 디지털 데이터를 이동시키고, (5)판정결과가 상기 취득된 디지털 데이터에 대한 빈 저장영역을 할당하기 위한 빈 저장영역을 갖는 것으로 판정할 때까지 (1)~(4)를 반복하여 상기 취득된 디지털 데이터에 대한 저장영역을 할당하는 이동 서브유닛; 및
    상기 이동 서브유닛에 의해 할당된 저장영역에 상기 취득된 디지털 데이터를 저장하는 저장 서브유닛을 추가로 포함하는 것을 특징으로 하는 보안장치.
  18. 제 17 항에 있어서,
    상기 이동 서브유닛에 의해 판독되는 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터가 암호화되어야 하는지를 특정하고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 이동되는 디지털 데이터를 선택적으로 암호화하여 이동시키는 것을 특징으로 하는 보안장치.
  19. 제 17 항에 있어서,
    상기 이동 서브유닛에 의해 판독되는 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터에 메시지 인증 코드가 부가되어야 하는지를 특정하고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 상기 이동되는 디지털 데이터에 메시지 인증 코드를 선택적으로 부가하여 이동시키는 것을 특징으로 하는 보안장치.
  20. 제 17 항에 있어서,
    상기 이동 서브유닛에 의해 판독되는 목적지 정보는, 만약 상기 디지털 데이터의 이동이 있으면 상기 판독된 목적지 정보에 대응하는 디지털 데이터에 디지털 서명이 삽입되어야 하는지를 특정하고, 상기 이동 서브유닛은 상기 이동되는 디지털 데이터에 대응하는 목적지 정보에 따라, 이동되는 디지털 데이터에 디지털 서명을 선택적으로 삽입하여 이동시키는 것을 특징으로 하는 보안장치.
  21. 제 17 항에 있어서,
    상기 목적지 정보는 보호레벨을 추가로 특정하며, 상기 이동 서브유닛은 상기 취득된 디지털 데이터에 대응하는 목적지 정보에 의해 특정된 보호레벨보다 낮은 보호레벨에 대응하는 저장부에 대하여 (1)~(5)로부터의 처리를 실행하지 않고, 상기 처리부는 만약 상기 이동 서브유닛이 저장영역을 할당할 수 없으면, 상기 취득된 디지털 데이터가 저장될 수 없음을 사용자에게 제공할 수 있도록 에러정보를 출력하는 출력 서브유닛을 추가로 포함하는 것을 특징으로 하는 보안장치.
  22. 제 1 항에 있어서,
    상기 취득부에서 취득된 상기 디지털 데이터는 복수의 서브-프로그램을 포함하는 컴퓨터 프로그램이며, 각각의 서브-프로그램은 목적지 정보에 대응하고, 상기 처리부는 상기 서브-프로그램에 대응하는 목적지 정보에 기초하여 결정된 저장부에 각각의 서브-프로그램을 저장하는 것을 특징으로 하는 보안장치.
  23. 제 1 항에 있어서,
    상기 복수의 저장부의 각각은 하나의 보호레벨에 대응하고, 상기 디지털 데이터는 하나의 메인 루틴(main routine)과 서브-루틴(sub-routine)을 포함하는 컴퓨터 프로그램이고, 상기 메인 루틴과 서브-루틴은 각각 목적지 정보에 대응하며, 상기 메인 루틴에 대응하는 목적지 정보는 상기 메인 루틴이 높은 우선순위 레벨에 대응하는 저장부에 저장되어야 한다는 것을 특정하고, 상기 처리부는 상기 루틴에 대응하는 목적지 정보에 기초하여 결정된 저장부에 각각의 루틴을 저장하는 것을 특징으로 하는 보안장치.
  24. 제 1 항에 있어서,
    상기 디지털 데이터에는 디지털 서명이 삽입되거나 인증 식별자가 부가되며, 상기 디지털 서명과 인증 식별자는 1)상기 목적지 정보의 정확성, 또는 2)상기 디지털 데이터와 상기 목적지 정보 간의 대응의 정확성을 보여주고,
    상기 처리부는 상기 디지털 서명 또는 상기 인증 식별자에 따라 인증을 실행하고, 상기 인증이 성공적으로 실행되면 상기 디지털 데이터만을 저장하는 것을 특징으로 하는 보안장치.
  25. 각각이 저장영역을 포함하는 복수의 저장부를 포함하는 보안장치를 위한 저장방법으로서,
    디지털 데이터를 위한 저장 목적지로서의 저장부를 결정하기 위해 사용되는 목적지 정보가 대응되는 디지털 데이터를 취득하는 단계; 및
    상기 목적지 정보에 기초하여 지정된 상기 저장부에 상기 디지털 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 저장방법.
  26. 제 1 항에 있어서,
    상기 처리부는 상기 목적지 정보에 기초하여 상기 디지털 데이터가 저장되는 저장부를 결정하는 것을 특징으로 하는 보안장치.
  27. 제 1 항에 있어서,
    상기 목적지 정보에 기초하여 상기 디지털 데이터가 저장되는 저장부를 결정하는 CPU를 추가로 포함하는 것을 특징으로 하는 보안장치.
  28. 제 1 항에 있어서,
    상기 목적지 정보에 기초하여 상기 디지털 데이터가 저장되는 저장부를 결정하는 유닛을 추가로 포함하는 것을 특징으로 하는 보안장치.
KR10-2004-7014216A 2002-03-13 2003-03-07 보안장치 KR20040101293A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00068097 2002-03-13
JP2002068097 2002-03-13
PCT/JP2003/002698 WO2003077083A2 (en) 2002-03-13 2003-03-07 Secure device for preventing unauthorised use of distributed content

Publications (1)

Publication Number Publication Date
KR20040101293A true KR20040101293A (ko) 2004-12-02

Family

ID=27800294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7014216A KR20040101293A (ko) 2002-03-13 2003-03-07 보안장치

Country Status (9)

Country Link
US (2) US7246247B2 (ko)
EP (2) EP2275960A2 (ko)
JP (1) JP4464455B2 (ko)
KR (1) KR20040101293A (ko)
CN (1) CN100350343C (ko)
AU (1) AU2003212647A1 (ko)
BR (1) BR0308370A (ko)
RU (1) RU2313122C2 (ko)
WO (1) WO2003077083A2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359432B2 (en) * 2003-09-17 2013-01-22 Bindu Rama Rao System and method for transferring data between removable storage media units
JP4572519B2 (ja) 2003-09-17 2010-11-04 日本電気株式会社 電子情報認証システム、携帯情報端末及びそれらに用いる電子情報認証方法
US7681046B1 (en) * 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7694151B1 (en) 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
JP2005275812A (ja) * 2004-03-24 2005-10-06 Canon Inc 情報処理装置及びその制御方法、並びに制御プログラム及び記憶媒体
EP1742134A4 (en) * 2004-04-30 2008-12-24 Fujitsu Ltd INFORMATION MANAGEMENT DEVICE AND INFORMATION MANAGEMENT METHOD
US7636857B2 (en) * 2004-05-24 2009-12-22 Interdigital Technology Corporation Data-mover controller with plural registers for supporting ciphering operations
WO2006120938A1 (ja) 2005-05-09 2006-11-16 Matsushita Electric Industrial Co., Ltd. メモリカード、アプリケーションプログラム保持方法、及び保持プログラム
JP4813133B2 (ja) * 2005-09-20 2011-11-09 富士通株式会社 生体認証方法及び生体認証システム
US8424110B2 (en) * 2006-08-17 2013-04-16 Sony Corporation Content storage apparatus, content storage method, storage medium, and program
KR100849212B1 (ko) * 2006-10-12 2008-07-31 삼성전자주식회사 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법
JP4912174B2 (ja) 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
FR2928755B1 (fr) * 2008-03-14 2014-04-11 Sagem Securite Procede de securisation d'une execution d'un programme
WO2009147548A2 (en) * 2008-05-27 2009-12-10 Nxp B.V. Method for storing nfc applications in a secure memory device
JP5276173B2 (ja) * 2008-08-15 2013-08-28 エルエスアイ コーポレーション ニア・コードワードのromリスト復号
US8171306B2 (en) * 2008-11-05 2012-05-01 Microsoft Corporation Universal secure token for obfuscation and tamper resistance
CN101458667B (zh) * 2009-01-10 2013-09-04 汤放鸣 基于电子密级标识的信息交换流向控制方法及移动存储器
US8250379B2 (en) * 2009-10-13 2012-08-21 Microsoft Corporation Secure storage of temporary secrets
JP5923931B2 (ja) * 2011-10-31 2016-05-25 株式会社リコー 情報処理装置、管理方法、及び管理プログラム
WO2013179791A1 (ja) * 2012-05-31 2013-12-05 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10204178B2 (en) * 2013-02-04 2019-02-12 Authentise Inc. System, method, and program product for digital production management
US9741085B2 (en) * 2013-03-14 2017-08-22 Artificial Intelligence Research Group Limited System and method of encoding content and an image
CN105279019B (zh) * 2014-06-10 2018-11-23 中国移动通信集团公司 一种应用程序的调度方法、装置和终端设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4184201A (en) * 1978-04-26 1980-01-15 Sperry Rand Corporation Integrating processor element
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4962533A (en) * 1989-02-17 1990-10-09 Texas Instrument Incorporated Data protection for computer systems
US5237609A (en) * 1989-03-31 1993-08-17 Mitsubishi Denki Kabushiki Kaisha Portable secure semiconductor memory device
US5226137A (en) * 1989-05-15 1993-07-06 Dallas Semiconductor Corp. Electronic key with multiple password protected sub-keys using address and translation to implement a block data move between public and protected sub-keys
JPH03240127A (ja) * 1990-02-17 1991-10-25 Hitachi Maxell Ltd プログラム制御システム
JPH06119510A (ja) * 1992-10-07 1994-04-28 Mitsubishi Electric Corp メモリカード
CA2191331C (en) * 1994-05-26 2005-12-20 Mark Stephen Anderson Secure computer architecture
US5749088A (en) * 1994-09-15 1998-05-05 Intel Corporation Memory card with erasure blocks and circuitry for selectively protecting the blocks from memory operations
US6282652B1 (en) * 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
JPH09297798A (ja) 1996-05-08 1997-11-18 Matsushita Electric Ind Co Ltd マルチメディア機器のコピー防止装置
JPH1027135A (ja) 1996-07-10 1998-01-27 Nippon Telegr & Teleph Corp <Ntt> 電子情報格納方法及び装置
US6668325B1 (en) * 1997-06-09 2003-12-23 Intertrust Technologies Obfuscation techniques for enhancing software security
US6018724A (en) * 1997-06-30 2000-01-25 Sun Micorsystems, Inc. Method and apparatus for authenticating on-line transaction data
GB2329499B (en) * 1997-09-19 2001-05-30 Ibm Method for controlling access to electronically provided services and system for implementing such method
RU2134931C1 (ru) 1999-03-15 1999-08-20 ОАО "Всероссийский научно-исследовательский институт автоматизации управления в непромышленной сфере" Способ обеспечения доступа к объектам в операционной системе мсвс
RU2163744C2 (ru) 1999-04-29 2001-02-27 Щеглов Андрей Юрьевич Система защиты виртуального канала корпоративной сети с фиксальным контролем доступа к информации, построенной на каналах и средствах коммутации сети связи общего пользования
EP1120715A4 (en) * 1999-07-06 2005-02-16 Sony Corp SYSTEM, DEVICE AND METHOD PROVIDING DATA
JP2001195308A (ja) 2000-06-09 2001-07-19 Hiroshi Nakamura パソコンソフトの不正コピー防止
JP2002229861A (ja) 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
US7251248B2 (en) * 2001-07-31 2007-07-31 Bridgeworks Ltd. Connection device

Also Published As

Publication number Publication date
AU2003212647A8 (en) 2003-09-22
JP2009070408A (ja) 2009-04-02
US7246247B2 (en) 2007-07-17
EP2275960A2 (en) 2011-01-19
WO2003077083A3 (en) 2005-01-20
WO2003077083A2 (en) 2003-09-18
CN100350343C (zh) 2007-11-21
US20030182569A1 (en) 2003-09-25
CN1643470A (zh) 2005-07-20
EP1523705A2 (en) 2005-04-20
RU2004130450A (ru) 2005-04-10
BR0308370A (pt) 2005-05-03
AU2003212647A1 (en) 2003-09-22
US7739519B2 (en) 2010-06-15
JP4464455B2 (ja) 2010-05-19
US20070234074A1 (en) 2007-10-04
RU2313122C2 (ru) 2007-12-20

Similar Documents

Publication Publication Date Title
US7739519B2 (en) Secure device
EP1764721B1 (en) Apparatus and method for controlling access to an external memory
CN100578522C (zh) 电子设备、用于电子设备的更新方法和集成电路
US20070271446A1 (en) Application Execution Device and Application Execution Device Application Execution Method
KR101409634B1 (ko) 무선 네트워크에서의 컨텐츠 보호를 위한 방법 및 장치
JP4510373B2 (ja) 共有名を用いてコンポーネントにセキュリティを提供するシステムおよび方法
EP1361511A1 (en) Data processing method and its apparatus
KR101345414B1 (ko) 안전한 휴대용 객체
KR100995995B1 (ko) 휴대용 모듈 리소스의 리소스 관리 방법 및 시스템
KR100718068B1 (ko) 어플리케이션에 의한 기억영역의 사용 관리 방법
JP2003173427A (ja) Icカード
WO2006120938A1 (ja) メモリカード、アプリケーションプログラム保持方法、及び保持プログラム
US20020099733A1 (en) Method and apparatus for attaching electronic signature to document having structure
US7600228B2 (en) Information processing device and information processing terminal
US7664953B2 (en) Data processing device, method of same, and program of same
JP4350962B2 (ja) セキュアデバイス
EP1422958B1 (en) Permission token management system, permission token management method, program and recording medium
EP1094423A2 (en) Card observing method
EP1793313B1 (en) External memory management apparatus and external memory management method
US20060059374A1 (en) Method for securing computer systems by software containment
KR100959313B1 (ko) 플랫폼 활성화 시스템 및 방법
CN114237642A (zh) 安全数据部署方法、装置、终端、服务器以及存储介质
CN113658005A (zh) 在区块链中执行交易的方法和区块链系统
FI120638B (fi) Java-sovellusten käyttämän datan suojausjärjestelmä
CN112597534A (zh) 一种文件保护方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid