KR101329789B1 - Encryption Method of Database of Mobile Communication Device - Google Patents

Encryption Method of Database of Mobile Communication Device Download PDF

Info

Publication number
KR101329789B1
KR101329789B1 KR1020120031393A KR20120031393A KR101329789B1 KR 101329789 B1 KR101329789 B1 KR 101329789B1 KR 1020120031393 A KR1020120031393 A KR 1020120031393A KR 20120031393 A KR20120031393 A KR 20120031393A KR 101329789 B1 KR101329789 B1 KR 101329789B1
Authority
KR
South Korea
Prior art keywords
security server
identification information
random value
mobile device
key
Prior art date
Application number
KR1020120031393A
Other languages
Korean (ko)
Other versions
KR20130109560A (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 이니텍(주)
Priority to KR1020120031393A priority Critical patent/KR101329789B1/en
Publication of KR20130109560A publication Critical patent/KR20130109560A/en
Application granted granted Critical
Publication of KR101329789B1 publication Critical patent/KR101329789B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에 의한 데이터베이스 암호화 방법은, 에스큐라이트 데이터베이스를 이용하는 어플리케이션이 설치되어 있는 모바일 디바이스와, 상기 모바일 디바이스와 통신망에 의해 데이터 통신이 가능한 보안 서버를 포함하는 환경에서 수행되며, (1) 상기 모바일 디바이스에 클라이언트키를 주입하는 제1 단계와, (2) 상기 모바일 디바이스와 상기 보안 서버가 세션키를 교환하는 제2 단계와, (3) 상기 모바일 디바이스가 상기 보안 서버의 데이터베이스 암호화 API를 호출하여 데이터베이스 암호화를 수행하는 제3 단계를 포함한다.
상기 제1 단계는, (1-1) 상기 보안 서버가 서버 마스터키를 생성하고 보관하는 제1-1 단계와, (1-2) 상기 모바일 디바이스가 단말기 식별 정보를 추출하는 제1-2 단계와, (1-3) 상기 단말기 식별 정보를 상기 보안 서버로 전송하는 제1-3 단계와, (1-4) 상기 서버 마스터키와 상기 단말기 식별 정보에 기초하여 클라이언트키를 생성하는 제1-4 단계와, (1-5) 상기 모바일 디바이스에 상기 클라이언트키를 주입하는 제1-5 단계와, (1-6) 상기 모바일 디바이스가 상기 클라이언트키를 보관하는 제1-6 단계를 포함한다.
상기 제2 단계는, (2-1) 상기 모바일 디바이스가 단말기 식별 정보와 제1 랜덤값을 상기 보안 서버로 전달하는 제2-1 단계와, (2-2) 상기 보안 서버가 상기 클라이언트키와 상기 단말기 식별 정보에 기초하여 클라이언트키를 추출하는 제2-2 단계와, (2-3) 상기 보안 서버가 상기 제1 랜덤값과 보안 서버가 생성한 제2 랜덤값에 기초하여 세션키를 생성하는 제2-3 단계와, (2-4) 상기 보안 서버가 상기 제1 랜덤값과 상기 제2 랜덤값을 상기 클라이언트키로 암호화한 제1 암호문을 상기 모바일 디바이스로 전송하는 제2-4 단계와, (2-5) 상기 보안 서버가 상기 단말기 식별 정보와 상기 보안 서버 식별 정보를 상기 세션키로 암호화한 제2 암호문을 상기 모바일 디바이스로 전송하는 제2-5 단계와, (2-6) 상기 모바일 디바이스가 상기 클라이언트키로 상기 제1 암호문을 복호화하여 상기 제1 랜덤값을 검증하고 상기 제2 랜덤값을 획득하는 제2-6 단계와, (2-7) 상기 제1 랜덤값과 상기 제2 랜덤값에 기초하여 세션키를 추출하는 제2-7 단계와, (2-8) 상기 세션키로 상기 제2 암호문을 복호화하여 상기 단말기 식별 정보를 검증하고 상기 보안 서버 식별 정보를 획득하는 제2-8 단계와, (2-9) 상기 제2 랜덤값과 상기 보안 서버 식별 정보를 상기 세션키로 암호화한 제3 암호문을 상기 보안 서버로 전송하는 제2-9 단계와, (2-10) 상기 보안 서버가 상기 세션키로 상기 제3 암호문을 복호화하여 상기 제2 랜덤값과 상기 보안 서버 식별 정보를 검증하는 제2-10 단계를 포함한다.
The database encryption method according to the present invention is performed in an environment including a mobile device in which an application using an ESQLITE database is installed, and a security server capable of data communication by the mobile device and a communication network. A first step of injecting a client key into the device, (2) a second step of exchanging a session key between the mobile device and the security server, and (3) the mobile device calling a database encryption API of the security server And a third step of performing database encryption.
The first step includes (1-1) steps 1-1 in which the security server generates and stores a server master key, and (1-2) steps 1-2 in which the mobile device extracts terminal identification information. And (1-3) steps 1-3 of transmitting the terminal identification information to the security server, and (1-4) generating a client key based on the server master key and the terminal identification information. Step 4, (1-5) step 1-5 of injecting the client key into the mobile device, and (1-6) step 1-6 of the mobile device storing the client key.
The second step may include (2-1) step 2-1 in which the mobile device transmits terminal identification information and a first random value to the security server, and (2-2) the security server may be connected to the client key. Step 2-2 of extracting a client key based on the terminal identification information; (2-3) The security server generates a session key based on the first random value and a second random value generated by the security server. Step 2-3, (2-4) Step 2-4, wherein the security server transmits a first cipher text obtained by encrypting the first random value and the second random value to the client key; (2-5) step 2-5, wherein the security server transmits a second cipher text obtained by encrypting the terminal identification information and the security server identification information with the session key to the mobile device; The device decrypts the first cipher text with the client key 2-6 to verify the first random value and obtain the second random value, and (2-7) a second to extract the session key based on the first random value and the second random value. Steps -7 and (2-8) Steps 2-8 of verifying the terminal identification information and acquiring the security server identification information by decrypting the second cipher text with the session key; (2-10) the third server encrypting the third ciphertext encrypted with a random value and the security server identification information with the session key; and (2-10) the security server decrypts the third ciphertext with the session key. And step 2-10 of verifying the second random value and the security server identification information.

Description

모바일 디바이스의 데이터베이스 암호화 방법{Encryption Method of Database of Mobile Communication Device}Encryption method of database of mobile communication device

본 발명은 모바일 디바이스에 설치되는 어플리케이션이 이용하는 데이터베이스의 암호화 방법에 관한 것이다.
The present invention relates to a method for encrypting a database used by an application installed on a mobile device.

스마트폰 내지 스마트 패드 등 모바일 디바이스에는 파일 데이터베이스가 탑재되는데 이 파일 데이터베이스에 해당 단말기 또는 단말기에 설치되는 어플리케이션 프로그램(본 명세서에서는 "어플리케이션"으로 약칭한다.)이 사용하는 정보나 데이터가 기록된다. 현재의 모바일 디바이스는 구글(Google Inc.)의 안드로이드 플랫폼 또는 애플(Apple Inc.)의 iOS 플랫폼이 주로 사용되며, SQLite(에스큐라이트) 데이터베이스가 모바일 디바이스에 널리 사용된다. 본 명세서에서 에스큐라이트(SQLite) 데이터베이스는 www.sqlite.org에서 제공하는 파일 데이터 베이스로 정의되며, 플러그인 방식의 암호화가 불가능하다.A mobile device such as a smart phone or a smart pad is equipped with a file database, in which information and data used by a corresponding terminal or an application program (abbreviated herein as "application") installed in the terminal are recorded. Current mobile devices are mainly used by Google Inc.'s Android platform or Apple Inc.'s iOS platform, and SQLite database is widely used for mobile devices. In this specification, the SQLite database is defined as a file database provided by www.sqlite.org, and plug-in encryption is not possible.

이러한 에스큐라이트 데이터베이스에 기록되는 다양한 정보 등을 비인가된 모바일 디바이스 어플리케이션 또는 각종 악성 툴을 이용하여 획득하여 이를 악의적으로 사용할 수 있기 때문에 데이터베이스 보안이 중요한 이슈로 대두되고 있다.Database security is emerging as an important issue because various information recorded in the esqlite database can be obtained by using an unauthorized mobile device application or various malicious tools and used maliciously.

데이터베이스 암호화 방법은 다양하게 개발되고 적용되고 있으며 예를 들어 2007년 2월에 전자통신연구원에 의해 발간된 전자통신동향분석 제22권 제1호의 "데이터베이스 암호화 기술과 제품 동향"에 개시되어 있는 바와 같이 DBMS 자체에 암호화 기능을 포함하여 구성하는 플러그인 방법과, API 방식으로 나뉜다.Database encryption methods have been developed and applied in various ways, for example, as disclosed in "Database Encryption Technology and Product Trends," published in February 2007, published by Telecommunication Research Institute, Vol. It is divided into plug-in method and API method including encryption function in DBMS itself.

그러나 에스큐라이트 데이터베이스에서는 플러그인 방식을 사용할 수 없으며 API 방식을 채용하여야 하는데, 이 경우 어플리케이션 개발자가 데이터베이스 암호화를 원하는 어플리케이션에 암호화 모듈을 연동시켜야 하는 번거로움이 있으며, 특히 어플리케이션 개발자에게 데이터베이스의 칼럼키가 유출될 수 있는 문제점이 존재한다. 또한, API 방식으로 데이터베이스를 암호화할 때에는 암호화 모듈을 연동한 어플리케이션에서 모든 리소스를 처리하는데 이 경우 모바일 디바이스에 상당한 부하가 걸릴 수밖에 없어 성능 저하가 우려된다. 그리고 암호화 모듈이 연동된 어플리케이션이 메모리 해킹을 당하면 칼럼키가 누출되어 데이터베이스에 기록된 중요 정보들이 외부로 유출될 가능성이 크다.
However, the SQLITE database cannot use the plug-in method and must adopt the API method. In this case, the application developer has to integrate the encryption module with the application that wants to encrypt the database. There is a problem that can be leaked. In addition, when encrypting a database using an API method, all resources are handled by an application in which an encryption module is interlocked. In this case, a significant load on the mobile device is inevitable, which may cause performance degradation. If the application linked with the encryption module is hacked into memory, the column key is leaked and the important information recorded in the database is likely to be leaked to the outside.

본 발명은, 위와 같은 종래 기술의 문제점을 해결하여 모바일 디바이스의 데이터베이스 파일이 외부로 유출되는 경우에도 기록된 정보를 보호할 수 있으며 나아가 모바일 디바이스에도 부하가 훨씬 적게 걸리는 데이터베이스 암호화 방법을 제공하는 것을 목적으로 한다.
The present invention is to solve the problems of the prior art as described above can protect the recorded information even if the database file of the mobile device is leaked to the outside, and furthermore, to provide a database encryption method that takes much less load on the mobile device It is done.

본 발명에 의한 데이터베이스 암호화 방법은, 에스큐라이트 데이터베이스를 이용하는 어플리케이션이 설치되어 있는 모바일 디바이스와, 상기 모바일 디바이스와 통신망에 의해 데이터 통신이 가능한 보안 서버를 포함하는 환경에서 수행되며, (1) 상기 모바일 디바이스에 클라이언트키를 주입하는 제1 단계와, (2) 상기 모바일 디바이스와 상기 보안 서버가 세션키를 교환하는 제2 단계와, (3) 상기 모바일 디바이스가 상기 보안 서버의 데이터베이스 암호화 API를 호출하여 데이터베이스 암호화를 수행하는 제3 단계를 포함한다.The database encryption method according to the present invention is performed in an environment including a mobile device in which an application using an ESQLITE database is installed, and a security server capable of data communication by the mobile device and a communication network. A first step of injecting a client key into the device, (2) a second step of exchanging a session key between the mobile device and the security server, and (3) the mobile device calling a database encryption API of the security server And a third step of performing database encryption.

상기 제1 단계는, (1-1) 상기 보안 서버가 서버 마스터키를 생성하고 보관하는 제1-1 단계와, (1-2) 상기 모바일 디바이스가 단말기 식별 정보를 추출하는 제1-2 단계와, (1-3) 상기 단말기 식별 정보를 상기 보안 서버로 전송하는 제1-3 단계와, (1-4) 상기 서버 마스터키와 상기 단말기 식별 정보에 기초하여 클라이언트키를 생성하는 제1-4 단계와, (1-5) 상기 모바일 디바이스에 상기 클라이언트키를 주입하는 제1-5 단계와, (1-6) 상기 모바일 디바이스가 상기 클라이언트키를 보관하는 제1-6 단계를 포함한다.The first step includes (1-1) steps 1-1 in which the security server generates and stores a server master key, and (1-2) steps 1-2 in which the mobile device extracts terminal identification information. And (1-3) steps 1-3 of transmitting the terminal identification information to the security server, and (1-4) generating a client key based on the server master key and the terminal identification information. Step 4, (1-5) step 1-5 of injecting the client key into the mobile device, and (1-6) step 1-6 of the mobile device storing the client key.

상기 제2 단계는, (2-1) 상기 모바일 디바이스가 단말기 식별 정보와 제1 랜덤값을 상기 보안 서버로 전달하는 제2-1 단계와, (2-2) 상기 보안 서버가 상기 클라이언트키와 상기 단말기 식별 정보에 기초하여 클라이언트키를 추출하는 제2-2 단계와, (2-3) 상기 보안 서버가 상기 제1 랜덤값과 보안 서버가 생성한 제2 랜덤값에 기초하여 세션키를 생성하는 제2-3 단계와, (2-4) 상기 보안 서버가 상기 제1 랜덤값과 상기 제2 랜덤값을 상기 클라이언트키로 암호화한 제1 암호문을 상기 모바일 디바이스로 전송하는 제2-4 단계와, (2-5) 상기 보안 서버가 상기 단말기 식별 정보와 상기 보안 서버 식별 정보를 상기 세션키로 암호화한 제2 암호문을 상기 모바일 디바이스로 전송하는 제2-5 단계와, (2-6) 상기 모바일 디바이스가 상기 클라이언트키로 상기 제1 암호문을 복호화하여 상기 제1 랜덤값을 검증하고 상기 제2 랜덤값을 획득하는 제2-6 단계와, (2-7) 상기 제1 랜덤값과 상기 제2 랜덤값에 기초하여 세션키를 추출하는 제2-7 단계와, (2-8) 상기 세션키로 상기 제2 암호문을 복호화하여 상기 단말기 식별 정보를 검증하고 상기 보안 서버 식별 정보를 획득하는 제2-8 단계와, (2-9) 상기 제2 랜덤값과 상기 보안 서버 식별 정보를 상기 세션키로 암호화한 제3 암호문을 상기 보안 서버로 전송하는 제2-9 단계와, (2-10) 상기 보안 서버가 상기 세션키로 상기 제3 암호문을 복호화하여 상기 제2 랜덤값과 상기 보안 서버 식별 정보를 검증하는 제2-10 단계를 포함한다.The second step may include (2-1) step 2-1 in which the mobile device transmits terminal identification information and a first random value to the security server, and (2-2) the security server may be connected to the client key. Step 2-2 of extracting a client key based on the terminal identification information; (2-3) The security server generates a session key based on the first random value and a second random value generated by the security server. Step 2-3, (2-4) Step 2-4, wherein the security server transmits a first cipher text obtained by encrypting the first random value and the second random value to the client key; (2-5) step 2-5, wherein the security server transmits a second cipher text obtained by encrypting the terminal identification information and the security server identification information with the session key to the mobile device; The device decrypts the first cipher text with the client key 2-6 to verify the first random value and obtain the second random value, and (2-7) a second to extract the session key based on the first random value and the second random value. Steps -7 and (2-8) Steps 2-8 of verifying the terminal identification information and acquiring the security server identification information by decrypting the second cipher text with the session key; (2-10) the third server encrypting the third ciphertext encrypted with a random value and the security server identification information with the session key; and (2-10) the security server decrypts the third ciphertext with the session key. And step 2-10 of verifying the second random value and the security server identification information.

본 발명의 바람직한 실시예에 의하면, 상기 클라이언트키는 [HMAC(서버 마스터키, 단말기 식별정보)]에 의해 생성될 수 있다.According to a preferred embodiment of the present invention, the client key may be generated by [HMAC (server master key, terminal identification information)].

본 발명의 바람직한 실시예에 의하면, 상기 클라이언트키는 [HMAC(서버 마스터키, 단말기 식별 정보)]에 의해 생성되며, 상기 세션키는 [제1 랜덤값 XOR 제2 랜덤값]으로 생성될 수 있다.
According to a preferred embodiment of the present invention, the client key may be generated by [HMAC (Server Master Key, Terminal Identification Information)], and the session key may be generated by [First Random Value XOR Second Random Value]. .

본 발명에 의하면, 모바일 디바이스에 부하를 최소화하면서도 보안적인 측면에서 우수한 데이터베이스 암호화 및 복호화 방법이 제공된다.
According to the present invention, a method for encrypting and decrypting a database excellent in terms of security while minimizing load on a mobile device is provided.

도 1은 본 발명에 의한 데이터베이스 암호화 방법이 수행되는 환경을 도시한 도면.
도 2는 본 발명에 의한 데이터베이스 암호화 방법에 있어서 마스터키 주입 과정을 도시한 도면.
도 3은 본 발명에 의한 데이터베이스 암호화 방법에 있어서 세션키 교환 과정을 도시한 도면.
1 is a diagram illustrating an environment in which a database encryption method according to the present invention is performed.
2 is a diagram illustrating a master key injection process in the database encryption method according to the present invention.
3 is a diagram illustrating a session key exchange process in a database encryption method according to the present invention.

이하에서는 첨부 도면을 참조하여 본 발명에 대하여 자세하게 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the present invention.

도 1에는 본 발명에 의한 데이터베이스 암호화 방법이 수행되기 위한 환경이 도시되어 있다.1 shows an environment for performing a database encryption method according to the present invention.

도 1에 도시된 바와 같이, 본 발명이 수행되는 환경은 모바일 디바이스(10)와, 보안 서버(20)와, 키 매니저(30)를 포함한다. 모바일 디바이스(10)는 어플리케이션의 설치가 가능한 스마트폰, 스마트패드를 망라하며, 에스큐라이트 데이터베이스를 사용하는 모바일 디바이스를 의미하며, 모바일 디바이스의 OS로 안드로이드 내지 iOS를 사용하는 모바일 디바이스를 모두 포함하며, 무선 통신망을 통한 음성 통신이 배제된 장치도 모두 포함한다.As shown in FIG. 1, the environment in which the invention is practiced includes a mobile device 10, a security server 20, and a key manager 30. The mobile device 10 includes a smartphone and a smart pad capable of installing an application, and refer to a mobile device using an ESQLITE database, and include all mobile devices using Android or iOS as OS of the mobile device. This includes all devices for which voice communication through a wireless communication network is excluded.

모바일 디바이스(10)에는 어플리케이션(15)이 설치되며, 에스큐라이트 데이터베이스(17)가 탑재되어 있다. 보안 서버(20)는 클라우드 환경에 제공되며 키 관리 서버와 데이터베이스 암호화를 위한 암호화/복호화 API가 탑재되어 있다. 키 매니저(30)는 관리자가 접속하여 보안 정책을 설정하고 설정된 정책을 보안 서버(20)에 전달하는 역할을 수행한다.The application 15 is installed in the mobile device 10, and the esculight database 17 is mounted. The security server 20 is provided in a cloud environment and is equipped with an encryption / decryption API for encrypting a key management server and a database. The key manager 30 connects an administrator to set a security policy and deliver the set policy to the security server 20.

클라우드 환경의 보안 서버(20)에 탑재되어 있는 암호화/복호화 API를 이용하여 모바일 디바이스(10)의 데이터베이스(17)에 기록된 데이터를 암호화/복호화하기 위해서는 통신 구간 암호화가 필요하다. 도 2에는 마스터키 주입 과정이 도시되어 있고 도 3에는 세션키 교환 과정이 도시되어 있다.Communication section encryption is required to encrypt / decrypt data recorded in the database 17 of the mobile device 10 using an encryption / decryption API mounted in the security server 20 of the cloud environment. 2 illustrates a master key injection process and FIG. 3 illustrates a session key exchange process.

도 2를 참조하여 먼저 마스터키 주입 과정에 대해서 설명하고 다음으로 도 3을 참조하여 세션키 교환 과정을 설명하기로 한다.Referring to FIG. 2, a master key injection process will be described first, and then, a session key exchange process will be described with reference to FIG. 3.

먼저 보안 서버(20)는 서버 마스터키를 생성하고 보관한다.(단계 200) 모바일 디바이스(10)는 단계(210)에서 단말기 식별 정보를 추출하고 단계(220)에서 단말기 식별 정보를 보안 서버(20)로 전송한다. 단말기 식별 정보는 단말기에게 부여된 전화번호일 수도 있고 맥 어드레스 등 그 밖에 해당 단말기를 다른 단말기와 구별할 수 있는 고유 정보라면 어느 것도 사용할 수 있다.First, the security server 20 generates and stores a server master key (step 200). The mobile device 10 extracts terminal identification information in step 210 and stores the terminal identification information in step 220 in the security server 20. To send). The terminal identification information may be a telephone number assigned to the terminal, or any other information that can distinguish the terminal from other terminals, such as a MAC address, may be used.

모바일 디바이스(10)의 단말기 식별 정보를 전달받은 보안 서버(20)는 서버 마스터키와 단말기 식별 정보에 기초하여 클라이언트키를 생성한다.(단계 230) 클라이언트키는 예를 들어 HMAC(서버 마스터키, 단말기 식별 정보)에 의해 생성할 수 있다.The security server 20 which has received the terminal identification information of the mobile device 10 generates a client key based on the server master key and the terminal identification information. (Step 230) The client key is, for example, HMAC (server master key, Terminal identification information).

이렇게 생성한 클라이언트키를 모바일 디바이스(10)로 전송하여 주입하며(단계 240), 모바일 디바이스(10)는 주입된 클라이언트키를 보관한다.(단계 250)The client key generated as described above is transmitted to the mobile device 10 and injected (step 240), and the mobile device 10 stores the injected client key (step 250).

다음으로 세션키 교환 과정에 대해서 설명한다. 모바일 디바이스(10)의 데이터베이스 암호화를 위해 클라우드 환경에 제공되는 보안 서버(20)와는 통신구간 암호화가 필요한데, 종래와 같이 인증서 기반의 공개키 암호화 방법을 이용하여 암호화 통신을 이용하면 RSA 연산이 수반되며 이는 모바일 디바이스에 많은 부하를 야기하며, 고정된 키를 사용하므로 보안적인 측면에서 열등한 방법이다. 본 발명에 의한 세션키 교환 방법을 이용하면 모바일 디바이스(10)에 매우 적은 부하만 걸리며, 보안적인 측면에서도 우수한 장점이 제공된다.Next, the session key exchange process will be described. Communication section encryption is required with the security server 20 provided in the cloud environment for database encryption of the mobile device 10. When using encryption communication using a certificate-based public key encryption method as in the related art, RSA operation is involved. This creates a heavy load on the mobile device and is inferior in terms of security because it uses a fixed key. Using the session key exchange method according to the present invention takes very little load on the mobile device 10, it provides an excellent advantage in terms of security.

단계(300)에서 모바일 단말기(10)는 단말기 식별 정보(Cinfo)와 제1 랜덤값(Rc)을 보안 서버(20)로 전송한다. 제1 랜덤값(Rc)는 모바일 디바이스(10)에서 생성하는 난수값이다. 보안 서버(20)는 클라이언트키와 단말기 식별 정보(Cinfo)에 기초하여 클라이언트키(Ckey)를 추출한다.(단계 310) 예를 들어 HMAC(서버마스터키(Mkey, 단말기 식별 정보(Cinfo))에 의해 클라이언트키를 생성하여 추출할 수 있다.In operation 300, the mobile terminal 10 transmits the terminal identification information Cinfo and the first random value Rc to the security server 20. The first random value Rc is a random number generated by the mobile device 10. The security server 20 extracts the client key Ckey based on the client key and the terminal identification information Cinfo. (Step 310) For example, the HMAC (server master key Mkey, terminal identification information Cinfo) is extracted. Can generate and extract client keys.

다음으로 단계(320)에서 제1 랜덤값(Rc)과 제2 랜덤값(Rs)에 기초하여 세션키(Skey)를 생성한다. 제2 랜덤값(Rs)은 보안 서버(20)에서 생성한 난수값을 의미한다. 예를 들어 [Skey = 제1 랜덤값(Rc) XOR 제2 랜덤값(Rs)]에 의해 생성할 수 있다.Next, in step 320, a session key Skey is generated based on the first random value Rc and the second random value Rs. The second random value Rs means a random value generated by the security server 20. For example, it can be generated by [Skey = first random value Rc XOR second random value Rs].

단계(330)에서 제1 랜덤값(Rc)과 제2 랜덤값(Rs)을 클라이언트키(Ckey)로 암호화하여 모바일 디바이스(10)로 전송한다. 또한, 단말기 식별 정보(Cinfo)와 서버 식별 정보(Sinfo)를 세션키(Skey)로 암호화하여 모바일 디바이스(10)로 전송한다.In operation 330, the first random value Rc and the second random value Rs are encrypted with the client key Ckey and transmitted to the mobile device 10. In addition, the terminal identification information Cinfo and the server identification information Sinfo are encrypted with a session key Skey and transmitted to the mobile device 10.

모바일 디바이스(10)는 보관하고 있는 클라이언트 키를 이용하여 E(Ckey, Rs/Rc)를 복호화하여 제1 랜덤값(Rc)을 검증하고 제2 랜덤값(Rs)을 획득한다.(단계 340) 제1 랜덤값(Rc)의 검증에 성공하면 다음으로 단계(350)에서 제1 랜덤값(Rc) 및 제2 랜덤값(Rs)을 이용하여 세션키(Skey)를 추출한다. 그리고 추출된 세션키(Skey)로 E(Skey, Cinfo/Sinfo)를 복호화하여 단말기 식별 정보(Cinfo)와 서버 식별 정보(Sinfo)를 획득하고 단말기 식별 정보(Cinfo)를 검증한다.(단계 360) 단말기 식별 정보(Cinfo)의 검증에 성공하면 제2 랜덤값(Rs)과 서버 식별 정보(Sinfo)를 세션키(Skey)로 암호화하여 보안 서버(20)로 전송한다.(단계 370) 보안 서버(20)는 이를 복호화하고 제2 랜덤값(Rs)과 서버 식별 정보(Sinfo)를 검증한다.(단계 380) 검증에 성공하면 세션키(Skey) 교환을 완료하고, 그 다음으로 모바일 디바이스(10)의 데이터베이스 암호화/복호화를 위한 암호화 통신을 세션키(Skey)를 이용하여 수행하게 된다. 데이터베이스 암호화/복호화는 보안 서버(20)의 암호화/복호화 API를 호출하여 수행하며 구체적인 데이터베이스 암호화/복호화 방법은 API를 이용한 데이터베이스 암호화/복호화에 관한 종래의 다양한 방법을 사용할 수 있다.The mobile device 10 decrypts E (Ckey, Rs / Rc) using the stored client key to verify the first random value Rc and obtain a second random value Rs (step 340). If the verification of the first random value Rc is successful, in step 350, the session key Skey is extracted using the first random value Rc and the second random value Rs. Then, E (Skey, Cinfo / Sinfo) is decrypted with the extracted session key (Skey) to obtain terminal identification information (Cinfo) and server identification information (Sinfo), and the terminal identification information (Cinfo) is verified. Upon successful verification of the terminal identification information Cinfo, the second random value Rs and the server identification information Sinfo are encrypted with a session key Skey and transmitted to the security server 20 (step 370). 20) decrypts it and verifies the second random value Rs and the server identification information Sinfo. (Step 380) If the verification is successful, the session key exchange is completed, and then the mobile device 10 Encryption communication for database encryption / decryption is performed by using a session key. Database encryption / decryption is performed by calling the encryption / decryption API of the security server 20, and a specific database encryption / decryption method may use various conventional methods for database encryption / decryption using the API.

이상 첨부 도면을 참조하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.While the invention has been described above with reference to the accompanying drawings, the scope of the invention is determined by the claims that follow, and should not be construed as limited to the embodiments and / or drawings described above. And it should be clearly understood that improvements, changes and modifications apparent to those skilled in the art of the invention described in the claims are included in the scope of the present invention.

10: 모바일 디바이스
20: 보안 서버
30: 키매니저
10: mobile device
20: security server
30: Key Manager

Claims (3)

에스큐라이트 데이터베이스를 이용하는 어플리케이션이 설치되어 있는 모바일 디바이스와, 상기 모바일 디바이스와 통신망에 의해 데이터 통신이 가능한 보안 서버를 포함하는 환경에서 수행되는 상기 데이터베이스 암호화 방법에 있어서,
상기 보안 서버가 상기 모바일 디바이스에 클라이언트키를 주입하는 제1 단계와,
상기 모바일 디바이스와 상기 보안 서버가 세션키를 교환하는 제2 단계와,
상기 모바일 디바이스가 상기 보안 서버의 데이터베이스 암호화 API를 호출하여 데이터베이스 암호화를 수행하는 제3 단계를 포함하며,
상기 제1 단계는,
상기 보안 서버가 서버 마스터키를 생성하고 보관하는 제1-1 단계와,
상기 모바일 디바이스가 단말기 식별 정보를 추출하는 제1-2 단계와,
상기 단말기 식별 정보를 상기 보안 서버로 전송하는 제1-3 단계와,
상기 서버 마스터키와 상기 단말기 식별 정보에 기초하여 클라이언트키를 생성하는 제1-4 단계와,
상기 모바일 디바이스에 상기 클라이언트키를 주입하는 제1-5 단계와,
상기 모바일 디바이스가 상기 클라이언트키를 보관하는 제1-6 단계를 포함하며,
상기 제2 단계는,
상기 모바일 디바이스가 단말기 식별 정보와 제1 랜덤값을 상기 보안 서버로 전달하는 제2-1 단계와,
상기 보안 서버가 상기 클라이언트키와 상기 단말기 식별 정보에 기초하여 클라이언트키를 추출하는 제2-2 단계와,
상기 보안 서버가 상기 제1 랜덤값과 보안 서버가 생성한 제2 랜덤값에 기초하여 세션키를 생성하는 제2-3 단계와,
상기 보안 서버가 상기 제1 랜덤값과 상기 제2 랜덤값을 상기 클라이언트키로 암호화한 제1 암호문을 상기 모바일 디바이스로 전송하는 제2-4 단계와,
상기 보안 서버가 상기 단말기 식별 정보와 상기 보안 서버 식별 정보를 상기 세션키로 암호화한 제2 암호문을 상기 모바일 디바이스로 전송하는 제2-5 단계와,
상기 모바일 디바이스가 상기 클라이언트키로 상기 제1 암호문을 복호화하여 상기 제1 랜덤값을 검증하고 상기 제2 랜덤값을 획득하는 제2-6 단계와,
상기 제1 랜덤값과 상기 제2 랜덤값에 기초하여 세션키를 추출하는 제2-7 단계와,
상기 세션키로 상기 제2 암호문을 복호화하여 상기 단말기 식별 정보를 검증하고 상기 보안 서버 식별 정보를 획득하는 제2-8 단계와,
상기 제2 랜덤값과 상기 보안 서버 식별 정보를 상기 세션키로 암호화한 제3 암호문을 상기 보안 서버로 전송하는 제2-9 단계와,
상기 보안 서버가 상기 세션키로 상기 제3 암호문을 복호화하여 상기 제2 랜덤값과 상기 보안 서버 식별 정보를 검증하는 제2-10 단계를 포함하는,
모바일 디바이스의 데이터베이스 암호화 방법.
In the database encryption method performed in an environment including a mobile device that has an application using the SQLITE database is installed, and a security server capable of data communication by the mobile device and the communication network,
A first step of the security server injecting a client key into the mobile device;
A second step of exchanging a session key between the mobile device and the secure server;
A third step of the mobile device calling a database encryption API of the security server to perform database encryption,
In the first step,
Step 1-1, wherein the security server generates and stores a server master key;
Step 1-2 of the mobile device extracting terminal identification information;
Transmitting the terminal identification information to the security server;
Generating a client key based on the server master key and the terminal identification information;
Injecting the client key into the mobile device;
1 to 6, wherein the mobile device stores the client key;
The second step comprises:
Step 2-1 of the mobile device transmitting terminal identification information and a first random value to the security server;
Step 2-2 of the security server extracting a client key based on the client key and the terminal identification information;
Step 2-3 of the security server generating a session key based on the first random value and a second random value generated by the security server;
A second step of transmitting, by the security server, a first cipher text obtained by encrypting the first random value and the second random value to the client key, to the mobile device;
Step 2-5 of the security server transmitting the second cipher text obtained by encrypting the terminal identification information and the security server identification information with the session key to the mobile device;
Step 2-6 of the mobile device decrypting the first cipher text with the client key to verify the first random value and to obtain the second random value;
Extracting a session key based on the first random value and the second random value;
(2-8) verifying the terminal identification information and obtaining the security server identification information by decrypting the second cipher text with the session key;
(2-9) transmitting a third cipher text obtained by encrypting the second random value and the security server identification information with the session key to the security server;
And a second step of the security server decrypting the third cipher text with the session key to verify the second random value and the security server identification information.
Database encryption method for mobile devices.
청구항 1에 있어서,
상기 클라이언트키는 [HMAC(서버 마스터키, 단말기 식별정보)]에 의해 생성되는,
모바일 디바이스의 데이터베이스 암호화 방법.
The method according to claim 1,
The client key is generated by [HMAC (server master key, terminal identification information)],
Database encryption method for mobile devices.
청구항 1 또는 청구항 2에 있어서,
상기 클라이언트키는 [HMAC(서버 마스터키, 단말기 식별 정보)]에 의해 생성되며,
상기 세션키는 [제1 랜덤값 XOR 제2 랜덤값]으로 생성되는,
모바일 디바이스의 데이터베이스 암호화 방법.
The method according to claim 1 or 2,
The client key is generated by [HMAC (server master key, terminal identification information)],
The session key is generated with [first random value XOR second random value],
Database encryption method for mobile devices.
KR1020120031393A 2012-03-28 2012-03-28 Encryption Method of Database of Mobile Communication Device KR101329789B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120031393A KR101329789B1 (en) 2012-03-28 2012-03-28 Encryption Method of Database of Mobile Communication Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120031393A KR101329789B1 (en) 2012-03-28 2012-03-28 Encryption Method of Database of Mobile Communication Device

Publications (2)

Publication Number Publication Date
KR20130109560A KR20130109560A (en) 2013-10-08
KR101329789B1 true KR101329789B1 (en) 2013-11-15

Family

ID=49631761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120031393A KR101329789B1 (en) 2012-03-28 2012-03-28 Encryption Method of Database of Mobile Communication Device

Country Status (1)

Country Link
KR (1) KR101329789B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102295960B1 (en) 2015-02-10 2021-09-01 한국전자통신연구원 Apparatus and method for security service based virtualization
KR102431266B1 (en) * 2015-09-24 2022-08-11 삼성전자주식회사 Apparatus and method for protecting information in communication system
CN113612746B (en) * 2021-07-26 2023-05-09 中国建设银行股份有限公司 Sensitive information storage method and system based on Android system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134501A (en) 2007-11-30 2009-06-18 Fujitsu Broad Solution & Consulting Inc Security management program, security management method and portable terminal
JP2010160235A (en) 2009-01-07 2010-07-22 Nippon Telegr & Teleph Corp <Ntt> Retrieval system, terminal device, database device, retrieval method, and program
KR20100085424A (en) * 2009-01-20 2010-07-29 성균관대학교산학협력단 Group key distribution method and server and client for implementing the same
KR20100135533A (en) * 2009-06-17 2010-12-27 이니텍(주) Method for converting user programs or queries into automated ones for transparent data encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134501A (en) 2007-11-30 2009-06-18 Fujitsu Broad Solution & Consulting Inc Security management program, security management method and portable terminal
JP2010160235A (en) 2009-01-07 2010-07-22 Nippon Telegr & Teleph Corp <Ntt> Retrieval system, terminal device, database device, retrieval method, and program
KR20100085424A (en) * 2009-01-20 2010-07-29 성균관대학교산학협력단 Group key distribution method and server and client for implementing the same
KR20100135533A (en) * 2009-06-17 2010-12-27 이니텍(주) Method for converting user programs or queries into automated ones for transparent data encryption

Also Published As

Publication number Publication date
KR20130109560A (en) 2013-10-08

Similar Documents

Publication Publication Date Title
US10187202B2 (en) Key agreement for wireless communication
US9647984B2 (en) System and method for securely using multiple subscriber profiles with a security component and a mobile telecommunications device
US20170208049A1 (en) Key agreement method and device for verification information
US20100135491A1 (en) Authentication method
US9088408B2 (en) Key agreement using a key derivation key
CN105553951A (en) Data transmission method and data transmission device
US8904195B1 (en) Methods and systems for secure communications between client applications and secure elements in mobile devices
CA2879910C (en) Terminal identity verification and service authentication method, system and terminal
CN105812332A (en) Data protection method
CN101621794A (en) Method for realizing safe authentication of wireless application service system
CN108809936B (en) Intelligent mobile terminal identity verification method based on hybrid encryption algorithm and implementation system thereof
KR20150045790A (en) Method and Apparatus for authenticating and managing an application using trusted platform module
CN105376059A (en) Method and system for performing application signature based on electronic key
KR101281099B1 (en) An Authentication method for preventing damages from lost and stolen smart phones
US20170091483A1 (en) Method and Device for Protecting Address Book, and Communication System
CN104767766A (en) Web Service interface verification method, Web Service server and client side
KR101358375B1 (en) Prevention security system and method for smishing
KR101329789B1 (en) Encryption Method of Database of Mobile Communication Device
KR101680536B1 (en) Method for Service Security of Mobile Business Data for Enterprise and System thereof
CN114285557A (en) Communication encryption method, system and device
CN108184230B (en) System and method for realizing encryption of soft SIM
CN113038459A (en) Private information transmission method and device, computer equipment and computer readable medium
US11552796B2 (en) Cryptographic processing events for encrypting or decrypting data
CN111432404B (en) Information processing method and device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190930

Year of fee payment: 7