KR101899901B1 - 데이터베이스 보안 방법 - Google Patents

데이터베이스 보안 방법 Download PDF

Info

Publication number
KR101899901B1
KR101899901B1 KR1020180048913A KR20180048913A KR101899901B1 KR 101899901 B1 KR101899901 B1 KR 101899901B1 KR 1020180048913 A KR1020180048913 A KR 1020180048913A KR 20180048913 A KR20180048913 A KR 20180048913A KR 101899901 B1 KR101899901 B1 KR 101899901B1
Authority
KR
South Korea
Prior art keywords
matrix
character
cryptographic
character strings
order
Prior art date
Application number
KR1020180048913A
Other languages
English (en)
Inventor
송군섭
Original Assignee
송군섭
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 송군섭 filed Critical 송군섭
Priority to KR1020180048913A priority Critical patent/KR101899901B1/ko
Application granted granted Critical
Publication of KR101899901B1 publication Critical patent/KR101899901B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 데이터베이스 보안 방법에 관한 것으로서, 본 발명에 따른 데이터베이스 보안 방법은 수신된 문자 열을 4개의 문자 수로 나누어 4개의 문자 열들을 생성하는 단계, 상기 4개의 문자 열들을 첫번째 행부터 4번째 행 순서대로 배열하여 4X4 매트릭스로 변환하는 단계, 상기 4X4 매트릭스에서 i(i는 자연수)번째 행에 속한 문자 열을 i번째 열로 재배열하는 단계, 상기 재배열된 4X4 매트릭스에서 각 엘리먼트를 다른 엘리먼트로 대체하는 단계, 상기 대체된 4X4 매트릭스에서 첫번째 행과 마지막 행을 교환하고, 첫번째 열과 마지막 열을 교환하며, 상기 대체된 4X4 매트릭스에서 교환되지 않은 엘리먼트들 중 대각선으로 대응되는 구성요소들끼리 서로 교환하는 단계, 및 상기 교환된 4X4 매트릭스에서 각 엘리먼트를 쉬프팅하는 단계를 포함한다.
본 발명에 따른 데이터베이스 보안 방법은 세로운 데이터베이스 보안 방법을 제안함으로써 데이터베이스의 보안이 강화될 수 있다.

Description

데이터베이스 보안 방법{Database security method and apparatus}
본 발명은 데이터베이스 보안 방법에 관한 것으로서, 보다 상세하게는 데이터베이스의 보안을 강화할 수 있는 데이터베이스 보안 방법에 관한 것이다.
데이터베이스란 조직된 데이터의 집합이다. 데이터베이스의 보안은 데이터베이스의 내용, 소유자, 및 사용자 등을 보호할 수 있는 모든 것들을 의미한다. 데이터베이스의 보안은 의도적인 허가되지 않은 권리자의 데이터베이스 사용부터 비의도적인 의도적인 허가되지 않은 권리자의 데이터베이스 접근을 포함한다. 특히, 데이터베이스는 조직, 군대, 개인, 또는 정부에서 중요하다. 데이터베이스 보안을 위해 데이터베이스에 대한 접근 제어와 인증이 필요하다. 데이터베이스의 보안을 위해 데이터베이스 암호화는 접근 제어를 위한 가능한 방법들 중 하나이다. 종래에도 데이터베이스의 보안을 위해 다양한 데이터베이스 암호화 기법들이 있었지만, 종래의 데이터베이스 암호화 기법들도 암호화하는데 오랜 시간이 걸리는 문제, 보안의 향상 문제 등 다양한 문제점들 여전히 가지고 있다. 따라서 데이터베이스를 효율적으로 암호화하기 위한 방법의 제안이 필요하다.
본 발명은 이러한 문제점을 해결하기 위한 것으로서, 새로운 데이터베이스 보안 방법 및 장치를 제안한다.
본 발명에 따른 데이터베이스 보안 방법은 수신된 문자 열을 4개의 문자 수로 나누어 4개의 문자 열들을 생성하는 단계, 상기 4개의 문자 열들을 첫번째 행부터 4번째 행 순서대로 배열하여 4X4 매트릭스로 변환하는 단계, 상기 4X4 매트릭스에서 i(i는 자연수)번째 행에 속한 문자 열을 i번째 열로 재배열하는 단계, 상기 재배열된 4X4 매트릭스에서 각 엘리먼트를 다른 엘리먼트로 대체하는 단계, 상기 대체된 4X4 매트릭스에서 첫번째 행과 마지막 행을 교환하고, 첫번째 열과 마지막 열을 교환하며, 상기 대체된 4X4 매트릭스에서 교환되지 않은 엘리먼트들 중 대각선으로 대응되는 구성요소들끼리 서로 교환하는 단계, 및 상기 교환된 4X4 매트릭스에서 각 엘리먼트를 쉬프팅하는 단계를 포함한다.
실시 예에 따라 상기 데이터베이스 보안 방법은 상기 4개의 문자 열들이 생성되지 않을 때, 4개의 문자 열들을 생성하기 위해 적어도 어느 하나 이상의 특수 문자를 삽입하는 단계를 더 포함할 수 있다.
상기 4X4 매트릭스에서 각 엘리먼트를 다른 엘리먼트로 대체하는 단계는 다음의 수학식에 의해 계산된다. 상기 수학식은 a[i]'=(((s1+a[i])*Mod 26+s2)Mod 26이다. 상기 a[i]는 상기 4X4 매트릭스에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 a[i]'는 대치된 후 4X4 매트릭스에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 i는 자연수, 상기 s1는 제1암호키, 상기 s2는 제2암호키, Mod는 나머지 값을 구하는 함수를 나타낸다.
상기 교환된 4X4 매트릭스에서 각 엘리먼트를 쉬프팅하는 단계는 상기 교환된 4X4 매트릭스에서 각 엘리먼트의 문자 배열 순서와 각 엘리먼트의 배열 순서를 이용하여 쉬프팅된다.
본 발명에 따른 데이터베이스 보안 장치는 수신된 문자 열을 4개의 문자 수로 나누어 4개의 문자 열들을 생성하고, 상기 4개의 문자 열들을 첫번째 행부터 4번째 행 순서대로 배열하여 4X4 매트릭스로 변환하는 변환 모듈, 상기 4X4 매트릭스에서 i(i는 자연수)번째 행에 속한 문자 열을 i번째 열로 재배열하는 재배열 모듈, 상기 재배열된 4X4 매트릭스에서 각 엘리먼트(element)를 다른 엘리먼트로 대체하는 대체 모듈, 상기 대체된 4X4 매트릭스에서 첫번째 행과 마지막 행을 교환하고, 첫번째 열과 마지막 열을 교환하며, 상기 대체된 4X4 매트릭스에서 교환되지 않은 엘리먼트들 중 대각선으로 대응되는 구성요소들끼리 서로 교환하는 교환 모듈, 상기 교환된 4X4 매트릭스에서 각 엘리먼트를 쉬프팅하는 쉬프팅 모듈을 포함한다.
상기 대체 모듈은 다음의 수학식을 이용한다. 상기 수학식은 a[i]'=(((s1+a[i])*Mod 26+s2)Mod 26이다. 상기 a[i]는 상기 4X4 매트릭스에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 a[i]'는 대치된 후 4X4 매트릭스에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 i는 자연수, 상기 s1는 제1암호키, 상기 s2는 제2암호키, Mod는 나머지 값을 구하는 함수를 나타낸다.
상기 대체 모듈은 상기 재배열된 4X4 매트릭스에서 복수의 암호키들을 이용하여 상기 각 엘리먼트를 상기 다른 엘리먼트로 대체한다.
상기 쉬프팅 모듈은 상기 교환된 4X4 매트릭스에서 각 엘리먼트의 문자 배열 순서와 각 엘리먼트의 배열 순서를 이용하여 쉬프팅된다.
실시 예에 따라 상기 쉬프팅 모듈은 상기 교환된 4X4 매트릭스에서 각 엘리먼트의 문자 배열 순서, 각 엘리먼트의 배열 순서, 및 암호키를 이용하여 쉬프팅될 수 있다.
또 다른 실시 예에 따라 상기 쉬프팅 모듈은 상기 교환된 4X4 매트릭스에서 각 엘리먼트의 문자 배열 순서, 각 엘리먼트의 배열 순서, 및 복수의 암호키들의 평균을 이용하여 쉬프팅될 수 있다.
본 발명에 따른 데이터베이스 보안 방법 및 장치는 새로운 데이터베이스 보안 방법 및 장치를 제안함으로써 데이터베이스의 보안이 강화될 수 있다.
도 1은 본 발명의 실시 예에 따른 데이터베이스 보안 시스템을 나타내는 블록도이다.
도 2는 도 1에 도시된 데이터베이스 보안 장치의 내부 블록도를 나타낸다.
도 3은 도 2에 도시된 변환 모듈에 의해 수행되는 변환 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
도 4는 도 2에 도시된 재배열 모듈에 의해 수행되는 재배열 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
도 5는 도 2에 도시된 대체 모듈에 의해 수행되는 대체 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
도 6은 도 2에 도시된 교환 모듈에 의해 수행되는 교환 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
도 7은 도 2에 도시된 쉬프팅 모듈에 의해 수행되는 쉬프팅 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
도 8은 도 1에 도시된 데이터베이스 보안 장치의 데이터베이스 보안 방법을 설명하기 위한 흐름도를 나타낸다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다. 특별한 정의나 언급이 없는 경우에 본 설명에 사용하는 방향을 표시하는 용어는 도면에 표시된 상태를 기준으로 한다. 또한 각 실시예를 통하여 동일한 도면부호는 동일한 부재를 가리킨다. 한편, 도면상에서 표시되는 각 구성은 설명의 편의를 위하여 그 두께나 치수가 과장될 수 있으며, 실제로 해당 치수나 구성간의 비율로 구성되어야 함을 의미하지는 않는다.
또한, 본 명세서에 기재된 "~부(유닛)", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시 예에 따른 데이터베이스 보안 시스템을 나타내는 블록도이다.
도 1을 참조하면, 데이터베이스 보안 시스템(100)은 데이터베이스 보안 장치(10)와 데이터베이스(20)를 포함한다. 데이터베이스 보안 장치(10)는 데이터베이스(20)에 저장된 데이터를 암호화하기 위한 장치이다. 데이터는 데이터베이스(20)에서 저장되기 전에 데이터베이스 보안 장치(10)에 의해 암호화된다.
도 2는 도 1에 도시된 데이터베이스 보안 장치의 내부 블록도를 나타낸다.
도 1과 도 2를 참조하면, 데이터베이스 보안 장치(10)는 평문을 수신한다. 예컨대, 수신된 평문은 "sagedatabestcomp"와 같은 문자 열일 수 있다. 데이터베이스 보안 장치(10)는 수신된 문자 열에 대해 암호화 동작을 수행하여 암호문을 출력한다. 상기 암호문은 데이터베이스(20)에 저장된다. 데이터베이스 보안 장치(10)는 변환 모듈(11), 재배열 모듈(13), 대체 모듈(15), 교환 모듈(17), 및 쉬프팅 모듈(19)을 포함한다.
도 3은 도 2에 도시된 변환 모듈에 의해 수행되는 변환 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
변환 모듈(11)은 수신된 문자 열을 4개의 문자 수로 나누어 4개의 문자 열들을 생성한다. 예컨대, 수신된 문자 열이 "sagedatabestcomp"일 때, 변환 모듈(11)은 "sagedatabestcomp"을 4개의 문자 수로 나누어, 4개의 복수의 문자 열들, 즉, "sage", "data","best", 및 "comp" 을 생성한다. 실시 예에 따라 수신된 문자 열의 문자 수가 16개가 되지 않을 때, 특수문자(#, *, /, 또는 ?)를 모자라는 문자 수만큼 삽입하여 문자 열의 문자 수를 16개로 만들 수 있다.
변환 모듈(11)은 상기 4개의 복수의 문자 열들을 첫번째 행부터 4번째 행 순서대로 배열하여 도 3과 같이 4X4 매트릭스(M1)로 변환한다.
도 4는 도 2에 도시된 재배열 모듈에 의해 수행되는 재배열 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
도 1 내지 도 4를 참조하면, 재배열 모듈(13)은 변환 모듈(11)에 의해 변환된 4X4 매트릭스에서 i(i는 자연수)번째 행에 속한 문자 열을 i번째 열로 재배열한다. 도 4에서 제1매트릭스(M1)는 재배열 모듈(13)에 의해 변환되기 전의 매트릭스를 의미하며, 제2매트릭스(M2)는 재배열 모듈(13)에 의해 변환된 후의 매트릭스를 의미한다. 도 4를 참조하면, 재배열 모듈(13)은 제1매트릭스(M1)에서 첫번째 행에 속한 문자 열(예컨대, "sage")을 제2매트릭스(M2)에서 첫번째 열(예컨대, "sage")로 재배열한다. 재배열 모듈(13)은 제1매트릭스(M1)에서 두번째 행에 속한 문자 열(예컨대, "data")을 제2매트릭스(M2)에서 두번째 열(예컨대, "data")로 재배열한다.
도 5는 도 2에 도시된 대체 모듈에 의해 수행되는 대체 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
대체 모듈(15)은 제2매트릭스(M2)에서 각 엘리먼트(element)를 다른 엘리먼트로 대체한다. 대체 모듈(15)은 다음의 수학식을 이용하여 각 엘리먼트를 다른 엘리먼트로 대체한다.
[수학식 1]
a[i]'=((s1+a[i])Mod 26+s2)Mod 26
상기 a[i]는 제2매트릭스(M2)에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 a[i]'는 제3매트릭스(M3)에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 i는 자연수, 상기 s1, 상기 s2는 암호키, Mod는 나머지 값을 구하는 함수를 의미한다.
상기 암호키(s1, s2)는 난수로 생성된다. 실시 예에 따라 상기 암호키(s1, s2)에도 보안 강화를 위해 각 행을 각 열로 재배열할 수 있다. 도 5에서 매트릭스(S1, S2)는 난수에 의해 생성된 암호키 값들을 나타낸다.
상기 i가 1일 때, 제2매트릭스(M2)에서 a[1]의 문자는 's'이다. 상기 i가 16일 때, 제2매트릭스(M2)에서 a[16]의 문자는 'm'이다. 문자 'a'가 알파벳 순서로 0번째라고 할 때, 문자 's'는 알파벳 순서로 18번째이다. 제2매트릭스(M2)에서 a[1]와 대응되는 제1암호키(s1)의 매트릭스(S1)에서 숫자는 '1'이다. a[1]와 대응되는 제2암호키(s2)의 매트릭스(S2)에서 숫자는 '1'이다. 제2매트릭스(M2)에서 a[16]와 대응되는 제1암호키(s1)의 매트릭스(S1)에서 숫자는 '0'이다. 제2매트릭스(M2)에서 a[16]와 대응되는 제2암호키(s2)의 매트릭스(S2)에서 숫자는 '5'이다.
제2매트릭스(M2)에서 첫번째 엘리먼트인 's'의 a[1]의 값은 18이며, 제2매트릭스(M2)에서 a[1]와 대응되는 제1암호키(s1)의 매트릭스(S1)에서 숫자는 1이므로, 두 숫자의 합은 (18+1)=19이다. 19를 26으로 나눈 나머지는 7이고, a[1]와 대응되는 제2암호키(s2)의 매트릭스(S2)에서 숫자는 1이므로, 두 숫자의 합은 (7+1)=8이다. 8을 26으로 나눈 나머지는 2이다. 따라서 a[1]'=2이다. 문자 'a'가 알파벳 순서로 0번째라고 할 때, 2번째 알파벳 문자는 'c'이다. 따라서 대체 모듈(15)은 제2매트릭스(M2)에서 첫번째 엘리먼트인 문자 's'를 제3매트릭스(M3)에서 다른 엘리먼트인 'c'로 대체한다. 알파벳의 경우 26개이므로, 26으로 나누어 나머지 값을 구했으나, 숫자, 또는 특수문자의 경우, 숫자 26 대신에 다른 숫자가 이용될 수 있다.
도 6은 도 2에 도시된 교환 모듈에 의해 수행되는 교환 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
교환 모듈(17)은 대체된 제3매트릭스(M3)에서 첫번째 행("ccbg")과 마지막 행("iblf")을 교환하고, 첫번째 열("iafc")과 마지막 열("fmcg")을 교환한다. 교환 모듈(17)은 상기 대체된 4X4 매트릭스에서 교환되지 않은 엘리먼트들("cicb") 중 대각선으로 대응되는 구성요소들("cicb")끼리 서로 교환한다. 교환된 문자 열들은 제4매트릭스(M4)와 같다.
도 7은 도 2에 도시된 쉬프팅 모듈에 의해 수행되는 쉬프팅 동작을 설명하기 위한 매트릭스들의 블록도를 나타낸다.
도 1 내지 도 7을 참조하면, 쉬프팅 모듈(19)은 상기 교환된 4X4 매트릭스에서 각 엘리먼트를 쉬프팅한다. 구체적으로, 쉬프팅 모듈(19)은 제4매트릭스(M4)에서 각 엘리먼트의 문자 배열 순서와 각 엘리먼트의 배열 순서를 이용하여 쉬프팅한다. 제4매트릭스(M4)에서 각 엘리먼트의 문자 배열 순서와 각 엘리먼트의 배열 순서는 각각 0부터 시작한다. 예컨대, 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'의 엘리먼트 배열 순서는 0'이며, 제4매트릭스(M4)에서 두번째 엘리먼트인 'b'의 엘리먼트 배열 순서는 '1'이다. 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'의 문자 배열 순서는 알파벳 순서로 여섯번 째이며, 문자 배열 순서는 '5'이다. 제4매트릭스(M4)에서 두번째 엘리먼트인 'b'의 문자 배열 순서는 알파벳 순서로 두번 째이며, 문자 배열 순서는 '1'이다. 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'의 엘리먼트 배열 순서는 '0'이며, 문자 배열 순서는 '5'이다. 쉬프팅 모듈(19)은 문자 배열 순서 '5'와 엘리먼트 배열 순서 '0'의 차 5=(5-0)를 계산한다. 제4매트릭스(M4)에서 두번째 엘리먼트인 'b'의 엘리먼트 배열 순서는 '1'이며, 문자 배열 순서도 '1'이다. 따라서 쉬프팅 모듈(19)은 문자 배열 순서 '1'와 엘리먼트 배열 순서 '1'의 차 0=(1-1)를 계산한다. 알파벳 순서로 '0'은 알파벳 문자 'a'에 해당하므로, 쉬프팅 모듈(19)은 제4매트릭스(M4)에서 두번째 엘리먼트인 'b'를 제5매트릭스(M5)에서 'a'로 쉬프팅한다. 쉬프팅 모듈(19)은 제5매트릭스(M5)의 각 엘리먼트를 암호문으로 변환하여 출력한다.
실시 예에 따라 쉬프팅 모듈(19)은 제4매트릭스(M4)에서 각 엘리먼트의 문자 배열 순서, 각 엘리먼트의 배열 순서, 및 제1암호키(s1)를 이용하여 쉬프팅할 수 있다. 예컨대, 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'의 엘리먼트 배열 순서는 0'이며, 제4매트릭스(M4)에서 'f'의 엘리먼트 문자 배열 순서는 5'이다. 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'와 대응되는 제1암호키(s1)의 매트릭스(S1)에서 숫자는 '1'이다. 쉬프팅 모듈(19)은 문자 배열 순서 '5'에서 엘리먼트 배열 순서 '0'와 제1암호키(s1)의 숫자인 '1'을 감산하여 4=(5-0-1)를 계산할 수 있다. 알파벳 순서로 '4'는 알파벳 문자 'e'에 해당하므로, 쉬프팅 모듈(19)은 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'를 제5매트릭스(M5)에서 'e'로 쉬프팅할 수 있다. 쉬프팅 동작을 수행하는데 있어서 제1암호키(s1)를 이용함으로써 보안이 강화될 수 있다.
또한, 실시 예에 따라 쉬프팅 동작을 수행하는데 있어서 제1암호키(s1) 대신에 제2암호키(s2)가 이용될 수 있다.
또한, 실시 예에 따라 제1암호키(s1)와 제2암호키(s2)가 동시에 이용될 수 있다. 즉, 쉬프팅 모듈(19)은 제4매트릭스(M4)에서 각 엘리먼트의 문자 배열 순서, 각 엘리먼트의 배열 순서, 제1암호키(s1), 및 제2암호키(s2)를 이용하여 쉬프팅할 수 있다. 예컨대, 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'의 엘리먼트 배열 순서는 0'이며, 제4매트릭스(M4)에서 'f'의 엘리먼트 문자 배열 순서는 5'이다. 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'와 대응되는 제1암호키(s1)의 매트릭스(S1)에서 숫자는 '1'이며, 제2암호키(s2)의 매트릭스(S2)에서 숫자는 '1'이다. 제암호키(s1)의 숫자 '1'과 제2암호키(s2)의 숫자 '1'의 평균은 '1'이다. 쉬프팅 모듈(19)은 문자 배열 순서 '5'에서 엘리먼트 배열 순서 '0'와 제1암호키(s1)와 제2암호키(s2)의 숫자 평균 '1'을 감산하여 4=(5-0-1)를 계산할 수 있다. 알파벳 순서로 '4'는 알파벳 문자 'e'에 해당하므로, 쉬프팅 모듈(19)은 제4매트릭스(M4)에서 첫번째 엘리먼트인 'f'를 제5매트릭스(M5)에서 'e'로 쉬프팅할 수 있다.
본 발명과 같이 평문을 암호문으로 암호화하는 과정에서 여러가지 동작들을 수행함으로써 보안이 강화될 수 있다.
이상 본 발명의 바람직한 실시예에 대하여 설명하였으나, 본 발명의 기술적 사상이 상술한 바람직한 실시예에 한정되는 것은 아니며, 특허청구범위에 구체화된 본 발명의 기술적 사상을 벗어나지 않는 범주에서 다양하게 구현될 수 있다.
100: 데이터베이스 보안 시스템; 10: 데이터베이스 보안 장치;
20: 데이터베이스; 11: 변환 모듈;
13: 재배열 모듈; 15: 대체 모듈;
17: 교환 모듈; 19: 쉬프팅 모듈;

Claims (4)

  1. 수신된 문자 열을 4개의 문자 수로 나누어 4개의 문자 열들을 생성하는 단계;
    상기 4개의 문자 열들을 첫번째 행부터 4번째 행 순서대로 배열하여 4X4 매트릭스로 변환하는 단계;
    상기 4X4 매트릭스에서 i(i는 자연수)번째 행에 속한 문자 열을 i번째 열로 재배열하는 단계;
    상기 재배열된 4X4 매트릭스에서 각 엘리먼트(element)를 다른 엘리먼트로 대체하는 단계;
    상기 대체된 4X4 매트릭스에서 첫번째 행과 마지막 행을 교환하고, 첫번째 열과 마지막 열을 교환하며, 상기 대체된 4X4 매트릭스에서 교환되지 않은 엘리먼트들 중 대각선으로 대응되는 구성요소들끼리 서로 교환하는 단계; 및
    상기 교환된 4X4 매트릭스에서 각 엘리먼트를 쉬프팅(shifting)하는 단계를 포함하고,
    상기 재배열된 4X4 매트릭스에서 각 엘리먼트를 다른 엘리먼트로 대체하는 단계는,
    다음의 수학식에 의해 계산되며,
    a[j]'=((s1+a[j])Mod 26+s2)Mod 26
    상기 a[j]는 상기 재배열된 4X4 매트릭스에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 a[j]'는 대체된 후 상기 대체된 4X4 매트릭스에서 각 엘리먼트의 문자 순서 값을 나타내며, 상기 j는 자연수, 상기 s1은 제1 암호키, 상기 s2는 제2 암호키, Mod는 나머지 값을 구하는 함수를 나타내고,
    상기 s1은 16개의 난수들로 구성된 4X4의 제1 암호 매트릭스가 k(k는 자연수)번째 행에 속한 난수들이 k번째 열로 재배열된 상태에서의 상기 j번째에 해당하는 엘리먼트 값에 대응하고,
    상기 s2는 상기 난수들과 적어도 하나가 상이한 16개의 난수들로 구성된 4X4의 제2 암호 매트릭스가 l(l은 자연수)번째 행에 속한 난수들이 l번째 열로 재배열된 상태에서의 상기 j번째에 해당하는 엘리먼트 값에 대응하고,
    상기 교환된 4X4 매트릭스에서 각 엘리먼트를 쉬프팅하는 단계는,
    상기 교환된 4X4 매트릭스의 각 엘리먼트를 해당 엘리먼트의 문자 배열 순서에서 해당 엘리먼트의 배열 순서 및 복수의 암호키들의 평균을 감산한 값에 해당하는 문자 순서 값으로 쉬프팅하는 단계를 포함하는 데이터베이스 보안 방법.
  2. 제1항에 있어서, 상기 데이터베이스 보안 방법은,
    상기 4개의 문자 열들이 생성되지 않을 때, 4개의 문자 열들을 생성하기 위해 적어도 어느 하나 이상의 특수 문자를 삽입하는 단계를 더 포함하는 데이터베이스 보안 방법.
  3. 삭제
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서, 상기 복수의 암호키들은,
    상기 제1 암호 매트릭스에서 상기 해당 엘리먼트의 배열 순서에 대응하는 제1 암호 값, 및 상기 제2 암호 매트릭스에서 상기 해당 엘리먼트의 배열 순서에 대응하는 제2 암호 값을 포함하는 데이터베이스 보안 방법.


KR1020180048913A 2018-04-27 2018-04-27 데이터베이스 보안 방법 KR101899901B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180048913A KR101899901B1 (ko) 2018-04-27 2018-04-27 데이터베이스 보안 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180048913A KR101899901B1 (ko) 2018-04-27 2018-04-27 데이터베이스 보안 방법

Publications (1)

Publication Number Publication Date
KR101899901B1 true KR101899901B1 (ko) 2018-09-18

Family

ID=63718703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180048913A KR101899901B1 (ko) 2018-04-27 2018-04-27 데이터베이스 보안 방법

Country Status (1)

Country Link
KR (1) KR101899901B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102001070B1 (ko) * 2019-01-03 2019-07-17 최신철 보안성이 강화된 회계기장 서비스 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이철호, "전자상거래 보안 제2강 고전암호"(2017.03.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102001070B1 (ko) * 2019-01-03 2019-07-17 최신철 보안성이 강화된 회계기장 서비스 방법

Similar Documents

Publication Publication Date Title
US10951392B2 (en) Fast format-preserving encryption for variable length data
US7864952B2 (en) Data processing systems with format-preserving encryption and decryption engines
CN103078734B (zh) 解密处理装置、方法和信息处理装置
US8208627B2 (en) Format-preserving cryptographic systems
EP2427850B1 (en) Systems for embedding information in data strings
US8855296B2 (en) Data processing systems with format-preserving encryption and decryption engines
US11488134B2 (en) Format-preserving cryptographic systems
KR20040007769A (ko) 컴퓨터 네트워크에서의 데이터 분산 처리의 통합 보호방법 및 이 방법을 수행하는 시스템
Dey SD-AEI: An advanced encryption technique for images
GB2484382A (en) Generating a test database for testing applications by applying format-preserving encryption to a production database
CN1383648A (zh) 用于对称密钥密码的替换盒
CN106934301B (zh) 一种支持密文数据操作的关系型数据库安全外包数据处理方法
JP5230439B2 (ja) 情報管理システム
WO1993003559A1 (en) Nonlinear dynamic substitution devices and methods for block substitutions
Chen et al. Cryptanalysis of a chaotic image cipher based on plaintext-related permutation and lookup table
CN108833733A (zh) 一种基于混沌s盒的图像加密算法的解密方法
KR101899901B1 (ko) 데이터베이스 보안 방법
CN110365468A (zh) 匿名化处理方法、装置、设备及存储介质
KR101924296B1 (ko) 데이터베이스 보안 장치
KR100411684B1 (ko) 이진 데이터 블록의 암호 변환 방법
RU2538913C2 (ru) Способ деперсонализации персональных данных
Chatterjee et al. Revisiting the security of salted UOV signature
Al Etaiwi et al. Structured encryption algorithm for text cryptography
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
US20050129228A1 (en) Modular computerized encryption scheme

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant