KR101496347B1 - 파일 저장/검색 장치 및 방법 - Google Patents

파일 저장/검색 장치 및 방법 Download PDF

Info

Publication number
KR101496347B1
KR101496347B1 KR20080034160A KR20080034160A KR101496347B1 KR 101496347 B1 KR101496347 B1 KR 101496347B1 KR 20080034160 A KR20080034160 A KR 20080034160A KR 20080034160 A KR20080034160 A KR 20080034160A KR 101496347 B1 KR101496347 B1 KR 101496347B1
Authority
KR
South Korea
Prior art keywords
search
file
token
input
menu screen
Prior art date
Application number
KR20080034160A
Other languages
English (en)
Other versions
KR20090108849A (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 KR20080034160A priority Critical patent/KR101496347B1/ko
Priority to US12/367,735 priority patent/US20090259658A1/en
Publication of KR20090108849A publication Critical patent/KR20090108849A/ko
Application granted granted Critical
Publication of KR101496347B1 publication Critical patent/KR101496347B1/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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

파일 저장/검색 장치 및 방법이 개시된다. 메뉴생성부는 검색조건을 입력받기 위한 검색메뉴화면을 생성하며, 토큰 생성부는 검색메뉴화면을 통해 입력되는 적어도 하나의 검색조건을 해싱(hashing)하여 토큰(token)을 생성하며, 파일 검색부는 검색할 적어도 하나의 파일에 포함되어 있는 각 파일정보와 생성된 토큰을 비교하여 검색조건에 매칭되는 파일을 검색한다.
해쉬, 파일 보안, 암호화, 난수

Description

파일 저장/검색 장치 및 방법{File storing/retrieving apparatus and method for file storing/retrieving}
본 발명은 파일 저장/검색 장치 및 방법에 관한 것으로, 더욱 상세하게는 파일의 상세정보를 해싱하여 저장하고, 다수의 검색조건을 해싱하여 파일을 검색할 수 있는 파일 저장/검색 장치 및 방법에 관한 것이다.
최근 정보 노출 또는 개인 프라이버시의 침해를 예방하기 위하여, 이동식 저장장치와 같은 휴대 저장공간에 파일명까지 숨겨 암호화하는 기술에 대한 연구가 활발히 진행되고 있다. 문서보안을 위한 기술은 일반적으로 보안이 필요한 파일을 암호화하여 저장하고, 필요한 파일을 복호화하는 과정을 수반한다.
기존의 문서보안을 위한 기술은 파일을 암호화하여 저장할 때 파일명을 개별적으로 암호화하여 저장한다. 따라서, 암호화된 파일들 중 원하는 파일을 검색하려는 경우, 사용자는 암호화된 파일명을 일일이 복호화한 후, 사용자가 원하는 파일명이 검색되며, 검색된 파일명에 해당하는 원본 파일을 복호화한다.
이 때, 종래의 방식으로 암호화된 파일명은 원본 파일명보다 큰 크기를 갖는다. 따라서, 원하는 파일을 검색하는 경우, 암호화된 파일명을 개별적으로 복호화 하므로, 파일명의 복호화에 많은 시간이 소요되며, 암호화된 파일들이 많을수록, 파일을 찾는 시간은 증가하게 된다. 또한, 종래의 기술은 파일명에 의한 검색 외에 추가적인 검색기능을 제공하지 못하며, 복호화에 의해 파일명과 같은 정보가 외부에 쉽게 노출되는 문제가 있다.
따라서, 본 발명의 목적은 파일명을 복호화하는 과정없이 원하는 파일을 검색하고, 또한, 파일명 외의 다양한 검색어를 이용하여 파일을 검색할 수 있는 파일 저장/검색 장치 및 방법을 제공하고자 하는 데 있다.
본 발명의 다른 목적은 파일명과 같은 상세정보를 암호화하지 않고 해쉬함수를 이용하여 저장하고, 다수의 상세정보를 저장하여, 보다 자세한 검색을 제공할 수 있는 파일 저장/검색 장치 및 방법을 제공하고자 하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 파일 저장/검색 장치는, 검색조건을 입력받기 위한 검색메뉴화면을 생성하는 메뉴생성부; 상기 검색메뉴화면을 통해 입력되는 적어도 하나의 검색조건을 해싱(hashing)하여 토큰(token)을 생성하는 토큰 생성부; 및 검색할 적어도 하나의 파일에 포함되어 있는 각 파일정보와 상기 생성된 토큰을 비교하여 상기 검색조건에 매칭되는 파일을 검색하는 파일 검색부;를 포함한다.
상기 메뉴생성부는, 검색모드에서, 검색을 위하여 구분된 다수의 검색항 목(Search Field) 및 상기 각 검색항목 별로 검색조건을 입력받기 위한 영역을 포함하는 상기 검색메뉴화면을 생성한다.
상기 토큰 생성부는, 상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건을 해싱하여 최종 해쉬값(hash)산출하고, 상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성한다.
상기 토큰 생성부는 다수의 검색조건이 입력되면, 상기 입력되는 다수의 검색조건에 대해 개별적으로 임시 해쉬값을 산출하고, 상기 산출된 각 임시 해쉬값에 대해 논리연산을 적용하여 상기 최종 해쉬값을 산출한다.
상기 논리 연산은 XOR 연산 및 OR 연산 중 하나이며, 사용자에 의해 선택가능하다.
상기 메뉴생성부는 상기 적어도 하나의 파일을 보안모드로 저장하는 경우, 상기 검색모드에서 사용되는 다수의 검색항목 및 상기 각 검색항목에 대한 상세정보를 입력받기 위한 영역을 포함하는 보안메뉴화면을 생성한다.
상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 상세정보를 해싱하여 상기 검색항목 별로 상기 파일정보를 생성하는 파일정보 생성부;를 더 포함한다.
상기 파일정보 생성부는, 상기 적어도 하나의 파일을 고급보안모드로 저장하는 경우, 난수를 생성하여 상기 적어도 하나의 파일에 추가하고, 상기 적어도 하나의 검색항목에 입력되는 상세정보와 상기 생성된 난수를 해싱하여 상기 검색항목 별로 파일정보를 생성한다.
상기 토큰 생성부는 상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건과 상기 적어도 하나의 파일에 추가된 난수를 해싱하여 최종 해쉬값을 산출하고, 상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성한다.
상기 파일 검색부는, 상기 토큰에 포함된 검색항목의 식별자를 확인하고, 상기 적어도 하나의 파일에 포함된 상기 확인된 식별자에 대응하는 검색항목의 파일정보와 상기 토큰에 포함된 최종 해쉬값을 비교한다.
상기 적어도 하나의 파일을 보안모드로 저장하는 요청신호 및 상기 적어도 하나의 파일을 검색하는 요청신호 중 하나를 출력하는 사용자 입력부; 및 상기 출력되는 요청신호에 응답하여 상기 메뉴생성부에서 선택적으로 생성되는 상기 보안메뉴화면 및 상기 검색메뉴화면 중 하나를 표시하는 표시부;를 더 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명에 따른 파일 저장/검색 방법은, 검색조건을 입력받기 위한 검색메뉴화면을 생성하는 단계; 상기 검색메뉴화면을 통해 입력되는 적어도 하나의 검색조건을 해싱(hashing)하여 토큰(token)을 생성하는 단계; 및 검색할 적어도 하나의 파일에 포함되어 있는 각 파일정보와 상기 생성된 토큰을 비교하여 상기 검색조건에 매칭되는 파일을 검색하는 단계;를 포함한다.
상기 토큰을 생성하는 단계는, 상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건을 해싱하여 최종 해쉬값을 산출하는 단계; 및 상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성하는 단계;를 포함한다.
상기 토큰을 생성하는 단계는, 다수의 검색조건이 입력되면, 상기 입력되는 다수의 검색조건에 대해 개별적으로 임시 해쉬값을 산출하는 단계; 상기 산출된 각 임시 해쉬값에 대해 논리연산을 적용하여 상기 최종 해쉬값을 산출하는 단계; 및 상기 산출된 최종 해쉬값과 상기 식별자를 조합하여 상기 토큰을 생성하는 단계;를 포함한다.
상기 적어도 하나의 파일을 보안모드로 저장하는 경우, 상기 검색모드에서 사용되는 다수의 검색항목 및 상기 각 검색항목에 대한 상세정보를 입력받기 위한 영역을 포함하는 보안메뉴화면을 생성하여 표시하는 단계; 상기 표시되는 보안메뉴화면을 통해 상기 적어도 하나의 검색항목에 대한 상세정보를 입력받는 단계; 상기 적어도 하나의 검색항목에 입력되는 상세정보를 해싱하여 상기 검색항목 별로 상기 파일정보를 생성하는 단계; 상기 생성된 파일정보를 상기 검색항목 별로 상기 적어도 하나의 파일에 추가하는 단계; 및 상기 파일정보가 추가된 상기 적어도 하나의 파일을 저장하는 단계;를 더 포함한다.
상기 적어도 하나의 파일을 고급보안모드로 저장하는 경우, 난수를 생성하여 상기 적어도 하나의 파일에 추가하는 단계; 및 상기 적어도 하나의 검색항목에 입력되는 상세정보와 상기 생성된 난수를 해싱하여 상기 검색항목 별로 파일정보를 생성하는 단계;를 더 포함한다.
상기 토큰을 생성하는 단계는, 상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건과 상기 적어도 하나의 파일에 추가된 난수를 해싱하여 최종 해쉬값을 산출하는 단계; 및 상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성하는 단계;를 포함한다.
상기 검색하는 단계는, 상기 생성된 토큰에 포함된 검색항목의 식별자를 확인하고, 상기 확인된 식별자에 대응하는 검색항목의 파일정보와 상기 토큰에 포함된 최종 해쉬값을 비교한다.
상기 적어도 하나의 파일을 보안모드로 저장하는 요청신호 및 상기 적어도 하나의 파일을 검색하는 요청신호 중 하나를 수신하는 단계;를 더 포함하며, 상기 표시하는 단계는, 상기 수신되는 요청신호에 응답하여 상기 보안메뉴화면 및 상기 검색메뉴화면 중 하나를 선택적으로 표시한다.
본 발명에 따른 파일 저장/검색 장치 및 방법에 의하면, 파일을 암호화하여 저장하는 경우 파일의 상세정보를 해싱하므로, 추가적인 암복호화 과정이 요구되지 않으며, 따라서, 다수의 상세정보를 효율적으로 입력하는 것이 가능하다. 이로써, 파일 검색 시 다수의 검색조건에 의해 파일을 검색하는 것이 가능하며 이는 보다 정확하고 신속하게 파일을 검색할 수 있도록 한다.
또한, 본 발명에 의하면, 파일 검색 시 검색조건을 해싱하여 파일에 저장된 파일정보와 비교함으로써 사용자에게 파일에 저장된 파일정보를 공개하지 않는 것이 가능하다. 이는 파일 및 파일정보의 보안유지를 보다 강화할 수 있도록 한다.
특히, 본 발명에 의하면, 고급보안모드로 파일을 저장하고, 고급검색모드로 검색하는 경우 파일에 포함된 난수를 이용하여 상세정보 또는 검색조건을 해싱하므 로 보다 업그레이드된 방식으로 파일의 보안을 유지할 수 있다.
또한, 본 발명에 의하면, 검색모드에서 하나의 검색영역에 두 개 이상의 검색조건을 입력할 수 있으므로 보다 다양하고 구체화된 방식으로 파일을 검색하는 것이 가능하다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시예를 보다 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 바람직한 실시예에 따른 파일 저장/검색 장치를 도시한 블록도이다.
본 발명의 실시예에 따른 파일 저장/검색 장치(100)는 파일의 실제 데이터는 암호화하고, 파일명, 파일작성일 등의 상세정보는 해싱하여 저장하며, 암호화된 파일 검색시, 상세정보를 복호화하는 과정없이 해싱함수를 사용하여 검색하는 것이 가능하다. 이를 위하여, 파일 저장/검색 장치(100)는 메뉴생성부(110), 파일정보 생성부(120), 토큰 생성부(130) 및 파일 검색부(140)를 포함한다.
메뉴생성부(110)는 파일을 암호화하여 저장하는 경우 파일의 상세정보를 입력하기 위한 보안메뉴화면 및 암호화된 적어도 하나의 파일 중 원하는 파일(이하, '타겟파일'이라 한다)을 검색하기 위한 검색메뉴화면을 생성한다. 보안메뉴화면 및 검색메뉴화면은 도 3 및 도 4를 참조하여 보다 자세히 후술한다.
파일정보 생성부(120)는 보안메뉴화면을 통해 입력되는 적어도 하나의 상세정보를 각각 해싱(hashing)하여 해쉬값을 산출한 후, 산출된 각 해쉬값을 파일정보로서 출력한다. 생성된 적어도 하나의 파일정보는 암호화된 파일에 추가되어 저장된다.
토큰 생성부(130)는 검색메뉴화면을 통해 입력되는 적어도 하나의 검색조건을 각각 해싱하여 해쉬값을 산출한다. 산출된 각 해쉬값은 각 검색조건에 대응하는 토큰(token)으로 사용된다.
파일 검색부(140)는 파일정보 생성부(120)에서 생성된 적어도 하나의 파일정보와 토큰 생성부(130)에서 생성된 토큰을 비교하여 입력된 검색조건에 매칭되는 타겟 파일을 검색한다. 즉, 파일 검색부(140)는 다수의 파일을 순차적으로 검색하며, 다수의 파일 중 현재 검색 중인 파일에 포함된 적어도 하나의 파일정보와 토큰 생성부(130)에서 생성된 토큰을 비교하여 동일하면, 현재 검색 중인 파일이 상기 찾고자 하는 타겟파일인 것으로 판단한다. 파일 검색부(140)는 검색된 타겟파일이 사용자에게 보고(reporting)되도록 한다.
도 2는 본 발명의 다른 실시예에 따른 파일 저장/검색 장치를 도시한 블록도이다.
도 2에 도시된 본 발명에 따른 파일 저장/검색 장치(200)는 파일의 보안이 요구되는 경우, 파일을 암호화하고 파일명과 같은 파일의 상세정보는 해싱하여 저장함으로써 외부인에게 파일과 관련된 정보가 유출되는 것을 방지한다. 또한, 장치(200)는 암호화된 파일 중 필요한 파일을 검색하는 경우, 파일명과 같은 상세정 보를 복호화하지 않고 검색하는 것이 가능하도록 한다. 특히, 다수의 검색조건을 이용하여 검색하는 것이 가능하므로, 본원발명은 사용자에 의해 입력되는 각 검색조건을 해싱하여 타겟파일을 검색한다.
이를 위하여, 파일 저장/검색 장치(200)는 사용자 입력부(210), 표시부(215), 저장부(220), 메뉴생성부(230), 파일정보 생성부(240), 파일 암호화부(250), 토큰 생성부(260), 파일 검색부(270), 인터페이스(I/F)부(280) 및 제어부(290)를 포함한다.
사용자 입력부(210)는 사용자와 파일 저장/검색 장치(200) 간의 인터페이스를 지원하며, 특히, 적어도 하나의 파일을 보안모드로 저장할 것을 요청하는 저장요청신호와, 보안모드로 저장된 파일들의 검색을 요청하는 검색요청신호를 출력한다. 보안모드로 파일을 저장하는 것은 실제 데이터는 암호화하며, 파일의 상세정보는 해싱하여 저장하는 것을 의미한다. 파일의 상세정보는 파일명, 파일의 카테고리, 파일 작성일, 키워드 등 파일과 관련된 다양한 속성정보를 포함하며, 이는 검색시 사용할 검색항목과 동일하다.
표시부(215)는 사용자 입력부(210)로부터 출력되는 요청신호에 응답하여, 패스워드의 입력을 요청하는 GUI, 보안메뉴화면 및 검색메뉴화면 중 하나를 선택적으로 표시한다. 또한, 표시부(2150)는 파일의 저장이 완료되었거나, 또는, 파일의 검색이 완료되었음을 나타내는 메시지를 표시하여 사용자에게 통지한다.
저장부(220)는 본 발명에 따른 파일 저장 및 검색을 지원하기 위한 프로그램을 저장하며, 파일 저장/검색 장치(200)의 동작에 필요한 각종 제어프로그램을 저 장한다. 또한, 저장부(220)는 암호화된 다수의 파일을 저장한다.
메뉴생성부(230)는 사용자 입력부(210)로부터 보안모드에 의한 저장요청신호가 출력되면, 패스워드의 입력을 요청하는 GUI를 생성하며, 도 3에 도시된 바와 같은 보안메뉴화면(300)을 생성한다. 또한, 메뉴생성부(230)는 검색요청신호가 출력되면, 패스워드의 입력을 요청하는 GUI를 생성하며, 도 6과 같은 검색메뉴화면(600)을 생성한다. 보안메뉴화면(300)은 파일을 암호화하여 저장하는 경우 파일의 상세정보를 입력하기 위한 GUI이며, 검색메뉴화면(600)은 암호화된 파일들 중 원하는 파일(이하, '타겟파일'이라 한다)을 검색하기 위한 GUI이다.
도 3을 참조하면, 보안메뉴화면(300)은 파일의 상세정보를 입력받기 위한 영역(A1~A6) 및 각 상세정보의 속성을 나타내는 속성필드(F1~F6)를 포함한다. 속성필드(F1~F6)는 파일 검색시 사용되는 검색항목(F1'~F6')과 동일하며, 각 속성필드(F1~F6)에 매칭되는 영역(A1~A6)에 입력되는 상세정보는 파일 검색시 사용된다. 각 영역(A1~A6)에는 한 개 또는 다수의 상세정보가 입력될 수 있다.
속성필드(F1)에 대응하는 '카테고리'는 파일이 속하는 분야이며, 속성필드(F4)에 대응하는 '색인어'는 파일의 핵심 키워드를 의미하며, 속성필드(F6)에 대응하는 '파일 마지막 생성일'은 파일을 마지막으로 편집, 저장한 날짜를 의미한다.
사용자는 보안메뉴화면(300)을 통해 속성필드(F1~F6)에 각각 대응하는 영역(A1~A6) 중 적어도 하나에 상세정보를 입력할 수 있다. 예를 들어, 사용자는 '파일명(F2)'에 대응하는 영역(A2)에 'AA'라는 파일명을 입력하고, '파일 확장자(F3)'에 대응하는 영역(A3)에 'doc'를 입력할 수 있다.
일반보안모드(301)는 파일을 암호화하고 입력되는 적어도 하나의 상세정보를 각각 해싱하여 저장하는 경우 선택되며, 고급보안모드(302)는 파일을 암호화하고, 난수를 발생하여 난수와 적어도 하나의 상세정보를 해싱하여 저장하는 경우 선택된다.
파일정보 생성부(240)는 보안메뉴화면(300)을 통해 입력되는 적어도 하나의 상세정보를 각각 해싱(hashing)하여 파일정보를 생성한다. 즉, 파일정보는 상세정보가 입력된 속성필드의 개수만큼 생성된다. 생성된 적어도 하나의 파일정보는 암호화된 파일에 추가되어 저장부(220) 또는 이동식 저장매체(10)에 저장된다.
사용자가 일반보안모드(301)를 선택하면, 파일정보 생성부(240)는 파일의 실제 데이터를 암호화하고, 다음의 [수학식 1]을 이용하여, 상세정보가 입력된 속성필드(F1~F6)들의 파일정보를 생성한다.
파일정보=H(SK||WN)
[수학식 1]에서 파일정보는 해쉬값, H는 해쉬함수, SK는 사용자에 의해 입력된 패스워드, WN은 보안메뉴화면(300)을 통해 입력된 각 속성필드의 상세정보, N은 양수로서 속성필드가 6개인 경우 N은 1~6이 될 수 있다. WN은 입력된 상세정보만을 포함하거나 또는 상세정보가 입력된 속성필드의 식별자(예를 들어, F1)를 추가적으로 포함할 수 있다. 예를 들어, WN은 파일명으로서 'AAA'만으로 표시되거나 또는 파일명에 대응하는 식별자인 F2를 포함하여 'F2:AAA'로 표시될 수 있다. WN이 식별자를 포함하는 경우, 파일검색시 유용하게 사용될 수 있다. 예를 들어, 검색메뉴화면에서 사용자가 카테고리 항목에 입력하는 검색조건과 파일명에 입력하는 검색조건이 동일한 경우, WN이 식별자를 포함하지 않으면 파일검색은 보다 지연될 수 있으며, 많은 파일이 검색될 수 있다.
사용자가 고급보안모드(302)를 선택하면, 파일정보 생성부(240)는 파일의 실제 데이터를 암호화하고, 각 파일 별로 난수를 발생하며, [수학식 2]를 이용하여, 상세정보가 입력된 속성필드(F1~F6)들의 파일정보를 생성한다.
파일정보=R, H(SK||WN||R)
[수학식 2]에서 R은 각 파일에 추가하기 위하여 발생되는 난수이며, 그 외는 [수학식 1]에서 설명한 것과 동일하다. 고급보안으로 저장하는 모드는 파일정보 생성시 파일정보 생성부(240)가 랜덤값, 즉, 난수를 생성하고, 난수와 패스워드와 하나의 상세정보를 해싱하여 하나의 속성필드에 대한 파일정보를 생성한다. 즉, 고급보안모드는 입력된 상세정보 각각에 대해 난수와 패스워드를 [수학식 2]에 적용하여 해싱함으로써 상세정보가 입력된 각 속성필드에 대한 파일정보를 생성한다.
예를 들어, 상세정보가 속성필드(F1, F2)에 대해 입력되면, 파일정보 생성부(240)는 속성필드(F1)에 대한 제1파일정보와 속성필드(F2)에 대한 제2파일정보를 [수학식 2]를 이용하여 생성한다.
파일 암호화부(250)는 파일의 실제 데이터를 암호화하고, 파일정보 생성부(240)에서 생성된 적어도 하나의 파일정보를 암호화된 데이터에 추가하여 암호화된 파일을 생성한다. 일반보안모드(301)가 선택된 경우, 파일 암호화부(250)에서 생성되는 파일은 도 4와 같은 구조를 갖는다. 도 4를 참조하면, 제1 내지 제6파일정보는 각각 속성필드(F1~F6)에 대응하는 파일정보로서, 보안메뉴화면(300)을 통해 사용자가 영역(A1~A6)에 상세정보를 모두 입력하였음을 의미한다.
한편, 고급보안모드(302)가 선택된 경우, 파일 암호화부(250)에서 생성되는 파일은 도 5와 같은 구조를 갖는다. 도 5를 참조하면, 파일은 난수가 저장되는 영역(R)을 포함하며, 난수와 패스워드와 각 상세정보를 해싱한 결과인 제1 내지 제6파일정보(H(SK||W1||R), H(SK||W2||R), H(SK||W3||R), H(SK||W4||R), H(SK||W5||R), H(SK||W6||R))를 포함한다. 보안메뉴화면(300)을 통해 사용자가 영역(A1)에만 상세정보를 입력하면, 파일은 암호화된 데이터, 난수 및 제1파일정보(H(SK||W1||R))를 포함한다.
도 6a는 검색메뉴화면의 일 예를 설명하기 위한 도면이다. 도 6a를 참조하면, 검색메뉴화면(600)은 다수의 검색항목(Search Field, F1'~F6')과 각 검색항목(F1'~F6')의 검색조건을 입력받기 위한 영역(A1'~A6')을 포함한다. 검색항목(F1'~F6')은 도 3에 도시된 보안메뉴화면(300)의 속성항목(F1~F6)과 동일한 것이 바람직하나 이에 한정되지 않는다.
결합(conjunctive) 검색(601)은 다수의 검색조건을 모두 만족하는 파일을 찾기 위한 방법으로, 즉, 영역(A1'~A6') 중 두 개 이상의 영역에 검색조건이 사용자로부터 입력되거나, 하나의 영역에 다수의 검색조건이 입력되면, 입력되는 검색조건들을 [수학식 1] 또는 [수학식 2]를 이용하여 각각 해싱한 후, 해싱된 각 결과들을 XOR 연산하여 타겟 파일을 검색하도록 한다. XOR 연산은 예를 들어 두 개의 검색조건이 입력되면, 두 개의 검색조건에 일치하는 파일정보를 가지는 파일을 검색한다.
이접(disjunctive) 검색(602)은 다수의 검색조건 중 하나의 조건이라도 만족하는 파일을 검색하는 방법으로, 입력되는 검색조건들을 [수학식 1] 또는 [수학식 2]를 이용하여 각각 해싱한 후, 해싱된 각 결과들을 OR 연산하여 타겟 파일을 검색하도록 한다. OR 연산은 예를 들어, 두 개의 검색조건이 입력되면 두 개의 검색조건 중 적어도 하나에 일치하는 파일정보를 가지는 파일을 검색한다. 따라서, 이접 검색에 의한 결과의 개수가 결합 검색에 의한 결과의 개수보다 많을 수 있다. XOR 연산 및 OR 연산은 논리연산방식 중 하나이며, 도 6b와 같은 화면을 통해 사용자가 선택할 수 있다.
검색메뉴화면(600) 중 고급(603)이 선택되면 메뉴생성부(230)는 도 6b와 같은 GUI를 생성한다. 도 6b는 파일 검색시 일반검색모드로 진행할지 또는 고급검색모드로 진행할지 선택하도록 하는 UI이다. 일반검색모드는 암호화된 파일에 난수가 포함되어 있지 않은 경우 사용되는 검색이며, 고급검색모드는 암호화된 파일에 난수가 포함되어 있는 경우 난수를 고려하여 수행되는 검색이다.
다시 도 2를 참조하면, 토큰 생성부(260)는 검색메뉴화면을 통해 입력되는 적어도 하나의 검색조건을 각각 해싱하여 해쉬값을 산출한다. 산출된 각 해쉬값은 각 검색조건에 대응하는 토큰(token)으로 사용된다. 사용자 입력부(210)로부터 검색요청신호가 출력되면, 메뉴생성부(230)는 패스워드 입력화면을 표시하고, 패스워 드가 사용자에 의해 입력되면, 도 6a와 같은 검색메뉴화면(600)을 생성한다. 표시부(215)는 검색메뉴화면(600)을 표시한다.
표시된 검색메뉴화면(600)을 통해 하나의 검색조건이 입력되면, 토큰 생성부(260)는 입력되는 검색조건과 패스워드를 [수학식 1] 또는 [수학식 2]에 대입하여 최종해쉬값을 산출한다. 예를 들어, 도 6a와 같은 화면에서 결합 검색(601) 또는 이접 검색(602)이 선택된 경우, 현재 검색할 파일에 난수가 포함되어 있으면, 토큰 생성부(260)는 파일에 포함된 난수(R) 및 [수학식 2]를 이용하여 최종 해쉬값을 산출한다. 또는, 도 6b와 같은 화면에서 고급검색모드가 선택되면 토큰 생성부(260)는 [수학식 2]를 이용하여 최종 해쉬값을 산출한다. 즉, 토큰 생성부(260)는 현재 검색할 파일에 포함된 난수(R)를 확인하고, 확인된 난수(R) 및 [수학식 2]를 이용하여 최종 해쉬값을 산출한다.
한편, 검색메뉴화면(600)을 통해 다수의 검색조건이 입력되면, 토큰 생성부(260)는 입력되는 검색조건 각각과 패스워드를 [수학식 1] 또는 [수학식 2]에 대입하여 다수의 임시 해쉬값을 산출한다. 즉, 각 검색조건에 대응하는 임시 해쉬값이 산출된다. 검색메뉴화면(600)에서 결합 검색(601)이 선택된 경우, 토큰 생성부(260)는 산출된 다수의 임시 해쉬값을 XOR 연산하여 최종 해쉬값을 산출한다. XOR 연산의 결과값은 해싱에 사용되는 해쉬함수의 길이와 동일하다.
그리고, 토큰 생성부(260)는 산출된 최종 해쉬값과, 검색조건이 입력된 각 검색항목의 식별자를 조합하여 검색에 사용되는 토큰을 생성한다. 도 7은 토큰 생성부에서 생성되는 토큰의 구조를 설명하기 위한 도면이다. 검색항목(F1'~F6')의 식별자는 N 비트로 표현될 수 있다.
예를 들어, 도 6a와 같은 검색메뉴화면(600)을 통해 검색항목(F2', F3')에 대응하는 영역(A2', A3')에 검색조건 'AAA'와 'doc'가 입력되고, 결합 검색(601)이 선택되면, 토큰 생성부(260)는 [수학식 1]을 사용하여 검색조건 'AAA'에 대한 제1임시 해쉬값을 산출하고, [수학식 1]을 사용하여 검색조건 'doc'에 대한 제2임시 해쉬값을 산출한다. 그리고, 토큰 생성부(260)는 산출된 제1 및 제2임시 해쉬값을 XOR 연산하여 최종 해쉬값을 산출하며, 검색항목(F2', F3')에 대한 식별자로서 '011000'을 생성한다. '011000'에서, 첫 번째 '0'은 검색항목(F1')에 대해서는 영역(A1')에 검색조건이 입력되지 않았음을 의미하며, 두 번째 및 세 번째의 '11'은 검색항목(F2', F3')에 대해서는 영역(A2', A3')에 검색조건이 입력된 것을 의미한다.
다시 도 2를 참조하면, 파일 검색부(270)는 적어도 하나의 파일정보와 토큰 생성부(260)에서 생성된 토큰을 비교하여, 입력된 검색조건에 매칭되는 타겟 파일을 검색한다. 적어도 하나의 파일정보는 파일 저장시, 파일정보 생성부(240)에서 생성되어 파일에 이미 포함되어 있는 정보이다.
검색조건이 하나 입력된 경우, 파일 검색부(270)는 다수의 파일 중 현재 검색 중인 파일에 포함된 적어도 하나의 파일정보와 토큰 생성부(260)에서 생성된 토큰을 비교하여 동일하면, 현재 검색 중인 파일이 찾고자 하는 타겟파일인 것으로 판단한다.
검색조건이 다수 입력된 경우, 파일 검색부(270)는 토큰에 포함된 적어도 하나의 식별자를 확인하고, 확인된 적어도 하나의 식별자에 대응하는 파일정보를 현재 검색 중인 파일로부터 추출한다. 검색메뉴화면(600)에서 결합 검색(601)이 선택된 경우, 파일 검색부(270)는 추출된 적어도 하나의 파일정보를 XOR 연산하고, 연산결과와 생성된 토큰의 최종 해쉬값을 비교한다. 비교결과 동일하면, 파일 검색부(270)는 현재 검색 중인 파일이 타겟 파일인 것으로 판단하고, 다음 파일을 호출하여 상기의 검색동작을 수행한다.
I/F부(280)는 이동식 저장매체(10)와의 통신 인터페이스를 제공한다. 이동식 저장매체(10)는 휴대가 가능하며 암호화된 파일을 저장할 수 있다.
제어부(290)는 파일의 암호화 저장 또는 검색이 요청되면 해당 프로그램이 실행되어 상기의 동작이 수행되도록 하며, 파일의 검색이 완료되면, 검색된 파일들을 복호화하고, 검색 결과를 사용자에게 통지한다.
도 8은 본 발명의 실시예에 따른 파일 저장/검색 방법 중 파일 저장 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 8을 참조하면, 사용자 입력부(210)로부터 파일의 암호화가 요청되면(S805), 패스워드 입력화면이 메뉴생성부(230)에 의해 생성되어 표시부(215)에 표시된다(S810).
패스워드 입력화면을 통해 패스워드가 입력되면(S815), 파일 암호화부(250)는 파일의 데이터를 암호화하고(S820), 보안메뉴화면(300)이 생성되어 표시된다(S825).
보안메뉴화면(300)의 영역(A1~A6)에 적어도 하나의 상세정보가 입력되 고(S830), 일반보안모드(301)가 선택되면(S835), 파일정보 생성부(240)는 입력된 패스워드와 각 상세정보를 [수학식 1]에 적용하여 해싱하고, 그 결과 적어도 하나의 파일정보를 생성한다(S840).
파일 암호화부(250)는 S840단계에서 생성되는 적어도 하나의 파일정보를 S820단계에서 암호화된 데이터에 추가하여 도 4와 같은 파일을 생성한다(S845).
한편, S830단계 후 고급보안모드(302)가 선택되면(S850), 파일정보 생성부(240)는 난수(R)을 발생하고(S855), 난수(R)와 입력된 패스워드와 각 상세정보를 [수학식 2]에 적용하여 해싱한다(S860). 그 결과 파일정보 생성부(240)는 S830단계에서 입력된 상세정보의 개수에 해당하는 파일정보를 생성하고, 파일 암호화부(250)는 도 5와 같은 파일을 생성한다(S845).
도 9는 본 발명의 실시예에 따른 파일 저장/검색 방법 중 일반모드로 파일을 검색하는 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 9를 참조하면, 사용자 입력부(210)로부터 파일의 검색이 요청되면(S905), 패스워드 입력화면이 표시부(215)에 표시된다(S910).
패스워드 입력화면을 통해 패스워드가 입력되면(S915), 검색메뉴화면(600)이 표시부(215)에 표시된다(S920).
검색메뉴화면(600)을 통해 다수의 검색조건이 입력되고, 일반검색모드가 선택되면(S925), 토큰 생성부(260)는 입력된 각 검색조건과 패스워드를 [수학식 1]에 의해 해싱하여 다수의 임시 해쉬값을 산출한다(S930).
S920단계에서 표시된 검색메뉴화면(600)에서 결합 검색(601)이 선택된 경우, 토큰 생성부(260)는 산출된 다수의 임시 해쉬값을 XOR 연산하며, 이접 검색(602)이 선택된 경우, 토큰 생성부(260)는 산출된 다수의 임시 해쉬값을 OR 연산하여 최종 해쉬값을 산출한다(S935).
S935단계 후, 토큰 생성부(260)는 S925단계에서 입력된 각 검색조건에 대응하는 검색항목의 식별자와 S935단계에서 산출된 최종 해쉬값을 조합하여 도 7과 같은 토큰을 생성한다(S940).
반면, 표시된 검색메뉴화면(600)을 통해 하나의 검색조건이 입력되면, 토큰 생성부(260)는 하나의 검색조건과 패스워드를 [수학식 1]에 의해 해싱하여 최종 해쉬값을 산출한다(S945).
그리고, 토큰 생성부(260)는 S925단계에서 입력된 하나의 검색조건에 대응하는 검색항목의 식별자와 S945단계에서 산출된 최종 해쉬값을 조합하여 도 7과 같은 토큰을 생성한다(S950).
도 10은 도 9에서 생성된 토큰을 이용하여 파일을 검색하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 1 내지 도 10을 참조하면, S940단계 또는 S950단계에서 생성된 토큰이 입력되면(S1005), 파일 검색부(270)는 검색할 파일이 존재하는지 확인한다(S1010). 검색할 파일은 사용자가 지정한 폴더 또는 디렉토리 등이 될 수 있으며, 저장부(220) 또는 이동식 저장매체(10)에 저장되어 있을 수 있다.
검색할 파일이 있으면, 파일 검색부(270)는 현재 검색할 파일을 호출한다(S1015). 호출된 파일은 암호화되어 있으며 도 4와 같은 구조를 갖는다.
파일 검색부(270)는 S1005단계에서 입력받은 토큰에 포함된 각 검색항목의 식별자를 확인하고, 확인된 적어도 하나의 식별자에 대응하는 파일정보를 호출된 파일로부터 확인한다(S1020). 예를 들어, 확인된 식별자가 '011000'이면, 파일 검색부(270)는 호출된 파일에 포함된 적어도 하나의 파일정보들 중 제2 및 제3파일정보를 확인한다. '011000'는 S925단계에서 검색항목(F2', F3')에 대응하는 영역(A2', A3')에 검색조건이 입력되었음을 의미하기 때문이다.
S1020단계 후, 파일 검색부(270)는 확인된 각 파일정보를 XOR 연산 또는 OR 연산한다(S1025). S1025단계를 자세히 설명하면, 하나의 파일정보가 확인된 경우 파일 검색부(270)는 XOR 연산 또는 OR 연산을 생략할 수 있다. 또한, 다수의 파일정보가 확인된 경우, 검색메뉴화면(600)에서 결합 검색(601)이 선택되면, 파일 검색부(270)는 다수의 파일정보를 XOR 연산한다.
파일 검색부(270)는 S1025단계에 의한 연산 결과와 S1005단계에서 입력된 토큰에 포함된 최종 해쉬값이 동일한지 비교한다(S1030). 이는, 파일정보는 이미 해싱에 의해 산출된 해쉬값이기 때문이다.
비교결과 동일하면, 제어부(290)는 S1015단계에서 호출된 파일을 복호화하여 임시 저장한다(S1035). S1035단계 후, 파일 검색부(270)는 S1010단계로 진입하여 검색되지 않은 파일이 더 있는지 확인한다. 모든 파일의 검색이 완료되면, 제어부(290)는 검색조건에 매칭되는 파일이 검색된 개수를 사용자에게 통지하고, 사용자의 요청이 있으면 임시저장된 복호화된 데이터를 제공할 수 있다. 파일의 복호화는 선택적으로 수행될 수 있다.
도 11은 본 발명의 실시예에 따른 파일 저장/검색 방법 중 고급모드로 파일을 검색하는 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 11을 참조하면, 사용자 입력부(210)로부터 파일의 검색이 요청되면(S1105), 패스워드 입력화면이 표시부(215)에 표시된다(S1110).
패스워드 입력화면을 통해 패스워드가 입력되면(S1115), 검색메뉴화면(600)이 표시부(215)에 표시된다(S1120).
검색메뉴화면(600)을 통해 적어도 하나의 검색조건이 입력되고, 고급검색모드가 선택되면(S1125), 파일 검색부(270)는 사용자가 선택한 검색대상 파일, 검색대상 폴더 등에 검색할 파일이 존재하는지 확인한다(S1130).
검색할 파일이 있으면, 파일 검색부(270)는 현재 검색할 파일을 호출하고(S1135), 토큰 생성부(260)는 호출된 파일에 포함된 난수(R)을 확인한다(S1140). 각 파일에 포함된 난수는 동일하거나 다를 수 있다.
토큰 생성부(260)는 S1125단계에서 입력된 검색조건과 난수와 패스워드를 [수학식 2]에 의해 해싱하여 임시 해쉬값을 산출한다(S1145). S1125단계에서 검색조건이 다수 입력된 경우, S1145단계에서 임시 해쉬값은 다수 산출된다.
S1120단계에서 표시된 검색메뉴화면(600)에서 결합 검색(601)이 선택된 경우, 토큰 생성부(260)는 산출된 다수의 임시 해쉬값을 XOR 연산하며, 이접 검색(602)이 선택된 경우, 토큰 생성부(260)는 산출된 다수의 임시 해쉬값을 OR 연산하여 최종 해쉬값을 산출한다(S1150).
또한, 파일 검색부(270)는 S1125단계에서 검색조건이 입력된 각 검색항목의 식별자를 확인하고, 확인된 적어도 하나의 식별자에 대응하는 파일정보를 호출된 파일로부터 확인하여, 확인된 각 파일정보를 XOR 연산 또는 OR 연산한다(S1155). 이는 S1020단계 및 S1025단계와 유사하므로 상세한 설명은 생략한다.
파일 검색부(270)는 S1150단계에서 산출된 최종 해쉬값과 S1155단계에서 산출된 연산결과를 비교한다(S1160). 비교결과 서로 동일하면, 제어부(290)는 S1135단계에서 호출된 파일을 복호화하여 임시 저장한다(S1165). S1165단계 후, 파일 검색부(270)는 S1130단계로 진입하여 검색되지 않은 파일이 더 있는지 확인한다. 모든 파일의 검색이 완료되면, 제어부(290)는 검색조건에 매칭되는 파일이 검색된 개수를 사용자에게 통지할 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시예들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 파일 저장/검색 장치를 도시한 블록도,
도 2는 본 발명의 다른 실시예에 따른 파일 저장/검색 장치를 도시한 블록도,
도 3은 보안메뉴화면의 일 예시도,
도 4는 일반보안모드가 선택되는 경우 파일 암호화부에서 생성되는 파일의 일 예를 도시한 도면,
도 5는 고급보안모드가 선택되는 경우, 파일 암호화부에서 생성되는 파일의 일 예를 도시한 도면,
도 6은 검색메뉴화면의 일 예시도,
도 7은 토큰 생성부에서 생성되는 토큰의 구조를 설명하기 위한 도면,
도 8은 본 발명의 실시예에 따른 파일 저장/검색 방법 중 파일 저장 방법을 설명하기 위한 흐름도,
도 9는 본 발명의 실시예에 따른 파일 저장/검색 방법 중 일반모드로 파일을 검색하는 방법을 설명하기 위한 흐름도,
도 10은 도 9에서 생성된 토큰을 이용하여 파일을 검색하는 방법의 일 예를 설명하기 위한 흐름도,
도 11은 본 발명의 실시예에 따른 파일 저장/검색 방법 중 고급모드로 파일을 검색하는 방법을 설명하기 위한 흐름도이다.
* 도면의 주요부분에 대한 부호의 설명 *
100, 200 : 파일 저장/검색 장치 210 : 사용자 입력부
215 : 표시부 220 : 저장부
110, 230 : 메뉴생성부 120, 240 : 파일정보 생성부
130. 260 : 토큰 생성부 140, 270 : 파일 검색부
250 : 파일 암호화부 280 : 인터페이스부
290 : 제어부 10 : 이동식 저장매체

Claims (21)

  1. 복수의 파일을 암호화하고, 암호화된 복수의 파일을 저장하는 파일 저장 및 검색 장치에 있어서,
    검색조건을 입력받기 위한 검색메뉴화면을 생성하는 메뉴생성부;
    상기 검색메뉴화면을 통해 입력되는 적어도 하나의 검색조건을 해싱(hashing)하여 토큰(token)을 생성하는 토큰 생성부; 및
    상기 암호화된 복수의 파일 각각의 해싱된 파일정보와 상기 생성된 토큰을 비교하여 상기 검색조건에 매칭되는 암호화된 파일을 검색하는 파일 검색부;를 포함하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  2. 제 1항에 있어서,
    상기 메뉴생성부는, 검색모드에서, 검색을 위하여 구분된 다수의 검색항목(Search Field) 및 상기 각 검색항목 별로 검색조건을 입력받기 위한 영역을 포함하는 상기 검색메뉴화면을 생성하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  3. 제 2항에 있어서,
    상기 토큰 생성부는, 상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건을 해싱하여 최종 해쉬값(hash)산출하고, 상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  4. 제 3항에 있어서,
    상기 토큰 생성부는 다수의 검색조건이 입력되면, 상기 입력되는 다수의 검색조건에 대해 개별적으로 임시 해쉬값을 산출하고, 상기 산출된 각 임시 해쉬값에 대해 논리연산을 적용하여 상기 최종 해쉬값을 산출하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  5. 제 4항에 있어서,
    상기 논리 연산은 XOR 연산 및 OR 연산 중 하나이며, 사용자에 의해 선택가능한 것을 특징으로 하는 파일 저장 및 검색 장치.
  6. 제 1항에 있어서,
    상기 메뉴생성부는 적어도 하나의 파일을 보안모드로 저장하는 경우, 검색모드에서 사용되는 다수의 검색항목 및 상기 각 검색항목에 대한 상세정보를 입력받기 위한 영역을 포함하는 보안메뉴화면을 생성하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  7. 제 6항에 있어서,
    상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 상세정보를 해싱하여 상기 검색항목 별로 상기 파일정보를 생성하는 파일정보 생성부;를 더 포함 하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  8. 제 7항에 있어서,
    상기 파일정보 생성부는, 상기 적어도 하나의 파일을 고급보안모드로 저장하는 경우, 난수를 생성하여 상기 적어도 하나의 파일에 추가하고, 상기 적어도 하나의 검색항목에 입력되는 상세정보와 상기 생성된 난수를 해싱하여 상기 검색항목 별로 파일정보를 생성하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  9. 제 8항에 있어서,
    상기 토큰 생성부는 상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건과 상기 적어도 하나의 파일에 추가된 난수를 해싱하여 최종 해쉬값을 산출하고, 상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  10. 제 3항 또는 제 9항에 있어서,
    상기 파일 검색부는, 상기 토큰에 포함된 검색항목의 식별자를 확인하고, 적어도 하나의 암호화된 파일에 포함된 상기 확인된 식별자에 대응하는 검색항목의 파일정보와 상기 토큰에 포함된 최종 해쉬값을 비교하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  11. 제 6항에 있어서,
    상기 적어도 하나의 파일을 보안모드로 저장하는 요청신호 및 상기 적어도 하나의 파일을 검색하는 요청신호 중 하나를 출력하는 사용자 입력부; 및
    상기 출력되는 요청신호에 응답하여 상기 메뉴생성부에서 선택적으로 생성되는 상기 보안메뉴화면 및 상기 검색메뉴화면 중 하나를 표시하는 표시부;를 더 포함하는 것을 특징으로 하는 파일 저장 및 검색 장치.
  12. 복수의 파일을 암호화하고, 암호화된 복수의 파일을 저장하는 파일 저장 및 검색 장치의 파일 저장 및 검색 방법에 있어서,
    검색조건을 입력받기 위한 검색메뉴화면을 생성하는 단계;
    상기 검색메뉴화면을 통해 입력되는 적어도 하나의 검색조건을 해싱(hashing)하여 토큰(token)을 생성하는 단계; 및
    상기 암호화된 복수의 파일 각각의 해싱된 파일정보와 상기 생성된 토큰을 비교하여 상기 검색조건에 매칭되는 암호화된 파일을 검색하는 단계;를 포함하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  13. 제 12항에 있어서,
    상기 검색메뉴화면은, 검색을 위하여 구분된 다수의 검색항목(Search Field) 및 상기 각 검색항목 별로 검색조건을 입력받기 위한 영역을 포함하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  14. 제 13항에 있어서,
    상기 토큰을 생성하는 단계는,
    상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건을 해싱하여 최종 해쉬값을 산출하는 단계; 및
    상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성하는 단계;를 포함하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  15. 제 14항에 있어서,
    상기 토큰을 생성하는 단계는,
    다수의 검색조건이 입력되면, 상기 입력되는 다수의 검색조건에 대해 개별적으로 임시 해쉬값을 산출하는 단계;
    상기 산출된 각 임시 해쉬값에 대해 논리연산을 적용하여 상기 최종 해쉬값을 산출하는 단계; 및
    상기 산출된 최종 해쉬값과 상기 식별자를 조합하여 상기 토큰을 생성하는 단계;를 포함하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  16. 제 15항에 있어서,
    상기 논리 연산은 XOR 연산 및 OR 연산 중 하나이며, 사용자에 의해 선택가능한 것을 특징으로 하는 파일 저장 및 검색 방법.
  17. 제 12항에 있어서,
    적어도 하나의 암호화된 파일을 보안모드로 저장하는 경우,
    검색모드에서 사용되는 다수의 검색항목 및 상기 각 검색항목에 대한 상세정보를 입력받기 위한 영역을 포함하는 보안메뉴화면을 생성하여 표시하는 단계;
    상기 표시되는 보안메뉴화면을 통해 상기 적어도 하나의 검색항목에 대한 상세정보를 입력받는 단계;
    상기 적어도 하나의 검색항목에 입력되는 상세정보를 해싱하여 상기 검색항목 별로 상기 파일정보를 생성하는 단계;
    상기 생성된 파일정보를 상기 검색항목 별로 상기 적어도 하나의 암호화된 파일에 추가하는 단계; 및
    상기 파일정보가 추가된 상기 적어도 하나의 암호화된 파일을 저장하는 단계;를 더 포함하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  18. 제 17항에 있어서,
    상기 적어도 하나의 암호화된 파일을 고급보안모드로 저장하는 경우,
    난수를 생성하여 상기 적어도 하나의 암호화된 파일에 추가하는 단계; 및
    상기 적어도 하나의 검색항목에 입력되는 상세정보와 상기 생성된 난수를 해싱하여 상기 검색항목 별로 파일정보를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  19. 제 18항에 있어서,
    상기 토큰을 생성하는 단계는,
    상기 다수의 검색항목 중 적어도 하나의 검색항목에 입력되는 검색조건과 상기 적어도 하나의 암호화된 파일에 추가된 난수를 해싱하여 최종 해쉬값을 산출하는 단계; 및
    상기 산출된 최종 해쉬값과 상기 검색조건에 대응하는 검색항목의 식별자를 조합하여 상기 토큰을 생성하는 단계;를 포함하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  20. 제 14항 또는 제 19항에 있어서,
    상기 검색하는 단계는,
    상기 생성된 토큰에 포함된 검색항목의 식별자를 확인하고, 상기 확인된 식별자에 대응하는 검색항목의 파일정보와 상기 토큰에 포함된 최종 해쉬값을 비교하는 것을 특징으로 하는 파일 저장 및 검색 방법.
  21. 제 20항에 있어서,
    상기 적어도 하나의 암호화된 파일을 보안모드로 저장하는 요청신호 및 상기 적어도 하나의 암호화된 파일을 검색하는 요청신호 중 하나를 수신하는 단계;를 더 포함하며,
    상기 표시하는 단계는, 상기 수신되는 요청신호에 응답하여 상기 보안메뉴화면 및 상기 검색메뉴화면 중 하나를 선택적으로 표시하는 것을 특징으로 하는 파일 저장 및 검색 방법.
KR20080034160A 2008-04-14 2008-04-14 파일 저장/검색 장치 및 방법 KR101496347B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20080034160A KR101496347B1 (ko) 2008-04-14 2008-04-14 파일 저장/검색 장치 및 방법
US12/367,735 US20090259658A1 (en) 2008-04-14 2009-02-09 Apparatus and method for storing and retrieving files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080034160A KR101496347B1 (ko) 2008-04-14 2008-04-14 파일 저장/검색 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090108849A KR20090108849A (ko) 2009-10-19
KR101496347B1 true KR101496347B1 (ko) 2015-02-27

Family

ID=41164827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080034160A KR101496347B1 (ko) 2008-04-14 2008-04-14 파일 저장/검색 장치 및 방법

Country Status (2)

Country Link
US (1) US20090259658A1 (ko)
KR (1) KR101496347B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200177389A1 (en) * 2016-12-15 2020-06-04 Nec Corporation Access token system, information processing apparatus, information processing method, and information processing program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416586B1 (ko) * 2012-10-17 2014-07-08 주식회사 리얼타임테크 해쉬를 이용한 전문 기반 논리 연산 수행 방법
KR101614208B1 (ko) * 2014-06-11 2016-04-20 한국전력공사 디지털변전소의 지능형 시스템 운영을 위한 에이전트 시스템 및 이의 동작 방법
US10817614B2 (en) * 2014-08-27 2020-10-27 Netiq Corporation Automatic detection of relatedness in pools of encrypted data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120204A (ja) * 1997-07-21 1999-04-30 Xerox Corp トークンに基づいてドキュメント関連情報を検索し、転送する方法及び装置
JP2001084260A (ja) 1999-09-13 2001-03-30 Mitsubishi Electric Corp データベースシステム
US20080086755A1 (en) 2006-10-06 2008-04-10 Darnell Benjamin G Recursive Subscriptions to Content Feeds

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032132A (en) * 1998-06-12 2000-02-29 Csg Systems, Inc. Telecommunications access cost management system
US7599856B2 (en) * 2002-11-19 2009-10-06 Amazon Technologies, Inc. Detection of fraudulent attempts to initiate transactions using modified display objects
US8275842B2 (en) * 2007-09-30 2012-09-25 Symantec Operating Corporation System and method for detecting content similarity within email documents by sparse subset hashing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120204A (ja) * 1997-07-21 1999-04-30 Xerox Corp トークンに基づいてドキュメント関連情報を検索し、転送する方法及び装置
JP2001084260A (ja) 1999-09-13 2001-03-30 Mitsubishi Electric Corp データベースシステム
US20080086755A1 (en) 2006-10-06 2008-04-10 Darnell Benjamin G Recursive Subscriptions to Content Feeds

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200177389A1 (en) * 2016-12-15 2020-06-04 Nec Corporation Access token system, information processing apparatus, information processing method, and information processing program
US11895240B2 (en) * 2016-12-15 2024-02-06 Nec Corporation System, apparatus, method and program for preventing illegal distribution of an access token

Also Published As

Publication number Publication date
US20090259658A1 (en) 2009-10-15
KR20090108849A (ko) 2009-10-19

Similar Documents

Publication Publication Date Title
JP5412414B2 (ja) 検索可能暗号処理システム
US11539505B2 (en) Encrypting data
US8930691B2 (en) Dynamic symmetric searchable encryption
US10037433B2 (en) Secure text retrieval
US20140133651A1 (en) Encryption device, cipher-text comparison system, cipher-text comparison method, and cipher-text comparison program
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
JP2010061103A (ja) 高速検索可能な暗号化のための方法、装置およびシステム
JP2002108910A (ja) 暗号化ファイルシステム及び暗号化ファイル検索方法並びにコンピュータ可読記録媒体
JP7302600B2 (ja) 情報処理システムおよび情報処理方法
EP2709306A1 (en) Method and system to perform secure boolean search over encrypted documents
KR20100070644A (ko) 데이터베이스의 암호화된 데이터 저장 및 검색 방법
US9946720B1 (en) Searching data files using a key map
KR101979267B1 (ko) 클라우드 저장 기반 암호화 시스템 및 방법
US11184163B2 (en) Value comparison server, value comparison encryption system, and value comparison method
CN110765469B (zh) 一种高效且健壮的动态可搜索对称加密方法及系统
KR101496347B1 (ko) 파일 저장/검색 장치 및 방법
JP6632780B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
JP2007310603A (ja) 文書処理装置及び文書処理プログラム
KR101084644B1 (ko) 데이터베이스에서 검색가능한 암호화된 결합데이터의 생성 방법 및 검색 방법
JP2009076009A (ja) 文書管理装置、文書管理システム、文書管理方法、文書管理プログラムおよび文書管理プログラムを記録した記録媒体
US10769144B2 (en) Database search system, database search method, and non-transitory recording medium
Tan et al. A client-server prototype of a symmetric key searchable encryption scheme using open-source applications
KR102131306B1 (ko) 데이터관리장치, 데이터관리방법 및 데이터관리시스템
US20130036474A1 (en) Method and Apparatus for Secure Data Representation Allowing Efficient Collection, Search and Retrieval

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
LAPS Lapse due to unpaid annual fee