KR20230096293A - 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치 - Google Patents

클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치 Download PDF

Info

Publication number
KR20230096293A
KR20230096293A KR1020210185643A KR20210185643A KR20230096293A KR 20230096293 A KR20230096293 A KR 20230096293A KR 1020210185643 A KR1020210185643 A KR 1020210185643A KR 20210185643 A KR20210185643 A KR 20210185643A KR 20230096293 A KR20230096293 A KR 20230096293A
Authority
KR
South Korea
Prior art keywords
counter
data
specific block
blocks
counter value
Prior art date
Application number
KR1020210185643A
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 KR1020210185643A priority Critical patent/KR20230096293A/ko
Publication of KR20230096293A publication Critical patent/KR20230096293A/ko

Links

Images

Classifications

    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

개시된 기술은 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치에 관한 것으로, 클라우드 서버가 입력되는 데이터를 복수개의 블록들로 구분하는 단계; 상기 클라우드 서버가 상기 복수개의 블록들에 배정할 복수개의 카운터값들을 서로 중복되지 않는 임의의 값으로 생성하는 단계; 및 상기 클라우드 서버가 상기 복수개의 블록들을 상기 복수개의 카운터값들을 이용하여 각각 암호화하는 단계;를 포함한다.

Description

클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치 {METHOD AND DEVICE FOR DYNAMIC ENCRYPTION USING RANDOM COUNTER IN CLOUD ENVIRONMENT}
개시된 기술은 클라우드 환경에서 랜덤 카운터를 이용하여 데이터를 동적으로 암호화하는 방법 및 장치에 관한 것이다.
클라우드 서비스는 사용자가 원격 저장소에 데이터를 저장하고 어디에서나 사용할 수 있도록 하여 다양한 부가 서비스를 제공하는 기술이다. 코로나 19 이후로 면대면 방식으로 진행되던 활동들이 비대면 방식으로 전환되면서 새로운 환경에 적합한 기술의 수요가 증가하고 있으며 클라우드 또한 이러한 수요중 하나에 속한다.
이러한 클라우드 서비스는 비대면 환경에 특화된 기술로 물리적으로 떨어져 있는 사용자 간에 데이터 공유 및 협업이 가능하다. 다만 편리한 만큼 필연적으로 데이터 보안에 따른 이슈가 존재하며 지금까지 클라우드 기반 서비스의 보안을 위해 많은 연구가 진행되어 왔다. 안전한 협업을 위해서 상당수의 클라우드 서비스에서는 데이터를 내부 사용자들 간에만 공유되는 비밀키를 이용하여 암호화하고 데이터 갱신 시 이를 복호화하여 갱신한 후 다시 암호화하는 방법을 이용하였다. 그러나, 이러한 방법은 다수의 사용자들이 동시에 문서를 작업하는 클라우드 환경에서는 서버의 로드가 과도하게 증가하는 문제가 있었다.
한국 등록특허 제10-1979267호
개시된 기술은 클라우드 환경에서 랜덤 카운터를 이용하여 데이터를 동적으로 암호화하는 방법 및 장치를 제공하는데 있다.
상기의 기술적 과제를 이루기 위하여 개시된 기술의 제 1 측면은 클라우드 서버가 입력되는 데이터를 복수개의 블록들로 구분하는 단계, 상기 클라우드 서버가 상기 복수개의 블록들에 배정할 복수개의 카운터값들을 서로 중복되지 않는 임의의 값으로 생성하는 단계 및 상기 클라우드 서버가 상기 복수개의 블록들을 상기 복수개의 카운터값들을 이용하여 각각 암호화하는 단계를 포함하는 랜덤 카운터를 이용한 암호화 방법을 제공하는데 있다.
상기의 기술적 과제를 이루기 위하여 개시된 기술의 제 2 측면은 데이터, 상기 데이터를 암호화한 암호문 및 서로 중복되지 않는 랜덤한 값으로 생성된 복수개의 카운터값들을 저장하는 저장장치, 상기 데이터에 대한 수정, 추가 및 삭제 중 적어도 하나에 대한 요청을 수신하는 통신장치 및 상기 데이터를 복수개의 블록들로 구분하고, 상기 복수개의 블록들을 상기 복수개의 카운터값들을 이용하여 각각 암호화하는 프로세서를 포함하는 랜덤 카운터를 이용한 암호화 장치를 제공하는데 있다.
개시된 기술의 실시 예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 개시된 기술의 실시 예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용하여 데이터를 동적으로 암호화하는 방법 및 장치는 암호화 된 상태로 데이터를 동적 업데이트하여 데이터 노출을 방지하는 효과가 있다.
또한, 암호화 된 상태로 동적 업데이트를 수행하므로 잦은 복호화를 수행하는 종래 기술 대비 서버 로드를 줄이는 효과가 있다.
또한, 랜덤 카운터값을 이용하여 클라우드 환경에서 데이터 갱신 시 연속성을 확보하는 효과가 있다.
도 1은 개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 과정을 나타낸 도면이다.
도 2는 개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법에 대한 순서도이다.
도 3은 개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 장치에 대한 블록도이다.
도 4는 종래 암호화 기법에서 사용하는 카운터값과 개시된 기술의 카운터값을 나타낸 도면이다.
도 5는 데이터를 수정, 추가 및 삭제하는 과정을 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1 , 제 2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 한다. 그리고 "포함한다" 등의 용어는 실시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다.
그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다. 따라서, 본 명세서를 통해 설명되는 각 구성부들의 존재 여부는 기능적으로 해석되어야 할 것이다.
도 1은 개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 과정을 나타낸 도면이다. 도 1을 참조하면 클라우드 서버는 복수의 협업자 단말기와 클라우드 환경을 구축할 수 있다. 복수의 협업자들은 각자의 단말기를 이용하여 클라우드 서버와 형성한 보안채널을 통해 작성한 데이터를 전송할 수 있다. 클라우드 서버는 각 협업자 단말기로부터 전송되는 데이터를 취합하여 스토리지에 저장할 수 있다. 여기에서 데이터는 협업자들이 작성하는 문서, 이미지, 동영상 등 다양한 종류의 콘텐츠를 포함한다. 클라우드 서버는 이후에도 주기적으로 또는 비주기적으로 각 협업자 단말기들로부터 전송되는 데이터를 업데이트할 수 있다. 클라우드 서버는 문서를 업데이트할 시 외부로 데이터가 유출되는 것을 방지하기 위해서 데이터를 블록 단위로 암호화한 상태로 저장하고 있으며 업데이트 시 암호화 된 상태에서 업데이트를 수행할 수 있다.
데이터의 암호화 과정에서 클라우드 서버는 우선 수집된 데이터를 복수개의 블록으로 구분한다. 각각의 블록들은 평문 상태의 데이터에 대응되는 것으로 평문과 동일한 비율로 구분될 수 있다. 가령, 한 문단 내 복수개의 행들을 각각 복수개의 블록들로 구분할 수 있다. 클라우드 서버는 종래의 DES, AES 방식와 같이 임의의 길이의 평문인 데이터를 고정된 길이의 블록으로 구분할 수 있다.
그리고 복수개의 블록들에 배정할 복수개의 카운터값들을 생성한다. 즉, 종래 카운터모드와 동일한 과정으로 복수개의 블록 및 복수개의 카운터값들을 생성할 수 있다. 다만, 종래 카운터모드와 같이 선형적으로 증가하는 값의 카운터를 이용하는 것이 아니라 각각 임의의 값으로 복수개의 카운터값들을 생성한다. 각각의 카운터값들은 중복되지 않는 고유한 값이며 클라우드 서버는 전체 카운터값들에 대한 정보를 저장하고 있으므로 카운터값의 순서나 관계를 알 수 있다.
한편, 클라우드 서버는 복수개의 블록들을 복수개의 카운터값들을 이용하여 각각 암호화한다. 블록 단위로 암호화된 데이터는 암호화된 상태로 클라우드 서버에 저장된다. 클라우드 서버는 이후 데이터를 업데이트하는 과정에서 특정 블록을 수정하거나 추가하거나 삭제하는 경우 해당 블록에 대한 카운터값도 수정하거나 추가하거나 삭제함으로써 암호문 상태의 데이터를 블록 단위로 동적 업데이트함과 동시에 데이터의 연속성을 유지할 수 있다.
상술한 바와 같이 종래 카운터모드 기법은 카운터값을 연속적인 값으로 설정한다. 예컨대, 특정 블록의 카운터값이 1이면 다음 블록의 카운터값은 2로 설정될 수 있다. 따라서, 기존 카운터들 사이에 새로운 카운터를 삽입하는 경우에는 카운터들 간의 관계를 알 수 없다. 또한, 연속적인 카운터값을 이용하는 경우 그만큼 보안에 취약한 점이 발생하는 문제도 존재한다. 따라서, 개시된 기술에서는 카운터값을 암호문과 같이 별도로 저장하여 클라우드 서버가 카운터들 간의 관계를 파악할 수 있다. 즉, 데이터의 연속성을 유지하는 것이 가능하다. 그리고, 복수의 카운터값들을 각각 서로 중복되지 않는 임의의 값으로 생성하여 보안성 또한 강화하는 것이 가능하다. 복수개의 카운터값들을 저장하기 위한 리소스가 추가로 요구되지만 데이터의 동적 암호화를 보다 효율적으로 진행할 수 있으므로 클라우드 서버의 안정성을 유지하는 것이 가능하다.
한편, 다시 도 1을 참조하면 클라우드 서버는 복수의 협업자 단말기들 중 적어도 하나로부터 저장된 데이터를 수정(Modification), 추가(Insertion) 또는 삭제(Deletion)하기 위한 요청을 수신할 수 있다. 예컨대, 협업자 a의 단말기로부터 복수의 블록들 중 특정 블록을 수정하기 위한 수정 데이터를 수신하면, 특정 블록을 수정 데이터로 다시 암호화하고, 특정 블록에 배정된 카운터값을 수정 데이터를 암호화하는데 사용한 카운터값으로 수정할 수 있다. 여기에서 수정 데이터를 암호화하는데 사용한 카운터값은 전체 블록들 중 마지막 블록의 다음 순번의 카운터값을 이용할 수 있다. 가령, 전체 블록에 5개라고 가정하고 2번째 블록을 수정하였다면 2번째 블록에 원래 배정되었던 카운터를 6번째 카운터로 수정할 수 있다. 클라우드 서버는 복수개의 카운터값들에 대한 정보를 저장하고 있으므로 6번째 카운터가 수정된 블록의 새로운 카운터로 배정되었음을 알 수 있다.
다른 실시예로, 협업자 b의 단말기로부터 복수의 블록들 사이에 특정 블록을 삽입하기 위한 삽입 데이터를 수신하면, 특정 블록이 삽입될 위치에 삽입 데이터를 암호화하고, 복수개의 카운터값 중 특정 블록이 삽입된 위치와 동일한 위치에 특정 블록에 대한 카운터값을 삽입할 수 있다. 가령, 두 번째 블록과 세 번째 블록 사이에 새로운 블록을 삽입하였다면, 두 번째 카운터값과 세 번째 카운터값 사이에 새로운 블록에 배정된 카운터값을 삽입하고 이를 저장함으로써 업데이트를 수행할 수 있다.
다른 실시예로, 협업자 c의 단말기로부터 복수의 블록들 중 특정 블록에 대한 삭제요청을 수신하면, 특정 블록 및 특정 블록에 배정된 카운터값을 함께 삭제할 수 있다. 가령, 3번째 블록을 삭제하였다면 3번째 블록에 배정된 카운터값을 함께 삭제하는 것으로 업데이트를 수행할 수 있다. 클라우드 서버는 이와 같이 블록 단위로 암호화된 데이터를 동적으로 업데이트를 수행할 수 있으며 복수개의 카운터값들 간의 관계를 이용하여 데이터의 연속성을 유지할 수 있다.
도 2는 개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법에 대한 순서도이다. 도 2를 참조하면 암호화 된 문서의 동적 업데이트 방법은 210 내지 230 단계를 포함하며 클라우드 서버를 통해 순차적으로 수행될 수 있다.
210 단계에서 클라우드 서버는 데이터를 복수개의 블록들로 구분한다. 클라우드 서버에는 복수개의 협업자 단말기들이 접속할 수 있다. 클라우드 서버는 이들로부터 전송되는 데이터들을 취합하여 블록 단위 암호화를 수행할 수 있다.
220 단계에서 클라우드 서버는 복수개의 블록들에 배정할 복수개의 카운터값들을 생성한다. 각각의 카운터값들은 서로 중복되지 않는 임의의 값이며 클라우드 서버는 전체 카운터값들의 관계를 파악할 수 있다.
230 단계에서 클라우드 서버는 복수개의 블록들을 복수개의 카운터값들을 이용하여 각각 암호화한다. 종래 카운터모드 기법에서는 넌스(Nonce)와 해당 블록의 카운터값을 결합하여 블록 암호의 입력으로 사용하지만 개시된 기술에서는 각 블록별로 배정된 임의의 카운터값을 블록의 입력으로 이용한다. 클라우드 서버가 복수개의 카운터값을 생성 및 저장하고 있으므로 어느 카운터값이 어느 블록의 입력에 이용되었는지, 블록의 수정, 추가 및 삭제 과정에서 카운터값이 어떻게 업데이트되는지 파악할 수 있다.
도 3은 개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 장치에 대한 블록도이다. 도 3을 참조하면 클라우드 서버(300)는 저장장치(310), 통신장치(320) 및 프로세서(330)를 포함한다. 암호화 장치(300)는 클라우드 환경 내 서버 역할을 수행할 수 있는 디바이스로 구현될 수 있다.
저장장치(310)는 평문 상태의 데이터, 데이터를 암호화한 암호문 및 서로 중복되지 않는 랜덤한 값으로 생성된 복수개의 카운터값들을 저장한다. 저장장치(310)는 암호화 장치(300)의 메모리로 구현될 수 있다.
통신장치(320)는 데이터에 대한 수정, 추가 및 삭제 중 적어도 하나에 대한 요청을 수신한다. 통신장치(320)는 암호화 장치(300)에 탑재되어 데이터를 수신하는 통신모듈 또는 모뎀으로 구현될 수 있다. 상술한 바와 같이 암호화 장치(300)는 클라우드 환경에서 동작하는 서버에 해당하므로 통신장치(320)는 서버에 접속하고자 하는 다수의 사용자 단말기들과 연결될 수 있으며 이들로부터 전송되는 데이터를 수신할 수 있다. 각 단말기로부터 전송되는 데이터는 클라우드 환경 내 보안채널을 통해 수신될 수 있다.
프로세서(330)는 데이터를 복수개의 블록들로 구분하고, 복수개의 블록들을 상기 복수개의 카운터값들을 이용하여 각각 암호화한다. 프로세서(330)는 암호화 장치(300)의 CPU 내지는 AP일 수 있다. 프로세서는 복수의 카운터값 각각을 블록 단위 암호화의 입력으로 이용할 수 있다. 그리고 통신모듈을 통해 전달되는 데이터 수정, 데이터 추가, 데이터 삭제 요청에 따라 특정 블록을 수정하거나 추가 또는 삭제할 수 있다.
한편, 상술한 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 장치(300)는 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수도 있다. 상기 프로그램은 일시적 또는 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM (read-only memory), PROM (programmable read only memory), EPROM(Erasable PROM, EPROM) 또는 EEPROM(Electrically EPROM) 또는 플래시 메모리 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일시적 판독 가능 매체는 스태틱 램(Static RAM,SRAM), 다이내믹 램(Dynamic RAM,DRAM), 싱크로너스 디램 (Synchronous DRAM,SDRAM), 2배속 SDRAM(Double Data Rate SDRAM,DDR SDRAM), 증강형 SDRAM(Enhanced SDRAM,ESDRAM), 동기화 DRAM(Synclink DRAM,SLDRAM) 및 직접 램버스 램(Direct Rambus RAM,DRRAM) 과 같은 다양한 RAM을 의미한다.
도 4는 종래 암호화 기법에서 사용하는 카운터값과 개시된 기술의 카운터값을 비교한 도면이다. 도 4의 (a)는 기존 카운터모드를 나타낸 것이며 (b)는 개시된 기술에 따른 카운터모드를 나타낸 것이다.
먼저 (a)를 참조하면 기존의 카운터 모드에서는 암호문인
Figure pat00001
와 초기벡터에서 블록이 추가될 때마다 1씩 추가하는 카운터값을 가지고 있는 상태이다. 반면 (b)를 참조하면 개시된 기술에서는 블록별로 임의의 카운터를 사용한다. 규칙이 없고 서로 중복되지 않는 값을 저장해야 하므로 전체 카운터값(카운터셋)을 모두 저장해야 한다. 예컨대, 카운터를
Figure pat00002
의 형태로 변경하여 암호문을 관리하는 것과 마찬가지로 카운터값을 별도로 관리할 수 있는 형태로 만든다. 전체 카운터값에 대한 정보는 데이터와 함께 클라우드 서버가 저장하게 되며 이후 암호화된 데이터를 동적으로 업데이트하는 과정에서 저장된 카운터값을 이용하게 된다.
도 5는 데이터를 수정, 추가 및 삭제하는 과정을 나타낸 도면이다. 첫 번째 케이스는
Figure pat00003
암호문을 수정하는 경우이다. 현재 암호문의 가장 마지막 블록은
Figure pat00004
이므로 다음에 새로 만들어질 블록의 암호문은
Figure pat00005
가 되어야 한다.
Figure pat00006
은 평문
Figure pat00007
의 암호문이므로 평문
Figure pat00008
을 수정하게 된다면 새로운 암호문으로 다시 암호화를 진행해야 한다. 이때, 현재 가장 마지막 암호문은
Figure pat00009
이므로 새로운 암호문은
Figure pat00010
가 되고,
Figure pat00011
과 교체한다. 또한 카운터도
Figure pat00012
에서
Figure pat00013
로 변경한다. 이때, 암호문과 카운터 데이터셋이 각각
Figure pat00014
로 업데이트 된다.
두 번째 케이스는 블록을 추가하는 경우이다. 이 때는 별다른 조치 없이 원하는 블록 위치를 찾아 쉽게 추가할 수 있다. 케이스 3의 경우, 1번 블록과 4번 블록 사이에 새로운 데이터인
Figure pat00015
를 암호화한 암호문
Figure pat00016
와 카운터
Figure pat00017
가 생성된다. 그 후 생성된 암호문과 카운터는 추가하고자 하는 위치인 1번 블록과 4번 블록 사이에 삽입된다. 이에 따라 암호문과 카운터 데이터셋은
Figure pat00018
으로 업데이트 된다. 도 5에 도시된 바와 같이
Figure pat00019
에 각각
Figure pat00020
가 삽입된 것을 볼 수 있다.
세 번째 케이스는 블록을 삭제하는 경우이다. 블록을 추가하는 것과 마찬가지로 케이스 4의 경우에도 1번 블록이 삭제되어 평문
Figure pat00021
의 암호문
Figure pat00022
과 카운터
Figure pat00023
이 제거된다. 그러면 암호문과 카운터 데이터셋이
Figure pat00024
으로 업데이트가 되고,
Figure pat00025
이 제거된다. 이러한 기법을 사용하게 된다면 데이터가 변경될 때 데이터셋 전체를 전부 업데이트해야 하는 것이 아닌, 수정된 부분만 갱신하게 되므로 클라우드 환경에서 암호화를 진행해도 연속성을 확보할 수 있다.
개시된 기술의 일 실시예에 따른 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치는 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.

Claims (10)

  1. 클라우드 서버가 입력되는 데이터를 복수개의 블록들로 구분하는 단계;
    상기 클라우드 서버가 상기 복수개의 블록들에 배정할 복수개의 카운터값들을 서로 중복되지 않는 임의의 값으로 생성하는 단계; 및
    상기 클라우드 서버가 상기 복수개의 블록들을 상기 복수개의 카운터값들을 이용하여 각각 암호화하는 단계;를 포함하는 랜덤 카운터를 이용한 암호화 방법.
  2. 제 1 항에 있어서,
    상기 클라우드 서버는 상기 복수의 블록들 중 특정 블록을 수정(Modification)하기 위한 수정 데이터를 수신하면, 상기 특정 블록을 상기 수정 데이터로 다시 암호화하고, 상기 특정 블록에 배정된 카운터값을 상기 수정 데이터를 암호화하는데 사용한 카운터값으로 수정하는 랜덤 카운터를 이용한 암호화 방법.
  3. 제 2 항에 있어서,
    상기 수정 데이터를 암호화하는데 사용한 카운터값은 전체 블록들 중 마지막 블록의 다음 순번의 카운터값인 랜덤 카운터를 이용한 암호화 방법.
  4. 제 1 항에 있어서,
    상기 클라우드 서버는 상기 복수의 블록들 사이에 특정 블록을 삽입(Insertion)하기 위한 삽입 데이터를 수신하면, 상기 특정 블록이 삽입될 위치에 상기 삽입 데이터를 암호화하고, 상기 복수개의 카운터값 중 상기 특정 블록이 삽입된 위치와 동일한 위치에 상기 특정 블록에 대한 카운터값을 삽입하는 랜덤 카운터를 이용한 암호화 방법.
  5. 제 1 항에 있어서,
    상기 클라우드 서버는 상기 복수의 블록들 중 특정 블록에 대한 삭제(Deletion)요청을 수신하면, 상기 특정 블록 및 상기 특정 블록에 배정된 카운터값을 함께 삭제하는 랜덤 카운터를 이용한 암호화 방법.
  6. 데이터, 상기 데이터를 암호화한 암호문 및 서로 중복되지 않는 랜덤한 값으로 생성된 복수개의 카운터값들을 저장하는 저장장치;
    상기 데이터에 대한 수정, 추가 및 삭제 중 적어도 하나에 대한 요청을 수신하는 통신장치;
    상기 데이터를 복수개의 블록들로 구분하고, 상기 복수개의 블록들을 상기 복수개의 카운터값들을 이용하여 각각 암호화하는 프로세서;를 포함하는 랜덤 카운터를 이용한 암호화 장치.
  7. 제 6 항에 있어서,
    상기 프로세서는 상기 통신장치를 통해 상기 복수의 블록들 중 특정 블록을 수정(Modification)하기 위한 수정 데이터를 수신하면, 상기 특정 블록을 상기 수정 데이터로 다시 암호화하고, 상기 특정 블록에 배정된 카운터값을 상기 수정 데이터를 암호화하는데 사용한 카운터값으로 수정하는 랜덤 카운터를 이용한 암호화 장치.
  8. 제 7 항에 있어서,
    상기 수정 데이터를 암호화하는데 사용한 카운터값은 전체 블록들 중 마지막 블록의 다음 순번의 카운터값인 랜덤 카운터를 이용한 암호화 장치.
  9. 제 6 항에 있어서,
    상기 프로세서는 상기 통신장치를 통해 상기 복수의 블록들 사이에 특정 블록을 삽입(Insertion)하기 위한 삽입 데이터를 수신하면, 상기 특정 블록이 삽입될 위치에 상기 삽입 데이터를 암호화하고, 상기 복수개의 카운터값 중 상기 특정 블록이 삽입된 위치와 동일한 위치에 상기 특정 블록에 대한 카운터값을 삽입하는 랜덤 카운터를 이용한 암호화 장치.
  10. 제 6 항에 있어서,
    상기 프로세서는 상기 통신장치를 통해 상기 복수의 블록들 중 특정 블록에 대한 삭제(Deletion)요청을 수신하면, 상기 특정 블록 및 상기 특정 블록에 배정된 카운터값을 함께 삭제하는 랜덤 카운터를 이용한 암호화 장치.
KR1020210185643A 2021-12-23 2021-12-23 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치 KR20230096293A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210185643A KR20230096293A (ko) 2021-12-23 2021-12-23 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210185643A KR20230096293A (ko) 2021-12-23 2021-12-23 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230096293A true KR20230096293A (ko) 2023-06-30

Family

ID=86959700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210185643A KR20230096293A (ko) 2021-12-23 2021-12-23 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20230096293A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101979267B1 (ko) 2017-05-29 2019-05-16 성균관대학교산학협력단 클라우드 저장 기반 암호화 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101979267B1 (ko) 2017-05-29 2019-05-16 성균관대학교산학협력단 클라우드 저장 기반 암호화 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR102084674B1 (ko) 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템
US9037870B1 (en) Method and system for providing a rotating key encrypted file system
US20140143541A1 (en) Method and Apparatus for Managing Encrypted Files in Network System
TWI736271B (zh) 非對稱密鑰中的私鑰生成和使用方法、裝置和設備
US9779264B2 (en) Method, server and computer program for security management in database
CN112818380A (zh) 业务行为的回溯处理方法、装置、设备及系统
WO2018218953A1 (en) Data backup method and device, storage medium and server
KR101613146B1 (ko) 데이터베이스 암호화 방법
US9602273B2 (en) Implementing key scheduling for white-box DES implementation
US10630474B2 (en) Method and system for encrypted data synchronization for secure data management
US10671748B2 (en) Secrets as a service
US9202074B1 (en) Protection of shared data
EP2511848A2 (en) Multiple independent encryption domains
JP6352441B2 (ja) ストリーミングデータの匿名化
CN113609221A (zh) 数据存储方法、数据访问方法、装置和存储介质
Park et al. Research on Note-Taking Apps with Security Features.
CN113987563A (zh) 数据处理方法、系统、产品、设备及存储介质
CN110650191A (zh) 一种分布式存储系统的数据读写方法
Dwivedi et al. Distributed and lazy auditing of outsourced data
Messmer et al. A novel cryptographic framework for cloud file systems and CryFS, a provably-secure construction
CN110955909B (zh) 个人数据保护方法及区块链节点
CN105119917B (zh) 增强数据安全性的方法及系统
KR20230096293A (ko) 클라우드 환경에서 랜덤 카운터를 이용한 동적 암호화 방법 및 장치
CN108985109A (zh) 一种数据存储方法及装置
US11539510B2 (en) System and method of cryptographic key management in a plurality of blockchain based computer networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal