KR20110060674A - 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치, 그리고 그 데이터의 이용방법 - Google Patents

위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치, 그리고 그 데이터의 이용방법 Download PDF

Info

Publication number
KR20110060674A
KR20110060674A KR1020090117329A KR20090117329A KR20110060674A KR 20110060674 A KR20110060674 A KR 20110060674A KR 1020090117329 A KR1020090117329 A KR 1020090117329A KR 20090117329 A KR20090117329 A KR 20090117329A KR 20110060674 A KR20110060674 A KR 20110060674A
Authority
KR
South Korea
Prior art keywords
database
server
user
sql query
key
Prior art date
Application number
KR1020090117329A
Other languages
English (en)
Other versions
KR101302135B1 (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 KR1020090117329A priority Critical patent/KR101302135B1/ko
Priority to US12/939,665 priority patent/US20110129089A1/en
Publication of KR20110060674A publication Critical patent/KR20110060674A/ko
Application granted granted Critical
Publication of KR101302135B1 publication Critical patent/KR101302135B1/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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data

Landscapes

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

Abstract

본 발명은 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치, 그리고 그 데이터의 이용방법에 관한 것으로, 키 저장소에 저장된 사용자의 비밀키의 정보를 관리하는 키 관리 모듈을 통해 키 저장소에 접근하여 획득한 사용자의 비밀키를 이용하여 서버에 위탁하기 위한 데이터베이스의 암복호화를 수행하고, 서버에 위탁된 데이터베이스를 이용하기 위한 SQL 쿼리의 암복호화를 수행하는 암복호화 모듈을 포함하며, 암복호화 모듈은 데이터베이스의 테이블명, 필드명, 및 속성값 중 적어도 하나 이상에 대해 부분적으로 암복호화한다. 본 발명에 따르면, 기존 데이터베이스의 구조를 유지하면서 테이블명, 필드명, 필드 속성값을 부분적으로 암호화하여 서버에 위탁하고, 또한, 클라이언트가 서버에 위탁된 사용자의 데이터베이스에 접근할 때, 쿼리문의 일부를 암호화하여 서버에 요청함으로써, 서버 측의 사용자 정보 노출이 이루어져도 비밀키로 암호화되어 있으므로 피해를 최소화할 수 있는 이점이 있다.

Description

위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치, 그리고 그 데이터의 이용방법{Method and apparetus for encoding/decoding partial of data and method for using the data}
본 발명은 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치, 그리고 그 데이터의 이용방법에 관한 것으로, 특히 데이터베이스를 부분적으로 암호화하여 서버에 위탁하고, 그 데이터베이스를 이용하기 위한 쿼리문 또한 부분적으로 암호화함으로써 보안 강화된 데이터베이스의 위탁 서비스를 제공하도록 하는 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치, 그리고 그 데이터의 이용방법에 관한 것이다.
온라인에서 서비스를 제공하는 모든 업체는 각기 사용자의 정보를 보관한 데이터베이스를 보유하고 있다. 하지만 일반 데이터베이스는 평문으로 정보를 저장하기 때문에, 해킹이나 악의적인 내부자로 인해 사용자 정보가 악용되는 사례가 빈번하게 발생한다. 이를 해결하기 위하여 데이터베이스를 암호화하는 다양한 방법이 제시되었다. 하지만 대부분의 데이터베이스 암호화 방법은 서버 측에서 처리되기 때문에, 서버의 정보가 노출될 경우 데이터베이스가 쉽게 복호화되는 문제가 생긴 다.
종래에는, 대표 키워드를 입력하면, 상기 문서를 문서암호화 키로 암호화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스로 생성한다. 인증된 사용자가 키워드를 입력하면, 해당 키워드를 검색키로 암호화하여 검색하고, 결과를 반환받은 뒤 문서암호화 키로 복호화하는 방법이 제시되고 있다. 그러나, 이 방식은 키워드를 입력하여 암호화한 뒤에 검색해야 하기 때문에 부정확한 검색결과가 발생할 수 있으며 문서 단위로 암복호화를 처리해야 하는 번거로움이 존재한다.
한편, 데이터베이스와 결합하는 보완 관리 모듈이 데이터베이스를 암호화하고 접근을 제어하는 방법으로서, 컬럼 단위의 암복호화를 수행하는데, 관리자가 사용자별로 암복호화의 권한을 부여한 뒤, 접근제어를 통과한 사용자에 대해서 암복호화를 허용하는 방법이 제시되고 있다. 그러나, 이 방식은 데이터베이스 측에 암복호화 정보가 모두 내장되어 있어 해킹시 모든 데이터가 노출될 수 있으며, 사용자 별로 상이한 암복호화 키를 사용하지 않고 동일한 키를 사용하기 때문에 기업 데이터와 같은 공용 데이터베이스에나 적합하다.
한편, 쿼리문을 전송하면 시스템은 접근 확인을 수행한 뒤 사용자의 고유값을 반환하고, 사용자가 해당 값을 이용하여 암복호화를 요청하면 암호화 결과를 반환하여 DB에 저장/로드하는 방법이 제공되고 있다. 그러나, 이 방식은 데이터베이 스 관리 시스템이 모든 보안 정보를 유지하고 암복호화를 수행하기 때문에, 해당 시스템이 노출될 경우 데이터베이스의 모든 내용이 악용될 수 있다. 또한, 쿼리문에 보안이 적용되지 않기 때문에 사용자가 요청하는 정보 및 수신 내용을 예측할 수 있다.
본 발명은 상기한 문제점을 해결하기 위하여,
기존 데이터베이스의 구조를 유지하면서 테이블명, 필드명, 필드 속성값을 부분적으로 암호화하여 서버에 위탁함으로써, 보안 강화된 데이터베이스의 위탁 서비스를 제공하는데 그 목적이 있다.
또한, 클라이언트가 서버에 위탁된 사용자의 데이터베이스에 접근할 때, 쿼리문의 일부를 암호화하여 서버에 요청함으로써, 위탁 서비스를 이용하는 경우에도 보안이 강화된 서비스를 제공하는데 다른 목적이 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 위탁 서비스를 위한 데이터의 부분 암호화 방법은, 사용자로부터 비밀키가 입력되면, 상기 비밀키를 변형시키는 단계, 상기 비밀키를 이용하여 서버에 위탁할 데이터베이스의 테이블명을 암호화하고, 각 테이블의 필드명 및 상기 각 테이블에 저장된 필드를 암호화하는 단계, 사용자 단말과 상기 서버 사이에 설정된 신뢰 채널을 통해 암호화된 데이터베이스를 전송하여 상기 서버에의 위탁을 요청하는 단계, 및 상기 서버로부터의 응답 신호에 따라 상기 서버에 위탁한 데이터베이스를 상기 사용자 단말에서 삭제하는 단계를 포함하는 것을 특징으로 한다.
상기 암호화하는 단계는, 상기 각 테이블의 필드에 저장된 속성값에 임의의 문자열을 추가하는 단계를 포함하며, 상기 임의의 문자열이 추가된 속성값에 대해 암호화하는 것을 특징으로 한다.
상기 암호화하는 단계 이전에, 상기 서버에 위탁할 데이터베이스를 암호화하기 위하여 임의의 영역에 상기 데이터베이스를 복사하는 단계를 더 포함하는 것을 특징으로 한다.
상기 삭제하는 단계는, 상기 임의의 영역에 복사된 데이터베이스를 삭제하는 단계를 포함하는 것을 특징으로 한다.
상기 위탁을 요청하는 단계 이전에, 상기 사용자 단말과 상기 서버 사이에 공유된 인증 정보를 통해 신뢰 채널을 설정하는 단계를 더 포함하는 것을 특징으로 한다.
상기 비밀키를 변형시키는 단계는, 임의의 Permutation 함수를 이용하는 것을 특징으로 한다.
한편, 상기한 목적을 달성하기 위한 본 발명에 따른 위탁 서비스를 위한 데이터베이스의 부분 복호화 방법은, 사용자 단말이 서버에 등록된 사용자의 데이터베이스를 요청하여, 수신하는 단계, 상기 서버로부터 수신된 데이터베이스의 복호화를 위해 사용자로부터 입력된 비밀키를 변형시키는 단계, 변형된 상기 비밀키를 이용하여 상기 수신된 데이터베이스의 테이블명을 복호화하고, 각 테이블의 필드명 및 상기 각 테이블의 필드를 복호화하는 단계, 및 상기 서버에 저장된 데이터베이스의 삭제를 요청하는 단계를 포함하는 것을 특징으로 한다.
상기 수신하는 단계의 데이터베이스를 복호화를 위한 임시 영역에 복사하는 단계를 더 포함하며, 상기 복호화하는 단계 이후에, 상기 임시 영역에 복사된 데이터베이스를 지정된 위치에 저장하는 단계를 더 포함하는 것을 특징으로 한다.
상기 비밀키를 변형시키는 단계는, 임의의 Permutation 함수를 이용하는 것을 특징으로 한다.
한편, 상기한 목적을 달성하기 위한 본 발명에 따른 암호화된 데이터의 이용방법은, 응용 프로그램 실행 시, 서버에 위탁된 데이터베이스 작업을 수행하기 위해 SQL 쿼리를 생성하는 단계, 기 등록된 사용자의 비밀키를 로드하여, 상기 SQL 쿼리를 암호화하는 단계, 암호화된 상기 SQL 쿼리를 상기 서버로 전송하고, 상기 서버로부터 상기 SQL 쿼리를 실행한 후 생성된 SQL 쿼리 결과 메시지를 수신하는 단계, 및 상기 SQL 쿼리 결과 메시지를 복호화하여 상기 응용 프로그램에 적용하는 단계를 포함하는 것을 특징으로 한다.
상기 SQL 쿼리 결과 메시지는, 상기 서버에 의해 XML 형식으로 작성된 것을 특징으로 한다.
상기 SQL 쿼리를 암호화하는 단계는, 상기 SQL 쿼리에 대해 필드명, 테이블명, 속성값 중 적어도 하나 이상을 상기 사용자의 비밀키로 암호화하는 것을 특징으로 한다.
상기 SQL 쿼리를 암호화하는 단계는, 상기 SQL 쿼리의 문법은 그대로 유지하며 암호화하는 것을 특징으로 한다.
상기 응용 프로그램에 적용하는 단계는, 복호화된 상기 SQL 쿼리 결과 메시 지를 이용하여 상기 응용 프로그램에서 이용 가능한 데이터 타입을 생성하는 단계를 더 포함하며, 상기 데이터 타입을 적용하여 상기 응용 프로그램을 실행하는 것을 특징으로 한다.
한편, 상기한 목적을 달성하기 위한 본 발명에 따른 위탁 서비스를 위한 데이터의 부분 암복호화 장치는, 사용자의 비밀키가 저장되는 키 저장소, 상기 사용자로부터 비밀키가 입력되면, 상기 비밀키를 변형시켜 상기 키 저장소에 저장하고, 상기 비밀키의 정보를 관리하는 키 관리 모듈, 및 상기 키 관리 모듈을 통해 상기 키 저장소에 접근하여 획득한 상기 사용자의 비밀키를 이용하여 서버에 위탁하기 위한 데이터베이스의 암복호화를 수행하고, 상기 서버에 위탁된 데이터베이스를 이용하기 위한 SQL 쿼리의 암복호화를 수행하는 암복호화 모듈을 포함하며, 상기 암복호화 모듈은, 상기 데이터베이스의 테이블명, 필드명, 및 속성값 중 적어도 하나 이상에 대해 부분적으로 암복호화하는 것을 특징으로 한다.
상기 암복호화 모듈은, 상기 데이터베이스를 암호화하는 경우, 상기 데이터베이스의 속성값에 임의의 문자열을 추가하여 암호화하는 것을 특징으로 한다.
상기 키 관리 모듈은, 새로운 데이터베이스를 상기 서버에 위탁할 때마다 변형된 사용자의 비밀키를 생성하는 것을 특징으로 한다.
상기 키 관리 모듈은, 상기 키 저장소에 저장된 상기 사용자의 비밀키에 대하여 일정 시간이 경과하거나, 혹은 특정 조건을 만족하는 경우 상기 사용자의 비밀키를 제거하는 것을 특징으로 한다.
상기 키 관리 모듈은, 상기 사용자의 비밀키 변형 시, 임의의 Permutation 함수를 이용하는 것을 특징으로 한다.
응용 프로그램에서 데이터베이스 작업을 수행하기 위한 상기 SQL 쿼리를 생성하고, 상기 SQL 쿼리에 대응하여 상기 서버로부터 수신된 SQL 쿼리 결과 메시지를 이용하여 응용 프로그램을 실행시키는 어플리케이션 실행 모듈을 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, 기존 데이터베이스의 구조를 유지하면서 테이블명, 필드명, 필드 속성값을 부분적으로 암호화하여 서버에 위탁함으로써, 서버 측의 사용자 정보 노출이 이루어져도 비밀키로 암호화되어 있으므로 피해를 최소화할 수 있는 이점이 있다.
또한, 클라이언트가 서버에 위탁된 사용자의 데이터베이스에 접근할 때, 쿼리문의 일부를 암호화하여 서버에 요청함으로써, 민감한 정보에 대한 위탁서비스를 제공할 경우에도 사용자의 불안함을 해소할 수 있는 이점이 있다.
또한, 서버와 클라이언트가 주고받는 쿼리문과 응답 결과가 임의의 주체에게 노출되어도 실제 내용을 확인하기 어려운 이점이 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다.
도 1은 본 발명에 따른 데이터 암호화 장치의 구성을 설명하는데 참조되는 도로서, 도 1은 본 발명에 따른 데이터 암호화 장치의 구성을 설명하는데 참조되는 블록도이다.
도 1을 참조하면, 본 발명에 적용되는 시스템은 사용자 단말(100)과, 서버(200)를 포함하는 구조를 갖는다.
먼저, 본 발명에 따른 데이터 암복호화 장치에서, 사용자 단말(100)은 어플리케이션 실행 모듈(110), 암복호화 모듈(130), 키 관리 모듈(140), 키 저장소(150), 및 통신모듈(160)을 포함한다.
어플리케이션 실행 모듈(110)은 사용자 단말(100)에서 응용 프로그램을 실행시키기 위한 모듈이다. 이때, 어플리케이션 실행 모듈(110)에 의해 실행되는 응용 프로그램은 데이터베이스를 활용하여 구동된다.
암복호화 모듈(130)은 사용자의 비밀키를 이용하여 SQL 쿼리문의 암호화와 복호화를 처리하는 모듈이다.
이때, 암복호화 모듈(130)은 응용 프로그램이 실행되는 동안 생성된 SQL 쿼리에 대해 필드명, 테이블명, 속성값 등을 사용자의 비밀키로 암호화한다. 단, 암복호화 모듈(130)은 SQL 쿼리문에 대한 암호화 수행 시, SQL 쿼리의 문법은 그대로 유지하도록 한다.
아래의 실시예는, SQL 쿼리 암복호화 모듈(130)이 SQL 쿼리를 암호화하는 예 를 나타낸 것이다.
- SQL 쿼리: select name, address, phone from user where id=1234
- 암호화: name -> Ek(name) = skdfskei
address -> Ek(address) = 3klsdfkjs
phone -> Ek(phone) = dkfeitkj
user -> Ek(user) = hrbkvkew
id -> Ek(id) = ntrkkwell
1234 -> Ek(1234) = wlejoflkas
- 암호화된 SQL 쿼리: select skdfskei, 3klsdfkjs, dkfeitkj from hrbkvkew where ntrkkwell=wlejoflkas
다시 말해, SQL 쿼리가 "select name, address, phone from user where id=1234"일 때, 각각의 필드명 'name', 'address', 'phone'과, 테이블명 'user', 'id', 그리고 그 속성값 '1234'를 각각 암호화한다.
이때, 'select name'과 'phone from user where id=1234'의 문법은 그대로 유지하게 되므로, 암호화된 SQL 쿼리는 "select skdfskei, 3 klsdfkjs, dkfeitkj from hrbkvkew where ntrkkwell=wlejoflkas"가 된다.
통신모듈(160)은 암복호화 모듈(130)이 생성한 SQL 쿼리를 신뢰 채널을 통해 서버(200)로 전송하고, 또한 서버(200)로부터의 응답을 수신하는 모듈이다.
통신모듈(160)은 보안이 요구되는 경우, 사전에 수립된 사용자 단말(100)과 서버(200) 간의 보안 정보를 이용하여 통신 채널을 암호화할 수 있다.
또한, 통신모듈(160)은 세션 정보를 노출하지 않으며, nonce 등의 정보를 사용하는 등의 기능을 통해 일반적인 공격에 대한 방어를 수행한다.
키 관리 모듈(140)은 일정 기간 동안 사용자가 입력한 비밀키 정보를 보안이 요구되는 키 저장소(150)에 저장하고 로드하는 역할을 담당한다.
키 저장소(150)는 해킹으로부터 안전한 영역의 메모리에 위치하며, 키 관리 모듈(140)을 통해서만 접근이 가능하다. 따라서, 암복호화 모듈(130)은 키 관리 모듈(140)을 통해서 키 저장소(150)에 저장된 사용자의 비밀키에 접근한다. 키 저장소(150)에 보관된 사용자의 비밀키는 일정 시간이 경과하거나 특정 조건이 만족되는 경우 키 관리 모듈(140)에 의해서 소멸된다.
한편, 통신모듈(160)은 서버(200)로 전송한 SQL 쿼리에 대응하는 응답으로서, 서버(200)로부터 SQL 쿼리의 실행 결과 메시지를 수신한다.
암복호화 모듈(130)은 통신모듈(160)에 의해 SQL 쿼리의 실행 결과 메시지가 수신되면, 키 관리 모듈(140)을 통해 키 저장소(150)에 저장된 사용자의 비밀키에 접근한다.
암복호화 모듈(130)은 키 저장소(150)에 저장된 사용자의 비밀키를 이용하여 SQL 쿼리의 실행 결과 메시지를 복호화한다.
이때, SQL 쿼리의 실행 결과 메시지는 DB 처리모듈(220)에 의해 XML 포맷으로 변경된 것이다. 따라서, 암복호와 모듈에 의해 복호화된 SQL 쿼리의 실행 결과 메시지의 구조는 아래와 같다.
<xml>
<row>
<name>Seung-Hyun Kim</name>
<address>ABCD, Daejeon</address>
<phone>012-345-6789</phone>
</row>
</xml>
복호화된 SQL 쿼리의 실행 결과 메시지는 특정 데이터 타입을 자동으로 생성하기 위한 입력값으로 사용되거나, 암복호화 모듈(130)이 직접 데이터 타입에 맞게 값을 설정하는 과정에 이용된다.
이때, 어플리케이션 실행 모듈(110)에 의해 실행된 응용 프로그램은 복호화된 SQL 쿼리의 실행 결과 메시지를 이용하여 생성된 데이터 타입을 전달받아, 응용 프로그램이 지원하는 서비스를 수행한다.
한편, 본 발명에 따른 데이터 암복호화 장치에서, 서버(200)는 세션 관리자(210), DB 처리모듈(220), DB 저장소(230), 및 통신모듈(240)을 포함한다.
세션 관리자(210)는 웹 환경에서 클라이언트들의 id와 기타 세션 정보를 보관하는 기존 프로그램으로, 인증된 사용자에 대하여 위탁한 데이터베이스의 물리적 위치, 데이터베이스 핸들러, nonce 정보, 세션키 등을 보관한다.
DB 저장소(230)에는 사용자 단말(100)로부터 위탁된 데이터베이스가 저장된다.
통신모듈(240)은 클라이언트(100) 측의 통신모듈(160)과 동일한 기능을 수행하는데, 클라이언트(100)의 신원을 확인하고 SQL 쿼리를 검증하여, 쿼리 결과를 반환한다. 통신모듈(240)에 의해 검증된 SQL 쿼리는 DB 처리모듈(220)로 전달된다.
DB 처리모듈(220)은 인증된 사용자가 위탁한 데이터베이스(240)에서 통신모듈(240)에 의해 전달된 SQL 쿼리를 실행한다. 이때, SQL 쿼리를 실행한 뒤 얻게 되는 실행 결과는 특정 데이터 타입을 갖는다.
따라서, DB 처리모듈(220)은 SQL 쿼리 실행 결과를 네트워크로 전송하여 이종 시스템에서 활용하기 위해, SQL 쿼리 실행 결과의 포맷을 XML과 같은 범용포맷으로 변경한다.
SQL 쿼리의 실행 결과 메시지는 <xml>로 구분되고, 실행 결과는 <row>로 구 분된다.
이때, <row> 내의 데이터는 테이블 필드 명과 해당 필드의 속성값을 나타낸다. 데이터베이스의 필드명과 속성값이 사용자의 비밀키로 암호화되어 있기 때문에 아래와 같은 임의의 문자열로 표시된다.
<xml>
<row>
< skdfskei>wiejfklsdf</ skdfskei>
<3klsdfkjs>sseijofeklfskef</3klsdfkjs>
<dkfeitkj>eilfjekjsf</dkfeitkj>
</row>
<row>
....
</row>
</xml>
위에서도 나타난 바와 같이, 만일 하나 이상의 결과가 나온 경우에는 <row> 구문을 추가한다.
통신모듈(240)은 DB 처리모듈(220)에 의해 XML 포멧으로 변환된 SQL 쿼리의 실행 결과 메시지를 사용자 단말(100)로 전송한다.
이후, 사용자 단말(100)은 앞서 설명한 바와 같이, 서버(200)로부터의 SQL 쿼리의 실행 결과 메시지를 키 저장소(150)에 저장된 사용자의 비밀키를 이용하여 복호화한 후, 응용 프로그램이 이를 이용하여 서비스를 수행한다.
상기와 같이 구성되는 본 발명의 동작은 아래와 같다.
도 2 내지 도 4는 본 발명에 따른 데이터 암호화 장치의 동작 방법을 도시한 흐름도이다.
먼저, 도 2는 본 발명의 일 실시예에 따라 사용자 단말에서 서버에 암호화된 데이터베이스를 설정하는 동작을 나타낸 것이다.
도 2에 도시된 바와 같이, 사용자 단말(100)은 사용자로부터 비밀키가 입력되면(S300), 키 관리 모듈(140)이 사용자로부터 입력된 비밀키를 변형시킨다(S305). 이때, 키 관리 모듈(140)은 임의의 Permutation 함수를 이용하여 사용자의 비밀키를 변형시킨다.
또한, 키 관리 모듈(140)은 사용자의 비밀키를 변형하는 과정에서, 사용자의 특정 정보나 서버(200)의 정보를 추가할 수 있으며, 서버(200)에 데이터베이스(DB)를 위탁할 때마다 비밀키를 생성하도록 한다. 키 관리 모듈(140)에 의해 생성된 사용자의 비밀키는 키 저장소(150)에 저장된다.
키 관리 모듈(140)에 의한 비밀키 생성 과정이 완료되면, 암복호화 모듈(130)은 서버(200)에 위탁할 데이터베이스(DB)를 암호화하기 위하여, 임의의 영 역에 데이터베이스(DB)를 복사하고(S310), 해당 데이터베이스(DB)에 대한 암호화 작업을 시작한다(S315 내지 S330).
암복호화 모듈(130)의 암호화 작업 과정은, 우선 암복호화 모듈(130)이 데이터베이스(DB)를 로드한 후(S315), 사용자의 비밀키를 이용하여 테이블명을 암호화하고(S320), 각 테이블의 필드명을 사용자의 비밀키로 암호화한다(S325).
또한, 상기와 같이 테이블의 암호화가 완료되면, 각 테이블에 저장된 필드를 사용자의 비밀키로 각각 암호화한다(S330).
이러한 암호화 과정에서는 데이터베이스의 테이블 필드에 저장된 속성값을 그대로 사용할 수도 있으나, 속성값에 임의의 문자열을 추가할 수도 있다.
다음은 임의의 문자열을 추가하는 예를 나타낸 것이다.
- 원본 데이터베이스 속성 값: "김승현"
- 임의의 문자열: "akblkaklfklskfdlawe"
- 문자열 결합: "김승현| akblkaklfklskfdlawe"('|'는 구분자)
- 원본 속성만 암호화한 결과: "skfjskjef"
- 문자열 결합 후 암호화한 결과: "aslkfdklaslfkewlkjdfslkjfsdf"
이 경우, 암호화된 속성값은 임의의 크기를 가지게 되므로, 암호화된 데이터 베이스로부터 속성값의 문자열 길이를 측정하여 특정 타입을 유추하는 공격을 회피할 수 있다.
이후, 통신모듈(160)은 사용자 단말(100)과 서버(200) 사이에 설정된 신뢰 채널을 통해 상기와 같이 암호화된 데이터베이스(DB)를 서버(200)로 전송한다(S335).
여기서, 신뢰 채널은 사전에 공유된 인증 정보를 통해 설정된다.
한편, 서버(200)는 통신모듈(240)을 통해 사용자 단말(100)에 저장된 데이터베이스(DB)가 수신되면, DB 처리모듈(220)은 인증된 사용자에게 할당된 디렉토리에 암호화된 데이터베이스를 저장한다(S340).
서버(200)는 사용자의 데이터베이스를 성공적으로 저장한 경우, 사용자 단말(100)로부터의 요청에 따른 응답을 전송한다(S345). 물론, 사용자 데이터베이스를 저장하는데 실패한 경우에는 실패 응답을 전송하도록 한다.
사용자 단말(100)은 서버(200)로부터 사용자 데이터베이스가 성공적으로 저장되었음을 알리는 응답 신호가 수신되면, 'S310' 과정에서 복사된 데이터베이스 및 원본 데이터베이스를 삭제한다(S350).
도 3은 본 발명의 일 실시예에 따라 사용자 단말에서 서버에 저장된 암호화 된 데이터베이스를 삭제하는 동작을 나타낸 것이다.
도 3에 도시된 바와 같이, 사용자 단말(100)이 서버(200)에 등록된 데이터베이스를 요청하면(S400), 서버(200)는 인증된 사용자 디렉토리에서 해당 사용자가 요청한 데이터베이스를 로드하여(S405), 사용자 단말(100)과 서버(200) 사이에 설정된 신뢰 채널을 통해 사용자 단말(100)로 전송한다(S410).
사용자 단말(100)은 서버(200)로부터 데이터베이스가 수신되면, 해당 데이터베이스를 임시 영역에 복사한다(S415).
또한, 사용자 단말(100)의 키 관리 모듈(140)은 수신된 데이터베이스의 복호화를 위해 사용자로부터 입력된 비밀키를 변형한다(S420). 이때, 키 관리 모듈(140)은 도 2의 'S305' 과정에서와 마찬가지로 임의의 Permutation 함수를 이용하여 사용자의 비밀키를 변형시킨다. 이때, 변형된 사용자의 비밀키는 키 저장소(150)에 저장된다.
이후, 암복호화 모듈(130)은 해당 데이터베이스(DB)에 대한 복호화 작업을 수행한다(S425 내지 S440).
복호화 작업 과정은, 먼저 암복호화 모듈(130)이 'S415' 과정에서 복사된 데이터베이스를 로드하고(S425), 'S420' 과정에서 변형된 사용자의 비밀키를 이용하여 데이터베이스의 테이블명을 복호화한다(S430).
또한, 암복호화 모듈(130)은 사용자의 비밀키를 이용하여 각 테이블의 필드 명을 복호화하고(S435), 이후 각 테이블의 필드를 복호화한다(S440).
'S425' 내지 'S440' 과정을 통해 해당 데이터베이스의 복호화 과정이 완료되면, 사용자 단말(100)은 서버(200)에게 해당 데이터베이스의 삭제를 요청한다(S445).
서버(200)는 사용자 단말(100)의 요청에 따라, 사용자 디렉토리에 저장된 데이터베이스를 삭제하고(S450), 응답 신호를 사용자 단말(100)로 전송한다(S455).
이후, 서버(200)로부터 응답 신호를 수신한 사용자 단말(100)은 임시 영역에 복사된 데이터베이스를 지정된 위치에 저장하도록 한다(S460).
만일, 서버(200)로부터 데이터베이스의 삭제에 실패하였음을 알리는 응답 신호가 수신된 경우에는, 이를 출력하여 사용자에게 알리도록 한다.
도 4는 본 발명의 일 실시예에 따라 서버에 저장된 암호화된 데이터베이스를 호출하여 서비스에 이용하는 동작을 나타낸 것이다.
도 4에 도시된 바와 같이, 사용자 단말(100)의 어플리케이션 실행 모듈(110)은 응용 프로그램을 실행시킨다. 이때, 실행된 응용 프로그램은 데이터베이스를 활용하여 구동되므로, 해당 응용 프로그램은 데이터베이스 작업을 수행하기 위해 SQL 쿼리를 생성한다(S500). 응용 프로그램에 의해 생성된 SQL 쿼리는 평문으로 명시되어 있다.
한편, 응용 프로그램은 'S500' 과정에서 생성된 SQL 쿼리를 사용자 단 말(100)로 전달한다(S510). 사용자 단말(100)의 암복호화 모듈(130)은 키 관리 모듈(140)을 통해 키 저장소(150)에 접근하여 사용자로부터 입력받은 비밀키를 로드하고(S520), 사용자의 비밀키를 이용하여 SQL 쿼리를 암호화한다(S530).
SQL 쿼리를 암호화하는 과정에서, 암복호화 모듈(130)은 SQL 쿼리 전체를 암호화하는 것이 아니라, SQL 쿼리 내에서 SQL 문법을 제외한 부분을 암호화한다.
이후, 사용자 단말(100)은 암호화된 SQL 쿼리를 신뢰 채널을 통해 서버(200)로 전송한다(S540).
서버(200)는 사용자 단말(100)로부터 SQL 쿼리가 수신되면, 해당 사용자의 디렉토리로부터 데이터베이스를 로드하여(S550), SQL 쿼리를 실행한다(S560).
이때, 서버(200)의 DB 처리모듈(220)은 SQL 쿼리 실행 결과를 XML 형식으로 변환하여(S570), 사용자 단말(100)로 전송하도록 한다(S580).
서버(200)로부터 SQL 쿼리 결과를 수신한 사용자 단말(100)의 암복호화 모듈(130)은 사용자의 비밀키를 이용하여 수신된 SQL 쿼리 결과를 복호화하고(S590), 응용 프로그램에 전달한다(S600). 이때, 복호화된 결과는 응용 프로그램이 사용할 수 있는 데이터 타입으로 변환되어 전달된다.
따라서, 응용 프로그램은 사용자 단말(100)의 암복호화 모듈(130)에 의해 복호화된 SQL 쿼리 결과를 이용하여 작업을 수행한다(S610).
도 4의 실시예는 응용 프로그램이 사용자 단말과 다른 동작 주체인 것으로 도시되었으나, 이는 동작의 흐름을 설명하기 위해 편의상 도시한 것으로, 응용 프로그램은 사용자 단말 내에서 실행되는 것이다.
이상에서와 같이 본 발명에 따른 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치, 그리고 그 데이터의 이용방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
도 1 은 본 발명에 따른 위탁 서비스를 위한 데이터의 부분 암복호화 장치의 구성을 설명하는데 참조되는 블록도이다.
도 2 는 본 발명에 따른 위탁 서비스를 위한 데이터의 부분 암호화 방법에 대한 동작 설명에 참조되는 순서도이다.
도 3 은 본 발명에 따른 위탁 서비스를 위한 데이터의 부분 복호화 방법에 대한 동작 설명에 참조되는 순서도이다.
도 4 는 본 발명에 따른 암호화된 데이터의 이용방법에 대한 동작 설명에 참조되는 순서도이다.

Claims (20)

  1. 사용자로부터 비밀키가 입력되면, 상기 비밀키를 변형시키는 단계;
    상기 비밀키를 이용하여 서버에 위탁할 데이터베이스의 테이블명을 암호화하고, 각 테이블의 필드명 및 상기 각 테이블에 저장된 필드를 암호화하는 단계;
    사용자 단말과 상기 서버 사이에 설정된 신뢰 채널을 통해 암호화된 데이터베이스를 전송하여 상기 서버에의 위탁을 요청하는 단계; 및
    상기 서버로부터의 응답 신호에 따라 상기 서버에 위탁한 데이터베이스를 상기 사용자 단말에서 삭제하는 단계;를 포함하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암호화 방법.
  2. 청구항 1에 있어서,
    상기 암호화하는 단계는,
    상기 각 테이블의 필드에 저장된 속성값에 임의의 문자열을 추가하는 단계;를 포함하며,
    상기 임의의 문자열이 추가된 속성값에 대해 암호화하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암호화 방법.
  3. 청구항 1에 있어서,
    상기 암호화하는 단계 이전에,
    상기 서버에 위탁할 데이터베이스를 암호화하기 위하여 임의의 영역에 상기 데이터베이스를 복사하는 단계;를 더 포함하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암호화 방법.
  4. 청구항 3에 있어서,
    상기 삭제하는 단계는,
    상기 임의의 영역에 복사된 데이터베이스를 삭제하는 단계;를 포함하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암호화 방법.
  5. 청구항 1에 있어서,
    상기 위탁을 요청하는 단계 이전에,
    상기 사용자 단말과 상기 서버 사이에 공유된 인증 정보를 통해 신뢰 채널을 설정하는 단계;를 더 포함하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암호화 방법.
  6. 청구항 1에 있어서,
    상기 비밀키를 변형시키는 단계는,
    임의의 Permutation 함수를 이용하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암호화 방법.
  7. 사용자 단말이 서버에 등록된 사용자의 데이터베이스를 요청하여, 수신하는 단계;
    상기 서버로부터 수신된 데이터베이스의 복호화를 위해 사용자로부터 입력된 비밀키를 변형시키는 단계;
    변형된 상기 비밀키를 이용하여 상기 수신된 데이터베이스의 테이블명을 복호화하고, 각 테이블의 필드명 및 상기 각 테이블의 필드를 복호화하는 단계; 및
    상기 서버에 저장된 데이터베이스의 삭제를 요청하는 단계;를 포함하는 것을 특징으로 하는 위탁 서비스를 위한 데이터베이스의 부분 복호화 방법.
  8. 청구항 7에 있어서,
    상기 수신하는 단계의 데이터베이스를 복호화를 위한 임시 영역에 복사하는 단계;를 더 포함하며,
    상기 복호화하는 단계 이후에, 상기 임시 영역에 복사된 데이터베이스를 지정된 위치에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 위탁 서비스를 위한 데이터베이스의 부분 복호화 방법.
  9. 청구항 7에 있어서,
    상기 비밀키를 변형시키는 단계는,
    임의의 Permutation 함수를 이용하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 복호화 방법.
  10. 응용 프로그램 실행 시, 서버에 위탁된 데이터베이스 작업을 수행하기 위해 SQL 쿼리를 생성하는 단계;
    기 등록된 사용자의 비밀키를 로드하여, 상기 SQL 쿼리를 암호화하는 단계;
    암호화된 상기 SQL 쿼리를 상기 서버로 전송하고, 상기 서버로부터 상기 SQL 쿼리를 실행한 후 생성된 SQL 쿼리 결과 메시지를 수신하는 단계; 및
    상기 SQL 쿼리 결과 메시지를 복호화하여 상기 응용 프로그램에 적용하는 단계;를 포함하는 것을 특징으로 하는 암호화된 데이터의 이용방법.
  11. 청구항 10에 있어서,
    상기 SQL 쿼리 결과 메시지는,
    상기 서버에 의해 XML 형식으로 작성된 것을 특징으로 하는 암호화된 데이터의 이용방법.
  12. 청구항 10에 있어서,
    상기 SQL 쿼리를 암호화하는 단계는,
    상기 SQL 쿼리에 대해 필드명, 테이블명, 속성값 중 적어도 하나 이상을 상기 사용자의 비밀키로 암호화하는 것을 특징으로 하는 암호화된 데이터의 이용방법.
  13. 청구항 10에 있어서,
    상기 SQL 쿼리를 암호화하는 단계는,
    상기 SQL 쿼리의 문법은 그대로 유지하며 암호화하는 것을 특징으로 하는 암호화된 데이터의 이용방법.
  14. 청구항 10에 있어서,
    상기 응용 프로그램에 적용하는 단계는,
    복호화된 상기 SQL 쿼리 결과 메시지를 이용하여 상기 응용 프로그램에서 이용 가능한 데이터 타입을 생성하는 단계;를 더 포함하며,
    상기 데이터 타입을 적용하여 상기 응용프로그램을 실행하는 것을 특징으로 하는 암호화된 데이터의 이용방법.
  15. 사용자의 비밀키가 저장되는 키 저장소;
    상기 사용자로부터 비밀키가 입력되면, 상기 비밀키를 변형시켜 상기 키 저장소에 저장하고, 상기 비밀키의 정보를 관리하는 키 관리 모듈; 및
    상기 키 관리 모듈을 통해 상기 키 저장소에 접근하여 획득한 상기 사용자의 비밀키를 이용하여 서버에 위탁하기 위한 데이터베이스의 암복호화를 수행하고, 상기 서버에 위탁된 데이터베이스를 이용하기 위한 SQL 쿼리의 암복호화를 수행하는 암복호화 모듈;을 포함하며,
    상기 암복호화 모듈은, 상기 데이터베이스의 테이블명, 필드명, 및 속성값 중 적어도 하나 이상에 대해 부분적으로 암복호화하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암복호화 장치.
  16. 청구항 15에 있어서,
    상기 암복호화 모듈은,
    상기 데이터베이스를 암호화하는 경우, 상기 데이터베이스의 속성값에 임의의 문자열을 추가하여 암호화하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암복호화 장치.
  17. 청구항 15에 있어서,
    상기 키 관리 모듈은,
    새로운 데이터베이스를 상기 서버에 위탁할 때마다 변형된 사용자의 비밀키를 생성하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암복호화 장치.
  18. 청구항 15에 있어서,
    상기 키 관리 모듈은,
    상기 키 저장소에 저장된 상기 사용자의 비밀키에 대하여 일정 시간이 경과하거나, 혹은 특정 조건이 만족되는 경우 상기 사용자의 비밀키를 제거하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암복호화 장치.
  19. 청구항 15에 있어서,
    상기 키 관리 모듈은,
    상기 사용자의 비밀키 변형 시, 임의의 Permutation 함수를 이용하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암복호화 장치.
  20. 청구항 15에 있어서,
    응용 프로그램에서 데이터베이스 작업을 수행하기 위한 상기 SQL 쿼리를 생성하고, 상기 SQL 쿼리에 대응하여 상기 서버로부터 수신된 SQL 쿼리 결과 메시지를 이용하여 응용 프로그램을 실행시키는 어플리케이션 실행 모듈;을 더 포함하는 것을 특징으로 하는 위탁 서비스를 위한 데이터의 부분 암복호화 장치.
KR1020090117329A 2009-11-30 2009-11-30 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치 KR101302135B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090117329A KR101302135B1 (ko) 2009-11-30 2009-11-30 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치
US12/939,665 US20110129089A1 (en) 2009-11-30 2010-11-04 Method and apparatus for partially encoding/decoding data for commitment service and method of using encoded data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090117329A KR101302135B1 (ko) 2009-11-30 2009-11-30 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20110060674A true KR20110060674A (ko) 2011-06-08
KR101302135B1 KR101302135B1 (ko) 2013-09-16

Family

ID=44068924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090117329A KR101302135B1 (ko) 2009-11-30 2009-11-30 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치

Country Status (2)

Country Link
US (1) US20110129089A1 (ko)
KR (1) KR101302135B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015050361A1 (ko) * 2013-10-01 2015-04-09 주식회사 파수닷컴 데이터 컬럼 암호화 장치 및 방법
KR101663632B1 (ko) * 2015-04-08 2016-10-07 숭실대학교산학협력단 데이터베이스 암호화를 지원하는 스토리지 서비스 제공 서버 및 방법
KR20180010779A (ko) * 2016-07-22 2018-01-31 주식회사 텍스트팩토리 문자를 이용한 비서 서비스에서의 개인 정보의 선택적 암호화 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2731040B1 (en) 2012-11-08 2017-04-19 CompuGroup Medical SE Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
KR101754308B1 (ko) 2013-10-04 2017-07-07 한국전자통신연구원 모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버
US9270647B2 (en) 2013-12-06 2016-02-23 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects
US8954583B1 (en) 2014-01-20 2015-02-10 Shape Security, Inc. Intercepting and supervising calls to transformed operations and objects
US9858440B1 (en) * 2014-05-23 2018-01-02 Shape Security, Inc. Encoding of sensitive data
US9003511B1 (en) 2014-07-22 2015-04-07 Shape Security, Inc. Polymorphic security policy action
US9602543B2 (en) 2014-09-09 2017-03-21 Shape Security, Inc. Client/server polymorphism using polymorphic hooks
US10380139B2 (en) * 2016-11-15 2019-08-13 Spirent Communications, Inc. SQL interceptor for use with third party data analytics packages
EP3336718B1 (en) 2016-12-16 2020-02-12 CompuGroup Medical SE Method for querying a database
EP3340071B1 (en) 2016-12-23 2021-06-09 CompuGroup Medical SE Offline preparation for bulk inserts
CN108616348B (zh) * 2018-04-19 2019-08-23 清华大学无锡应用技术研究院 使用可重构处理器实现安全算法、解密算法的方法及系统
US11658885B2 (en) 2018-10-01 2023-05-23 Spirent Communications, Inc. Automating evaluation of QoE for wireless communication services
US11514184B1 (en) * 2019-03-04 2022-11-29 Amazon Technologies, Inc. Database query information protection using skeletons
CN112667718B (zh) * 2020-12-24 2021-07-16 广西中科曙光云计算有限公司 一种不动产信息的共享查询方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526481B1 (en) * 1999-04-19 2009-04-28 Oracle International Corporation Web servers with queryable dynamic caches
US6785810B1 (en) * 1999-08-31 2004-08-31 Espoc, Inc. System and method for providing secure transmission, search, and storage of data
WO2005119960A2 (en) * 2004-06-01 2005-12-15 Ben-Gurion University Of The Negev Research And Development Authority Structure preserving database encryption method and system
US20060075230A1 (en) * 2004-10-05 2006-04-06 Baird Leemon C Iii Apparatus and method for authenticating access to a network resource using multiple shared devices
US7725738B1 (en) * 2005-01-25 2010-05-25 Altera Corporation FPGA configuration bitstream protection using multiple keys
JP4822889B2 (ja) * 2006-03-20 2011-11-24 富士通株式会社 データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置
KR100859162B1 (ko) * 2007-10-16 2008-09-19 펜타시큐리티시스템 주식회사 암호화된 칼럼을 포함하는 데이터베이스에서의 쿼리의 암호화 변조를 통한 사용자 쿼리 처리 장치 및 방법
KR100944769B1 (ko) * 2007-11-06 2010-03-03 한국전자통신연구원 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템
EP2189925A3 (en) * 2008-11-25 2015-10-14 SafeNet, Inc. Database obfuscation system and method
US8837718B2 (en) * 2009-03-27 2014-09-16 Microsoft Corporation User-specified sharing of data via policy and/or inference from a hierarchical cryptographic store

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015050361A1 (ko) * 2013-10-01 2015-04-09 주식회사 파수닷컴 데이터 컬럼 암호화 장치 및 방법
KR101522870B1 (ko) * 2013-10-01 2015-05-26 주식회사 파수닷컴 데이터 컬럼 암호화 장치 및 방법
US9892277B2 (en) 2013-10-01 2018-02-13 Fasoo.Com Co., Ltd. Device and method for encoding data column
KR101663632B1 (ko) * 2015-04-08 2016-10-07 숭실대학교산학협력단 데이터베이스 암호화를 지원하는 스토리지 서비스 제공 서버 및 방법
KR20180010779A (ko) * 2016-07-22 2018-01-31 주식회사 텍스트팩토리 문자를 이용한 비서 서비스에서의 개인 정보의 선택적 암호화 방법

Also Published As

Publication number Publication date
US20110129089A1 (en) 2011-06-02
KR101302135B1 (ko) 2013-09-16

Similar Documents

Publication Publication Date Title
KR101302135B1 (ko) 위탁 서비스를 위한 데이터의 부분 암복호화 방법 및 그 장치
CN111488598B (zh) 访问控制方法、装置、计算机设备和存储介质
CN111783075B (zh) 基于密钥的权限管理方法、装置、介质及电子设备
JP5635978B2 (ja) 人間が介入しないアプリケーションのための認証されたデータベース接続
US8832047B2 (en) Distributed document version control
US8925108B2 (en) Document access auditing
RU2447490C2 (ru) Защищенная обработка мандата клиентской системы для доступа к ресурсам на основе web
US8627077B2 (en) Transparent authentication process integration
JP4993733B2 (ja) 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置
US8046585B2 (en) Verifying authenticity of an attribute value signature
US11196561B2 (en) Authorized data sharing using smart contracts
US11829502B2 (en) Data sharing via distributed ledgers
JP5065682B2 (ja) 名前解決のためのシステムおよび方法
JP4607602B2 (ja) アクセス提供方法
CN116436682A (zh) 数据处理方法、装置及系统
JP2007142504A (ja) 情報処理システム
JP2023532976A (ja) ユーザの身元の検証のための方法およびシステム
CN112948903A (zh) 一种面向大数据存储的密态搜索技术架构及方法
JP4641148B2 (ja) 個人情報開示システム、個人情報開示方法および個人情報開示プログラム
JP2005222488A (ja) ユーザ認証システム、情報配信サーバ、およびユーザ認証方法
US7984490B2 (en) Method for issuing attribute certificate from an LDAP entry
Chen et al. Towards verifiable file search on the cloud
JP6745864B2 (ja) 機密情報管理システム
Gondil et al. Survey on Multi keyword Ranked Search Scheme over Encrypted Data
CN116956319A (zh) 非关系型数据库数据安全防护方法及系统

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171024

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 7