KR20140105681A - Apparatus and method for encryption data in secure mode - Google Patents
Apparatus and method for encryption data in secure mode Download PDFInfo
- Publication number
- KR20140105681A KR20140105681A KR1020130019504A KR20130019504A KR20140105681A KR 20140105681 A KR20140105681 A KR 20140105681A KR 1020130019504 A KR1020130019504 A KR 1020130019504A KR 20130019504 A KR20130019504 A KR 20130019504A KR 20140105681 A KR20140105681 A KR 20140105681A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- encryption
- mode
- password
- key
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
본 발명의 다양한 실시예들은 데이터 암호화와 관련된 다양한 실시예들이 기술된 바, 한 실시예에 따르면, 제 1 데이터 또는 제 2 데이터 중의 적어도 하나의 데이터를 이용하여 암호화에 필요한 키를 생성하는 키 생성부와, 보안 모드인 경우, 상기 생성된 키를 이용하여 데이터를 암호화하고, 상기 암호화된 데이터를 일반 모드 데이터 영역과 구분되는 보안 모드 데이터 영역에 저장하는 암호화 모듈을 포함하며, 다양한 다른 실시예들이 가능하다.Various embodiments of the present invention have been described with respect to various embodiments related to data encryption. According to one embodiment, a key generation unit for generating a key necessary for encryption using at least one of data of first data or second data, And an encryption module for encrypting the data using the generated key and storing the encrypted data in a secure mode data area distinguished from the normal mode data area in the secure mode, Do.
Description
본 발명의 다양한 실시예들은 보안 모드에서 데이터를 암호화하는 장치 및 방법에 관한 것이다.Various embodiments of the present invention are directed to an apparatus and method for encrypting data in secure mode.
최근 단말 등의 모바일 디바이스는 다양한 기능을 수행할 수 있도록 구성된다. 다양한 기능들의 예로 데이터 및 음성 통신 기능, 카메라를 통해 사진이나 동영상을 촬영하는 기능, 음성 저장 기능, 스피커 시스템을 통한 음악 파일의 재생 기능, 이미지나 비디오의 디스플레이 기능 등이 있다. 이러한 모바일 디바이스는 개인적인 용도로 많이 이용되기도 하지만, 기업용 또는 업무용으로 이용되도록 구현되기도 한다. Recently, mobile devices such as terminals are configured to perform various functions. Examples of various functions include data and voice communication, the ability to shoot pictures or movies through a camera, audio storage, playback of music files through a speaker system, and display of images or video. Such mobile devices are often used for personal use, but may also be implemented for business or business use.
더욱이 스마트 폰, 태블릿과 같은 모바일 디바이스가 대중화됨에 따라 BYOD(Bring Your Own Device)라는 트렌드가 이슈화되고 있다. BYOD는 개인 소유의 노트북이나 스마트폰 같은 디바이스를 업무에 활용하는 것을 뜻한다. 이에 따라 디바이스들이 기업 등과 같은 곳에서 개인용뿐만 아니라 업무용으로 사용하는 경우가 증가하고 있다. 예를 들면, 사용자는 개인용 모바일 디바이스를 이용하여 업무 시스템에 접속하거나, 업무용 중요 문서를 열람하거나, 업무용 통화를 하는 등 다양한 업무에 개인용 모바일 디바이스를 활용되는 경우가 많아지고 있다.Moreover, as mobile devices such as smart phones and tablets become popular, a trend called BYOD (Bring Your Own Device) is becoming an issue. BYOD stands for the use of devices such as personal laptops or smartphones in business. As a result, devices are increasingly used not only for personal use but also for business use in places such as companies. For example, users often use personal mobile devices in various tasks such as accessing a business system using personal mobile devices, browsing important business documents, making business calls, and the like.
그런데 개인용 디바이스를 업무용으로 활용하는 경우에는 업무에 관련된 정보를 보호하기 위해 보안성이 요구된다. 이에 따라 하나의 디바이스를 개인용과 업무용으로 사용하도록 하는 기업들은 디바이스를 업무용으로 사용할 경우 보안성을 강화하기 위해 보안 솔루션을 탑재하도록 하고 있다. 예를 들면, 기업들은 사용자가 소유한 개인용 디바이스에 보안 솔루션을 탑재하여 업무용 디바이스로 사용하도록 하거나, 개인용 디바이스와 별도로 보안 솔루션이 탑재된 업무용 디바이스를 사용자에게 제공하여 사용하도록 하고 있다. 이에 따라 업무용 디바이스에 탑재될 보안 솔루션들이 각종 보안 솔루션 업체들에 의해 다양하게 개발되고 있다.However, when personal devices are used for business, security is required to protect information related to business. As a result, companies that use a single device for personal use and business use have to install a security solution to enhance security when devices are used for business purposes. For example, companies have implemented a security solution in a personal device owned by the user to use the device as a business device, or a business device having a security solution separately from the personal device is provided to the user for use. Accordingly, security solutions to be installed in business devices are being developed variously by various security solution companies.
종래 기술에 따른 보안 솔루션을 예를 들면 VMWARE(가상머신 소프트웨어) 방식의 보안 솔루션과, 어플리케이션 중복 방식의 보안 솔루션과 OS(Operating System) 분할 방식의 보안 솔루션 등이 있다. For example, a security solution according to the prior art includes a VMWARE (Virtual Machine Software) type security solution, an application redundancy type security solution, and an OS (Operating System) type security solution.
VMWare 방식의 보안 솔루션은 일반 영역의 어플리케이션을 실행하는 메인 프로세스와 별도로 분리된 영역의 어플리케이션을 실행하는 가상 프로세스를 구비하고, 별도의 가상 프로세스를 통해 업무용 어플리케이션을 실행하는 방식이다. OS분할 방식의 보안 솔루션은 하나의 디바이스에 서로 다른 OS를 설치하고, 하나의 OS를 통해 일반 어플리케이션을 실행하고, 다른 OS를 통해 업무용 어플리케이션을 실행하는 방식이다. 어플리케이션 중복 방식의 보안 솔루션은 일반 어플리케이션과 제3 업체(3rd Party)가 일반 어플리케이션을 업무용으로 재생산한 업무용 어플리케이션이 디바이스에 함께 탑재되도록 하고, 일반 어플리케이션은 일반 영역에서 실행 가능하도록 하고, 업무용 어플리케이션은 업무용 영역에서 실행 가능하도록 하는 방식이다.The VMWare-based security solution has a virtual process that executes an application in a separate domain from a main process that executes an application in a general domain, and executes a business application through a separate virtual process. An OS partitioning security solution is a method of installing different OSs in one device, executing general applications through one OS, and running business applications through another OS. The application duplication security solution allows a general application and a third party to reuse the business application reproduced by the general application for business together with the device, the general application to be executable in the general domain, and the business application to the business So that it can be executed in the area.
그런데 VMWARE 방식의 보안 솔루션이 디바이스에 적용된 경우 메인 프로세스와 가상 프로세스는 하나의 CPU에서 각각 구동되고, 각각의 메모리 영역을 점유하기 때문에 CPU 자원과 메모리 자원 등을 다중으로 소모하게 된다. 따라서 VMWARE 방식의 보안 솔루션을 이용하는 경우 사용자가 개인적으로 이용 가능한 CPU 자원과 메모리 자원이 축소되는 한편, CPU 자원과 메모리 자원이 다중으로 이용되기 때문에 성능이 저하된다. However, when the VMWARE-based security solution is applied to the device, the main process and the virtual process are driven by one CPU, respectively, and occupy each memory area, so that CPU resources and memory resources are consumed in multiple. Therefore, when the VMWARE-based security solution is used, the CPU resource and the memory resource that can be individually used by the user are reduced, while the performance is degraded because the CPU resource and the memory resource are used in multiple ways.
또한 OS 분할 방식의 경우에도 하나의 디바이스에서 두 개의 OS가 메모리 자원을 각각 사용하므로 메모리 자원의 소모가 많아 비효율적일 뿐만 아니라, 두 개의 OS가 독립적으로 동작하기 때문에 각각의 OS가 서로 다른 OS에서 처리중인 데이터에 관한 알림을 수신할 수 없어서 각 OS간 연동이 어려운 문제점이 있다. 또한 각 OS간 연동이 가능하게 만들기 위해서는 OS간 연동을 위한 별도의 자원이 필요하므로 비효율적이다.In addition, even in the case of the OS partitioning method, since two OSs in one device use memory resources, memory resources are consumed in a large amount, which is inefficient. In addition, since two OSs operate independently, There is a problem in that it is difficult to interwork between the OSs. In addition, it is inefficient because it requires separate resources for interoperation between OSes in order to enable interoperation between OSs.
한편, 어플리케이션 중복 방식의 보안 솔루션의 경우에도 일반 어플리케이션과 업무용 어플리케이션이 메모리 자원을 각각 사용하므로 메모리 자원의 소모가 많아 비효율적인 문제점이 있다. 한편, 어플리케이션 중복 방식의 보안 솔루션은 업무용 어플리케이션을 제3 업체(3rd Party)가 일반 어플리케이션을 업무용으로 재생산하기 때문에 사용자나 기업에서 업무용 어플리케이션을 등록 및 제거 또는 변경이 용이하지 않아 불편하다. On the other hand, even in the case of a security solution using an application redundancy method, since general applications and business applications use memory resources, there is a problem that memory resources are consumed inefficiently. On the other hand, the security solution of the application duplication method is inconvenient because the third party reproduces the general application as business for the business application, and it is inconvenient that the business application is not easily registered, removed or changed by the user or the enterprise.
그러므로 상기한 방식의 보안 솔루션들은 BYOD에 적용하여 사용하기에 적합하지 않은 문제점이 있다.Therefore, there is a problem that the above-described security solutions are not suitable to be applied to BYOD.
따라서 본 발명의 다양한 실시 예들은 사용자 개인 디바이스를 업무용으로 사용할 경우 업무에 관련된 정보를 보호할 수 있도록 보안 모드에서 데이터를 암호화하는 장치 및 방법을 제공하는데 있다.Accordingly, various embodiments of the present invention provide an apparatus and method for encrypting data in a secure mode so as to protect information related to a task when a user's personal device is used for business.
또한 본 발명의 다양한 실시 예들은 보안 모드에서 암호화된 비밀번호를 키로 이용하여 데이터를 암호화 함으로써 비밀 번호가 유출되지 않도록 하는 보안 모드에서 데이터 암호화 장치 및 방법을 제공하는데 있다.In addition, various embodiments of the present invention provide an apparatus and method for encrypting data in a secure mode in which a password is not leaked by encrypting data using the encrypted password as a key in a secure mode.
본 발명의 다양한 실시예들은 데이터 암호화 장치에 있어서, 제 1 데이터 또는 제 2 데이터 중의 적어도 하나의 데이터를 이용하여 암호화에 필요한 키를 생성하는 키 생성부와, 보안 모드인 경우, 상기 생성된 키를 이용하여 데이터를 암호화하고, 상기 암호화된 데이터를 일반 모드 데이터 영역과 구분되는 보안 모드 데이터 영역에 저장하는 암호화 모듈을 포함한다.According to various embodiments of the present invention, there is provided a data encryption apparatus comprising: a key generator for generating a key required for encryption using at least one of data of first data or second data; And an encryption module for encrypting the data using the encryption key and storing the encrypted data in a secure mode data area distinguished from the normal mode data area.
또한 본 발명의 다양한 실시예들은 데이터 암호화 방법에 있어서, Also, in various embodiments of the present invention,
제1 데이터 또는 제2 데이터 중의 적어도 하나의 데이터를 이용하여 암호화에 필요한 키를 생성하는 동작과, 보안 모드인 경우 상기 생성된 키를 이용하여 데이터를 암호화하는 동작과, 상기 암호화된 데이터를 보안 모드 데이터 영역에 저장하는 동작을 포함한다.An operation of generating a key necessary for encryption using at least one of data of the first data or the second data, an operation of encrypting data using the generated key in the case of a secure mode, And storing the data in the data area.
본 발명의 데이터 암호화 장치 및 방법은 사용자 개인 디바이스를 업무용으로 사용할 경우와 같은 보안 보드에서 암호화가 가능하도록 함으로써 보안이 가능하면서도 디바이스의 자원을 적게 소모할 수 있다. The data encryption apparatus and method according to the present invention enable security by enabling encryption on a security board such as when using a user's personal device for business, and can consume less resources of the device.
또한 본 발명의 다양한 실시예들은 보안 모드에서는 보안 영역을 이용하여 데이터를 암호화 처리하도록 함으로써 보안 모드의 데이터 접근이 불가능하도록 하여 보안 영역의 데이터에 대한 완벽한 접근 보호를 제공할 수 있다.In addition, in various embodiments of the present invention, in the security mode, data is encrypted using the security area, thereby making it impossible to access the data in the security mode, thereby providing complete access protection to the data in the security area.
또한 본 발명의 다양한 실시예들은 보안 모드에서 암호화된 비밀번호를 키로 이용하여 데이터를 암호화함으로써 비밀 번호가 유출되지 않도록 하는 효과가 있다.In addition, various embodiments of the present invention have an effect of preventing a password from being leaked by encrypting data by using an encrypted password as a key in a secure mode.
도 1은 본 발명의 일 실시 예에 따른 디바이스를 나타내는 개략적인 블록도
도 2는 본 발명의 실시 예에 따른 일반 모드 데이터 영역과 보안 모드 데이터 영역을 설명하기 위한 개념도
도 3은 본 발명의 실시 예에 따른 일반 모드 데이터 영역과 보안 모드 데이터 영역 엑세스 방법에 대한 흐름도
도 4는 본 발명의 실시 예에 따른 보안 모드에서 암호화 장치를 설명하기 위한 개념도
도 5는 본 발명의 실시 예에 따른 보안 모드에서 암호화 장치의 블록 구성도
도 6은 본 발명의 실시 예에 따른 암호화 장치에서 패스워드 및 PIN 등록 방법에 대한 흐름도
도 7은 본 발명의 실시 예에 따른 암호화 장치에서 보안 모드로 진입하기 위한 보안 모드 인증 과정에 대한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 암호화 장치에서 보안 모드로 진입한 상태에서 데이터 암호화 방법에 대한 흐름도
도 9는 본 발명의 실시 예에 따른 암호화된 데이터를 나타낸 도면
도 10은 본 발명의 실시 예에 따른 암호화 장치에서 보안 모드로 진입한 상태에서 데이터 복호화 방법에 대한 흐름도1 is a schematic block diagram illustrating a device according to an embodiment of the present invention.
2 is a conceptual diagram for explaining a normal mode data area and a security mode data area according to an embodiment of the present invention.
3 is a flowchart illustrating a method of accessing a normal mode data area and a secure mode data area according to an embodiment of the present invention.
4 is a conceptual diagram illustrating an encryption apparatus in a secure mode according to an embodiment of the present invention.
5 is a block diagram of an encryption apparatus in a secure mode according to an embodiment of the present invention.
6 is a flowchart of a password and PIN registration method in the encryption apparatus according to the embodiment of the present invention.
7 is a flowchart illustrating a security mode authentication process for entering a security mode in an encryption apparatus according to an embodiment of the present invention.
8 is a flowchart of a data encryption method in a state where the encryption device enters the security mode in the encryption device according to the embodiment of the present invention.
9 is a diagram illustrating encrypted data according to an embodiment of the present invention
FIG. 10 is a flowchart illustrating a method of decrypting data in a state where the encryption apparatus enters the security mode in the encryption apparatus according to the embodiment of the present invention.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. The terms used in this specification will be briefly described and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When an element is referred to as "including" an element throughout the specification, it is to be understood that the element may include other elements, without departing from the spirit or scope of the present invention. Also, the terms "part," " module, "and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .
명세서 전체에서 "어플리케이션"은 특정한 기능들을 수행하기 위해 고안된 일련의 컴퓨터 프로그램 집합을 말한다. 본 명세서에 기술되는 어플리케이션은 다양할 수 있다. 예를 들어, 메일 어플리케이션, 카메라 어플리케이션, 카메라 어플리케이션 등이 있을 수 있으나, 이에 한정되는 것은 아니다.Throughout the specification, "application" refers to a set of computer programs designed to perform particular functions. The applications described herein may vary. Examples include, but are not limited to, a mail application, a camera application, a camera application, and the like.
명세서 전체에서 "다중 모드 어플리케이션"이란 다수 개의 운영 모드를 가진 어플리케이션으로서, 일반 모드에서는 일반 모드 데이터 영역을 이용하여 데이터를 처리하고, 보안 모드에서는 보안 모드 데이터 영역을 이용하여 데이터를 처리하는 어플리케이션을 말한다. The term "multimode application" as used throughout the specification refers to an application having a plurality of operating modes, in which data is processed using the normal mode data area in the normal mode and data is processed using the secure mode data area in the secure mode .
명세서 전체에서 "일반 어플리케이션"이란 운영 모드의 구분없이 데이터를 처리하는 어플리케이션을 말한다.Throughout the specification, "general application " refers to an application that processes data without distinguishing between operating modes.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 다양한 실시예를 상세하게 설명한다. 다만, 본 발명이 다양한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다. Hereinafter, various embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the various embodiments. Like reference numerals in the drawings denote members performing substantially the same function.
도 1은 본 발명의 일 실시 예에 따른 디바이스를 나타내는 개략적인 블록도이다. 1 is a schematic block diagram illustrating a device according to an embodiment of the present invention.
도 1을 참조하면, 디바이스(100)는 이동 단말 등이 될 수 있으며, 이동통신 모듈(120), 서브통신 모듈(130) 및 커넥터(165)를 이용하여 외부장치(도시되지 아니함)와 연결될 수 있다. ?외부장치?는 다른 장치(도시되지 아니함), 휴대폰(도시되지 아니함), 스마트폰(도시되지 아니함), 태블릿PC(도시되지 아니함) 및 서버(도시되지 아니함)를 포함할 수 있다. 1, the
도 1을 참조하면, 디바이스(100)는 터치스크린(190) 및 터치스크린 컨트롤러(195)를 포함할 수 있다. 또한, 디바이스(100)는 제어부(110), 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS모듈(155), 입/출력 모듈(160), 센서 모듈(170), 저장부(175) 및 전원공급부(180)를 포함할 수 있다. 서브통신 모듈(130)은 무선랜 모듈(131) 및 근거리통신 모듈(132) 중 적어도 하나를 포함하고, 멀티미디어 모듈(140)은 방송통신 모듈(141), 오디오재생 모듈(142) 및 동영상재생 모듈(143) 중 적어도 하나를 포함한다. 카메라 모듈(150)은 제1 카메라(151) 및 제2 카메라(152) 중 적어도 하나를 포함하고, 입/출력 모듈(160)은 버튼(161), 마이크(162), 스피커(163), 진동모터(164), 커넥터(165), 및 키패드(166) 중 적어도 하나를 포함할 수 있다. Referring to FIG. 1, the
제어부(110)는 CPU(111), 디바이스(100)의 제어를 위한 제어프로그램이 저장된 롬(ROM, 112) 및 디바이스(100)의 외부로부터 입력되는 신호 또는 데이터를 기억하거나, 디바이스(100)에서 수행되는 작업을 위한 기억영역으로 사용되는 램(RAM, 113)을 포함할 수 있다. CPU(111)는 싱글 코어, 듀얼 코어, 트리플 코어, 또는 쿼드 코어를 포함할 수 있다. CPU(111), 롬(112) 및 램(113)은 내부버스(bus)를 통해 상호 연결될 수 있다. The
제어부(110)는 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS 모듈(155), 입/출력 모듈(160), 센서 모듈(170), 저장부(175), 전원공급부(180), 제1 터치스크린(190a), 제2 터치스크린(190b) 및 터치스크린 컨트롤러(195)를 제어할 수 있다. The
이동통신 모듈(120)은 제어부(110)의 제어에 따라 적어도 하나-하나 또는 복수-의 안테나(도시되지 아니함)를 이용하여 이동 통신을 통해 디바이스(100)가 외부 장치와 연결되도록 할 수 있다. 이동통신 모듈(120)은 디바이스(100)에 입력되는 전화번호를 가지는 휴대폰(도시되지 아니함), 스마트폰(도시되지 아니함), 태블릿PC 또는 다른 장치(도시되지 아니함)와 음성 통화, 화상 통화, 문자메시지(SMS) 또는 멀티미디어 메시지(MMS)를 위한 무선 신호를 송/수신할 수 있다. The
서브통신 모듈(130)은 무선랜 모듈(131)과 근거리통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 예를 들어, 무선랜 모듈(131)만 포함하거나, 근거리통신 모듈(132)만 포함하거나 또는 무선랜 모듈(131)과 근거리통신 모듈(132)을 모두 포함할 수 있다. The
무선랜 모듈(131)은 제어부(110)의 제어에 따라 무선 AP(access point)(도시되지 아니함)가 설치된 장소에서 인터넷에 연결될 수 있다. 무선랜 모듈(131)은 미국전기전자학회(IEEE)의 무선랜 규격(IEEE802.11x)을 지원할 수 있다. 근거리통신 모듈(132)은 제어부(110)의 제어에 따라 디바이스(100)와 화상형성장치(도시되지 아니함) 사이에 무선으로 근거리 통신을 할 수 있다. 근거리 통신방식은 블루투스(bluetooth), 적외선 통신(IrDA, infrared data association) 등이 포함될 수 있다. The
디바이스(100)는 성능에 따라 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 예를 들어, 디바이스(100)는 성능에 따라 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132)들의 조합을 포함할 수 있다. The
멀티미디어 모듈(140)은 방송통신 모듈(141), 오디오재생 모듈(142) 또는 동영상재생 모듈(143)을 포함할 수 있다. 방송통신 모듈(141)은 제어부(110)의 제어에 따라 방송통신 안테나(도시되지 아니함)를 통해 방송국에서부터 송출되는 방송 신호(예, TV방송 신호, 라디오방송 신호 또는 데이터방송 신호) 및 방송부가 정보(예, EPS(Electric Program Guide) 또는 ESG(Electric Service Guide))를 수신할 수 있다. 오디오재생 모듈(142)는 제어부(110)의 제어에 따라 저장되거나 또는 수신되는 디지털 오디오 파일(예, 파일 확장자가 mp3, wma, ogg 또는 wav인 파일)을 재생할 수 있다. 동영상재생 모듈(143)은 제어부(110)의 제어에 따라 저장되거나 또는 수신되는 디지털 동영상 파일(예, 파일 확장자가 mpeg, mpg, mp4, avi, mov, 또는 mkv인 파일)을 재생할 수 있다. 동영상재생 모듈(143)은 디지털 오디오 파일을 재생할 수 있다. The
멀티미디어 모듈(140)은 방송통신 모듈(141)을 제외하고 오디오재생 모듈(142)과 동영상재생 모듈(143)을 포함할 수 있다. 또한, 멀티미디어 모듈(140)의 오디오재생 모듈(142) 또는 동영상재생 모듈(143)은 제어부(100)에 포함될 수 있다. The
카메라 모듈(150)은 제어부(110)의 제어에 따라 정지이미지 또는 동영상을 촬영하는 제1 카메라(151) 및 제2 카메라(152) 중 적어도 하나를 포함할 수 있다. 또한, 제1 카메라(151) 또는 제2 카메라(152)는 촬영에 필요한 광량을 제공하는 보조 광원(예, 플래시(도시되지 아니함))를 포함할 수 있다. 제1 카메라(151)는 상기 디바이스(100) 전면에 배치되고, 제2 카메라(152)는 상기 디바이스(100)의 후면에 배치될 수 있다. 달리 취한 방식으로, 제1 카메라(151)와 제2 카메라(152)는 인접(예, 제1 카메라(151)와 제2 카메라(152)의 간격이 1 cm 보다 크고, 8 cm 보다는 작은)하게 배치되어 3차원 정지이미지 또는 3차원 동영상을 촬영할 수 있다. The
GPS 모듈(155)은 지구 궤도상에 있는 복수의 GPS위성(도시되지 아니함)에서부터 전파를 수신하고, GPS위성(도시되지 아니함)에서부터 디바이스(100)까지 전파도달시간(Time of Arrival)을 이용하여 디바이스(100)의 위치를 산출할 수 있다. The GPS module 155 receives the radio waves from a plurality of GPS satellites (not shown) on the earth orbit, and uses the time of arrival from the GPS satellites (not shown) to the
입/출력 모듈(160)은 복수의 버튼(161), 마이크(162), 스피커(163), 진동모터(164), 커넥터(165), 및 키패드(166) 중 적어도 하나를 포함할 수 있다. The input /
버튼(161)은 상기 디바이스(100)의 하우징의 전면, 측면 또는 후면에 형성될 수 있으며, 전원/잠금 버튼(도시되지 아니함), 볼륨버튼(도시되지 아니함), 메뉴 버튼, 홈 버튼, 돌아가기 버튼(back button) 및 검색 버튼(161) 중 적어도 하나를 포함할 수 있다.
마이크(162)는 제어부(110)의 제어에 따라 음성(voice) 또는 사운드(sound)를 입력 받아 전기적인 신호를 생성할 수 있다. The
스피커(163)는 제어부(110)의 제어에 따라 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140) 또는 카메라 모듈(150)의 다양한 신호(예, 무선신호, 방송신호, 디지털 오디오 파일, 디지털 동영상 파일 또는 사진 촬영 등)에 대응되는 사운드를 디바이스(100) 외부로 출력할 수 있다. 스피커(163)는 디바이스(100)가 수행하는 기능에 대응되는 사운드(예, 전화 통화에 대응되는 버튼 조작음, 또는 통화 연결음)를 출력할 수 있다. 스피커(163)는 상기 디바이스(100)의 하우징의 적절한 위치 또는 위치들에 하나 또는 복수로 형성될 수 있다.The
진동모터(164)는 제어부(110)의 제어에 따라 전기적 신호를 기계적 진동으로 변환할 수 있다. 예를 들어, 진동 모드에 있는 디바이스(100)는 다른 장치(도시되지 아니함)로부터 음성통화가 수신되는 경우, 진동모터(164)가 동작할 수 있다. 상기 디바이스(100)의 하우징 내에 하나 또는 복수로 형성될 수 있다. 진동모터(164)는 터치스크린(190) 상을 터치하는 사용자의 터치 동작 및 터치스크린(190) 상에서의 터치의 연속적인 움직임에 응답하여 동작할 수 있다. The
커넥터(165)는 디바이스(100)와 외부장치(도시되지 아니함) 또는 전원소스(도시되지 아니함)를 연결하기 위한 인터페이스로 이용될 수 있다. 제어부(110)의 제어에 따라 커넥터(165)에 연결된 유선 케이블을 통해 디바이스(100)의 저장부(175)에 저장된 데이터를 외부 장치(도시되지 아니함)로 전송하거나 또는 외부 장치(도시되지 아니함)에서부터 데이터를 수신할 수 있다. 커넥터(165)에 연결된 유선 케이블을 통해 전원소스(도시되지 아니함)에서부터 전원이 입력되거나 배터리(도시되지 아니함)를 충전할 수 있다.The
키패드(166)는 디바이스(100)의 제어를 위해 사용자로부터 키 입력을 수신할 수 있다. 키패드(166)는 디바이스(100)에 형성되는 물리적인 키패드(도시되지 아니함) 또는 터치스크린(190)에 표시되는 가상의 키패드(도시되지 아니함)를 포함한다. 디바이스(100)에 형성되는 물리적인 키패드(도시되지 아니함)는 디바이스(100)의 성능 또는 구조에 따라 제외될 수 있다. The
센서 모듈(170)은 디바이스(100)의 상태를 검출하는 적어도 하나의 센서를 포함한다. 예를 들어, 센서모듈(170)은 사용자의 디바이스(100)에 대한 접근여부를 검출하는 근접센서, 디바이스(100) 주변의 빛의 양을 검출하는 조도센서(도시되지 아니함), 또는 디바이스(100)의 동작(예, 디바이스(100)의 회전, 디바이스(100)에 가해지는 가속도 또는 진동)을 검출하는 모션센서(도시되지 아니함)를 포함할 수 있다. 적어도 하나의 센서는 상태를 검출하고, 검출에 대응되는 신호를 생성하여 제어부(110)로 전송할 수 있다. 센서모듈(170)의 센서는 디바이스(100)의 성능에 따라 추가되거나 삭제될 수 있다.The
저장부(175)는 제어부(110)의 제어에 따라 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS모듈(155), 입/출력 모듈(160), 센서 모듈(170), 터치스크린(190)의 동작에 대응되게 입/출력되는 신호 또는 데이터를 저장할 수 있다. 저장부(175)는 디바이스(100) 또는 제어부(110)의 제어를 위한 제어 프로그램 및 어플리케이션들을 저장할 수 있다.The
?저장부?라는 용어는 저장부(175), 제어부(110)내 롬(112), 램(113) 또는 디바이스(100)에 장착되는 메모리 카드(도시되지 아니함)(예, SD 카드, 메모리 스틱)를 포함한다. 저장부는 비휘발성메모리, 휘발성메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다. The term " storage unit " refers to a
전원공급부(180)는 제어부(110)의 제어에 따라 디바이스(100)의 하우징에 배치되는 하나 또는 복수의 배터리(도시되지 아니함)에 전원을 공급할 수 있다. 하나 또는 복수의 배터리(도시되지 아니함)는 디바이스(100)에 전원을 공급한다. 또한, 전원공급부(180)는 커넥터(165)와 연결된 유선 케이블을 통해 외부의 전원소스(도시되지 아니함)에서부터 입력되는 전원을 디바이스(100)로 공급할 수 있다. The
터치스크린(190)은 사용자에게 다양한 서비스(예, 통화, 데이터 전송, 방송, 사진촬영)에 대응되는 유저 인터페이스를 제공할 수 있다. 터치스크린(190)은 유저 인터페이스에 입력되는 적어도 하나의 터치에 대응되는 아날로그 신호를 터치스크린 컨트롤러(195)로 전송할 수 있다. 터치스크린(190)은 사용자의 신체(예, 엄지를 포함하는 손가락) 또는 터치가능한 입력 수단(예, 스타일러스 펜)을 통해 적어도 하나의 터치를 입력받을 수 있다. 또한, 터치스크린(190)은 적어도 하나의 터치 중에서, 하나의 터치의 연속적인 움직임을 입력받을 수 있다. 터치스크린(190)은 입력되는 터치의 연속적인 움직임에 대응되는 아날로그 신호를 터치스크린 컨트롤러(195)로 전송할 수 있다. The
본 발명에서 터치는 터치스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과의 접촉에 한정되지 않고, 비접촉(예, 터치스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과 검출가능한 간격이 1 mm 이하)을 포함할 수 있다. 터치스크린(190)에서 검출가능한 간격은 디바이스(100)의 성능 또는 구조에 따라 변경될 수 있다. In the present invention, the touch is not limited to the contact between the
터치스크린(190)은 예를 들어, 저항막(resistive) 방식, 정전용량(capacitive) 방식, 적외선(infrared) 방식 또는 초음파(acoustic wave) 방식으로 구현될 수 있다. The
터치스크린 컨트롤러(195)는 터치스크린(190)에서부터 수신된 아날로그 신호를 디지털 신호(예, X와 Y좌표)로 변환하여 제어부(110)로 전송할 수 있다. 제어부(110)는 터치스크린 컨트롤러(195)로부터 수신된 디지털 신호를 이용하여 터치스크린(190)을 제어할 수 있다. 예를 들어, 제어부(110)는 터치에 응답하여 터치스크린(190)에 표시된 단축 실행 아이콘(도시되지 아니함)이 선택되게 하거나 또는 단축 실행 아이콘(도시되지 아니함)을 실행할 수 있다. 또한, 터치스크린 컨트롤러(195)는 제어부(110)에 포함될 수도 있다. The touch screen controller 195 may convert the analog signal received from the
상기한 바와 같이 구성된 디바이스(100)는 일반 모드와 보안 모드로 동작할 수 있다. 일반 모드는 디바이스(100)가 보안 요구되지 않는 용도로 이용되는 경우가 될 수 있고, 보안 모드는 디바이스(100)가 보안 요구되는 용도로 이용되는 경우가 될 수 있다. 예컨대 일반 모드는 디바이스(100)가 사용자 개인용으로 이용되는 경우에 적용될 수 있고, 보안 모드는 디바이스(100)가 기업에서 업무용으로 이용되는 경우에 적용될 수 있다. The
디바이스(100)는 다중 모드 어플리케이션 수행 시 디바이스(100)가 일반 모드로 동작하는 경우 일반 모드 데이터 영역을 이용하여 데이터를 처리하고, 디바이스(100)가 보안 모드로 동작하는 경우 보안 모드 데이터 영역을 이용하여 데이터를 처리할 수 있다.The
도 2는 본 발명의 실시 예에 따른 디바이스에서 일반 모드 데이터 영역과 보안 모드 데이터 영역을 설명하기 위한 개념도이다. 2 is a conceptual diagram for explaining a normal mode data area and a security mode data area in a device according to an embodiment of the present invention.
도 2를 참조하면, 디바이스(100)는 저장부(175)에 일반 데이터 영역(175-1)과 보안 데이터 영역(175-2)를 포함할 수 있다. 일반 데이터 영역(175-1)은 일반 모드에서 데이터가 저장되고, 저장된 데이터의 접근이 허용되는 영역이다. 보안 데이터 영역(175-2)은 보안 모드에서 암호화된 데이터가 저장되고, 저장된 암호화된 데이터의 접근이 허용되는 영역이다. 보안 데이터 영역(175-1)은 일반 데이터 영역(175-2)과 격리된 영역이다. 일반 모드에서는 일반 데이터 영역(175-2)에 대해서는 접근이 허용되고, 보안 데이터 영역(175-1)에 대해서는 접근이 허용되지 않는다. 보안 모드에서는 일반 데이터 영역(175-2) 및 보안 데이터 영역(175-1)에 대해서 모두 접근이 허용되거나 보안 데이터 영역(175-1)에 대해서만 접근이 허용될 수 있다.Referring to FIG. 2, the
디바이스(100)의 제어부(110)를 통해 다중 모드 어플리케이션(200)을 실행할 수 있다. 다중 모드 어플리케이션(200)은 모드 판단부(210), 기능 처리부(220), 암호화 및 복호화부(230)를 포함할 수 있다. The
모드 판단부(210)는 디바이스(100)의 모드가 일반 모드인지 보안 모드인지 판단할 수 있다. 이때 디바이스(100)의 모드는 사용자에 의해 미리 설정되거나, 미리 정해진 모드 조건에 의해 설정될 수 있다. 예컨대 사용자의 선택에 따라 디바이스(100)의 모드가 일반 모드 또는 보안 모드 중 어느 하나로 설정될 수 있다. 또한 디바이스(100)의 위치가 회사 내부이면 보안 모드로 설정하고, 회사 외부이면 보안 모드로 설정될 수 있다. The
기능 처리부(220)는 일반 모드에서 처리되는 일반 명령 코드들과 보안 보드에서 처리되는 보안 명령 코드들을 이용하여 어플리케이션의 기능을 처리할 수 있다. The
기능 처리부(220)는 일반 모드에서 어플리케이션의 기능 처리 시 데이터 저장이 필요한 경우 데이터를 일반 모드 데이터 영역(175-2)에 저장하고, 저장된 데이터 엑세스가 필요한 경우 일반 모드 데이터 영역(175-2)에 저장된 데이터를 엑세스할 수 있다. 또한 기능 처리부(220)는 보안 모드에서 어플리케이션의 기능 처리 시 파일 또는 데이터 베이스 등의 데이터를 저장하라는 명령코드에 해당하는 저장 함수가 실행됨 따라 데이터 저장이 필요한 경우 키 저장부(240)를 통해 데이터 암호화를 위한 키를 획득하고, 획득된 키와 암호화/복호화 모듈(230)을 이용하여 데이터가 암호화되도록 하고, 암호화된 데이터가 보안 모드 데이터 영역(175-1)에 저장되도록 할 수 있다. 또한 기능 처리부(220)는 보안 모드 데이터 영역(175-1)에 저장된 데이터를 읽으라는 명령에 해당하는 읽기 함수가 실행됨에 따라 미리 정해진 방식으로 사용자를 인증하고, 사용자가 인증되면 데이터 복호화를 위한 키(240)를 획득하고, 획득된 키와 암호화 및 복호화부(230)를 이용하여 보안 모드 데이터 영역(175-1) 에 저장된 암호화된 데이터를 읽고 복호화할 수 있다. The
도 3은 본 발명의 실시 예에 따른 디바이스(100)에서 일반 모드 데이터 영역(175-2)과 보안 모드 데이터 영역(175-2)의 엑세스 방법에 대한 흐름도이다. 3 is a flowchart of an access method of the normal mode data area 175-2 and the secure mode data area 175-2 in the
도 3을 참조하면, 310 동작에서, 디바이스(100)는 사용자 입력에 따라 다중 모드 어플리케이션(200)을 실행할 수 있다. 예컨대 사용자에 의해 터치 스크린(190)에 표시된 다중 모드 어플리케이션 아이콘이 터치되면, 디바이스(100)는 해당 다중 모드 어플리케이션을 실행할 수 있다. Referring to FIG. 3, in operation 310, the
320 동작에서, 디바이스(100)는 다중 모드 어플리케이션(200)이 실행됨에 따라 3모드 판단부(210)를 통해 모드가 일반 모드 인지 보안 모드인지 판단할 수 있다. In
330 동작에서, 만약 일반 모드이면, 디바이스(100)는 일반 모드 데이터 영역(175-2)을 이용하여 데이터를 처리할 수 있다. 예컨대, 디바이스(100)는 기능 처리부(220)의 일반 모드 명령 코드들을 이용하여 해당 기능을 수행하고, 해당 기능 수행 시 데이터 저장이 필요한 경우 데이터를 일반 모드 데이터 영역(175-2)에 저장하고, 저장된 데이터 엑세스가 필요한 경우 일반 모드 데이터 영역(175-2)에 저장된 데이터를 엑세스할 수 있다.In
340 동작에서, 보안 모드이면, 디바이스(100)는 보안 모드 데이터 영역(175-1)을 이용하여 데이터를 처리할 수 있다. 예컨대, 디바이스(100)는 보안 모드에서 어플리케이션의 기능 처리 시 파일 또는 데이터 베이스 등의 데이터를 저장하라는 명령코드에 해당하는 저장 함수가 실행됨 따라 데이터 저장이 필요한 경우 키 저장부(240)를 통해 데이터 암호화를 위한 키를 획득하고, 획득된 키와 암호화/복호화 모듈(230)을 이용하여 데이터가 암호화되도록 하고, 암호화된 데이터가 보안 모드 데이터 영역(175-1)에 저장되도록 할 수 있다. 또한 기능 처리부(220)는 보안 모드 데이터 영역(175-1)에 저장된 데이터를 읽으라는 명령에 해당하는 읽기 함수가 실행됨에 따라 미리 정해진 방식으로 사용자를 인증하고, 사용자가 인증되면 데이터 복호화를 위한 키(240)를 획득하고, 획득된 키와 암호화/복호화 모듈(230)을 이용하여 보안 모드 데이터 영역(175-1) 에 저장된 암호화된 데이터를 읽고 복호화할 수 있다. 이때 디바이스(100)는 미리 저장된 해쉬(hash)방식으로 암호화된 패스워드와 사용자에 의해 입력된 패스워드를 해쉬 방식으로 암호화된 패스워드를 비교하여 일치하면 사용자를 인증할 수 있다. In
본 발명의 실시 예에 따르면 디바이스(100)는 보안 모드에서 암호화 장치를 통해 보안 보드에서 데이터를 암호화할 수 있다. According to an embodiment of the present invention, the
도 4는 본 발명의 실시 예에 따른 보안 모드에서 암호화 장치를 설명하기 위한 개념도이다. 도 4를 참조하면, 본 발명의 실시 예에 따른 암호화 장치(400)는 키 생성부(410)와 암호화 모듈(420)을 포함할 수 있다.4 is a conceptual diagram illustrating an encryption apparatus in a secure mode according to an embodiment of the present invention. Referring to FIG. 4, the
키 생성부(410)는 암호화에 필요한 키를 생성할 수 있다. 암호화 모듈(420)은 생성된 키를 이용하여 파일 및 데이터 베이스 등의 데이터를 암호화하여 암호화된 파일 및 암호화된 데이터 베이스를 출력할 수 있다. 암호화된 파일 및 암호화된 데이터 베이스는 보안 모드 데이터 영역(175-1)에 해당하는 파일 시스템(430)에 저장될 수 있다.The
이러한 본 발명의 실시 예에 따른 암호화 장치를 좀더 구체적으로 설명한다.The encryption apparatus according to the embodiment of the present invention will be described in more detail.
도 5는 본 발명의 실시 예에 따른 보안 모드에서 암호화 장치(400)의 블록 구성도이다. 도 5를 참조하면, 암호화 장치(400)는 1-Way HASH 모듈(402), HASHED 패스워드 등록부(404), 키 생성부(410), 암호화 모듈(420), 암호화 알고리즘 선택부(450), 암호화 알고리즘 저장부(440)를 포함할 수 있다.5 is a block diagram of the
1-Way HASH 모듈(402)은 패스워드를 1-Way HASH 방식으로 암호화하여 HASHED 패스워드를 출력할 수 있다. HASHED 패스워드는 1-Way HASH 방식으로 암호화된 패스워드를 의미한다. HASHED 패스워드 등록부(404)는 HASHED 패스워드를 등록할 수 있다. The 1-
키 생성부(410)는 암호화에 필요한 키를 생성할 수 있다. 키 생성부(410)는, 예를 들자면, 제 1 데이터 (예: 패스워드(password)) 또는 제 2 데이터 (예: 핀(PIN:Personal Identification Number) 중 적어도 하나를 이용하여 키를 생성할 수 있다. PIN은 패스워드를 저장할 때 이용될 수 있다. 예를 들면 키 생성부(410)는 PIN을 제1 키(Kpin)로 생성하여 패스워드를 암호화하는데 이용되도록 할 수 있다. 또한 키 생성부(410)는 암호화된 패스워드(Epwd)를 제2 키(KEpwd)로 생성하여 데이터를 암호화하는데 이용되도록 할 수 있다. 다양한 실시예들에 따르면, 키 생성부(410)는 도 5에 표시된 바와 같이 암호화 모듈(420)의 적어도 하나의 서브모듈로 구성되거나, 도 4에 표시된 바와 같이 암호화 모듈(420)과는 별개의 모듈로 구성될 수 있다.The
암호화 모듈(420)은 패스워드 및 PIN을 입력받아 암호화된 패스워드(Epwd)와 암호화된 PIN(Epin)을 등록할 수 있다. 또한 암호화 모듈(420)은 보안 모드로 진입 요청이 있으면 보안 모드 인증을 수행하여 보안 모드 인증이 성공한 경우 보안 모드로 진입할 수 있다. 또한 암호화 모듈(420)은 보안 모드로 진입한 상태에서 파일 및 데이터베이스 등의 데이터를 무작위로 선택된 암호화 알고리즘에 따라 암호화된 패스워드 Epwd를 제2 키(KEpwd)로 이용하여 데이터를 암호화하고, 선택된 암호화 알고리즘을 나타내는 알고리즘 ID와 암호화된 파일 또는 암호화된 데이터 베이스를 보안 모드 데이터 영역(175-1)에 속하는 파일 시스템(500)에 저장할 수 있다.The
암호화 알고리즘 저장부(440)는 복수의 암호화 알고리즘들을 저장할 수 있다. 예컨대 암호화 알고리즘 저장부(440)는 AES, RAS, 또는 ATK와 같은 다양한 암호화 알고리즘들을 저장할 수 있다. The encryption
암호화 알고리즘 선택부(450)는 암호화 알고리즘 저장부(450)에 저장된 복수의 암호화 알고리즘들(AES, RAS, 또는 ATK) 중 무작위로 어느 하나의 암호화 알고리즘을 선택할 수 있다.The encryption
이하 상기한 바와 같이 구성된 암호화 장치(400)에서 패스워드 및 PIN을 입력받아 암호화된 패스워드(Epwd)와 암호화된 PIN(Epin)을 등록하는 과정에 대해 설명한다. Hereinafter, the process of registering the encrypted password Epwd and the encrypted PIN Epin by receiving the password and PIN from the
도 6은 본 발명의 실시 예에 따른 암호화 장치(400)에서 패스워드 및 PIN 등록 방법에 대한 흐름도이다. 도 6을 참조하면, 암호화 장치(400)는 610단계에서 패스워드 및 PIN을 입력받을 수 있다. 이때 패스워드 및 PIN은 사용자에 의해 입력될 수 있다. 6 is a flowchart illustrating a password and PIN registration method in the
암호화 장치(400)는 620단계에서 PIN 을 제1 키로 이용하여 패스워드를 암호화하고, 암호화된 패스워드를 등록할 수 있다. 예컨대 암호화 장치(400)는 하기 [수학식 1]과 같이 제1 키(Kpin)를 이용하여 패스워드를 암호화하고, 암호화된 패스워드(Epwd)를 등록할 수 있다.The
여기서 E는 대칭키 방식의 암호화 방식을 나타낸다. P는 Plain data 즉, 암호화할 데이터를 의미하며, Ppwd는 암호화할 데이터가 패스워드인 경우를 나타낸다. 또한 K는 암호화에 이용될 키를 의미하며, Kpin는 암호화에 이용될 키가 PIN 인 경우를 나타낸다. Epwd는 암호화된 패스워드를 나타낸다.Here, E represents a symmetric key cryptosystem. P means plain data, that is, data to be encrypted, and Ppwd indicates a case where data to be encrypted is a password. Also, K means a key to be used for encryption, and Kpin denotes a case where a key to be used for encryption is a PIN. Epwd represents an encrypted password.
암호화 장치(400)는 630단계에서 패스워드를 제2 키로 이용하여 PIN을 암호화하고, 암호화된 패스워드를 등록할 수 있다. 예컨대 암호화 장치(400)는 [수학식 2]과 같이 제2 키(KEpwd)를 이용하여 PIN을 암호화하고, 암호화된 PIN(Epin)을 등록할 수 있다.The
여기서 E는 대칭키 방식의 암호화 방식을 나타낸다. P는 Plain data 즉, 암호화할 데이터를 의미하며, Ppin는 암호화할 데이터가 PIN인 경우를 나타낸다. 또한 K는 암호화에 이용될 키를 의미하며, KEpwd 는 암호화에 이용될 키가 암호화된 패스워드(Epwd)인 경우를 나타낸다.Here, E represents a symmetric key cryptosystem. P indicates plaintext data, that is, data to be encrypted, and Ppin indicates that the data to be encrypted is a PIN. K denotes a key to be used for encryption, and KEpwd denotes a case where a key to be used for encryption is an encrypted password (Epwd).
이와 같이 암호화된 PIN(Epin)과 암호화된 패스워드(Epwd)가 등록되어 있으면, 암호화 장치(400)는 사용자가 사용자 인증을 위한 패스워드를 잊어버렸을 경우 패스워드 대신 PIN을 입력하면 사용자 인증을 수행할 수 있다. If the encrypted PIN (Epin) and the encrypted password (Epwd) are registered, the
예컨대 암호화 장치(400)는 하기 [수학식 3]과 같이 사용자 인증을 위해 PIN이 입력되면 암호화된 패스워드(Epwd)를 제3 키로 이용하여 PIN(Ppin)을 암호화하고, 암호화된 PIN(Epin)이 기 등록된 암호화된 PIN(Epin)과 같으면 적합한 사용자로 인증할 수 있다. For example, the
[수학식 3]
&Quot; (3) "
따라서 본 발명의 다양한 실시예들은 암호화 장치(400)에 암호화된 PIN(Epin)과 암호화된 패스워드(Epwd)를 저장하여 사용자를 인증하므로 원래 PIN과 패스워드를 저장할 필요가 없어서 보안에 강하다.Accordingly, various embodiments of the present invention store the encrypted PIN (Epin) and the encrypted password (Epwd) in the
도 7은 본 발명의 실시 예에 따른 암호화 장치(400)에서 보안 모드로 진입하기 위한 보안 모드 인증 과정에 대한 흐름도이다. 7 is a flowchart illustrating a security mode authentication process for entering a secure mode in the
도 7을 참조하면, 710 동작에서, 암호화 장치(400)는 보안 모드 진입을 위한 보안 모드 인증이 요구되는지 판단할 수 있다. 만약 보안 모드 인증이 요구되면, 720 동작에서, 암호화 장치(400)는 사용자로부터 보안 모드 진입을 위한 패스워드를 입력받을 수 있다. 730 동작에서 암호화 장치(400)는 입력된 패스워드를 1-Way HASH 방식을 이용하여 암호화하고, 암호화 결과 HASHED 패스워드를 출력할 수 있다.Referring to FIG. 7, in
또한 740 동작에서, 암호화 장치(400)는 암호화 결과 HASHED 패스워드와 상기 HASHED 패스워드 등록부(404)에 등록된 HASHED 패스워드가 일치하는지 비교할 수 있다.Also, in
암호화 장치(400)는 암호화 결과 HASHED 패스워드와 상기 HASHED 패스워드 등록부(404)에 등록된 HASHED 패스워드가 일치하면, 750 동작에서 보안 모드 인증을 수행하고 보안 모드로 진입할 수 있다. 만약 암호화 결과 HASHED 패스워드와 상기 HASHED 패스워드 등록부(404)에 등록된 HASHED 패스워드가 일치하지 않으면 760 동작에서, 암호화 장치(400)는 보안 모드 인증 실패를 인식하고 보안 모드로 진입하지 않고 종료할 수 있다.If the HASHED password of the encryption result matches the HASHED password registered in the HASHED
도 8은 본 발명의 실시 예에 따른 암호화 장치(400)에서 보안 모드로 진입한 상태에서 데이터 암호화 방법에 대한 흐름도이다. 도 8을 참조하면, 810 동작에서, 암호화 장치(400)는 810단계에서 보안 모드로 진입한 상태인지 판단할 수 있다.FIG. 8 is a flowchart of a data encryption method in a state where the
820 동작에서, 만약 보안 모드로 진입한 상태이면 암호화 장치(400)는 데이터 저장이 필요한지 판단할 수 있다. In
830 동작에서, 만약 데이터 저장이 필요하면 암호화 장치(400)는 파일 또는 데이터베이스 등의 데이터를 암호화하기 위한 암호화 알고리즘을 선택할 수 있다. 이때 암호화 장치(400)는 암호화 알고리즘 선택부(450)를 통해 암호화 알고리즘 저장부(450)에 저장된 복수의 암호화 알고리즘들(AES, RSA, 또는 ATK) 중 무작위로 어느 하나의 암호화 알고리즘을 선택할 수 있다. In
840 동작에서, 암호화 장치(400)는 선택된 암호화 알고리즘과 암호화된 패스워드 Epwd를 키(KEpwd)로 이용하여 파일 또는 데이터베이스 등의 데이터를 암호화할 수 있다. In
850 동작에서, 암호화 장치(400)는 어떤 암호화 알고리즘이 이용되었는지를 나타내는 암호화 알고리즘 ID와 암호화된 데이터를 보안 모드 데이터 영역(175-1)의 파일 시스템(500)에 저장할 수 있다. In
도 9는 본 발명의 실시 예에 따른 암호화된 데이터를 나타낸 도면이다. 도 9를 참조하면, 암호화된 데이터에는 어떤 알고리즘이 이용되어 암호화되었는지를 나타내는 암호화 알고리즘 ID가 추가될 수 있다. 이때 암호화 알고리즘 ID는 암호화 알고리즘 각각이 가지는 고유한 ID일 수 있고, 암호화 장치(400)에서만 암호화 알고리즘 ID이 어떤 암호화 알고리즘을 나타내는지 식별할 수 있도록 하는 것이 바람직하다.9 is a diagram illustrating encrypted data according to an embodiment of the present invention. Referring to FIG. 9, an encryption algorithm ID may be added to the encrypted data to indicate which algorithm is used and encrypted. At this time, the encryption algorithm ID may be a unique ID of each encryption algorithm, and it is preferable that only the
도 10은 본 발명의 실시 예에 따른 암호화 장치(400)에서 보안 모드로 진입한 상태에서 데이터 복호화 방법에 대한 흐름도이다. 도 10을 참조하면, 암호화 장치(400)는 복호화를 수행할 수도 있다. 1010 동작에서, 암호화 장치(400)는 보안 모드로 진입한 상태인지 판단할 수 있다.10 is a flowchart of a data decryption method in a state where the
1020 동작에서, 만약 보안 모드로 진입한 상태이면 암호화 장치(400)는 저장된 데이터의 엑세스가 필요한지 판단할 수 있다. In
1030단계에서, 만약 저장된 데이터의 엑세스가 필요하면 암호화 장치(400)는 기 저장된 암호화된 파일 또는 암호화된 데이터베이스 등의 암호화된 데이터를 복호화하기 위한 암호화 알고리즘을 선택할 수 있다. 이때 암호화 장치(400)는 암호화된 데이터에 해당하는 암호화 알고리즘 ID를 인식하여 복호화 알고리즘을 선택할 수 있다. 암호화 장치(400)는 암호화 알고리즘 선택부(450)를 통해 암호화 알고리즘 저장부(450)에 저장된 복수의 암호화 알고리즘들(AES, RSA, ATK) 중 무작위로 어느 하나의 암호화 알고리즘을 선택할 수 있다. In
1040 동작에서, 암호화 장치(400)는 선택된 암호화 알고리즘과 암호화된 패스워드 Epwd를 키(KEpwd)로 이용하여 암호화된 파일 또는 암호화된 데이터베이스 등의 암호화된 데이터를 복호화할 수 있다. In
본 발명의 다양한 실시 예들은 사용자 개인 디바이스를 업무용으로 사용할 경우와 같은 보안 보드에서 암호화가 가능하도록 함으로써 보안이 가능하면서도 디바이스의 자원을 적게 소모할 수 있다. 또한 본 발명의 다양한 실시예들은 보안 모드에서는 보안 영역을 이용하여 데이터를 암호화 처리하도록 함으로써 안 모드의 데이터 접근이 불가능하도록 하여 보안 영역의 데이터에 대한 완벽한 접근 보호를 제공할 수 있다. 또한 본 발명의 다양한 실시예들은 보안 모드에서 암호화된 비밀번호를 키로 이용하여 데이터를 암호화함으로써 비밀 번호가 유출되지 않도록 한다.Various embodiments of the present invention enable security by enabling encryption on a security board, such as when using a user's personal device for business purposes, while consuming less resources of the device. Also, in various embodiments of the present invention, in the security mode, data is encrypted using the security area, thereby making it impossible to access the data in the security mode, thereby providing complete access protection to the data in the security area. In addition, various embodiments of the present invention utilize the encrypted password as a key in the secure mode to encrypt the data, thereby preventing the password from being leaked.
본 발명의 다양한 실시예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. The methods according to various embodiments of the present invention may be implemented in the form of program instructions that may be executed on various computer means and recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on the medium may be those specially designed and constructed for the present invention or may be known and available to those of ordinary skill in the computer software arts.
Claims (16)
제 1 데이터 또는 제 2 데이터 중의 적어도 하나의 데이터를 이용하여 암호화에 필요한 키를 생성하는 키 생성부와,
보안 모드인 경우, 상기 생성된 키를 이용하여 데이터를 암호화하고, 상기 암호화된 데이터를 일반 모드 데이터 영역과 구분되는 보안 모드 데이터 영역에 저장하는 암호화 모듈을 포함하는 장치.In the apparatus,
A key generation unit for generating a key necessary for encryption using at least one of the first data and the second data;
An encryption module for encrypting data using the generated key and storing the encrypted data in a secure mode data area distinguished from a normal mode data area when the secure mode is a secure mode.
상기 적어도 하나의 데이터를 암호화한 암호화된 데이터를 이용하여 상기 암호화에 필요한 키를 생성하는 장치.3. The apparatus of claim 2, wherein the key generation unit
And generates a key necessary for the encryption using the encrypted data obtained by encrypting the at least one data.
상기 암호화 모듈은 복수의 암호화 알고리즘들 중에서 선택된 적어도 하나의 알고리즘을 이용하여 상기 데이터를 암호화하도록 설정된 장치.The method according to claim 1,
Wherein the encryption module is configured to encrypt the data using at least one algorithm selected from a plurality of encryption algorithms.
상기 복수의 암호화 알고리즘들은 AES, RSA, 또는 ATK를 포함하는 장치. 5. The method of claim 4,
Wherein the plurality of encryption algorithms comprise AES, RSA, or ATK.
상기 데이터를 암호화하는데 이용한 암호화 알고리즘에 대응하는 암호화 알고리즘 ID를 상기 보안 모드 데이터 영역에 저장하도록 설정된 장치.2. The information processing apparatus according to claim 1,
And store the encryption algorithm ID corresponding to the encryption algorithm used for encrypting the data in the secure mode data area.
기 등록된 HASHED 패스워드를 저장하는 HASHED 패스워드 등록부와,
1-Way HASH 방식의 암호화를 수행하는 1-Way HASH 모듈을 더 포함하고,
상기 암호화 모듈은 상기 보안 모드 진입을 위한 보안 모드 인증이 요구되면, 보안 모드 진입을 위한 패스워드를 입력받아 상기 1-Way HASH 방식을 이용하여 암호화하고, 암호화 결과 HASHED 패스워드와 상기 기 등록된 HASHED 패스워드가 일치하는지 비교하여 일치하면, 보안 모드로 진입하도록 설정된 장치.The method according to claim 1,
A HASHED password registration unit for storing a previously registered HASHED password;
Way HASH module that performs 1-way HASH encryption,
When the security mode authentication for entering the security mode is requested, the encryption module receives the password for entering the security mode and encrypts the password using the 1-Way HASH method, and transmits the HASHED password and the previously registered HASHED password And if they match, the device is set to enter the secure mode.
보안 모드로 진입한 상태에서 저장된 데이터 엑세스가 요청되면, 상기 생성된 암호화키를 이용하여상기 보안 데이터 영역에 저장된 암호화된 데이터를 복호화도록 설정된 장치.2. The information processing apparatus according to claim 1,
And to decrypt the encrypted data stored in the secure data area using the generated encryption key when the stored data access is requested in the state of entering the security mode.
제1 데이터 또는 제2 데이터 중의 적어도 하나의 데이터를 이용하여 암호화에 필요한 키를 생성하는 동작과,
보안 모드인 경우 상기 생성된 키를 이용하여 데이터를 암호화하는 동작과,
상기 암호화된 데이터를 보안 모드 데이터 영역에 저장하는 동작을 포함하는 방법.In the data encryption method,
An operation of generating a key necessary for encryption using at least one of the first data or the second data,
Encrypting data using the generated key if the encryption key is in a secure mode,
And storing the encrypted data in a secure mode data area.
상기 적어도 하나의 데이터를 암호화한 암호화된 데이터를 이용하여 상기 암호화에 필요한 키를 생성하는 동작인 방법.11. The method of claim 10, wherein the act of generating a key required for encryption comprises:
And generating a key required for the encryption using the encrypted data that has encrypted the at least one data.
복수의 암호화 알고리즘들 중 무작위로 암호화 알고리즘을 선택하는 동작을 더 포함하는 방법.10. The method of claim 9,
Selecting an encryption algorithm randomly among a plurality of encryption algorithms.
상기 복수의 암호화 알고리즘들은 AES, RSA, 또는 ATK 를 포함하는 방법.13. The method of claim 12,
Wherein the plurality of encryption algorithms comprise AES, RSA, or ATK.
상기 데이터를 암호화하는데 이용한 암호화 알고리즘에 대응하는 암호화 알고리즘 ID를 상기 보안 모드 데이터 영역에 저장하는 동작을 더 포함하는 방법.10. The method of claim 9,
Further comprising storing in the secure mode data area an encryption algorithm ID corresponding to an encryption algorithm used to encrypt the data.
HASHED 패스워드를 등록하는 과정과,
상기 보안 모드 진입을 위한 보안 모드 인증이 요구되면, 보안 모드 진입을 위한 패스워드를 입력받아 1-Way HASH 방식을 이용하여 암호화하고, 암호화 결과 HASHED 패스워드와 기 등록된 HASHED 패스워드가 일치하는지 비교하여 일치하면, 보안 모드로 진입하는 동작을 더 포함하는 방법.10. The method of claim 9,
Registering the HASHED password,
When the security mode authentication for entering the security mode is requested, the security mode entering password is received and encrypted using the 1-Way HASH method, and if the HASHED password matches the pre-registered HASHED password, , ≪ / RTI > entering the secure mode.
보안 모드에서 저장된 데이터 엑세스가 요청되면, 상기 생성된 키를 이용하여 상기 보안 데이터 영역에 저장된 암호화된 데이터를 복호화하는 동작을 더 포함하는 방법.10. The method of claim 9,
And decrypting the encrypted data stored in the secure data area using the generated key when the stored data access is requested in the secure mode.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020130019504A KR20140105681A (en) | 2013-02-22 | 2013-02-22 | Apparatus and method for encryption data in secure mode |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020130019504A KR20140105681A (en) | 2013-02-22 | 2013-02-22 | Apparatus and method for encryption data in secure mode |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20140105681A true KR20140105681A (en) | 2014-09-02 |
Family
ID=51754445
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020130019504A Withdrawn KR20140105681A (en) | 2013-02-22 | 2013-02-22 | Apparatus and method for encryption data in secure mode |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20140105681A (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101692339B1 (en) * | 2016-06-08 | 2017-01-03 | (주)세이퍼존 | Secuirity key for secuirity of end point based on cloud and secuirity system using the same |
| KR101717665B1 (en) * | 2016-05-17 | 2017-03-17 | 아주대학교산학협력단 | Protocol conversion device and operating method thereof |
| KR20190023322A (en) * | 2017-08-28 | 2019-03-08 | 전주대학교 산학협력단 | Encryption Apparatus and Method Combining Various Encryption Methods |
| KR102027815B1 (en) * | 2018-05-30 | 2019-10-02 | 국민대학교산학협력단 | Pin-based file decryption method and apparatus for performing the same |
-
2013
- 2013-02-22 KR KR1020130019504A patent/KR20140105681A/en not_active Withdrawn
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101717665B1 (en) * | 2016-05-17 | 2017-03-17 | 아주대학교산학협력단 | Protocol conversion device and operating method thereof |
| KR101692339B1 (en) * | 2016-06-08 | 2017-01-03 | (주)세이퍼존 | Secuirity key for secuirity of end point based on cloud and secuirity system using the same |
| KR20190023322A (en) * | 2017-08-28 | 2019-03-08 | 전주대학교 산학협력단 | Encryption Apparatus and Method Combining Various Encryption Methods |
| KR102027815B1 (en) * | 2018-05-30 | 2019-10-02 | 국민대학교산학협력단 | Pin-based file decryption method and apparatus for performing the same |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10733304B2 (en) | Method and apparatus for protecting digital content using device authentication | |
| CN111444528B (en) | Data security protection method, device and storage medium | |
| CN108614878B (en) | Protocol data management method, device, storage medium and system | |
| US9911009B2 (en) | Device and method for providing safety of data by using multiple modes in device | |
| CN108964903B (en) | Password storage method and device | |
| KR102124575B1 (en) | Electro device for protecting user privacy and method for controlling thereof | |
| CN106255102B (en) | Terminal equipment identification method and related equipment | |
| US20220294624A1 (en) | Encryption method and device, electronic apparatus and storage medium | |
| KR20170091951A (en) | Method and apparatus for providing securities to electoronic devices | |
| CN110826097A (en) | Data processing method and electronic equipment | |
| CN108681664A (en) | A kind of encryption method and device | |
| CN107766701A (en) | Electronic equipment, dynamic library file guard method and device | |
| CN110401648A (en) | Method, device, electronic device and medium for obtaining cloud service | |
| KR20140105681A (en) | Apparatus and method for encryption data in secure mode | |
| US20130219177A1 (en) | Secure data processing device and method | |
| CN105553651B (en) | The endorsement method of disk mirroring file, device and equipment in Android system | |
| US10372895B2 (en) | Apparatus and method for providing a security environment | |
| CN109800583A (en) | The method of electronic equipment and encryption information including display | |
| KR102657388B1 (en) | Electronic device for selecting key used for encryption based on an information quantity of data to be encrypted and method for the same | |
| CN110443030A (en) | A kind of permission processing method and terminal device | |
| CN114386066A (en) | Application reinforcement method and device | |
| CN108683684B (en) | Method, device and system for logging in to a target instant messaging application | |
| WO2021180005A1 (en) | Information processing method and electronic device | |
| CN110555924B (en) | Method and device for unlocking processing | |
| CN111465005A (en) | A hotspot sharing method and electronic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20130222 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |