KR101329789B1 - Encryption Method of Database of Mobile Communication Device - Google Patents
Encryption Method of Database of Mobile Communication Device Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware 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
본 발명은 모바일 디바이스에 설치되는 어플리케이션이 이용하는 데이터베이스의 암호화 방법에 관한 것이다.
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
모바일 디바이스(10)에는 어플리케이션(15)이 설치되며, 에스큐라이트 데이터베이스(17)가 탑재되어 있다. 보안 서버(20)는 클라우드 환경에 제공되며 키 관리 서버와 데이터베이스 암호화를 위한 암호화/복호화 API가 탑재되어 있다. 키 매니저(30)는 관리자가 접속하여 보안 정책을 설정하고 설정된 정책을 보안 서버(20)에 전달하는 역할을 수행한다.The
클라우드 환경의 보안 서버(20)에 탑재되어 있는 암호화/복호화 API를 이용하여 모바일 디바이스(10)의 데이터베이스(17)에 기록된 데이터를 암호화/복호화하기 위해서는 통신 구간 암호화가 필요하다. 도 2에는 마스터키 주입 과정이 도시되어 있고 도 3에는 세션키 교환 과정이 도시되어 있다.Communication section encryption is required to encrypt / decrypt data recorded in the
도 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
모바일 디바이스(10)의 단말기 식별 정보를 전달받은 보안 서버(20)는 서버 마스터키와 단말기 식별 정보에 기초하여 클라이언트키를 생성한다.(단계 230) 클라이언트키는 예를 들어 HMAC(서버 마스터키, 단말기 식별 정보)에 의해 생성할 수 있다.The
이렇게 생성한 클라이언트키를 모바일 디바이스(10)로 전송하여 주입하며(단계 240), 모바일 디바이스(10)는 주입된 클라이언트키를 보관한다.(단계 250)The client key generated as described above is transmitted to the
다음으로 세션키 교환 과정에 대해서 설명한다. 모바일 디바이스(10)의 데이터베이스 암호화를 위해 클라우드 환경에 제공되는 보안 서버(20)와는 통신구간 암호화가 필요한데, 종래와 같이 인증서 기반의 공개키 암호화 방법을 이용하여 암호화 통신을 이용하면 RSA 연산이 수반되며 이는 모바일 디바이스에 많은 부하를 야기하며, 고정된 키를 사용하므로 보안적인 측면에서 열등한 방법이다. 본 발명에 의한 세션키 교환 방법을 이용하면 모바일 디바이스(10)에 매우 적은 부하만 걸리며, 보안적인 측면에서도 우수한 장점이 제공된다.Next, the session key exchange process will be described. Communication section encryption is required with the
단계(300)에서 모바일 단말기(10)는 단말기 식별 정보(Cinfo)와 제1 랜덤값(Rc)을 보안 서버(20)로 전송한다. 제1 랜덤값(Rc)는 모바일 디바이스(10)에서 생성하는 난수값이다. 보안 서버(20)는 클라이언트키와 단말기 식별 정보(Cinfo)에 기초하여 클라이언트키(Ckey)를 추출한다.(단계 310) 예를 들어 HMAC(서버마스터키(Mkey, 단말기 식별 정보(Cinfo))에 의해 클라이언트키를 생성하여 추출할 수 있다.In operation 300, the
다음으로 단계(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
단계(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
모바일 디바이스(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
이상 첨부 도면을 참조하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.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.
상기 클라이언트키는 [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.
상기 클라이언트키는 [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.
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)
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)
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 |
-
2012
- 2012-03-28 KR KR1020120031393A patent/KR101329789B1/en active IP Right Grant
Patent Citations (4)
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 | |
US20170208049A1 (en) | Key agreement method and device for verification information | |
US9647984B2 (en) | System and method for securely using multiple subscriber profiles with a security component and a mobile telecommunications device | |
US9088408B2 (en) | Key agreement using a key derivation key | |
US20100135491A1 (en) | Authentication method | |
US8904195B1 (en) | Methods and systems for secure communications between client applications and secure elements in mobile devices | |
CN105553951A (en) | Data transmission method and data transmission device | |
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 | |
CN204360381U (en) | mobile device | |
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 | |
KR101358375B1 (en) | Prevention security system and method for smishing | |
KR101680536B1 (en) | Method for Service Security of Mobile Business Data for Enterprise and System thereof | |
KR101329789B1 (en) | Encryption Method of Database of Mobile Communication Device | |
US11552796B2 (en) | Cryptographic processing events for encrypting or decrypting data | |
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 | |
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 |