KR101391508B1 - 저장된 파일을 보호하는 단말기 및 방법 - Google Patents

저장된 파일을 보호하는 단말기 및 방법 Download PDF

Info

Publication number
KR101391508B1
KR101391508B1 KR1020120095053A KR20120095053A KR101391508B1 KR 101391508 B1 KR101391508 B1 KR 101391508B1 KR 1020120095053 A KR1020120095053 A KR 1020120095053A KR 20120095053 A KR20120095053 A KR 20120095053A KR 101391508 B1 KR101391508 B1 KR 101391508B1
Authority
KR
South Korea
Prior art keywords
file
information
path
stored
specific process
Prior art date
Application number
KR1020120095053A
Other languages
English (en)
Other versions
KR20140033554A (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 KR1020120095053A priority Critical patent/KR101391508B1/ko
Publication of KR20140033554A publication Critical patent/KR20140033554A/ko
Application granted granted Critical
Publication of KR101391508B1 publication Critical patent/KR101391508B1/ko

Links

Images

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/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

단말기는 파일의 경로 및 각 파일의 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보를 저장하는 정보부; 특정 프로세스가 단말기에 저장된 파일에 접근을 시도하는 경우, 상기 정보부에 저장된 정보에 기초하여 특정 프로세스가 파일에 접근 가능한지 판단하는 판단부; 및 판단부의 판단에 따라, 접근 성공 또는 파일 없음의 판단 결과를 특정 프로세스에 통지하는 시스템 제어부를 포함한다. 이에 따라, 단말기에 저장된 파일의 보안을 강화하고, 파일을 효율적으로 관리할 수 있다.

Description

저장된 파일을 보호하는 단말기 및 방법{TERMINAL AND METHOD FOR PROTECTING STORED FILE}
본 발명은 저장된 파일을 보호하는 단말기 및 방법에 관한 것으로서, 더욱 상세하게는 파일에 접근하는 프로세스의 접근 가능여부에 대해 판단하여 허용되지 않는 프로세스의 접근을 제한하는 단말기 및 방법에 관한 것이다.
모바일 기기에서 애플리케이션을 실행하다 보면, 사용자가 원하지 않는 경우에도 모든 파일들을 참조해서 보여주거나 실행하는 경우가 있다. 예를 들어, 음악을 재생하기 위해 뮤직 플레이어(music player) 기능을 실행하였는데, 음악뿐만 아니라, 의도하지 않은 게임에 사용되는 효과음 또는 배경음 등이 재생되는 경우이다.
이렇게 의도하지 않은 파일이 실행되는 이유는 음악 파일과 게임에 사용되는 효과음, 배경음 등의 파일이 모두 음원 파일이기 때문이다. 따라서, 원하지 않는 프로세스가 해당 파일에 접근하는 것을 제한하는 기술이 필요하다.
현재는 이를 위해, 리눅스의 정책을 사용하여 파일 접근에 대해 권한(permission)을 제한하는 방식을 사용하고 있다. 그러나, 권한을 제한하는 방식이더라도, 파일 시스템 탐색이 가능한 애플리케이션을 이용하여 접근이 가능하다는 문제점이 있다.
또한, 루트(root) 권한을 부여 받을 수 없는 프로세스가 루트 권한을 부여 받으려고 시도하는 경우(예를 들어, 수퍼유저(super user) 명령으로 프로세스가 실행 될 경우), 프로세스에 대한 임의의 조작을 가하여 프로세스가 강제로 종료된다. 이 경우, 해당 프로세스는 오류가 발생할 수 있고, 경우에 따라 악성코드로 판단되어 정상적인 프로세스인 경우라도 삭제되는 문제가 발생할 수 있다.
한편, 사용자가 선택한 애플리케이션에 대해서 보안을 적용하는 기술도 사용되고 있다. 이 경우, 해당 파일을 실질적으로 보호하는 것이 아니라 선택한 애플리케이션의 실행을 제한하는 것이다. 예를 들어, 사용자가 특정 애플리케이션에 패스워드를 미리 설정하여 두면, 상기 애플리케이션의 실행을 시도할 때 패스워드를 요구하는 액티비티(activity)가 표시된다.
그러나, 이러한 방법은 파일의 일차적인 가시성만을 제거하는 것이므로, 동일한 파일에 다른 애플리케이션을 통해 접근이 가능하여 여전히 보안에 문제가 있다.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 허용되지 않은 프로세스의 접근을 제한하여 저장된 파일을 보호할 수 있는 단말기를 제공하는 것이다.
본 발명의 또 다른 목적은 허용되지 않은 프로세스의 접근을 제한하여 단말기에 저장된 파일을 보호할 수 있는 방법을 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 저장된 파일을 보호하는 단말기는, 파일의 경로 및 상기 각 파일의 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보를 저장하는 정보부; 특정 프로세스가 단말기에 저장된 파일에 접근을 시도하는 경우, 상기 정보부에 저장된 정보에 기초하여 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 판단부; 및 상기 판단부의 판단에 따라, 접근 성공 또는 파일 없음의 판단 결과를 상기 특정 프로세스에 통지하는 시스템 제어부를 포함한다.
본 발명의 실시예에서, 상기 정보부는, 상기 파일의 경로 및 상기 각 파일의 경로에 대응하는 프로세스에 대한 정보가 테이블 형태로 저장될 수 있다.
본 발명의 실시예에서, 상기 테이블은 적어도 하나의 파일의 경로에 접근 가능한 프로세스에 대한 정보를 포함하거나, 적어도 하나의 파일의 경로에 접근 불가능한 프로세스에 대한 정보를 포함할 수 있다.
본 발명의 실시예에서, 상기 판단부는, 상기 파일의 경로가 상기 테이블에 저장되어 있는지 확인한 후, 저장된 파일의 경로에 대해서만 상기 특정 프로세스가 접근 가능한지 판단할 수 있다.
본 발명의 실시예에서, 상기 판단부는, 상기 프로세스가 상기 테이블에 저장되어 있는지 확인한 후, 상기 프로세스가 상기 파일의 경로에 접근 가능한지 판단할 수 있다.
본 발명의 실시예에서, 상기 프로세스에 대한 정보는 프로세스의 이름 또는 아이디(ID)일 수 있다.
본 발명의 실시예에서, 상기 각 파일의 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보는 상기 단말기의 제조 시에 미리 저장되거나, 추후에 저장, 변경, 삭제 또는 추가될 수 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 단말기에 저장된 파일을 보호하는 방법은, 특정 프로세스가 단말기에 저장된 파일에 접근을 시도하는 경우, 파일의 경로 및 상기 각 파일의 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보가 저장된 테이블에 정보를 쿼리(query)하는 단계; 상기 테이블에 저장된 정보를 기초로, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계; 및 상기 판단에 따라, 접근 성공 또는 파일 없음의 판단 결과를 상기 특정 프로세스에 통지하는 단계를 포함한다.
본 발명의 실시예에서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는, 상기 파일의 경로가 상기 테이블에 존재하는 경우, 상기 파일을 보호 대상으로 판단하는 단계를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는, 상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 정보를 비교하는 단계; 및 상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 가능한 프로세스의 정보와 동일한 경우, 상기 특정 프로세스가 상기 파일에 접근 가능하다고 판단하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 판단 결과를 상기 특정 프로세스에 통지하는 단계는, 상기 접근 성공의 판단 결과를 상기 특정 프로세스에 통지할 수 있다.
본 발명의 실시예에서, 상기 비교하는 프로세스의 정보는 프로세스의 이름 또는 아이디일 수 있다.
본 발명의 실시예에서, 상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 정보를 비교하는 단계는, 상기 특정 프로세스의 아이디를 기초로 상기 특정 프로세스의 이름을 확인하는 단계; 및 상기 특정 프로세스의 이름이 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 이름과 동일한지 비교하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는, 상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 정보를 비교하는 단계; 및 상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 가능한 프로세스의 정보와 동일하지 않은 경우, 상기 특정 프로세스가 상기 파일에 접근 불가능하다고 판단하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 판단 결과를 상기 특정 프로세스에 통지하는 단계는, 상기 파일 없음의 판단 결과를 상기 특정 프로세스에 통지할 수 있다.
본 발명의 실시예에서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는, 상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 불가능한 프로세스의 정보를 비교하는 단계; 및 상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 불가능한 프로세스의 정보와 동일한 경우, 상기 특정 프로세스가 상기 파일에 접근 불가능하다고 판단하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는, 상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 불가능한 프로세스의 정보를 비교하는 단계; 및 상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 불가능한 프로세스의 정보와 동일하지 않은 경우, 상기 특정 프로세스가 상기 파일에 접근 가능하다고 판단하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 단말기에 저장된 파일을 보호하는 방법은, 상기 각 파일의 경로에 접근 가능한 프로세스에 대한 정보를 저장, 변경, 삭제 또는 추가하는 단계를 더 포함할 수 있다.
이와 같은 저장된 파일을 보호하는 단말기 및 방법에 따르면, 해당 파일에 접근 가능 또는 불가능한 프로세스를 미리 지정하여 두고, 접근이 허용되지 않은 프로세스의 접근을 차단하여 단말기에 저장된 파일을 보호할 수 있다. 이 경우, 접근이 허용되지 않은 프로세스는 해당 파일이 존재하는지 인지할 수 없으므로, 파일의 보안을 강화시킬 수 있다.
나아가, 본 발명은 각 파일 또는 디렉토리 별로 파일을 보호하므로, 프로세스 및 미디어의 독립성이 보장되어 파일 관리 및 활용의 효율을 높일 수 있다. 또한, 본 발명의 적용을 위해 애플리케이션의 소스를 변경할 필요가 없으므로, 적용 범위가 제한되지 않고 해당 기술 분야에 넓게 적용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 저장된 파일을 보호하는 단말기의 블록도이다.
도 2는 도 1의 정보부가 포함하는 테이블에 대한 구성의 예들이다.
도 3은 해당 파일에 프로세스의 접근을 허용하는 것을 설명하기 위한 개념도이다.
도 4는 해당 파일에 프로세스의 접근을 허용하지 않는 것을 설명하기 위한 개념도이다.
도 5 내지 도 8은 도 1의 활용예를 보여주는 개념도이다.
도 9는 본 발명의 일 실시예에 따른 단말기에 저장된 파일을 보호하는 방법을 설명하기 위한 흐름도이다.
이하, 도면들을 참조하여 저장된 파일을 보호하는 단말기 및 방법의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 저장된 파일을 보호하는 단말기의 블록도이다. 도 2는 도 1의 정보부가 포함하는 테이블에 대한 구성의 예들이다. 도 3은 해당 파일에 프로세스의 접근을 허용하는 것을 설명하기 위한 개념도이다. 도 4는 해당 파일에 프로세스의 접근을 허용하지 않는 것을 설명하기 위한 개념도이다.
도 1을 참조하면, 본 실시예에 따른 단말기(1)는 시스템 제어부(10), 판단부(30) 및 정보부(50)를 포함한다. 상기 단말기(1)는 파일 저장부(70)에 파일들을 저장하고 있다.
상기 단말기(1)는 스마트 폰, 태블릿 컴퓨터, 넷북, 피디에이(PDA), 피엠피(PMP), 피에스피(PSP), 엠피쓰리(MP3) 플레이어, 이북(e-book) 리더, 내비게이션, 스마트 카메라, 전자사전, 전자시계 등의 모바일(mobile) 기기뿐만 아니라 데스크 탑 컴퓨터, 스마트 TV, 유무선 전화, 스마트 도어락 등의 전자 기기를 모두 포함할 수 있다.
또한, 상기 단말기(1)는 운영체제(Operation System; OS)를 기반으로 다양한 프로그램을 실행할 수 있으며, 상기 운영체제는 안드로이드 OS, 애플사의 iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터에 탑재할 수 있는 운영체제를 모두 포함할 수 있다.
상기 파일 저장부(70)는 상기 단말기(1)에 내장된 로컬(local) 저장 공간일 수도 있고, 상기 단말기(1)에 탈착이 가능한 외장 메모리 카드의 형태일 수도 있다. 상기 외장 메모리 카드의 형태인 경우, SD(Secure Digital) 카드, 멀티미디어 카드(Multi Media Card; MMC), 컴팩트 플래시(Compact Flash: CF) 카드, 마이크로 드라이브(Micro Drive), 메모리 스틱(Memory Stick), 스마트 미디어(Smart Media) 카드, xD 픽처(Extreme Digital Picture) 카드 중 하나일 수 있다.
또한, 상기 파일 저장부(70)는 USB(Universal Serial Bus) 메모리, SSD(Soli State Drive) 형태일 수도 있다. 나아가, 도 1에서는 상기 파일 저장부(70)가 상기 단말기(1) 내부에 형성되는 것으로 도시하였으나, 클라우드 서비스를 이용한 외부 저장 공간일 수도 있다.
상기 파일 저장부(70)에 저장된 파일들은 텍스트 파일, 소스 파일, 백업 파일, 및 음악, 동영상, 사진, 게임 등의 각종 멀티미디어 컨텐츠(contents) 파일 등 종류를 제한하지 않고 모두 포함할 수 있다. 또한, 상기 파일들은 각각 저장될 수도 있고, 디렉토리(또는 폴더)가 형성되고 상기 디렉토리(또는 폴더) 내부에 저장될 수도 있다.
상기 단말기(1)는 특정 프로세스(P)가 상기 단말기(1)에 저장된 파일에 접근을 시도하는 경우, 상기 프로세스(P)가 상기 파일에 접근하는 것을 허용하거나 차단한다. 상기 프로세스(P)는 상기 단말기(1)에서 실행 중인 프로그램으로서, 각종 애플리케이션과 같은 응용 프로그램이거나, 각종 멀티미디어 컨텐츠의 실행 프로그램일 수 있다.
본 발명에서, 상기 특정 프로세스(P)가 상기 파일에 접근하는 것을 차단하는 것은, 상기 특정 프로세스(P)의 접근 자체를 차단할 뿐만 아니라, 상기 파일의 오픈(open) 호출에 대해 파일이 없다는 정보를 피드백(feedback)하여 실현한다.
종래에는 권한이 없는 프로세스가 접근하는 경우 접근 권한이 없음을 통지하였으나, 본 발명에서는 파일이 없다는 통지를 하므로 해당 파일 자체의 보안을 강화할 수 있다. 이에 따라, 상기 특정 프로세스(P)가 상기 파일의 존재조차 인식할 수 없으므로, 상기 파일의 오픈, 실행, 다운로드 등 모든 행위를 원천적으로 차단할 수 있고, 다른 어떠한 프로세스의 접근도 관리가 가능하다.
구체적으로, 상기 프로세스(P)가 상기 단말기(1)에 저장된 파일들 중 특정 파일에 접근하려는 경우, 상기 프로세스(P)는 상기 시스템 제어부(10)에 상기 파일의 오픈(open)을 호출한다(call).
예를 들어, 상기 프로세스(P)가 자바(java) 애플리케이션 또는 리눅스(Linux) 쉘 바이너리로 구성된 애플리케이션인 경우, "open() system call"을 호출할 수 있다. 여기서, "open()"의 오픈 함수를 이용하여 상기 파일의 오픈을 호출하고, 상기 "()" 내부에는 상기 파일이 저장된 디렉토리에 접근하는 경로 또는 상기 파일에 접근하는 경로가 삽입된다.
상기 시스템 제어부(10)는 상기 단말기(1) 운영체제의 커널(kernel) 영역에 형성될 수 있다. 상기 커널 영역이란, 인터럽트 처리, 프로세스 관리, 메모리 관리, 파일 시스템 관리, 프로그래밍 인터페이스를 제공하는 등 컴퓨터 운영체제의 가장 중요한 핵심으로서 컴퓨터의 가장 기본적인 장치들을 관리하고 제어하는 영역이다. 커널 영역은 일반적으로 접근이 불가능한 메모리에 로드(load)되며, 하드웨어를 제어하기 위한 일종의 API(Application Program Interface)라고 볼 수 있다.
상기 시스템 제어부(10)가 상기 오픈 호출(open call)을 받은 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 가능한 프로세스인지 여부를 판단한다. 이 경우, 상기 판단부(30)는 상기 정보부(50)에 저장된 정보를 이용하여 상기 프로세스(P)의 접근 가능성을 판단한다.
상기 판단부(30)도 역시 상기 단말기(1) 운영체제의 커널(kernel) 영역에 형성될 수 있다. 도 1에서는 상기 판단부(30)가 상기 시스템 제어부(10)와 별개로 형성되는 것으로 도시하였으나, 상기 판단부(30)는 상기 시스템 제어부(10)에 포함되는 구성요소일 수도 있다.
상기 정보부(50)는 상기 단말기(1)에 저장된 파일의 경로 및 상기 각 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보를 저장하고 있다. 상기 정보부(50)는 상기 정보들을 테이블(table) 형태로 저장할 수 있으며, 상기 테이블은 상기 단말기(1)가 부팅(booting)될 때 상기 커널 영역에 로드(load)될 수 있다.
도 2(a)를 참조하면, 상기 정보부(50)는 파일의 경로(/sdcard/path1, /sdcard/path2, /sdcard/path3, /sdcard/path4) 및 상기 각 파일의 경로마다 접근 가능하다고 지정된 프로세스에 대한 정보가 대응하여 저장된 테이블(info_table)을 포함한다.
각 파일의 경로에 접근할 수 있다고 지정된 프로세스는 하나 또는 그 이상일 수 있다. 반면, 상기 테이블에 보호가 필요한 파일의 경로로 저장되어 있으나, 상기 경로에 접근할 수 있다고 지정된 프로세스가 없을 수도 있다. 이 경우, 어떤 프로세스도 상기 파일에 접근하지 못하며, 상기 파일은 비밀 파일로 관리될 수 있다.
상기 테이블(info_table)은 상기 단말기(1)의 제조사에 의해 소스 코드(source code)로 상기 단말기(1)에 미리 저장될 수 있다. 다른 예로서, 상기 테이블(info_table)은 제조 이후에 상기 단말기(1)에 매니저(manager) 또는 애플리케이션을 통하여 저장되거나 관리될 수도 있다.
예를 들어, 상기 단말기(1) 내부에 파일들이 각 디렉토리에 저장되는 경우, 상기 테이블(info_table)에 저장된 상기 경로는 각 디렉토리의 접근 경로가 된다. 이 경우, 디렉토리 단위로 파일을 보호할 수 있다. 반면, 디렉토리 내부의 파일들을 각 파일 단위로 개별적으로 보호할 수도 있다.
상기 정보부(50)에 저장된 파일의 경로는 보호가 필요한 파일의 경로들이며, 상기 지정된 프로세스는 대응하는 각 파일의 경로에 접근 가능한 프로세스이다. 상기 파일의 경로는 데이터 파일의 경로일 수도 있고, 애플리케이션의 apk (application package) 파일의 경로일 수도 있다.
상기 지정된 프로세스의 정보는 프로세스의 이름(name) 또는 아이디(ID)일 수 있다. 프로세스의 이름은 예를 들어, "카카오트톡", "페이스북"과 같은 애플리케이션의 이름이며, 프로세스의 아이디는 상기 애플리케이션을 식별하기 위한 고유의 정보이다. 상기 프로세스의 아이디는 상기 애플리케이션마다 하나로 지정되어 사용될 수 있고, 또는 상기 애플리케이션이 실행될 때마다 변경될 수도 있다. 예를 들어, 상기 단말기(1)의 제조 시에 설치(installation)되는 애플리케이션은 하나의 아이디가 지정되어, 실행될 때마다 동일한 아이디를 사용할 수 있다.
도 2(a)의 테이블(info_table)의 정보에 의해, SD 카드의 제1 경로(path1) 내에 포함되어 있는 파일(또는 디렉토리)은 제1 프로세스(process 1) 및 제3 프로세스(process 3)의 접근만 허용되고, SD 카드의 제2 경로(path2) 내에 포함되어 있는 파일(또는 디렉토리)은 제2 프로세스(process 2)의 접근만 허용된다는 것을 알 수 있다.
각 파일의 경로에 접근 가능한 프로세스는 상기 단말기(1)의 제조 시에 미리 설정되어 저장될 수 있고, 추후에 사용자 등에 의해 변경, 삭제, 추가될 수 있다. 예를 들어, 통신사의 요청이나 제조사의 필요에 의해 상기 단말기(1)의 제조 시에 저장되는 파일에 대해서는 특정 프로세스의 접근만 가능하도록 미리 지정하여 두고, 이후 사용자에 의해 저장되는 파일에 대해서는 사용자의 필요에 따라 접근 가능한 프로세스를 지정할 수 있다.
각 파일에는 상기 파일의 소유자(owner)로 지칭되는 특정한 애플리케이션만이 접근 가능한 프로세스로 지정될 수 있다. 또는, 상기 파일의 소유자 및 상기 소유자와 동일한 그룹(group)에 속하는 애플리케이션들을 접근 가능한 프로세스로 지정하여, 다른 그룹에 속하는 애플리케이션들(other)의 접근을 제한할 수 있다.
다른 실시예로서, 도 2(b)를 참조하면, 상기 정보부(50)는 파일의 경로(/sdcard/path1, /sdcard/path2, /sdcard/path3, /sdcard/path4) 및 상기 각 파일의 경로마다 접근 불가능하다고 지정된 프로세스에 대한 정보가 대응하여 저장된 테이블(info_table)을 포함한다.
도 2(b)의 테이블(info_table)은 도 2(a)의 테이블과는 반대로 각 파일의 경로에 접근 불가능하다고 지정된 프로세스의 정보가 하나 또는 그 이상 저장될 수 있다. 이 경우, SD 카드의 제1 경로(path1) 내에 포함되어 있는 파일(또는 디렉토리)은 제2 프로세스(process 2)의 접근은 제한되고, 다른 프로세스의 접근은 가능하다. 또한, SD 카드의 제2 경로(path2) 내에 포함되어 있는 파일(또는 디렉토리)은 제1 프로세스(process 1) 및 제3 프로세스(process 3)의 접근은 제한된다는 것을 알 수 있다.
마찬가지로, 각 파일의 경로에 접근 불가능한 프로세스는 상기 단말기(1)의 제조 시에 미리 설정되어 저장될 수 있고, 추후에 사용자 등에 의해 변경, 삭제, 추가될 수 있다.
또 다른 실시예로서, 도시하지는 않았으나, 상기 정보부(50)는 일부 파일의 경로에는 접근 가능한 프로세스를 지정하고, 일부 파일의 경로에는 접근 불가능하다고 지정된 프로세스를 지정하여 선택적으로 관리할 수도 있다.
상기 판단부(30)는, 상기 오픈 호출(open call)이 있는 경우, 우선 상기 오픈 호출(open call)을 받은 파일이 보호 대상인지 판단한다. 예를 들어, 상기 판단부(30)는 커널 영역(kernel/fs/open.c)의 do_sys_open() 함수 내에서 파일이 보호 대상인지 확인할 수 있다.
우선, 상기 판단부(30)는 상기 오픈 호출(open call)을 받은 파일이 저장된 경로가 상기 테이블(info_table)에 존재하는지 확인하기 위해 상기 테이블(info_table)을 쿼리(query)한다.
상기 파일의 경로가 상기 테이블(info_table)에 저장되어 있지 않은 경우, 상기 판단부(30)는 상기 파일을 비보호 대상으로 판단한다. 상기 비보호 대상의 파일은 특별히 관리의 필요가 없는 파일로서, 상기 파일에 어떠한 프로세스의 접근도 가능할 수 있다. 따라서, 상기 파일이 비보호 대상으로 판단된 경우, 상기 프로세스(P)의 접근을 허용한다. 상기 프로세스(P)는 접근을 시도한 파일에 제한을 받지 않고 접근하여 해당 파일을 오픈할 수 있다.
반면, 상기 파일의 경로가 상기 테이블(info_table)에 저장되어 있는 경우, 상기 판단부(30)는 상기 파일을 보호 대상으로 판단한다. 상기 보호 대상의 파일은 특별히 관리가 필요한 파일로서, 상기 파일에 지정된 프로세스만이 접근할 수 있고, 다른 프로세스의 접근은 제한된다.
상기 프로세스(P)가 상기 보호 대상인 파일에 접근 가능한지 판단하기 위하여, 상기 판단부(30)는 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 가능한 프로세스의 정보를 비교한다.
비교 결과, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 가능한 프로세스의 정보가 동일한 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 가능하다고 판단한다.
다른 실시예에서, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 불가능한 프로세스의 정보가 동일한 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 불가능하다고 판단할 수도 있다.
상기 판단부(30)의 판단에 따라, 상기 시스템 제어부(10)는 "접근 성공"의 판단 결과를 상기 프로세스(P)에 통지한다. 상기 "접근 성공"의 통지는 상기 시스템 제어부(10)가 상기 프로세스(P)에게 반환하는 핸들러(handler)일 수 있다. 상기 핸들러는 프로세스와 단말기 간의 데이터 교환을 제어하는 루틴(routine)을 가리킨다. 이로서, 상기 프로세스(P)는 상기 특정 파일에 접근하여 파일을 성공적으로 오픈할 수 있게 된다.
이에 대해 구체적으로 설명하기 위해 도 3을 참조하면, 제1 프로세스(process 1)가 "/sdcard/path1"의 경로에 저장된 파일의 오픈을 시도한다. 파일의 오픈 호출이 있는 경우, 커널 영역의 do_sys_open(/sdcard/path1) 함수 내에서 오픈하려는 파일의 경로가 상기 테이블(info_table)에 존재하는지 확인할 수 있다. 구체적으로, 오픈하려는 파일의 경로의 문자열과 상기 테이블(info_table)에 저장된 경로의 문자열을 비교할 수 있다.
상기 파일의 경로가 상기 테이블(info_table)에 존재하는 경우, 상기 제1 프로세스(process 1)가 상기 파일의 경로에 접근이 가능한 프로세스로 지정되어 있는지 확인한다. 예를 들어, 상기 "/sdcard/path1"의 경로에 저장된 파일의 오픈을 호출한 상기 제1 프로세스(process 1)의 아이디로부터 상기 프로세스의 이름을 확인하고, 상기 테이블(info_table)에 상기 "/sdcard/path1"의 경로에 저장된 파일에 접근 가능하다고 지정된 프로세스의 이름과 동일한지 확인할 수 있다.
도 2(a)의 테이블(info_table)을 참조하면, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path1"의 경로에 저장된 파일에 접근 가능한 프로세스로 저장되어 있으므로, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path1"의 경로에 저장된 파일에 접근할 수 있는 권한이 있다. 따라서, 상기 제1 프로세스(process 1)는 상기 파일에 대해 정상적인 오픈 과정을 진행할 수 있다.
반면, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 가능한 프로세스의 정보가 동일하지 않은 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 불가능하다고 판단한다.
이와는 반대로, 상기 제1 프로세스(process 1)가 상기 파일의 경로에 접근이 불가능한 프로세스로 지정되어 있는지 확인할 수도 있다.
도 2(b)의 테이블(info_table)을 참조하면, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path1"의 경로에 저장된 파일에 접근 불가능한 프로세스로 저장되어 있지 않으므로, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path1"의 경로에 저장된 파일에 접근할 수 있는 권한이 있다. 따라서, 상기 제1 프로세스(process 1)는 상기 파일에 대해 정상적인 오픈 과정을 진행할 수 있다.
반면, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 불가능한 프로세스의 정보가 동일한 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 불가능하다고 판단한다.
상기 판단부(30)의 판단에 따라, 상기 시스템 제어부(10)는 "파일 없음"의 판단 결과를 상기 프로세스(P)에 통지한다. 이로서, 상기 프로세스(P)는 상기 특정 파일의 존재를 알 수 없게 된다. 상기 "파일 없음"의 메시지는 상기 단말기(1)의 운영체제에서 파일이 없는 경우에 사용하는 메시지일 수 있다. 예를 들어, 상기 "파일 없음"의 판단 결과는 리눅스 기반의 운영체제에서 파일이 존재하지 않는다는 결과 값인 "ENOENT"로 통지될 수 있다.
이에 대해 구체적으로 설명하기 위해 도 4를 참조하면, 제1 프로세스(process 1)가 "/sdcard/path2"의 경로에 저장된 파일의 오픈을 시도한다. 파일의 오픈 호출이 있는 경우, 커널 영역의 do_sys_open(/sdcard/path2) 함수 내에서 오픈하려는 파일의 경로가 상기 테이블(info_table)에 존재하는지 확인할 수 있다. 구체적으로, 오픈하려는 파일의 경로의 문자열과 상기 테이블(info_table)의 경로의 문자열을 비교할 수 있다.
상기 파일의 경로가 상기 테이블(info_table)에 존재하는 경우, 상기 제1 프로세스(process 1)가 상기 파일의 경로에 접근이 가능한 프로세스로 지정되어 있는지 확인한다.
도 2(a)의 테이블(info_table)을 참조하면, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path2"의 경로에 저장된 파일에 접근 가능한 프로세스로 저장되어 있지 않으므로, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path2"의 경로에 저장된 파일에 접근할 수 있는 권한이 없다.
따라서, 상기 제1 프로세스(process 1)는 상기 시스템 제어부(10)으로부터 "파일 없음"의 통지를 받는다. 이로서, 상기 제1 프로세스(process 1)는 파일의 오픈 과정을 진행할 수 없으며, 상기 파일의 존재 조차도 인지할 수 없게 된다.
이와는 반대로, 상기 제1 프로세스(process 1)가 상기 파일의 경로에 접근이 불가능한 프로세스로 지정되어 있는지 확인할 수도 있다.
도 2(b)의 테이블(info_table)을 참조하면, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path2"의 경로에 저장된 파일에 접근 불가능한 프로세스로 저장되어 있으므로, 상기 제1 프로세스(process 1)는 상기 "/sdcard/path2"의 경로에 저장된 파일에 접근할 수 있는 권한이 없다.
따라서, 상기 제1 프로세스(process 1)는 상기 시스템 제어부(10)으로부터 "파일 없음"의 통지를 받는다. 이로서, 상기 제1 프로세스(process 1)는 파일의 오픈 과정을 진행할 수 없으며, 상기 파일의 존재 조차도 인지할 수 없게 된다.
본 실시예에서, 상기 판단부(30)는 상기 오픈 호출(open call)을 받은 파일이 저장된 경로가 상기 테이블에 존재하는지 먼저 확인한 후, 접근하는 프로세스(P)에 권한이 있는지 확인한다. 반면, 상기 판단부(30)는 상기 접근하는 프로세스(P)가 상기 테이블에 존재하는지 먼저 확인한 후, 상기 프로세스(P)가 접근할 수 있는 파일의 경로와 상기 접근하려는 파일의 경로를 비교하여 상기 프로세스(P)가 해당 경로에 접근 가능한지 판단할 수도 있다.
본 발명에 따른 저장된 파일을 보호하는 단말기에 따르면, 저장된 파일에 프로세스의 접근 가능 또는 불가능 여부를 미리 저장하여 두고, 접근이 허용되지 않은 프로세스의 접근을 차단하여 저장된 파일을 보호할 수 있다. 이 경우, 접근이 허용되지 않은 프로세스는 접근 권한이 없다는 것을 알기 이전에 해당 파일이 존재하는지 조차 인지할 수 없으므로, 파일의 보안을 강화시킬 수 있다. 또한, 파일을 디렉토리 별로 관리하여 프로세스 및 미디어의 독립성을 보장할 수 있으므로, 파일의 관리 및 활용의 효율을 높일 수 있다.
도 5 내지 도 8은 도 1의 활용예를 보여주는 개념도이다.
도 5를 참조하면, 단말기(1)의 프리로드(preload)된 애플리케이션(P11)과 일반 백업 애플리케이션(P22) 중 프리로드된 애플리케이션만이 프리로드된 애플리케이션의 apk 파일에 접근 가능하도록 설정된 예를 보여준다.
상기 프리로드된 애플리케이션(P11)은 제조사가 제품을 출시할 때 기본으로 제공하는 애플리케이션으로서, 예를 들어 스카이(SKY® 백업 애플리케이션으로 설명한다. 또한, 상기 일반 백업 애플리케이션(P22)은 사용자가 마켓 등에서 다운로드 받은 백업 애플리케이션으로서, 예를 들어 아스트로(Astro)로 설명한다.
스카이(SKY® 백업 애플리케이션(P11)의 경우, 일반적인 애플리케이션, 예를 들어, 사용자가 마켓 등에서 다운로드 받은 애플리케이션의 apk 파일(a.apk) 및 상기 단말기(1)의 출시 시에 기본으로 프리로드되어 있는 스카이 고유 애플리케이션의 apk 파일(sky.apk)에 모두 접근이 가능하다.
따라서, 상기 스카이 백업 애플리케이션(P11)을 이용하여 파일들을 백업하는 경우, 일반적인 애플리케이션의 apk 파일(a.apk)뿐만 아니라 스카이 고유 애플리케이션의 apk 파일(sky.apk)까지 모두 외부 백업장소(예를 들어, 일반 PC)(2)로 복사할 수 있다.
반면, 아스트로 등 일반 백업 애플리케이션(P22)을 이용하여 파일들을 백업하는 경우, 일반적인 애플리케이션의 apk 파일(a.apk)에는 접근이 가능하나 상기 단말기(1)에 기본으로 내장되어 있는 스카이 고유 애플리케이션의 apk 파일(sky.apk)에는 접근이 제한된다.
따라서, 상기 Astro 등 일반 백업 애플리케이션(P22)을 이용하여 파일들을 백업하는 경우, 일반적인 애플리케이션의 apk 파일(a.apk)만을 외부 백업장소(2)로 복사할 수 있다.
본 발명에 따라, 제조사에서 프리로드하는 애플리케이션의 외부 유출을 막을 수 있다. 또한, 애플리케이션의 백업 및 파일에 대한 독립성을 요구하는 애플리케이션 제조사에게 파일의 독립성을 보장해 주는 형태의 B2B(business to business) 거래가 가능해질 것이다.
도 6을 참조하면, 단말기(1)는 파일 저장부(70)의 특정 디렉토리(/dir2)를 전용(private) 저장소로 지정하여 두고, 특정 애플리케이션(P33)만이 상기 특정 디렉토리에 접근할 수 있도록 지정해 두었다.
상기 특정 애플리케이션(P33)은 특정 방법을 통해 설치된, 예를 들어, 인스톨러(installer)를 통해 설치된 애플리케이션일 수 있다. 상기 인스톨러는 애플리케이션을 다운로드 받기 위한 프로그램 또는 매니저로서, 본 발명의 구현을 위해 애플리케이션 다운로드 시에 해당 애플리케이션의 정보 등이 테이블(info_table)에 자동으로 등록될 수 있다.
이 경우, 상기 특정 애플리케이션(P33)은 상기 특정 디렉토리(/dir2)에 접근하여 "dir2/b.txt" 파일을 오픈할 수 있으나, 다른 일반 애플리케이션(P44)은 상기 특정 디렉토리(/dir2)의 접근이 제한되어 "dir2/b.txt" 파일의 존재를 알 수 없게 된다.
본 발명에 따라, 특정 디렉토리를 관리하여 파일 관리의 보안성 및 효율성을 높일 수 있을 것이다.
도 7을 참조하면, 단말기(1)는 파일 저장부(70)에 음원 파일을 저장할 수 있는데, 음원 파일에는 음악 파일뿐만 아니라 게임에 사용되는 효과음 및 배경음 등이 함께 저장되어 있다. 상기 음악 파일과 상기 게임에 관련된 음원 파일은 서로 다른 디렉토리에 저장되어 있다.
이 경우, 사용자는 지정된 애플리케이션(P55)이 지정된 경로(음악 파일이 저장된 디렉토리)에서 접근할 수 있도록 설정하여 상기 음악 파일만 재생하도록 관리할 수 있다. 마찬가지로, 지정된 애플리케이션(P55)이 지정된 경로에서만 사진을 탐색하도록 설정할 수 있다.
도 8을 참조하면, 단말기(1)는 파일 저장부(70)에 사진 및 동영상 등의 컨텐츠 파일을 저장한다. 이 경우, 특정 애플리케이션(P66)을 통해 상기 파일 저장부(70)에 접근하는 경우 상기 파일 저장부(70)의 모든 경로에 접근 가능하도록 설정하고, 반면 일반 애플리케이션(P77)을 통해 상기 파일 저장부(70)에 접근하는 경우 일부 경로(예를 들어, 사진 디렉토리)에만 접근 가능하도록 설정할 수 있다.
이 경우, 사용자는 상기 특정 애플리케이션(P66), 예를 들어, "카카오톡"을 통하지 않고, 상기 일반 애플리케이션(P77), 예를 들어, "페이스북"을 통해 상기 파일 저장부(70)에 접근하는 경우, 상기 사진 디렉토리만을 인식할 수 있고, 동영상 디렉토리는 인식할 수 없다.
본 발명에 따라, 단말기에서 사용하는 미디어의 독립성을 보장할 수 있으며, 컨텐츠 파일의 보안을 강화할 수 있다.
또한, 단말기를 분실한 경우 분실 서비스를 통한 특정 명령을 통해 중요 데이터 및 시스템 레벨의 중요 파일에 대해 보호 조치를 취할 수 있다. 따라서, 개인의 정보 보호뿐 아니라 단말기 자체를 플레이어 용도로도 사용하지 못하게 제한할 수 있다. 이후, 단말기를 되찾은 경우 특정 명령을 통해 보호 조치를 해제하여 분실 전의 상태로 사용이 가능하여 복구의 노력을 감소시킬 수 있다.
나아가, 특정 파일을 숨길 수 있으므로, 애플리케이션에 대해 소프트웨어적인 시크릿 뷰(secret view) 기능을 제공하여 사생활을 보호할 수 있다.
도 9는 본 발명의 일 실시예에 따른 단말기에 저장된 파일을 보호하는 방법을 설명하기 위한 흐름도이다.
본 실시예에 따른 단말기에 저장된 파일을 보호하는 방법은 도 1의 단말기(1)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 단말기(1)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
도 9를 참조하면, 본 실시예에 따른 단말기에 저장된 파일을 보호하는 방법은, 특정 프로세스(P)가 상기 단말기(1)에 저장된 파일에 접근을 시도하는 경우, 상기 시스템 제어부(10)에 상기 파일의 오픈(open)을 호출한다(단계 S00). 예를 들어, 상기 프로세스(P)가 자바(java) 애플리케이션 또는 리눅스(Linux) 쉘 바이너리로 구성된 애플리케이션인 경우, "open() system call"을 호출할 수 있다.
상기 파일의 오픈 호출(open call)을 받은 경우, 상기 판단부(30)는 파일의 경로 및 상기 각 경로에 접근 가능한 프로세스에 대한 정보가 저장된 테이블(info_table)에 정보를 쿼리(query)하고, 상기 테이블에 저장된 정보를 기초로, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단한다(단계 S30).
이에 앞서, 먼저 상기 오픈 호출을 받은 파일이 보호 대상인지 판단하고(단계 S10), 보호 대상의 파일인 경우에만 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단할 수 있다. 예를 들어, 상기 판단부(30)는 커널 영역(kernel/fs/open.c)의 do_sys_open() 함수 내에서 파일이 보호 대상인지 확인할 수 있다.
상기 판단부(30)는 상기 오픈 호출(open call)을 받은 파일이 저장된 경로가 상기 테이블(info_table)에 존재하는지 확인하기 위해 상기 테이블(info_table)을 쿼리(query)한다.
상기 파일의 경로가 상기 테이블(info_table)에 저장되어 있지 않은 경우, 상기 판단부(30)는 상기 파일을 비보호 대상으로 판단한다. 상기 비보호 대상의 파일은 특별히 관리의 필요가 없는 파일로서, 상기 파일에 어떠한 프로세스의 접근도 가능할 수 있다. 따라서, 상기 파일이 비보호 대상으로 판단된 경우, 상기 프로세스(P)의 접근을 허용한다. 상기 프로세스(P)는 접근을 시도한 파일에 제한을 받지 않고 접근하여 해당 파일을 오픈할 수 있다(단계 S55).
반면, 상기 파일의 경로가 상기 테이블(info_table)에 저장되어 있는 경우, 상기 판단부(30)는 상기 파일을 보호 대상으로 판단한다. 상기 보호 대상의 파일은 특별히 관리가 필요한 파일로서, 상기 파일에 지정된 프로세스만이 접근할 수 있고, 다른 프로세스의 접근은 제한된다.
상기 프로세스(P)가 상기 파일에 접근 가능한 프로세스인지 판단하기 위해, 상기 판단부(30)는 상기 정보부(50)에 저장된 정보를 이용하여 상기 프로세스(P)의 접근 가능성을 판단한다(단계 S30).
상기 프로세스(P)가 상기 보호 대상인 파일에 접근 가능한지 판단하기 위하여, 상기 판단부(30)는 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 가능 또는 불가능한 프로세스의 정보를 비교한다.
비교 결과, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 가능한 프로세스의 정보가 동일한 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 가능하다고 판단한다.
반면, 상기 판단부(30)는 상기 접근하는 프로세스(P)가 상기 테이블에 존재하는지 먼저 확인한 후, 상기 프로세스(P)가 접근할 수 있는 파일의 경로와 상기 접근하려는 파일의 경로를 비교하여 상기 프로세스(P)가 해당 경로에 접근 가능한지 판단할 수도 있다.
다른 실시예에서, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 불가능한 프로세스의 정보가 동일하지 않은 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 가능하다고 판단할 수도 있다.
상기 판단부(30)의 판단에 따라, 상기 시스템 제어부(10)는 "접근 성공"의 판단 결과를 상기 프로세스(P)에 통지하고, 이로서, 상기 프로세스(P)는 상기 특정 파일에 접근하여 파일을 성공적으로 오픈할 수 있게 된다(단계 S55).
반면, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 가능한 프로세스의 정보가 동일하지 않은 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 불가능하다고 판단한다.
다른 실시예에서, 상기 프로세스(P)의 정보와 상기 테이블(info_table)에 저장된 보호 대상인 파일의 경로에 접근 불가능한 프로세스의 정보가 동일한 경우, 상기 판단부(30)는 상기 프로세스(P)가 상기 파일에 접근 불가능하다고 판단할 수도 있다.
상기 판단부(30)의 판단에 따라, 상기 시스템 제어부(10)는 "파일 없음"의 판단 결과를 상기 프로세스(P)에 통지한다(단계 S51). 이로서, 상기 프로세스(P)는 상기 특정 파일의 존재를 알 수 없게 된다.
본 발명에 따른 단말기에 저장된 파일을 보호하는 벙법에 따르면, 저장된 파일에 특정 프로세스만 접근이 가능하고, 접근이 허용되지 않은 프로세스의 접근을 차단하여 저장된 파일을 보호할 수 있다. 이 경우, 접근이 허용된 프로세스 외에는 접근 권한이 없다는 것을 알기 이전에 해당 파일이 존재하는지 조차 인지할 수 없으므로, 파일의 보안을 강화시킬 수 있다. 또한, 파일을 디렉토리 별로 관리하여 프로세스 및 미디어의 독립성을 보장할 수 있으므로, 파일의 관리 및 활용의 효율을 높일 수 있다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
1: 단말기 2: 외부 백업장소
10: 시스템 제어부 30: 판단부
50: 정보부 70: 파일 저장부

Claims (19)

  1. 파일의 경로 및 상기 각 파일의 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보를 테이블 형태로 저장하는 정보부;
    단말기에서 실행 중인 특정 프로세스가 상기 단말기에 저장된 파일에 접근을 시도하는 경우, 상기 정보부에 저장된 정보에 기초하여 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 판단부; 및
    상기 판단부의 판단에 따라, 접근 성공 또는 파일 없음의 판단 결과를 상기 특정 프로세스에 통지하는 시스템 제어부를 포함하고,
    상기 판단부는,
    상기 파일의 경로가 상기 테이블에 저장되어 있는지 확인한 후, 저장된 파일의 경로에 대해서만 상기 특정 프로세스가 접근 가능한지 판단하는, 저장된 파일을 보호하는 단말기.
  2. 삭제
  3. 제1항에 있어서,
    상기 테이블은 적어도 하나의 파일의 경로에 접근 가능한 프로세스에 대한 정보를 포함하는 것을 특징으로 하는 저장된 파일을 보호하는 단말기.
  4. 제1항에 있어서,
    상기 테이블은 적어도 하나의 파일의 경로에 접근 불가능한 프로세스에 대한 정보를 포함하는 것을 특징으로 하는 저장된 파일을 보호하는 단말기.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 프로세스에 대한 정보는 프로세스의 이름 또는 아이디(ID)인 것을 특징으로 하는 저장된 파일을 보호하는 단말기.
  8. 제1항에 있어서,
    상기 각 파일의 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보는 상기 단말기의 제조 시에 미리 저장되거나, 추후에 저장, 변경, 삭제 또는 추가될 수 있는 것을 특징으로 하는 저장된 파일을 보호하는 단말기.
  9. 단말기에서 실행 중인 특정 프로세스가 상기 단말기에 저장된 파일에 접근을 시도하는 경우, 파일의 경로 및 상기 각 파일의 경로에 접근 가능 또는 불가능한 프로세스에 대한 정보가 저장된 테이블에 정보를 쿼리(query)하는 단계;
    상기 테이블에 저장된 정보를 기초로, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계; 및
    상기 판단에 따라, 접근 성공 또는 파일 없음의 판단 결과를 상기 특정 프로세스에 통지하는 단계를 포함하고,
    상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는,
    상기 파일의 경로가 상기 테이블에 존재하는 경우, 상기 파일을 보호 대상으로 판단하는 단계를 더 포함하는, 단말기에 저장된 파일을 보호하는 방법.
  10. 삭제
  11. 제9항에 있어서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는,
    상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 정보를 비교하는 단계; 및
    상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 가능한 프로세스의 정보와 동일한 경우, 상기 특정 프로세스가 상기 파일에 접근 가능하다고 판단하는 단계를 포함하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  12. 제11항에 있어서, 상기 판단 결과를 상기 특정 프로세스에 통지하는 단계는,
    상기 접근 성공의 판단 결과를 상기 특정 프로세스에 통지하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  13. 제11항에 있어서,
    상기 비교하는 프로세스의 정보는 프로세스의 이름 또는 아이디인 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  14. 제13항에 있어서, 상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 정보를 비교하는 단계는,
    상기 특정 프로세스의 아이디를 기초로 상기 특정 프로세스의 이름을 확인하는 단계; 및
    상기 특정 프로세스의 이름이 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 이름과 동일한지 비교하는 단계를 포함하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  15. 제9항에 있어서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는,
    상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 가능한 프로세스의 정보를 비교하는 단계; 및
    상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 가능한 프로세스의 정보와 동일하지 않은 경우, 상기 특정 프로세스가 상기 파일에 접근 불가능하다고 판단하는 단계를 포함하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  16. 제15항에 있어서, 상기 판단 결과를 상기 특정 프로세스에 통지하는 단계는,
    상기 파일 없음의 판단 결과를 상기 특정 프로세스에 통지하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  17. 제9항에 있어서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는,
    상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 불가능한 프로세스의 정보를 비교하는 단계; 및
    상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 불가능한 프로세스의 정보와 동일한 경우, 상기 특정 프로세스가 상기 파일에 접근 불가능하다고 판단하는 단계를 포함하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  18. 제9항에 있어서, 상기 특정 프로세스가 상기 파일에 접근 가능한지 판단하는 단계는,
    상기 특정 프로세스의 정보와 상기 테이블에 저장된 파일의 경로에 접근 불가능한 프로세스의 정보를 비교하는 단계; 및
    상기 특정 프로세스의 정보가 상기 파일의 경로에 접근 불가능한 프로세스의 정보와 동일하지 않은 경우, 상기 특정 프로세스가 상기 파일에 접근 가능하다고 판단하는 단계를 포함하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
  19. 제9항에 있어서,
    상기 각 파일의 경로에 접근 가능한 프로세스에 대한 정보를 저장, 변경, 삭제 또는 추가하는 단계를 더 포함하는 것을 특징으로 하는 단말기에 저장된 파일을 보호하는 방법.
KR1020120095053A 2012-08-29 2012-08-29 저장된 파일을 보호하는 단말기 및 방법 KR101391508B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120095053A KR101391508B1 (ko) 2012-08-29 2012-08-29 저장된 파일을 보호하는 단말기 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120095053A KR101391508B1 (ko) 2012-08-29 2012-08-29 저장된 파일을 보호하는 단말기 및 방법

Publications (2)

Publication Number Publication Date
KR20140033554A KR20140033554A (ko) 2014-03-19
KR101391508B1 true KR101391508B1 (ko) 2014-05-29

Family

ID=50644352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120095053A KR101391508B1 (ko) 2012-08-29 2012-08-29 저장된 파일을 보호하는 단말기 및 방법

Country Status (1)

Country Link
KR (1) KR101391508B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101673367B1 (ko) * 2015-07-22 2016-11-07 주식회사 엔에스에이치씨 경고 어플리케이션을 이용하여 메인 어플리케이션의 보안 위협 시도를 경고할 수 있는 모바일 단말기의 어플리케이션 보안 제공 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020080142A (ko) * 2001-04-11 2002-10-23 (주) 세이프아이 인터넷 망을 통한 접근 통제 방법 및 장치
KR20040057256A (ko) * 2002-12-26 2004-07-02 엘지전자 주식회사 메모리보호장치 및 그 제어방법
JP2005209109A (ja) 2004-01-26 2005-08-04 Toshiba Corp 保護機能付きメモリカードおよびその制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020080142A (ko) * 2001-04-11 2002-10-23 (주) 세이프아이 인터넷 망을 통한 접근 통제 방법 및 장치
KR20040057256A (ko) * 2002-12-26 2004-07-02 엘지전자 주식회사 메모리보호장치 및 그 제어방법
JP2005209109A (ja) 2004-01-26 2005-08-04 Toshiba Corp 保護機能付きメモリカードおよびその制御方法

Also Published As

Publication number Publication date
KR20140033554A (ko) 2014-03-19

Similar Documents

Publication Publication Date Title
US20180189300A1 (en) Method and system for providing restricted access to a storage medium
US7725922B2 (en) System and method for using sandboxes in a managed shell
EP2783321B1 (en) File system access for one or more sandboxed applications
US8234477B2 (en) Method and system for providing restricted access to a storage medium
KR101308859B1 (ko) 임시 관리자 권한 부여 기능을 가진 단말기 및 이를 이용한 임시 관리자 권한 부여 방법
US8955056B2 (en) Terminal and method for assigning permission to application
CN101208928A (zh) 运行具有低权限的因特网应用程序
JP2003162452A (ja) 記憶媒体装置に格納されているデータを保護するためのシステム及び方法
WO2017016231A1 (zh) 一种策略管理方法、系统及计算机存储介质
CN102663313B (zh) 一种实现计算机系统信息安全的方法
KR101321479B1 (ko) 프로세스의 접근 제어를 이용한 응용 소프트웨어의 불법 복제 방지 방법 및 장치
KR101391508B1 (ko) 저장된 파일을 보호하는 단말기 및 방법
GB2515736A (en) Controlling access to one or more datasets of an operating system in use
EP4348469A1 (en) Firmware policy enforcement via a security processor
JP4444604B2 (ja) アクセス制御装置ならびにそのプログラム
CN112580023B (zh) 影子栈管理方法及装置、介质、设备
EP3814910B1 (en) Hardware protection of files in an integrated-circuit device
US10032041B2 (en) Storage volume protection using restricted resource classes

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: 20170926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 5