KR20030087874A - Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications - Google Patents

Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications Download PDF

Info

Publication number
KR20030087874A
KR20030087874A KR1020020025958A KR20020025958A KR20030087874A KR 20030087874 A KR20030087874 A KR 20030087874A KR 1020020025958 A KR1020020025958 A KR 1020020025958A KR 20020025958 A KR20020025958 A KR 20020025958A KR 20030087874 A KR20030087874 A KR 20030087874A
Authority
KR
South Korea
Prior art keywords
data
security
encryption
life time
decryption key
Prior art date
Application number
KR1020020025958A
Other languages
Korean (ko)
Inventor
이현봉
Original Assignee
주식회사 마이엔진
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마이엔진 filed Critical 주식회사 마이엔진
Priority to KR1020020025958A priority Critical patent/KR20030087874A/en
Publication of KR20030087874A publication Critical patent/KR20030087874A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/602Providing cryptographic facilities or services
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A method for the leveled data security of a computing device is provided to secure security and convenience simultaneously by dividing the data into each level according to the security necessity and applying a different security algorithm to each level. CONSTITUTION: After certifying and permitting the access to the device, a security level of the data is confirmed if the data access is requested from an application program of a security management program module(S215). The data access is certified by carrying out the security algorithm previously set to the confirmed security level(S217,S218,S219). In case of the access certification according to the result carrying out the security algorithm, the data access is permitted(S221).

Description

컴퓨팅 장치의 등급별 데이터 보안 방법 {Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications}Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications}

본 발명은 컴퓨팅 장치의 데이터에 대한 등급별 보안방법, 더 상세하게는 컴퓨팅 장치에 저장되는 데이터를 보안 정도에 따라 계층화하고, 각 계층별로 다른 보안 알고리즘을 적용하는 방법에 관한 것이다.The present invention relates to a class-specific security method for data of a computing device, and more particularly, to a method of hierarchizing data stored in a computing device according to a security level and applying a different security algorithm to each layer.

컴퓨터 또는 무선통신 기술의 발달로 인하여, 기업 또는 개인의 중요 업무를 대부분 컴퓨팅 장치로 수행하고 있으며, 따라서 많은 중요 데이터가 컴퓨팅 장치내에 저장되어 관리되고 있다.Due to the development of computer or wireless communication technology, important tasks of corporations or individuals are mostly performed by computing devices, and thus, many important data are stored and managed in computing devices.

특히, 종래의 주요 기밀정보는 주로 고정된 PC(Personal Computer) 등에 저장되어 있었기 때문에, 해당 PC가 있는 공간의 보안이 유지되는 한 PC에 저장된 정보의 유출 또한 보장되었으나, 최근 이동통신 분야가 발전함에 따라, 이동통신 단말기, PDA(Personal Digital Assistant), 노트북과 같은 모바일 컴퓨팅 장치를 이용하여 장소의 제약 없이 통신, 기타 업무를 수행하는 일이 많아지고 있어서 모바일 컴퓨팅 장치에 저장된 데이터에 대한 보안의 필요성이 증대되고 있다.In particular, since the conventional main confidential information was mainly stored in a fixed personal computer (PC), the leakage of the information stored in the PC was also guaranteed as long as the space where the PC is located is maintained. Accordingly, the use of mobile computing devices such as mobile communication terminals, PDAs (Personal Digital Assistants), and laptops is increasing the number of communication and other tasks without the restriction of places, and thus the need for security of data stored in the mobile computing devices is increasing. It is increasing.

특히, 모바일 컴퓨팅 장치의 특성상 분실하기 쉽고, 분실되는 경우에는 중요한 데이터가 타인에게 유출되어 치명적인 손해를 입을 수 있어서 보안의 필요성이 더 강조되고 있다.In particular, it is easy to lose due to the characteristics of the mobile computing device, and if it is lost, important data may be leaked to others and may be fatally damaged, thereby increasing the need for security.

이러한 단점을 극복하기 위하여, 다음과 같은 보안방식이 이용되고 있다.In order to overcome this disadvantage, the following security methods are used.

첫 번째 형태로 비밀번호 또는 잠금 기능을 이용하여 장치에 대한 접근을 제어하는 방식이 있다.In the first form, there is a method of controlling access to the device by using a password or lock function.

여기서는, 사용자가 정한 비밀번호를 장치의 메모리에 저장시켜 둔 상태에서, 사용자가 잠금기능을 설정해두면, 불법적으로 취득한 타인이 장치 등을 이용하고자 하거나 잠금을 해제하려고 하는 경우 비밀번호를 입력하도록 하고, 입력된 비밀번호와 저장된 비밀번호가 일치하는 지 확인하는 방식을 이용하였다. 비밀번호 입력을 통하여 인증이 된 경우에는 모바일 컴퓨팅 장치 내의 모든 데이터에 대한 접근(열람, 수정, 삭제 등)이 가능하였다.Here, if a user sets a lock function in a state in which the password set by the user is stored in the memory of the device, a password must be input when an illegally acquired person attempts to use the device or unlock the device. We used a method to check whether the password matches the stored password. In the case of authentication through password input, all data in the mobile computing device (access, modification, deletion, etc.) was possible.

이러한 방식을 이용하더라도, 장치를 불법적으로 취득한 자가 해당 장치의 비밀번호를 알아내 잠금을 해제하는 경우에는 저장되어 있던 데이터가 유출될 우려가 있다.Even when using this method, there is a risk that stored data may leak when a person who illegally acquires a device finds and unlocks a password of the device.

또한, 비밀번호가 장치의 저장부에 저장되어 있는 경우에는 장치를 불법적으로 취득한 자가, 장치를 분해, 또는 크래킹(Cracking)함으로써 비밀번호를 알아낼 우려가 있다.In addition, when the password is stored in the storage of the device, a person who illegally acquires the device may find out the password by disassembling or cracking the device.

이를 위하여, 최근에 개발된 PDA 등에서는 적당한 해쉬함수(Hash Function)를 이용하여 사용자가 최초에 정한 비밀번호에 대한 해쉬값을 추출하여 적당한 저장부에 저장하여 두고, 이를 사용자 인증 또는 장치의 접근제어에 이용한다. "해쉬함수"란 일방향 함수(One-way Function)로 다양한 길이의 입력값을 고정된 짧은 길이의 출력값, 즉 해쉬코드(Hash Code)로 변환하는 함수이다. 이러한 해쉬함수에 대한 일반적인 내용은 아래에서 더 상세하게 설명된다.To this end, recently developed PDAs use a proper hash function to extract a hash value for the password initially set by the user and store it in a suitable storage, which is then used for user authentication or device access control. I use it. A "hash function" is a one-way function that converts input values of various lengths into fixed short length output values, that is, hash codes. The general content of these hash functions is described in more detail below.

PDA의 전원을 켜고, Palm, WinCE과 같은 운영체제(OS)를 실행하기 이전에 사용자로 하여금 비밀번호를 입력하도록 하고, 입력된 비밀번호에 대한 해쉬값이 저장되어 있는 해쉬값과 일치하는 지를 확인하고, 일치하는 경우에만 PDA의 동작을허용하는 과정을 거치도록 한다. 즉, 장치에 대한 접근(Access)은 사용자가 비밀번호를 입력하고, 입력루틴이 온더플라이(On-the-fly)방식으로 해쉬값을 구하여 장치내에 저장된 사용자의 해쉬값과 비교함으로써 수행된다는 것이다.Turn on the PDA, allow the user to enter a password before running an operating system (OS) such as Palm or WinCE, and verify that the hash value for the entered password matches the stored hash value. Only if you do this process to allow the operation of the PDA. In other words, access to the device is performed by the user entering a password, and the input routine obtaining the hash value on-the-fly and comparing the hash value of the user stored in the device.

이를 위해서, 장치의 세팅 시에 미리 정당한 사용자가 선택한 비밀번호에 대한 해쉬값이 저장되어 있어야 할 것이다.To this end, a hash value for a password selected by a legitimate user in advance when the device is set should be stored.

이러한 방법을 이용하면, 비밀번호가 단순히 숫자와 문자의 조합으로 저장되어 있는 것이 아니고, 128 또는 160비트의 임의의 디지털값인 해쉬값으로 저장되어 있기 때문에, PDA와 같은 장치를 불법적으로 취득한 자가 장치를 분해하거나 메모리를 크래킹하는 경우에도, 메모리에 있는 비밀번호의 해쉬값만 알게되고 실제 비밀번호는 알 수 없으므로 비밀번호 입력을 통한 컴퓨팅 장치로의 접근이 차단되어 보안이 강화된다.In this method, since the password is not simply stored as a combination of numbers and letters, it is stored as a hash value that is an arbitrary digital value of 128 or 160 bits. Even when disassembling or cracking the memory, only the hash value of the password in the memory is known and the actual password is not known, thereby preventing access to the computing device through the password input for enhanced security.

두 번째 보안 방법으로서, 데이터에 대한 개별적인 보안방식을 이용할 수 있다.As a second security method, individual security methods for data can be used.

이 방식에서는 장치내의 중요정보는 항상 암호화(Encryption)되어 저장되고, 어플리케이션 프로그램이 해당 정보를 디스플레이할 때에만 암호화된 정보를 온더플라이방식으로 복호화하여 보여주고, 새로이 편집된 정보를 다시 저장하거나, 장치의 전원이 꺼질 때에는 다시 암호화하여 저장한다. 이러한 암호화/복호화는 키(Key) 방식으로 이루어지며, 적당한 암호/복호화 알고리즘이 사용될 수 있다.In this method, important information in the device is always encrypted and stored, and only when the application program displays the information, the encrypted information is decoded and displayed on the fly, and the newly edited information is stored again, or When the power is turned off, encrypt and save again. Such encryption / decryption is performed in a key manner, and an appropriate encryption / decryption algorithm may be used.

이를 위해서, 장치내의 암호화된 정보 이외에는 그 어떤 임시파일이나 암호화되지 않은 정보의 이미지(Image)가 있어서는 아니 된다. 특히,가상메모리(Virtual Memory)를 쓰는 상황에서 운영체제(OS)의 개입으로 메모리내의 비밀번호나 키(Key)값이 스왑 페이지(Swap page)에 걸려 외부 하드 디스크나 다른 영구 저장장치와 같은 스왑파일(Swap File)에 저장되는 것을 방지해야 한다.To this end, no temporary file or image of unencrypted information should be present other than the encrypted information in the device. In particular, when a virtual memory is used, a password file or a key value in the memory may be caught in a swap page by an operating system, and a swap file such as an external hard disk or another persistent storage device may be used. It should be prevented from being saved in the swap file.

세 번째 형태는 첫 번째와 두 번째 방식을 결합한 보안 방법으로서, 비밀번호에 대한 해쉬값을 추출한 후, 그 해쉬값을 제 1 키로 하여 데이터의 암호화에 필요한 암호/복호키(Encryption Key)를 암호화하고, 암호화된 암호/복호키를 장치의 특정 메모리에 저장한다.The third form is a security method that combines the first and second methods, extracts the hash value for the password, encrypts the encryption / decryption key necessary for encrypting the data using the hash value as the first key, Stores encrypted encryption / decryption keys in a specific memory of the device.

장치의 모든 데이터는 암호/복호키에 의하여 암호화되어 저장되며, 어플리케이션에 의한 열람 시에 복호화되어 디스플레이되며, 저장 또는 전원 오프시에 다시 암호/복호키에 의하여 암호화된 후 저장된다.All data of the device is encrypted and stored by an encryption / decryption key, decrypted and displayed when viewed by an application, and encrypted by the encryption / decryption key when stored or powered off again.

데이터의 암호/복호화에 필요한 암호/복호키는 필요한 경우에 한하여 메모리로부터 읽혀진 후, 비밀번호에 대한 해쉬값을 이용하여 복호화되어 임시적으로 메모리에서 활용되고, 곧 스와핑(Swapping)되거나 기타 이미지 파일을 생성시키지 않고 소멸된다.The encryption / decryption key needed for data encryption / decryption is read from memory only when necessary, and then decrypted using the hash value of the password to be temporarily used in memory, which does not cause swapping or other image files. It is destroyed without.

그러나, 두 번째 또는 세 번째에 의한 데이터 보안방법을 이용하더라도 다음과 같은 단점이 존재하게 된다.However, even if the second or third data security method is used, the following disadvantages exist.

우선, 비밀번호 해쉬값 또는 데이터의 암호/복호화에 이용되는 암호/복호키가 장치의 메모리 중 어느 위치에 저장되어 있는 지 유출되는 경우에는 보안이 불가능해진다. 즉, 불법적으로 장치를 취득한 자가 장치의 메모리 등을 분해하여 분석하거나 크래킹하는 경우에는 비밀번호에 대한 해쉬값 또는 암호/복호키를 알아낼수 있으므로, 보안이 불완전해진다는 것이다. 즉, 데이터에 접근할 수 있게 하는 정보(해쉬값, 암호/복호키)가 장치 내에 저장되어 있기 때문에, 완전한 보안이 불가능하다는 것이다.First, if the password hash value or the encryption / decryption key used for encrypting / decrypting data is stored in the memory of the device, security becomes impossible. In other words, when an illegally acquired device analyzes or cracks a device's memory or the like, the hash value of the password or the encryption / decryption key can be found, thereby incomplete security. In other words, since information (hash values, encryption / decryption keys) that allow access to data is stored in the device, complete security is not possible.

또한, 모든 데이터를 동일한 방식으로 보호하므로, 데이터의 보안정도에 대한 고려가 전혀 이루어지지 않는다는 것이다. 예를 들면, 비교적 보안 필요성이 작은 데이터에 대해서는 간단하고 신속한 보안 알고리즘을, 보안 필요성이 높은 데이터에 대해서는 엄격한 보안 알고리즘을 적용할 필요가 있다는 것이다. 보안 알고리즘을 적용할 경우, 시간이 소요되고 사용자로 하여금 불편함을 느끼게 할 수 있으므로, 보안과 사용의 편리성을 함께 도모하기 위하여 데이터별로 상이한 보안 방식을 적용할 필요가 있다는 것이다.Also, because all data is protected in the same way, no consideration is given to the security of the data. For example, it is necessary to apply simple and fast security algorithms for data with relatively low security needs and strict security algorithms for data with high security needs. When applying a security algorithm, it may take time and make the user feel uncomfortable. Therefore, it is necessary to apply a different security method for each data in order to promote both security and ease of use.

한편, 최근 무선 통신이 가능한 모바일 컴퓨팅 장치가 널리 이용됨에 따라, 모바일 컴퓨팅 장치의 데이터를 중앙 서버에서 관리할 수 있는 방법 및 시스템이 도입되고 있다. 이와 관련하여 본 출원인이 출원한 제 호 한국출원에서는 웹서버, 인터넷을 통하여 상기 웹서버와 통신할 수 있는 1 이상의 데이터 통신 장비(Data Communication Device)로 이루어지는 시스템을 이용한 데이터 통합관리 및 공유방법을 개시하고 있다.Meanwhile, recently, as a mobile computing device capable of wireless communication is widely used, methods and systems for managing data of the mobile computing device in a central server have been introduced. In this regard, the Korean application filed by the present applicant discloses a data integrated management and sharing method using a system consisting of one or more data communication devices capable of communicating with the web server through a web server and the Internet. Doing.

본 발명은 이러한 점에 착안한 것으로, 전술한 데이터 통합관리 방법과 컴퓨팅 장치내에 있는 데이터에 대한 계층별 또는 등급별 보안방식을 도입함으로써, 보안성 및 사용의 편리성 모두를 확보하고자 하는 것이다.The present invention has been made in view of the above, and by introducing the above-mentioned data integrated management method and the security method for each layer or class for the data in the computing device, to secure both security and ease of use.

본 발명의 목적은 컴퓨팅 장치의 데이터에 대한 등급별 또는 계층별 보안방법을 제공하는 것이다.It is an object of the present invention to provide a class or layer security method for data of a computing device.

본 발명의 다른 목적은 모바일 컴퓨팅 장치의 데이터를 보안 필요성에 따라 계층별로 구분하고, 각 계층에 각각 상이한 보안 알고리즘을 적용함으로써, 보안성 및 사용의 편리성을 동시에 확보할 수 있는 데이터 보안방법을 제공하는 것이다.Another object of the present invention is to classify data of a mobile computing device into layers according to security needs, and to apply a different security algorithm to each layer, thereby providing a data security method capable of simultaneously securing security and convenience of use. It is.

도 1은 본 발명에 의한 계층별 데이터 보안방법이 수행되는 컴퓨팅 장치의 구성을 개략적으로 도시한다.1 schematically illustrates a configuration of a computing device in which a layered data security method according to the present invention is performed.

도 2는 본 발명에 의한 계층별 데이터 보안방법의 전체적인 흐름을 개략적으로 도시하는 도면이다.2 is a diagram schematically showing the overall flow of the data security method for each layer according to the present invention.

도 3은 본 발명의 제 1 방식에 의한 보안 알고리즘, 즉 가장 보안 필요도가 낮은 데이터 레벨(레벨 3)에 대한 보안 알고리즘을 설명하기 위한 도면이다.3 is a diagram for describing a security algorithm according to the first method of the present invention, that is, a security algorithm for a data level (level 3) having the lowest security need.

도 4는 본 발명의 제 2 방식에 의한 보안 알고리즘, 즉 보안 필요도가 중간인 데이터 보안 레벨(레벨 2)에 대한 보안 알고리즘을 설명하기 위한 도면이다.4 is a diagram for describing a security algorithm according to the second method of the present invention, that is, a security algorithm for a data security level (level 2) having a moderate security need.

도 5는 본 발명의 제 3 방식에 의한 보안 알고리즘, 즉 보안 필요도가 가장 높은 레벨 1의 데이터에 대한 보안 알고리즘을 설명하기 위한 도면이다.FIG. 5 is a diagram for describing a security algorithm according to a third method of the present invention, that is, a security algorithm for level 1 data having the highest security need.

도 6은 생명시간을 이용한 또다른 보안 알고리즘의 예를 설명하기 위한 도면이다.6 is a diagram for explaining an example of another security algorithm using life time.

전술한 바와 같은 목적을 달성하기 위하여, 본 발명에 의한 컴퓨팅 장치의 계층별 데이터 보안방법은 다음과 같은 특징을 가진다.In order to achieve the above object, the layered data security method of the computing device according to the present invention has the following features.

보안 관리 프로그램 모듈을 구비한 컴퓨팅 장치의 계층별 데이터 보안방법으로서,A data security method for each layer of a computing device having a security management program module,

장치에 대한 사용자 인증 및/또는 장치 접근 허용 후, 상기 보안관리 프로그램 모듈은 장치의 어플리케이션 프로그램으로부터 특정 데이터에 대한 접근 요청이 있는 경우 상기 접근 요청된 데이터의 보안 등급을 확인하는 보안등급 확인단계After user authentication and / or device access to the device, the security management program module checks the security level of the requested data when there is a request for access to specific data from the application program of the device

상기 확인된 보안 등급에 따라 미리 정해져 있는 소정의 보안 알고리즘을 수행하여 해당 데이터에 대한 접근 인증을 수행하는 보안 알고리즘 수행단계Performing a predetermined security algorithm according to the checked security level to perform an access authentication on the corresponding data;

상기 보안 알고리즘 수행 결과, 접근 인증이 된 경우에 한하여 해당 데이터로의 접근을 허용하는 데이터 처리 단계를 포함한다.As a result of performing the security algorithm, the method may include a data processing step of allowing access to the corresponding data only when the access is authenticated.

상기 보안 레벨의 확인은 컴퓨터 장치 또는 외부 서버에 저장되어 있는 메타 데이터(Meta Data)를 참조함으로써 수행될 수 있다. 이러한 메타 데이터는 데이터에 관한 기본적인 정보, 예를 들면 데이터 제목, 작성자, 작성일시, 보안레벨 등에관한 정보를 포함하고 있는 파일을 의미한다. 메타 데이터는 XML(eXtensible Markup Language)등의 태그를 활용하여 해당 데이터내에 일부분으로 존재할 수도 있고, 또는 다른 메타파일로 존재할 수 있다. 메타 데이터는 적절한 인증을 거친 권한을 받은 자 또는 장치에 의해서만 편집될 수 있다.The verification of the security level may be performed by referring to meta data stored in a computer device or an external server. This metadata means a file that contains basic information about the data, such as data title, author, creation date and time, security level, and the like. Meta data may exist as part of the data by using a tag such as XML (eXtensible Markup Language), or may exist as another metafile. Metadata can only be edited by authorized personnel or devices.

상기 보안 알고리즘 수행단계 및 데이터 처리 단계에서는 다음과 같은 3가지 방식이 단독 또는 혼용되어 적용될 수 있다.In the security algorithm performing step and data processing step, the following three methods may be applied alone or in combination.

우선, 제 1 보안 방식은 각 데이터에 대한 개별 인증 없이 장치내에 저장된 암호/복호키를 추출 또는 산출하는 제 1 단계와, 추출 또는 산출된 암호/복호키를 이용하여 해당 데이터를 복호화하여 어플리케이션 프로그램으로 전달하는 제 2 단계를 포함하여 구성될 수 있다.First, the first security method is a first step of extracting or calculating an encryption / decryption key stored in the device without individual authentication for each data, and decrypting the corresponding data by using the extracted or calculated encryption / decryption key to the application program. It may comprise a second step of delivering.

제 2 보안 방식은 컴퓨팅 장치와 연동되어 있는 외부 서버 또는 장치로부터 장치 또는 사용자 인증을 받는 제 1 단계와, 외부 서버 또는 장치로부터 데이터 복호화에 필요한 암호/복호키를 전송받는 제 2 단계, 및 전송 받은 암호/복호키를 이용하여 해당 데이터를 복호화하여 상기 어플리케이션 프로그램으로 전달하는 제 3 단계를 포함하여 구성될 수 있다.The second security method includes a first step of receiving device or user authentication from an external server or device interworking with a computing device, a second step of receiving an encryption / decryption key for decrypting data from the external server or device, and receiving And a third step of decrypting the corresponding data using the encryption / decryption key and transferring the data to the application program.

제 3 보안 방식은 컴퓨팅 장치와 연동되어 있는 외부 서버 또는 장치로부터 사용자 또는 장치 인증을 받는 제 1 단계와, 외부 서버 또는 장치로부터 데이터 복호화에 필요한 암호/복호키를 전송받는 제 2 단계, 및 전송받은 암호/복호키를 이용하여 해당 데이터를 복호화하여 상기 어플리케이션 프로그램으로 전달하는 제 3 단계와, 접근 요청된 데이터에 부여된 생명시간(Lifetime)이 종료되었는지 감시하고, 생명시간의 만료가 임박한 경우에는 사용자로 하여금 생명시간 연장용 비밀번호를 입력하도록 하는 제 4 단계와, 생명시간 연장용 비밀번호(또는 비밀번호의 해쉬값)가 일치하는 경우에 생명시간 연장요청을 상기 외부서버로 전송하는 제 5 단계와, 외부 서버에 의하여 생명시간 연장이 승인된 경우에 한하여 상기 데이터의 생명시간을 연장·갱신하고 계속하여 해당 데이터에 대한 접근을 허용하는 제 6 단계로 이루어진다.The third security method includes a first step of authenticating a user or a device from an external server or device interworking with a computing device, a second step of receiving an encryption / decryption key for decrypting data from the external server or device, and A third step of decrypting the corresponding data using an encryption / decryption key and transferring the data to the application program; and monitoring whether the lifetime given to the data requested for access has ended, and if the expiration of the lifetime is imminent. A fourth step of causing the user to enter a life time extension password, and a fifth step of transmitting a life time extension request to the external server when the life time extension password (or a hash value of the password) is identical; If the life time extension is approved by the server, the life time of the data is extended and renewed. This is followed by a sixth step that allows access to the data.

물론, 상기 제 3 보안방식은 특정 데이터에 대한 접근 요청이 있는 경우에만 수행될 수 있는 것은 아니다. 즉, 상기 보안관리 프로그램은 장치에 저장되어 있는 데이터의 생명시간(Lifetime)을 감시하고 있다가, 생명시간의 만료가 임박한 경우에는 사용자로 하여금 생명시간 연장용 비밀번호를 입력하도록 하고, 생명시간 연장용 비밀번호가 일치하는 경우에 생명시간 연장요청을 상기 외부서버로 전송하며, 생명시간 연장요청이 인증된 경우에 한하여 해당 데이터의 생명시간을 갱신하는 단계를 추가로 구비할 수 있다.Of course, the third security method may not be performed only when there is a request for access to specific data. That is, the security management program monitors the life time of the data stored in the device, and if the expiration of the life time is imminent, prompting the user to enter a life time extension password, When the passwords match, the life time extension request is transmitted to the external server, and the life time extension request may be further updated only when the life time extension request is authenticated.

즉, 생명시간이 부여된 중요 데이터에 대해서는, 데이터에 대한 접근이 이루어지고 있는지에 무관하게 항상 생명시간(Lifetime)이 만료되는지 모니터링하고, 만료되는 데이터에 대한 연장을 수행하는 것이다.That is, for vital data given life time, whether life time expires is always monitored regardless of whether access to data is being performed, and extension of expired data is performed.

또한, 필요한 경우에는 상기 데이터 처리 단계 이후에 소정 주기마다 사용자 인증을 수행하고, 사용자 재인증이 된 경우에 한하여 상기 데이터 처리단계를 계속 수행하도록 하며, 사용자 재인증에 실패한 경우에는 데이터 처리를 종료하고 처리되던 데이터를 암호화하여 저장하는 사용자 재인증 단계를 추가로 포함할 수 있다.In addition, if necessary, the user authentication is performed every predetermined period after the data processing step, and the data processing step is continued only when the user re-authentication is performed. If the user re-authentication fails, the data processing is terminated. The method may further include a user reauthentication step of encrypting and storing the processed data.

또한, 상기 데이터 처리 단계 이후에, 데이터에 대한 작업이 종료되거나 장치의 전원이 OFF되는 경우에는 그 시점에서의 데이터를 암호화하여 저장하도록 하는 것이 바람직하다.In addition, after the data processing step, when the work on the data is finished or the power of the device is turned off, it is preferable to encrypt and store the data at that time.

여기서, 데이터에 대한 "접근(Access)" 또는 "처리방식"은 데이터의 열람(Open), 수정(Edit), 쓰기(Write), 삭제(Delete), 복사(Copy) 이외에, 다른 컴퓨팅 장치로의 전송(Transfer)을 포함하는 넓은 개념으로 이해되어야 할 것이다.Here, "access" or "processing" for data refers to other computing devices, in addition to opening, editing, writing, deleting, and copying the data. It should be understood as a broad concept involving transfer.

또한, 모든 데이터는 암호화되기 전에 압축(Compression; pkzip 등을 이용)하는 것이 바람직하며, 장치가 한 번 꺼진 후 다시 켜지는 경우 이전과 다른 암호/복호키를 이용하는 것이 바람직하다. 즉, 장치가 다시 켜진 후에 최초로 데이터에 접근하여 복호화할 때에는 이전의 암호/복호키를 사용하지만, 데이터를 다시 저장할 때에는 새로운 암호/복호키를 생성하여 이용하는 것이다. 이 때, 새로운 암호/복호키는 의사난수 생성기(Pseudo Random Number Generator)에서 생성된 난수와, 오늘의 시간 등의 특정 정보와, 기존의 시드(Seed)정보를 결합(예를 들면, XOR 등을 이용하여)한 후 이를 다시 해싱(Hashing)하거나 암호화(Encryption)함으로써 만들어 질 수 있다. 이 때 최초의 시드(Seed) 정보는 사용자의 입력행위, 즉 키스트로우크(Key Stroke)나 마우스의 움직임을 기초로 추출된 난수일 수 있다.It is also desirable to compress all data prior to being encrypted (using pkzip, etc.), and to use a different encryption / decryption key than before if the device is turned off once and then turned on again. That is, the first encryption / decryption key is used to access and decrypt data for the first time after the device is turned on again, but a new encryption / decryption key is generated and used when storing the data again. At this time, the new encryption / decryption key combines random information generated by a pseudo random number generator, specific information such as today's time, and existing seed information (for example, XOR, etc.). And then hash it again or encrypt it. In this case, the first seed information may be a random number extracted based on a user's input behavior, that is, a key stroke or a mouse movement.

이렇게 함으로써, 컴퓨팅 장치내에 저장되는 데이터의 계층별 또는 레벨별 보안이 가능하게 됨으로써 데이터 보안의 효율성 및 신뢰성을 향상시킬 수 있게 된다.By doing so, the hierarchical or level security of data stored in the computing device is enabled, thereby improving the efficiency and reliability of data security.

이하에서는 첨부되는 도면을 참고로 본 발명의 실시예에 대하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention.

도 1은 본 발명에 의한 계층별 데이터 보안방법이 수행되는 컴퓨팅 장치의 구성을 개략적으로 도시한다.1 schematically illustrates a configuration of a computing device in which a layered data security method according to the present invention is performed.

본 발명이 적용되는 컴퓨팅 장치는, 중앙연산장치(CPU; 110)와, 키보드 또는 터치스크린과 같은 입력장치(120), 모니터 또는 액정화면과 같은 출력장치(130), 데이터를 저장하기 위한 저장공간으로서의 메모리(140) 이외에, 본 발명에 의한 등급별 데이터 보안 알고리즘을 구현하기 위한 보안 관리 프로그램 모듈(150)이 구비되어 있다. 또한, 컴퓨팅 장치에서 데이터에 대한 접근(Access)이 필요한 다수의 어플리케이션 프로그램(160)이 구비되어 있다.The computing device to which the present invention is applied includes a central computing unit (CPU) 110, an input device 120 such as a keyboard or a touch screen, an output device 130 such as a monitor or a liquid crystal screen, and a storage space for storing data. In addition to the memory 140, a security management program module 150 for implementing a graded data security algorithm according to the present invention is provided. In addition, a plurality of application programs 160 that require access to data in a computing device are provided.

또한, 외부 서버로의 연동을 위하여 무선통신칩과 같은 데이터 송수신 모듈(170)이 추가로 구비되어 있을 수 있다.In addition, a data transmission / reception module 170 such as a wireless communication chip may be further provided for interworking with an external server.

이러한 보안관리 프로그램 모듈(150)은 하드웨어 또는 소프트웨어 어느 쪽으로도 구현될 수 있으나, 모든 장치에 공통으로 적용될 수 있도록 소프트웨어적으로 구현되는 것이 바람직하다.The security management program module 150 may be implemented in either hardware or software. However, the security management program module 150 may be implemented in software so as to be commonly applied to all devices.

본 발명이 이용될 수 있는 컴퓨팅 장치(100)는 중요 데이터를 저장하고 있어서 보안이 필요한 모든 장치를 포함하며, 예를 들면, 휴대폰, PDA, 핸드헬드 PC(Handheld PC), 노트북, 개인용컴퓨터(PC) 등이 될 수 있다.Computing device 100 in which the present invention can be used includes all the devices that need security because it stores important data, for example, a mobile phone, a PDA, a handheld PC, a notebook, a personal computer (PC). ), Etc.

따라서, 상기 입력장치(120)는 키보드, 마이크로폰과 같은 음성입력장치, 터치스크린, 터치펜 등 어떠한 수단도 될 수 있으며, 출력장치는 CRT, TFT 또는 LCD 모니터 등이 될 수 있다.Accordingly, the input device 120 may be any means such as a keyboard, a voice input device such as a microphone, a touch screen, a touch pen, and the like, and the output device may be a CRT, a TFT, or an LCD monitor.

또한, 상기 장치의 종류에 따라 적당한 운영체제가 구축되어 있어야 한다. 이러한 운영체제(OS)는 예를 들면, PC 또는 노트북의 경우에는 Windows, Linux, DOS 등이 될 수 있고, PDA의 경우에는 Win CE, Linux OS, Cellvic OS, Palm OS 등이 될 수 있다. 또한, 데이터에 대한 접근이 필요한 어플리케이션 프로그램(160)은 예를 들면, 워드프로세서, 주소록 프로그램, 웹브라우저(WAP 또는 ME와 같은)등이 될 수 있다.In addition, an appropriate operating system should be built according to the type of the device. Such an operating system (OS) may be, for example, Windows, Linux, DOS in the case of a PC or a notebook, and Win CE, Linux OS, Cellvic OS, Palm OS, or the like in the case of a PDA. In addition, the application program 160 requiring access to data may be, for example, a word processor, an address book program, a web browser (such as WAP or ME), or the like.

본 발명에 사용되는 컴퓨팅 장치(100) 내에 저장되어 있는 모든 데이터는 입출력장치에서 입력/출력되는 기간을 제외하고는 항상 암호화되어 있는 상태에 있는 것이 바람직하다. 즉, 어떤 데이터를 출력장치(스크린 등)에서 보고자 요청하는 경우, 중앙연산장치는 요청이 있는 때에 비로소 메모리(RAM, 플래시롬, 하드디스크 등)에서 해당 데이터를 불러와 복호화하여 출력장치에 디스플레이한다.All data stored in the computing device 100 used in the present invention is preferably in an encrypted state except for a period of input / output in the input / output device. That is, when a request is made to view some data on an output device (screen, etc.), the central processing unit retrieves the corresponding data from the memory (RAM, FlashROM, hard disk, etc.) and displays the data on the output device at the request. .

이 때, 복호화된 데이터는 스크린(출력장치)과 디스플레이용 임시 메모리에만 있게 되며, 디스플레이가 끝나면 임시 메모리에 있던 복호화된 데이터는 즉시 삭제(Delete)된다. 여기서, "삭제(Delete)"라 함은 파일목록 테이블(File Allocation Table; FAT)에서 목록을 삭제하는 단순한 방식이 아니고, 원래 데이터에 "010101…" 시퀀스 또는 난수로 1회 이상 덮어쓰고(Overwrite), 파일목록 테이블에서도 제거하는 것을 의미한다.At this time, the decrypted data exists only in the screen (output device) and the temporary memory for display, and when the display is finished, the decrypted data in the temporary memory is immediately deleted. Here, "Delete" is not a simple method of deleting a list from a File Allocation Table (FAT), but overwriting the original data one or more times with a "010101…" sequence or a random number. This means removing them from the file list table.

또한, 입력장치(120)를 이용하여 복호화된 데이터에 대한 편집을 수행하고, 편집된 데이터를 다시 저장하는 경우에도, 사용자가 저장명령을 내리면 그 즉시 암호화되어 메모리에 저장된다.In addition, even when the decrypted data is edited using the input device 120 and the edited data is stored again, when the user gives a storage command, the data is immediately encrypted and stored in the memory.

본 명세서에서는 데이터를 암호화 또는 복호화 할 때 대칭키(Symmetric Key) 기반의 암호 알고리즘을 이용하는 것이 바람직하다. 대칭키 기반의 암호알고리즘으로는 DES, IDEA, AES, SEED 등이 있으며, 대칭키 기반의 암호 알고리즘에서는 암호화 할 때 및 복호화 할 때 동일한 키를 이용한다.In the present specification, it is preferable to use an encryption algorithm based on a symmetric key when encrypting or decrypting data. Symmetric algorithms based on symmetric keys include DES, IDEA, AES, SEED, etc. In the symmetric key-based encryption algorithm, the same key is used for encryption and decryption.

도 2는 본 발명에 의한 계층별 데이터 보안방법의 전체적인 흐름을 개략적으로 도시하는 도면이다.2 is a diagram schematically showing the overall flow of the data security method for each layer according to the present invention.

우선, 비밀번호 입력 등을 통하여 사용자 인증(S211, S212) 및 장치에 대한 접근 허락(S213)이 된 경우, 사용자는 필요한 어플리케이션 프로그램을 선택하여 실행한다(S214).First, when the user authentication (S211, S212) and the access permission (S213) to the device through the password input or the like, the user selects and executes the required application program (S214).

사용자가 어플리케이션 프로그램을 이용하여 특정 데이터에 대한 접근을 요청하는 경우(S215), 상기 보안관리 프로그램 모듈이 해당 데이터 접근요청을 인터럽트(Interrupt)하여 해당 데이터의 보안등급을 확인한다(S216). 보안등급의 확인은 해당 데이터의 메타 데이터를 참조함으로써 수행할 수 있다.When the user requests access to specific data using an application program (S215), the security management program module interrupts the data access request and checks the security level of the corresponding data (S216). The security level can be checked by referring to the metadata of the data.

본 실시예에서는 중요도에 따라 데이터를 3 단계의 보안레벨로 구분된 예를 도시하고 있으나, 이에 한정되는 것은 아니며 더 많거나 적은 레벨로 나뉘어질 수 있다. 레벨 1이 가장 중요한 데이터로 보안성이 가장 높다고 가정하고, 레벨 3은 가장 낮은 보안등급이라 가정하였다.In this embodiment, the data is divided into three levels of security according to importance, but the present invention is not limited thereto and may be divided into more or less levels. It is assumed that level 1 is the most important data and the highest security level, and level 3 is the lowest security level.

보안관리 프로그램 모듈은 접근 요청된 데이터의 보안 레벨을 확인한 후에는, 해당 데이터의 보안 레벨에 따라 적합한 보안 알고리즘을 수행하고(S217 내지S219), 인증이 된 경우에 한하여 데이터에 대한 접근을 허락한다. 레벨 1 내지레벨 3에 대한 각각의 보안 및 데이터 처리 알고리즘은 도 3 내지 도 5를 참고로 아래에서 더 상세하게 설명한다.After checking the security level of the data requested for access, the security management program module executes an appropriate security algorithm according to the security level of the corresponding data (S217 to S219), and permits access to the data only in case of authentication. Respective security and data processing algorithms for levels 1 to 3 are described in more detail below with reference to FIGS.

또한, 보안성을 향상시키기 위하여, 필요한 경우에는 주기적으로 사용자 인증을 수행할 수 있다(S220). 예를 들면, 소정 시간 간격으로 비밀번호 등을 입력하게 하여 사용자 인증을 하고, 인증이 성공한 경우에 한하여 데이터 처리를 계속 허용한다. 주기적 사용자 인증에서 실패하는 경우에는 강제로 모든 임시파일 및 변수를 삭제하고, 데이터를 실행하고 있던 어플리케이션 프로그램에 처리 종료신호를 전송하여, 처리되고 있던 데이터를 암호화하여 저장하고 장치를 잠금상태로 한 후 전원을 OFF 할 수 있다(S221. S222).In addition, in order to improve security, user authentication may be periodically performed when necessary (S220). For example, user authentication is performed by inputting a password or the like at predetermined time intervals, and data processing is allowed only when authentication is successful. If periodic user authentication fails, forcibly delete all temporary files and variables, send a processing termination signal to the application program that was executing the data, encrypt and save the processed data, and lock the device. The power can be turned off (S221. S222).

이렇게 주기적으로 사용자 재인증(비밀번호 입력)을 함으로써 장치가 사용자 없이 오래 켜져 있는 경우, 또는 켜진 상태에서 분실된 경우 비인가자에 의한 불법 사용을 방지할 수 있다. 이 때, 주기는 데이터의 속성에 의하여 정해질 수 있다. 즉, 중요한 데이터일수록 더 자주 사용자 재인증을 수행할 수 있다는 것이다.By periodically re-authenticating the user (password entry), it is possible to prevent illegal use by unauthorized persons when the device is turned on for a long time without a user or when it is lost. At this time, the period may be determined by the attribute of the data. In other words, the more sensitive data is, the more often user re-authentication can be performed.

데이터에 대하여 보안등급을 부여하는 자는 원데이터의 생성자라고 가정한다.It is assumed that the grantor of the security level for the data is the creator of the original data.

또한, 이상에서는 데이터에 보안 등급이 할당되어 있다고 가정하였으나, 각 어플리케이션 프로그램에 보안등급을 부여하여도 유사한 목적을 달성할 수 있다.In addition, although the above assumes that a security level is assigned to the data, a similar purpose can be achieved by assigning a security level to each application program.

도 3은 본 발명의 제 1 방식에 의한 보안 알고리즘, 즉 가장 보안 필요도가 낮은 데이터 레벨(레벨 3)에 대한 보안 알고리즘을 설명하기 위한 도면이다.3 is a diagram for describing a security algorithm according to the first method of the present invention, that is, a security algorithm for a data level (level 3) having the lowest security need.

접근 요청된 데이터의 보안 레벨이 레벨 3인 경우에는 일상적인 데이터 처리를 수행한다. 우선 장치의 메모리에 저장되어 있던 암호/복호키(Keydata)를 추출 또는 산출하고(S311), 그 암호/복호키를 이용하여 요청된 데이터를 복호화 한다(S312). 복호화된 데이터는 일단 출력되고(S313), 이후에 어플리케이션에 의하여 요청된 처리방식에 따라 처리된다. 즉, 요청된 처리방식이 "읽기(Read)" 또는 "열람(Open)"인 경우에는 복호화된 데이터를 단순히 출력하며(S315), 요청된 처리방식이 "쓰기(Write)" 또는 "편집(Edit)"인 경우에는 그 때의 데이터를 암호화하여 저장한다(S316).If the security level of the requested data is level 3, routine data processing is performed. First, an encryption / decryption key (Keydata) stored in the memory of the device is extracted or calculated (S311), and the requested data is decrypted using the encryption / decryption key (S312). The decrypted data is once output (S313) and then processed according to the processing method requested by the application. That is, when the requested processing method is "Read" or "Open", the decrypted data is simply output (S315), and the requested processing method is "Write" or "Edit (Edit). ), The data at that time is encrypted and stored (S316).

또한, 요청된 처리방식이 "삭제(Delete)", "복사(Copy)", "전송(Transfer)"인 경우에는 해당 프로세스를 수행한다(S317).In addition, when the requested processing method is "Delete", "Copy", "Transfer", the corresponding process is performed (S317).

그러나, 보안성을 높이기 위하여, "삭제", "복사", "전송"과 같이 중요한 접근방식에 대해서는 별도로 사용자 인증을 받은 후에 하도록 할 수도 있다(S318, S319).However, in order to increase security, important approaches such as "delete", "copy", and "transfer" may be performed after user authentication is separately performed (S318 and S319).

제 1 보안 알고리즘에서, 중앙연산장치(CPU) 또는 어플리케이션 프로그램이 데이터의 읽기(Read) 등을 요청할 때에는, 이를 출력으로 디스플레이하거나 또는 프로그램 내부에서 해당 데이터를 중간데이터(Intermediate Data)로 사용하기 위함이다. 따라서, 복호화된 데이터가 출력되거나 프로그램 내부에서 중간데이터로 활용되는 경우 모두 영구적으로 저장되지는 않는다.In the first security algorithm, when the central processing unit (CPU) or an application program requests reading of data, etc., it displays the output or uses the data as intermediate data within the program. . Therefore, when the decoded data is output or used as intermediate data in the program, not all of them are permanently stored.

또한, 제 1 보안 알고리즘에서 데이터의 암호/복호화에 사용되는 암호/복호키(Keydata)는 암호화되어 장치의 메모리에 저장되어 있는 것이 바람직하다. 이렇게, 암호/복호키를 암호화하는 일실시예를 살펴보면 다음과 같다.In addition, in the first security algorithm, an encryption / decryption key (Keydata) used for encryption / decryption of data is preferably encrypted and stored in the memory of the device. Thus, an embodiment of encrypting an encryption / decryption key is as follows.

우선, 사용자의 임의의 입력행위, 예를 들면, 키입력(Key Stroke)간격, 터치스크린 입력 행위 등을 기초로 임의의 난수(Random Number)를 생성하여 이를 데이터에 대한 암호/복호키(Keydata)로 이용한다. 이러한, 암호/복호키는 그대로 메모리에 저장하면 유출될 우려가 있기 때문에, 사용자 인증에 이용되는 비밀번호의 해쉬값 H(password)을 키로 하여 암호/복호키(Keydata)를 암호화함으로써 암호화된 암호/복호키 Eth(Keydata)를 생성하여 메모리의 특정 공간에 저장한다. 이를 정리하면 다음과 같다.First, a random random number is generated based on a user's arbitrary input behavior, for example, a key stroke interval, a touch screen input behavior, and the like, and a cryptographic / decryption key for data is generated. Use as. If the encryption / decryption key is stored in the memory as it is, it may be leaked. Therefore, the encryption / decryption is encrypted by encrypting the encryption / decryption key with the hash value H (password) of the password used for user authentication. Generates a key Eth (Keydata) and stores it in a specific space in memory. This is summarized as follows.

- 비밀번호에 대한 해쉬값 : H(password)-Hash value for password: H (password)

- 데이터 암호/복호키 : Keydata-Data encryption / decryption key: Keydata

- 암호화된 데이터 암호/복호키 : Eth (Keydata)-Encrypted data encryption / decryption key: Eth (Keydata)

데이터 암호/복호키인 Keydata를 암호화할 때 사용되는 키인 H(password)의 크기는 암호화 알고리즘에 따라 조정될 필요가 있다. 예를 들면, 데이터 암호/복호키 Keydata를 AES 암호 알고리즘으로 암호화 하는 경우 암호키는 128비트가 필요하지만, 비밀번호를 해쉬할 때 SHA-1 방식을 이용하였다면 160비트의 해쉬값이 생성된다. 따라서, 이러한 경우에는 해쉬값 중 데이터 암호/복호키를 암호화하는 데 필요한 키의 길이만큼, 즉 위의 예의 경우 해쉬값 160비트 중 앞의 128비트만 사용할 수 있을 것이다.The size of H (password), which is a key used to encrypt Keydata, which is a data encryption / decryption key, needs to be adjusted according to the encryption algorithm. For example, when encrypting data encryption / decryption keydata with AES encryption algorithm, encryption key requires 128 bits, but if SHA-1 is used to hash password, 160-bit hash value is generated. Therefore, in this case, only the first 128 bits of the hash value 160 bits may be used as long as the length of the key needed to encrypt the data encryption / decryption key among the hash values.

이렇게, 암호/복호키가 암호화되어 저장되어 있는 경우에는, 제 1 보안 알고리즘을 수행하기 위하여 일단 암호화된 암호/복호키(Eth(Keydata))를 불러와서 Keydata = E-1kh(Eth(Keydata))과 같은 수식을 이용하여 암호/복호키 Keydata를 산출한 후 사용하여야 한다.Thus, when the encryption / decryption key is encrypted and stored, once the encrypted encryption / decryption key (Eth (Keydata)) is retrieved to perform the first security algorithm, Keydata = E-1kh (Eth (Keydata)). It should be used after calculating the encryption / decryption key data using the following formula.

또한, 제 1 알고리즘에의한 데이터 처리 도중에 전원이 꺼지거나, 데이터에 대한 처리가 정상적으로 종료된 경우에는, 자동으로 현재의 데이터를 암호화하여 저장하는 것이 바람직하다(S320).In addition, when the power is turned off during the data processing by the first algorithm or the processing for the data is normally completed, it is preferable to automatically encrypt and store the current data (S320).

도 4는 본 발명의 제 2 방식에 의한 보안 알고리즘, 즉 보안 필요도가 중간인 데이터 보안 레벨(레벨 2)에 대한 보안 알고리즘을 설명하기 위한 도면이다.4 is a diagram for describing a security algorithm according to the second method of the present invention, that is, a security algorithm for a data security level (level 2) having a moderate security need.

레벨 2의 데이터에 대한 제 2 보안 알고리즘 및 데이터 처리방식에서는 컴퓨팅 장치 내에 데이터 암호/복호키(Keydata)가 저장되어 있지 않은 것으로 가정한다. 즉, 데이터의 암호/복호키는 외부 장치에서 전송 받아야 하며, 외부로부터 정당한 암호/복호키를 전송 받지 못하는 한 장치 내의 데이터는 절대적으로 안전하다.The second security algorithm and data processing scheme for level 2 data assumes that no data encryption / decryption key (Keydata) is stored in the computing device. That is, data encryption / decryption key must be transmitted from an external device, and data in the device is absolutely secure unless a valid encryption / decryption key is transmitted from the outside.

구체적으로 살펴보면, 우선 접근 요청된 데이터의 보안레벨이 레벨 2인 경우, 보안 관리 프로그램 모듈은 레벨 2 데이터 처리 세션(Session)을 개시한 후(S411), 외부 서버에 암호/복호키 전송요청을 한다(S412). 암호/복호키 전송 요청시에는 외부 서버가 장치 또는 사용자를 인증할 수 있도록, 인증 정보를 함께 전송한다. 물론, 필요한 경우에는 인증정보 이외에 해당 데이터의 식별 정보를 함께 전송할 수도 있다(S412).In detail, when the security level of the data requested for access is level 2, the security management program module initiates a level 2 data processing session (S411), and then transmits an encryption / decryption key request to an external server. (S412). When the encryption / decryption key transmission request is requested, the authentication information is transmitted together so that the external server can authenticate the device or the user. Of course, if necessary, the identification information of the corresponding data may be transmitted together with the authentication information (S412).

서버와 장치가 통신하는 통신선로 또는 채널은 보안이 유지된 VPN 또는 특수보안 채널과 같은 씨큐어 터널(Secure Tunnel)로서 통신 보안이 유지되는 것으로 가정한다.The communication line or channel through which the server and device communicate is assumed to be secured as a secure tunnel, such as a secure VPN or a special secure channel.

장치가 서버로부터 자신을 인증받기 위하여 다음과 같은 방식이 이용될 수 있다. 우선, 장치와 외부 서버간에 비대칭 암호화 기법이 이용되고 있는 경우에는 전자서명을 이용할 수 있고, 장치와 외부 서버간에 대칭형 암호화 기법이 이용되고있는 경우에는 장치와 외부 서버가 서로 공유하고 있는 비밀정보에 타임스탬프(Time Stamp)를 첨가하여 해쉬한 값과 평문(Plain Text)으로 타임스탬프를 함께 보내고, 외부 서버는 이를 이용하여 장치에 대한 인증을 수행할 수 있다.The following manner may be used for the device to authenticate itself from the server. First, if the asymmetric encryption method is used between the device and the external server, the electronic signature can be used. If the symmetric encryption method is used between the device and the external server, the secret information shared by the device and the external server can be timed. By adding a time stamp, the timestamp is sent together with the hashed value and plain text, and an external server can use it to authenticate the device.

외부 서버가 전술한 방식으로 사용자 또는 장치를 정당하게 인증하게 되면, 외부서버는 자신이 저장하고 있던 암호/복호키를 장치로 전송해주고 장치는 그를 수신한다(S414).When the external server legitimately authenticates the user or the device in the above-described manner, the external server transmits the encryption / decryption key stored in the device to the device (S414).

물론, 장치에 대한 인증이 되지 않은 경우에는 단순히 암호/복호키를 전송하지 않을 수도 있지만, 확실한 보안을 위하여 소위 "자폭신호"를 장치로 전송하여 장치내에 있는 모든 프로그램 및/또는 데이터를 삭제하도록 할 수도 있다(S423).Of course, if the device is not authenticated, it may not simply transmit an encryption / decryption key, but for the sake of security, a so-called "suicide signal" may be sent to the device to delete all programs and / or data in the device. It may also be (S423).

인증 성공에 의하여 암호/복호키가 장치로 전송된 후에는, 전술한 제 1 보안 알고리즘과 유사한 방식으로 데이터 처리가 이루어진다. 즉, 외부 서버로부터 전송받은 암호/복호키(Keydata)를 이용하여 요청된 데이터를 복호화하여 일단 출력한다(S415). 복호화한 데이터는 요청된 처리방식에 따라 처리된다. 즉, 요청된 처리방식이 "읽기(Read)" 또는 "열람(Open)"인 경우에는 복호화된 데이터를 단순히 출력하며(S417), 요청된 처리방식이 "쓰기(Write)" 또는 "편집(Edit)"인 경우에는 그 때의 데이터를 암호화하여 저장한다(S418).After the encryption / decryption key is transmitted to the device due to the successful authentication, data processing is performed in a manner similar to the first security algorithm described above. That is, the data is decrypted and output once using the encryption / decryption key (Keydata) received from the external server (S415). The decrypted data is processed according to the requested processing scheme. That is, if the requested processing method is "Read" or "Open", the decrypted data is simply output (S417), and the requested processing method is "Write" or "Edit (Edit). ), The data at that time is encrypted and stored (S418).

또한, 요청된 처리방식이 "삭제(Delete)", "복사(Copy)", "전송(Transfer)"인 경우에는 해당 프로세스를 수행한다. 그러나, 보안성을 높이기 위하여, "삭제", "복사", "전송"과 같이 중요한 접근방식에 대해서는 별도로 사용자 인증을 받은 후에 하도록 할 수도 있다(S419 내지 S421).In addition, if the requested processing method is "Delete", "Copy", "Transfer", the corresponding process is performed. However, in order to increase security, important approaches such as "delete", "copy", and "transfer" may be performed after receiving user authentication separately (S419 to S421).

또한, 도시하지는 않았지만, 제 2 보안 알고리즘에서는 레벨 2 데이터 처리 세션이 종료될 때에 암호/복호키를 폐기함으로써, 레벨 2의 데이터 암호/복호키가 장치내에 저장되는 것을 원천적으로 차단하여야 한다.In addition, although not shown, the second security algorithm must essentially block the level 2 data encryption / decryption key from being stored in the device by discarding the encryption / decryption key at the end of the level 2 data processing session.

이상에서는 제 2 보안 알고리즘에서 암호/복호키를 제공하는 주체로 "외부 서버"를 예로 들었으나, 이에 한정되는 것은 아니며, 스마트카드(Smart Card), IC카드, SIM(Subscriber Identification Module) 카드 또는 기타 다른 외부 장치로부터 암호/복호키를 제공받을 수도 있을 것이다.In the above, the "external server" is used as an example for providing an encryption / decryption key in the second security algorithm, but is not limited thereto. A smart card, an IC card, a subscriber identification module (SIM) card, or the like may be used. It may be provided with an encryption / decryption key from another external device.

도 5는 본 발명의 제 3 방식에 의한 보안 알고리즘, 즉 보안 필요도가 가장 높은 레벨 1의 데이터에 대한 보안 알고리즘을 설명하기 위한 도면이다.FIG. 5 is a diagram for describing a security algorithm according to a third method of the present invention, that is, a security algorithm for level 1 data having the highest security need.

제 3 보안 알고리즘은 가장 보안등급이 높은 레벨 1 데이터에 대한 보안방법으로서, 제 2 보안 알고리즘과 유사하게 장치내에 암호/복호키(Keydata)가 저장되어 있지 않다는 것을 가정한다. 각각의 레벨 1 데이터에는 생명시간(Lifetime)과 생명시간 연장용 비밀번호가 할당되어 있다.The third security algorithm is a security method for the highest security level 1 data, and assumes that no encryption / decryption key (Keydata) is stored in the device similarly to the second security algorithm. Each Level 1 data is assigned a Lifetime and Lifetime Extension password.

제 3 보안 알고리즘 및 데이터 처리방식을 구체적으로 살펴보면 다음과 같다.The third security algorithm and data processing method will be described in detail as follows.

우선 제 2 보안 알고리즘과 마찬가지로, 보안 관리 프로그램 모듈은 접근 요청된 데이터의 보안레벨이 레벨 1임을 확인하고, 레벨 1 데이터 처리세션(Session)을 개시한 후, 외부 서버에 암호/복호키 전송요청을 한다. 암호/복호키 전송 요청시에는 외부 서버가 장치 또는 사용자를 인증할 수 있도록, 인증 정보를 함께 전송한다. 이 때, 인증 정보는 제 2 보안 알고리즘과 같이, 비대칭 암호화 기법에서의 전자서명을 이용하거나, 대칭형 암호화 기법에서의 비밀정보에 타임스탬프(Timestamp)를 첨가하여 해쉬한 값과 평문(Plain Text)형식의 타임스탬프를 이용할 수 있다. 물론, 구체적으로 어떠한 정보를 비밀정보로 할 것인가는 장치와 서버가 미리 지정하도록 한다.First, as in the second security algorithm, the security management program module confirms that the security level of the data requested for access is level 1, initiates a level 1 data processing session, and then sends an encryption / decryption key transmission request to an external server. do. When the encryption / decryption key transmission request is requested, the authentication information is transmitted together so that the external server can authenticate the device or the user. At this time, the authentication information, like the second security algorithm, uses a digital signature in an asymmetric encryption scheme, or adds a timestamp to the secret information in a symmetric encryption scheme and forms a plain text format. A timestamp of is available. Of course, the device and the server designate in advance what information is confidential.

외부 서버가 전술한 방식으로 사용자 또는 장치를 정당하게 인증하게 되면, 외부서버는 자신이 저장하고 있던 암호/복호키를 장치로 전송해준다.When the external server legitimately authenticates the user or the device in the above-described manner, the external server transmits the stored encryption / decryption key to the device.

물론, 장치에 대한 인증이 되지 않은 경우에는 단순히 암호/복호키를 전송하지 않을 수도 있지만, 확실한 보안을 위하여 소위 "자폭신호"를 장치로 전송하여 장치내에 있는 모든 프로그램 및/또는 데이터를 삭제하도록 할 수도 있다.Of course, if the device is not authenticated, it may not simply transmit an encryption / decryption key, but for the sake of security, a so-called "suicide signal" may be sent to the device to delete all programs and / or data in the device. It may be.

인증 성공에 의하여 암호/복호키가 장치로 전송된 후에는, 데이터 처리가 이루어진다. 즉, 외부 서버로부터 전송받은 암호/복호키(Keydata)를 이용하여 요청된 데이터를 복호화 한다. 복호화한 데이터는 요청된 처리방식에 따라 처리된다. 즉, 요청된 처리방식이 "읽기(Read)" 또는 "열람(Open)"인 경우에는 복호화된 데이터를 출력하며, 요청된 처리방식이 "쓰기(Write)" 또는 "편집(Edit)"인 경우에는 그 때의 데이터를 암호화하여 저장한다.After the encryption / decryption key is transmitted to the device by the successful authentication, data processing is performed. That is, the requested data is decrypted using the encryption / decryption key (Keydata) received from the external server. The decrypted data is processed according to the requested processing scheme. That is, when the requested processing method is "Read" or "Open", the decrypted data is output. When the requested processing method is "Write" or "Edit." The data at that time is encrypted and stored.

또한, 요청된 처리방식이 "삭제(Delete)", "복사(Copy)", "전송(Transfer)"인 경우에는 해당 프로세스를 수행한다. 그러나, 보안성을 높이기 위하여, "삭제","복사", "전송"과 같이 중요한 접근방식에 대해서는 별도로 사용자 인증을 받은 후에 하도록 할 수도 있다.In addition, if the requested processing method is "Delete", "Copy", "Transfer", the corresponding process is performed. However, in order to increase security, important approaches such as "delete", "copy", and "transfer" may be performed after a separate user authentication.

이상의 절차는 제 2 보안 알고리즘과 동일하므로 도시를 생략하였다.Since the above procedure is the same as the second security algorithm, illustration is omitted.

그 다음으로, 한번 인증된 데이터에 대한 처리를 계속 수행하는 제 2 보안 알고리즘과 달리, 보안 관리 프로그램 모듈 내의 보안데몬(Security Daemon)이 해당 데이터의 생명시간(Lifetime)을 계속하여 모니터링 한다. 해당 데이터 생명시간의 만료가 임박하면(S511), 사용자에게 생명시간 연장신청을 하도록 경고하고, 생명시간 연장용 비밀번호를 입력하게 한다(S512). 이러한 보안데몬(Security Daemon)은 사용자가 삭제/중지시킬 수 없는 시스템 소프트웨어이다.Next, unlike the second security algorithm that continues to process the data once authenticated, a security daemon in the security management program module continuously monitors the lifetime of the data. If the expiration of the corresponding data life time is imminent (S511), the user is warned to apply for a life time extension, and enters a password for life time extension (S512). This security daemon is a system software that cannot be deleted / stopped by the user.

생명시간을 연장하려면, 보안 데몬의 생명시간 연장용 비밀번호 입력요청에 따라, 사용자가 생명시간 연장용 비밀번호를 입력하고(S513), 보안데몬은 비밀번호가 맞는지 확인한 후(S514), 외부 서버로 생명시간 연장 요청을 전송한다(S515). 물론, 입력된 생명시간 연장용 비밀번호가 저장된 값과 일치하지 않는 경우에는 해당 데이터에 대한 처리를 중단하고, 데이터를 암호화하여 저장하거나, 데이터를 삭제하는 등의 행위를 수행한다(S516, S523).To extend the life time, according to the password input request for extending the life time of the security daemon, the user enters the life time extension password (S513), the security daemon checks whether the password is correct (S514), life time to the external server The extension request is transmitted (S515). Of course, if the input password for extending the life time does not match the stored value, the processing for the corresponding data is stopped, the data is encrypted and stored, or the data is deleted (S516, S523).

서버로의 생명시간 연장 요청 시에는 장치의 인증을 위한 인증정보 및 데이터 식별정보를 함께 전송한다(S515). 생명시간 연장용 인증정보는 암호/복호키를 받기 위한 인증정보와 동일 또는 유사한 방식을 이용할 수 있다. 즉, 전자서명이나, 비밀정보+타임스탬프의 해쉬값 및 평문 타임스탬프값을 이용할 수 있다.When the life time extension request is made to the server, the authentication information and data identification information for authentication of the device are transmitted together (S515). The authentication information for extending the life time may use the same or similar method as the authentication information for receiving the encryption / decryption key. In other words, a digital signature, a hash value of secret information + timestamp, and a plain text timestamp value can be used.

이 때, 생명시간 연장용 비밀번호는 사용자 또는 장치 인증용 비밀번호와 같을 수도 있고 다를 수도 있다.At this time, the life time extension password may be the same as or different from the user or device authentication password.

외부 서버는 생명시간 연장 승인이 가능한 지 판단한 후(S517), 연장이 가능한 경우에는 새로운 생명시간 정보를 장치로 전송하고(S518), 장치는 해당 데이터의 생명시간을 갱신하고 계속하여 사용할 수 있도록 한다(S519).After the external server determines whether the life time extension is approved (S517), if the extension is possible, the new life time information is transmitted to the device (S518), and the device updates the life time of the corresponding data and continues to use it. (S519).

생명시간 연장이 불가능한 경우에는 외부 서버가 추가 대응 요구를 장치로 전송한다(S520). "추가 대응 요구"란 생명시간 연장이 불가능한 경우 장치가 수행해야 할 동작에 대한 명령으로서, 예를 들면, 단순히 데이터를 암호화하여 저장하거나, 사용자에게 추가적인 질문을 하거나, 데이터 삭제 후 장치 전원을 OFF 하도록 하는 명령일 수 있다(S521).If it is impossible to extend the life time, the external server transmits an additional response request to the device (S520). "Additional response request" is a command for an action that a device should take if it is impossible to extend its lifespan. For example, simply encrypt the data and store it, ask the user additional questions, or turn off the device after deleting the data. It may be a command (S521).

물론, 레벨 1에 대한 처리가 정상적으로 종료되었거나(S522), 생명시간 연장용 비밀번호의 인증 및 서버로 부터의 생명시간 연장 승인에 실패한 경우에는, 장치는 처리되고 있던 데이터를 암호화한 후 저장하고(S523), 해당 레벨 1 데이터의 암호/복호키를 삭제한다.Of course, if the processing for level 1 has ended normally (S522), or if the authentication of the life extension password and the approval of the life extension from the server have failed, the device encrypts and stores the data being processed (S523). ), Deletes the encryption / decryption key of the corresponding Level 1 data.

즉, 생명시간을 이용한 제 3 보안 알고리즘에서는 서버로부터 암호/복호키를 가져오기 위한 1차 인증과, 생명시간을 연장하기 위한 승인을 받기 위한 2차 인증을 수행함으로써 보안성을 향상시키는 것이다.That is, in the third security algorithm using life time, the security is improved by performing the first authentication for obtaining the encryption / decryption key from the server and the second authentication for obtaining the approval for extending the life time.

전술한 바와 같이, 생명시간을 이용한 보안 알고리즘은 반드시 해당 데이터가 처리되고 있는 도중에만 적용될 수 있는 것은 아니다.As described above, the security algorithm using life time may not necessarily be applied only while the corresponding data is being processed.

도 6은 생명시간을 이용한 또다른 보안 알고리즘의 예를 설명하기 위한 도면이다.6 is a diagram for explaining an example of another security algorithm using life time.

장치에 대한 접근 허락을 받은 상태에서(S611, S612), 보안데몬은 레벨 1의 모든 데이터(현재 처리되고 있지 않은 데이터도 포함한다)에 대한 생명시간을 모니터링 한다(S613). 특정 데이터의 생명시간 만료가 임박한 경우(S614), 사용자에게 생명시간 연장용 비밀번호의 입력을 요청한다. 사용자가 생명시간 연장용 비밀번호를 입력하면(S615), 보안 데몬은 저장되어 있던 생명시간 연장용 비밀번호와 비교하여 일치하는지 판단한다(S616). 이 때 보안을 위하여 일반적인 비밀번호를 이용하지 않고, 생명시간 연장용 비밀번호를 해싱하여 저장하여 두고, 입력된 비밀번호의 해쉬값과 비교하도록 하여도 된다.With permission to access the device (S611, S612), the security daemon monitors the life time for all data of the level 1 (including data not currently being processed) (S613). When the life time expiration of the specific data is imminent (S614), the user is requested to input a life time extension password. If the user enters the password for extending the life time (S615), the security daemon compares with the stored life time extension password and determines whether it matches (S616). In this case, instead of using a general password for security, the password for life time extension may be hashed and stored and compared with a hash value of the input password.

생명시간 연장용 비밀번호가 일치하는 경우에는, 보안 데몬은 전자서명 또는 타임스탬프 등을 이용한 사용자 인증정보와 해당 데이터 식별정보를 외부 서버로 전송함으로써, 생명시간 연장 요청을 한다(S617). 외부 서버는 사용자 인증을 하고, 해당 데이터의 레벨 확인, 생명시간 확인 등을 통하여 생명시간 연장 승인 여부를 판단한다(S618).When the life time extension passwords match, the security daemon transmits a user time extension request by transmitting user authentication information and corresponding data identification information using an electronic signature or a time stamp to an external server (S617). The external server authenticates the user and determines whether the life time extension is approved by checking the level of the corresponding data and checking the life time (S618).

생명시간 연장이 승인되면 외부 서버는 새로운 생명시간 정보를 장치로 전송해주고, 장치는 해당 데이터의 생명시간 정보를 새로운 생명시간 정보로 갱신·저장한다.(S620). 생명시간 연장 승인이 불가능한 경우, 외부 서버는 장치로 "추가 대응 요구"를 전송하고, 장치는 추가 대응 요구에 따라 장치의 전원을 OFF 하는 등의 추가 동작을 수행한다(S619).If the life time extension is approved, the external server transmits new life time information to the device, and the device updates and stores the life time information of the corresponding data with new life time information (S620). When it is impossible to extend the life time, the external server transmits an "additional response request" to the device, and the device performs an additional operation such as turning off the device according to the additional response request (S619).

제 3 보안 알고리즘에서의 생명시간(Lifetime)은, 보안의 필요성 및 사용 편의성을 고려하여, 사용자 또는 관리자에 의하여 유동적으로 정해질 수 있다.Lifetime in the third security algorithm may be flexibly determined by a user or an administrator in consideration of security needs and ease of use.

이상에서는 해당 데이터가 장치내에 저장되어 있는 것으로 가정하였으나, 데이터는 외부의 데이터 동기 서버(Synchronization Server)에 저장되어 있고, 장치가 실제적으로 이용하고자 하는 경우에 비로소 복호화 되어 장치로 전송되도록 하여도 된다.In the above, it is assumed that the data is stored in the apparatus, but the data is stored in an external data synchronization server, and may be decoded and transmitted to the apparatus only when the apparatus is actually used.

제 2 및 제 3 보안 알고리즘을 수행하기 위한 "외부 서버" 또는 "데이터 동기 서버"는 인터넷망, 유·무선통신망 등을 통하여 장치와 연동되어 있는 장치를 의미하는 것으로, 장치와 데이터의 송수신할 수 있고 아래와 같은 기능을 가지는 한 어떠한 형태라도 무방할 것이다.The "external server" or "data synchronization server" for performing the second and third security algorithms refers to a device that is linked to the device through an internet network, a wired / wireless communication network, and the like. And as long as it has the following functions:

즉, 외부 서버에는 연동된 장치 또는 사용자별 신상정보, 동기시킬 데이터, 데이터에 대한 메타파일 등을 저장하고 있는 데이터베이스가 구축되어 있어야 하며, 장치로부터 받은 인증 정보 등을 이용하여 사용자 인증 및 생명시간 연장 승인을 판단하는 제어수단이 구비되어 있어야 할 것이다. 이러한 데이터 동기서버의 구성에 대해서는 본 출원인의 제2000-39327호 한국출원에 개시되어 있으므로, 여기서는 상세한 설명을 생략한다.In other words, the external server must have a database that stores linked device or user-specific information, data to be synchronized, and metafiles for the data, and user authentication and life time extension using authentication information received from the device. There should be controls for judging approval. Since the configuration of the data synchronization server is disclosed in Korean Patent Application No. 2000-39327 of the applicant, detailed description thereof will be omitted here.

본 발명은 이상에서 설명된 3 단계의 보안 등급 구분 및 제 1 내지 제 3 보안 알고리즘의 적용에 한정되는 것은 아니며, 컴퓨팅 장치의 중요 데이터를 보안 등급별로 구분하고 각 등급에 적합한 보안 알고리즘을 적용하는 모든 방식을 포함하는 개념으로 이해되어야 할 것이다.The present invention is not limited to the three levels of security classification described above and the application of the first to third security algorithms, and all of which classify important data of the computing device into security levels and apply a security algorithm suitable for each level. It should be understood as a concept involving the method.

본 발명을 이용하면, 저장되는 모든 데이터를 암호화하여 저장·관리하고,출력되는 경우에 한시적으로 복호화하여 보여줌으로써, 보안성을 더욱 향상시킬 수 있다.According to the present invention, security can be further improved by encrypting, storing, and managing all stored data, and decrypting and displaying the data temporarily when it is output.

또한, 중요도 또는 보안 필요성에 따라 컴퓨팅 장치의 데이터를 복수 등급으로 나누고, 각 등급에 적합한 특정 보안 알고리즘을 적용시킴으로써, 데이터 보안성 및 사용 편의성을 동시에 도모할 수 있다.In addition, by dividing the data of the computing device into multiple classes according to importance or security needs, and applying a specific security algorithm suitable for each class, data security and ease of use can be simultaneously achieved.

또한, 데이터의 암호/복호키를 장치가 아닌 외부 서버에 저장하여 둠으로써, 장치를 불법적으로 취득하여 크래킹하더라도 데이터에 대한 접근을 방지할 수 있고, 특정 데이터에는 생명시간(Lifetime)을 부여하여 감시함으로써 보안성을 향상시킬 수 있다.In addition, by storing the encryption / decryption key of the data on an external server instead of the device, even if the device is illegally acquired and cracked, access to the data can be prevented, and specific data is monitored by giving a lifetime. This can improve security.

Claims (10)

보안 관리 프로그램 모듈을 구비한 컴퓨팅 장치의 계층별 데이터 보안방법으로서,A data security method for each layer of a computing device having a security management program module, 장치에 대한 사용자 인증 및/또는 장치 접근 허용 후, 상기 보안관리 프로그램 모듈은 장치의 어플리케이션 프로그램으로부터 특정 데이터에 대한 접근 요청이 있는 경우 상기 접근 요청된 데이터의 보안 등급을 확인하는 보안등급 확인단계After user authentication and / or device access to the device, the security management program module checks the security level of the requested data when there is a request for access to specific data from the application program of the device 상기 확인된 보안 등급에 따라 미리 정해져 있는 소정의 보안 알고리즘을 수행하여 해당 데이터에 대한 접근 인증을 수행하는 보안 알고리즘 수행단계Performing a predetermined security algorithm according to the checked security level to perform an access authentication on the corresponding data; 상기 보안 알고리즘 수행 결과, 접근 인증이 된 경우에 한하여 해당 데이터로의 접근을 허용하는 데이터 처리 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.And a data processing step of allowing access to the corresponding data only when the access is authenticated as a result of performing the security algorithm. 제 1 항에 있어서,The method of claim 1, 특정 등급의 데이터에 대한 보안 알고리즘 수행단계 및 데이터 처리단계는,Security algorithm execution step and data processing step for a specific level of data, 특정 등급내의 각 데이터에 대한 개별 인증 없이 장치 내에 저장된 암호/복호키를 추출 또는 산출하는 제 1 단계와,A first step of extracting or calculating an encryption / decryption key stored in the device without individual authentication for each data within a particular class; 추출 또는 산출된 암호/복호키를 이용하여 해당 데이터를 복호화하여 어플리케이션 프로그램으로 전달하는 제 2 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.And a second step of decrypting the corresponding data by using the extracted / calculated encryption / decryption key and transmitting the decrypted data to the application program. 제 2 항에 있어서,The method of claim 2, 특정 등급의 데이터에 대한 보안 알고리즘 수행단계 및 데이터 처리단계는,Security algorithm execution step and data processing step for a specific level of data, 상기 컴퓨팅 장치와 연동되어 있는 외부 서버 또는 장치로부터 장치 또는 사용자 인증을 받는 제 1 단계와,A first step of receiving device or user authentication from an external server or device interworking with the computing device; 외부 서버 또는 장치로부터 데이터 복호화에 필요한 암호/복호키를 전송받는 제 2 단계, 및A second step of receiving an encryption / decryption key for decrypting data from an external server or device, and 전송 받은 암호/복호키를 이용하여 해당 데이터를 복호화하여 상기 어플리케이션 프로그램으로 전달하는 제 3 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.And a third step of decrypting the corresponding data using the received encryption / decryption key and transmitting the decrypted data to the application program. 제 1 항 내지 제 3 항 중 하나의 항에 있어서,The method according to any one of claims 1 to 3, 특정 등급의 데이터에 대한 보안 알고리즘 수행단계 및 데이터 처리단계는,Security algorithm execution step and data processing step for a specific level of data, 컴퓨팅 장치와 연동되어 있는 외부 서버 또는 장치로부터 사용자 또는 장치 인증을 받는 제 1 단계와,A first step of authenticating a user or a device from an external server or device interworking with the computing device, 외부 서버 또는 장치로부터 데이터 복호화에 필요한 암호/복호키를 전송받는 제 2 단계,A second step of receiving an encryption / decryption key for decrypting data from an external server or device, 전송받은 암호/복호키를 이용하여 해당 데이터를 복호화하여 상기 어플리케이션 프로그램으로 전달하는 제 3 단계와,A third step of decrypting the corresponding data using the received encryption / decryption key and delivering the data to the application program; 접근 요청된 데이터에 부여된 생명시간(Lifetime)이 종료되었는지 감시하고,생명시간의 만료가 임박한 경우에는 사용자로 하여금 생명시간 연장용 비밀번호를 입력하도록 하는 제 4 단계와,A fourth step of monitoring whether the life time assigned to the data requested for access has expired, and if the life time is about to expire, forcing the user to enter a password for extending the life time; 생명시간 연장용 비밀번호가 일치하는 경우에 생명시간 연장요청을 상기 외부 서버 또는 장치로 전송하는 제 5 단계와,A fifth step of transmitting a life time extension request to the external server or device when the life time extension password matches; 상기 외부 서버 또는 장치에 의하여 생명시간 연장요청이 인증된 경우에 한하여 상기 데이터의 생명시간을 연장·갱신하고 계속하여 해당 데이터에 대한 접근을 허용하는 제 6 단계를 포함하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.And a sixth step of extending and updating the life time of the data and allowing access to the data continuously only when the life time extension request is authenticated by the external server or device. Rating data security methods. 제 4 항에 있어서,The method of claim 4, wherein 상기 보안관리 프로그램은 장치에 저장되어 있는 데이터 중 현재 처리되고 있지 않은 데이터의 생명시간(Lifetime)을 감시하고 있다가, 생명시간의 만료가 임박한 경우에는 사용자로 하여금 생명시간 연장용 비밀번호를 입력하도록 하고, 생명시간 연장용 비밀번호가 일치하는 경우에 생명시간 연장요청을 상기 외부서버로 전송하며, 생명시간 연장 승인이 된 경우에 한하여 해당 데이터의 생명시간을 갱신·저장하는 단계를 추가로 구비하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.The security management program monitors the lifetime of data that is not currently being processed among the data stored in the device, and when the expiration of the lifetime is imminent, the user inputs a password for extending the lifetime. In addition, the life time extension request is transmitted to the external server if the life time extension password is matched, and the life time extension of the corresponding data is only provided if the life time extension is approved. A data security method for each class of computing device. 제 4 항에 있어서,The method of claim 4, wherein 상기 데이터 처리 단계 이후에 소정 주기마다 사용자 인증을 수행하고, 사용자 재인증이 된 경우에 한하여 상기 데이터 처리단계를 계속 수행하도록 하며, 사용자 재인증에 실패한 경우에는 데이터 처리를 종료하고 처리되던 데이터를 암호화하여 저장하는 사용자 재인증 단계를 추가로 포함하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.After the data processing step, the user authentication is performed at predetermined intervals, and the data processing step is continued only when the user re-authentication is performed. If the user re-authentication fails, the data processing is terminated and the processed data is encrypted. And storing the user re-authentication step. 제 4 항에 있어서,The method of claim 4, wherein 상기 데이터 처리 단계 이후에, 데이터에 대한 처리 작업이 종료되거나 장치의 전원이 OFF되는 경우에는 그 시점에서의 데이터를 암호화하여 저장하는 단계를 추가로 포함하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.After the data processing step, if the processing of the data is terminated or the power of the device is turned off, further comprising the step of encrypting and storing the data at the time point of the data security method of the computing device, characterized in that . 제 4 항에 있어서,The method of claim 4, wherein 상기 장치가 한 번 꺼진 후 다시 켜진 후에 최초로 데이터에 접근할 때에는 꺼지기 이전에 저장된 이전 암호/복호키를 사용하고, 데이터를 다시 저장할 때에는 새로운 암호/복호키를 생성하여 이용하는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.When the device is first turned off and then turned on again, the first access to the data is performed by using the previous encryption / decryption key stored before it is turned off, and when storing the data again, a new encryption / decryption key is generated and used. Rating data security methods. 제 8 항에 있어서,The method of claim 8, 상기 새로운 암호/복호키는The new encryption / decryption key 의사난수 생성기(Pseudo Random Number Generator)에서 생성된 난수와, 현재 시간정보를 포함하는 특정 정보, 및 키스트로우크(Key Stroke), 마우스의 움직임,터치스크린의 입력정보 중 하나 이상을 기초로 추출되는 난수인 기존의 시드(Seed)정보를 결합한 후, 해싱(Hashing)하거나 암호화(Encryption)함으로써 생성되는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.Extracted based on one or more of random information generated by a pseudo random number generator, specific information including current time information, and key stroke, mouse movement, and touch screen input information. A method of classifying data security of a computing device, characterized by being generated by hashing or encrypting existing seed information which is a random number. 제 1 항에 있어서,The method of claim 1, 상기 보안 레벨의 확인은 컴퓨터 장치 또는 외부 서버에 저장되어 있는 메타 데이터(Meta Data)를 참조함으로써 수행되는 것을 특징으로 하는 컴퓨팅 장치의 등급별 데이터 보안 방법.The checking of the security level is performed by referring to meta data stored in a computer device or an external server.
KR1020020025958A 2002-05-10 2002-05-10 Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications KR20030087874A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020025958A KR20030087874A (en) 2002-05-10 2002-05-10 Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020025958A KR20030087874A (en) 2002-05-10 2002-05-10 Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications

Publications (1)

Publication Number Publication Date
KR20030087874A true KR20030087874A (en) 2003-11-15

Family

ID=32382392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020025958A KR20030087874A (en) 2002-05-10 2002-05-10 Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications

Country Status (1)

Country Link
KR (1) KR20030087874A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100449493B1 (en) * 2002-11-05 2004-09-22 한국전자통신연구원 Apparatus and method for encrypted information and data of user authentication based on mac and rbac
KR100915589B1 (en) * 2007-07-12 2009-09-07 엔에이치엔비즈니스플랫폼 주식회사 Security authentication system and method
US8489888B2 (en) 2008-03-06 2013-07-16 Samsung Electronics Co., Ltd. Processor apparatus having a security function
WO2022196931A1 (en) * 2021-03-15 2022-09-22 삼성전자주식회사 Method for controlling clipboard and electronic device for performing same method
CN117278252A (en) * 2023-08-17 2023-12-22 武汉易通商融信息技术有限公司 Big data based secure information sharing processing method, system and storage medium
CN117633849A (en) * 2024-01-26 2024-03-01 枣庄矿业集团新安煤业有限公司 Intelligent control method and system for whole flow of coal mine operation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0816967A2 (en) * 1996-07-03 1998-01-07 Sun Microsystems, Inc. Secure file system
KR19990060313A (en) * 1997-12-31 1999-07-26 윤종용 How to check password by grade in transmission system
KR19990083720A (en) * 1999-06-26 1999-12-06 우상규 Apparatus and Method for realtime encrypting and realtime decrypting data according to the level of user
KR100380853B1 (en) * 2000-11-03 2003-04-18 주식회사 엠키 A graded security policy setting method for authentication and non-repudiation in mobile data communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0816967A2 (en) * 1996-07-03 1998-01-07 Sun Microsystems, Inc. Secure file system
KR19990060313A (en) * 1997-12-31 1999-07-26 윤종용 How to check password by grade in transmission system
KR19990083720A (en) * 1999-06-26 1999-12-06 우상규 Apparatus and Method for realtime encrypting and realtime decrypting data according to the level of user
KR100380853B1 (en) * 2000-11-03 2003-04-18 주식회사 엠키 A graded security policy setting method for authentication and non-repudiation in mobile data communication

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100449493B1 (en) * 2002-11-05 2004-09-22 한국전자통신연구원 Apparatus and method for encrypted information and data of user authentication based on mac and rbac
KR100915589B1 (en) * 2007-07-12 2009-09-07 엔에이치엔비즈니스플랫폼 주식회사 Security authentication system and method
US8489888B2 (en) 2008-03-06 2013-07-16 Samsung Electronics Co., Ltd. Processor apparatus having a security function
WO2022196931A1 (en) * 2021-03-15 2022-09-22 삼성전자주식회사 Method for controlling clipboard and electronic device for performing same method
CN117278252A (en) * 2023-08-17 2023-12-22 武汉易通商融信息技术有限公司 Big data based secure information sharing processing method, system and storage medium
CN117633849A (en) * 2024-01-26 2024-03-01 枣庄矿业集团新安煤业有限公司 Intelligent control method and system for whole flow of coal mine operation
CN117633849B (en) * 2024-01-26 2024-04-12 枣庄矿业集团新安煤业有限公司 Intelligent control method and system for whole flow of coal mine operation

Similar Documents

Publication Publication Date Title
US7802112B2 (en) Information processing apparatus with security module
US8918633B2 (en) Information processing device, information processing system, and program
US8572392B2 (en) Access authentication method, information processing unit, and computer product
US9166796B2 (en) Secure biometric cloud storage system
US6845908B2 (en) Storage card with integral file system, access control and cryptographic support
US9003177B2 (en) Data security for digital data storage
US7587608B2 (en) Method and apparatus for storing data on the application layer in mobile devices
US11258591B2 (en) Cryptographic key management based on identity information
CN112425114B (en) Password manager protected by public key-private key pair
US20040039932A1 (en) Apparatus, system and method for securing digital documents in a digital appliance
KR101078546B1 (en) Apparatus for coding and decoding of security data file based on data storage unit idedtification, system for electronic signature using the same
JP5354001B2 (en) Information processing apparatus, information processing system, and program
KR20080065661A (en) A method for controlling access to file systems, related system, sim card and computer program product for use therein
CN104239820A (en) Secure storage device
CN109547215B (en) Document information protection method based on mobile terminal fingerprint
CN109936546B (en) Data encryption storage method and device and computing equipment
JPH11306088A (en) Ic card and ic card system
CN101473332A (en) Method, system and program for processing document
TWI724681B (en) Managing cryptographic keys based on identity information
Chen et al. A novel DRM scheme for accommodating expectations of personal use
US7694154B2 (en) Method and apparatus for securely executing a background process
KR20030087874A (en) Multi-level Security Method for Data on Computing Device based on security levels assigned to data or applications
JP2004213265A (en) Electronic document management device, document producer device, document viewer device, and electronic document management method and system
CN107967432B (en) Safe storage device, system and method
CN111815821B (en) IC card security algorithm applied to intelligent door lock

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application