KR102620056B1 - 전자 서명 기반 데이터 저장 인증 기술을 지원하는신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템 - Google Patents

전자 서명 기반 데이터 저장 인증 기술을 지원하는신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템 Download PDF

Info

Publication number
KR102620056B1
KR102620056B1 KR1020230089692A KR20230089692A KR102620056B1 KR 102620056 B1 KR102620056 B1 KR 102620056B1 KR 1020230089692 A KR1020230089692 A KR 1020230089692A KR 20230089692 A KR20230089692 A KR 20230089692A KR 102620056 B1 KR102620056 B1 KR 102620056B1
Authority
KR
South Korea
Prior art keywords
data
storage
signature
client terminal
stored
Prior art date
Application number
KR1020230089692A
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 KR1020230089692A priority Critical patent/KR102620056B1/ko
Application granted granted Critical
Publication of KR102620056B1 publication Critical patent/KR102620056B1/ko

Links

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/68Special signature format, e.g. XML format

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템이 개시된다. 본 발명의 일실시예에 따른 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치는, 클라이언트 단말에서 저장을 요청하는 데이터 및 데이터 요청시의 명령어 발생 시간을 포함하는 메타 데이터를 매칭시켜 저장하는 저장부, 및 클라이언트 단말에서 (기)저장한 데이터의 확인 요청시 (기)저장한 데이터 및 (기)저장한 데이터에 상응하는 메타 데이터를 기저장되는 서명 비밀키를 이용해 전자 서명을 생성하여 클라이언트 단말로 제공해 데이터 검증을 수행하는 제어부를 포함할 수 있다.

Description

전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템{Trusted Storage Apparatus of Supporting Digital Signature-based Data Storage Authentication Technology and Driving Method Thereof, and System for Delegated Storage Authentication}
본 발명은 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템에 관한 것으로서, 더 상세하게는 서버에 제약을 두는 접근법과 달리 가령 서버가 보유하는 STaaS(Storage as a Service), 클라우드 스토리지(Cloud storage), 신뢰 저장장치(Secure HDD, Secure SSD) 등의 저장장치가 데이터 저장과 동시에 전자 서명을 생성하여 인증을 하는 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템에 관한 것이다.
데이터 위임 저장은 클라이언트가 서버로 데이터 저장을 요청하고, 저장 용량이 큰 서버는 클라이언트가 요청한 기간 동안 데이터를 대신 저장해준다. 이때, 서버는 클라이언트가 요청한 데이터를 본인이 저장하지 않고(예: 외부에 저장, 재위임, 데이터 일부만 저장) 기간이 끝난 뒤 데이터를 클라이언트에게 반환할 때만 저장한 것처럼 속일 수 있다.
상기의 악의적 서버의 공격을 방지하기 위해 종래 기법들은 서버의 신뢰도에 의존하거나, 계약 기간(요청 저장 기간) 동안 주기적으로 데이터를 저장하고 있음을 증명하는 방식을 채택한다. 신뢰도에 의존하는 경우 서버가 악의적인 공격을 할 경우 데이터의 온존을 보장받을 수 없다. 또한 증명 방식은 증명자(서버)의 계약 기간 내 지속적인 증명을 요구하는데, 이때 연산량이 큰 서버가 모든 주기의 증명을 먼저 만들어놓고 데이터를 저장하지 않을 수 있다. 이를 방지하기 위해 의도적으로 증명을 생성하는데 큰 연산이 소모되게끔 설계하여 SNARK 증명(Zero-knowledge Proofs) 생성 시간을 크게 만들어 증명자의 연산량에 부하를 준다. 전술한 방식은 서버가 저장 공간뿐만 아니라 큰 연산량, 메모리 소모 등을 요구한다는 문제를 야기한다.
보완책으로 SNARK를 사용하지 않고 트랩도어 기반 지연 함수(TDF)를 사용하는 방법이 존재한다. 이 방법은 계약 갱신마다 프로토콜을 새로 수행해야 하고, 클라이언트가 매 프로토콜마다 전처리 과정에서 많은 연산량을 소모한다는 점에서 비효율적이다. 가장 최신 방법은 머클 변형 커밋(Commitment)을 활용하여 앞선 방식들의 문제점을 해결했지만 검증 시간이 증명 요청 횟수에 비례하기 때문에 클라이언트가 일반적으로 작은 연산량을 갖는다는 것을 고려했을 때 한계점을 지닌다고 볼 수 있다.
결론적으로 종래의 Filecoin은 zk-SNARK 회로 내에서 큰 데이터에 대한 복잡한 연산을 수행하기 때문에 증명자, 즉 서버의 연산량을 과하게 요한다. 또한, TDF는 트랩도어(trapdoor)를 가정하고 있기 때문에 신뢰 기반(non-transparency) 셋업(setup)이고, 이전의 모든 상태를 보유하고 있어야(statefulness) 지속적으로 저장했는지를 감사할 수 있다. 또한 클라이언트가 전처리 과정에 소요되는 비용이 크다. 검증 시간이 상수 크기가 아닌 증명 반복 횟수(검증 요청 횟수)에 로그 사이즈로 비례하여 일반적으로 작은 컴퓨팅 파워를 갖는 검증자에게 연산량을 부과한다. 일반적으로 클라우드 서비스는 국제 표준을 준수하지만 해당 표준에서 지속 저장에 대한 인증 등을 다루지 않기 때문에 클라이언트가 서버의 신뢰도에 의존해야 한다는 한계를 갖는다.
한국등록특허공보 제10-2310811호(2021.10.01) 한국공개특허공보 제10-2020-0115787호(2020.10.08)
Protocol Labs, "Filecoin: A Decentralized Storage Network" 2017. Giuseppe Ateniese, et al. "Proof of Storage-Time: Efficiently Checking Continuous Data Availability", In: NDSS(2020) Rabaninejad, Reyhaneh, et al. "stoRNA: Stateless Transparent Proofs of Storage-time.", Cryptology ePrint Archive (2023) 클라우드 서비스(AWS, Google drive)
본 발명의 해결하고자 하는 과제는, 서버에 제약을 두는 접근법과 달리 가령 서버가 보유하는 STaaS, 클라우드 스토리지, 신뢰 저장장치 등의 저장장치가 데이터 저장과 동시에 전자 서명을 생성하여 인증을 하는 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템을 제공하는 것에 그 목적이 있다.
본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 과제를 해결하기 위한 일실시예에 따른 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치는, 클라이언트 단말에서 저장을 요청하는 데이터 및 상기 데이터 요청시의 명령어 발생 시간을 포함하는 메타 데이터를 매칭시켜 저장하는 저장부, 및 상기 클라이언트 단말에서 상기 저장한 데이터의 확인 요청시 상기 저장한 데이터 및 상기 저장한 데이터에 상응하는 메타 데이터를 기저장되는 서명 비밀키를 이용해 전자 서명을 생성하여 상기 클라이언트 단말로 제공해 데이터 검증을 수행하는 제어부를 포함한다.
상기 저장부는, 상기 메타 데이터로서 상기 데이터 저장시 하드웨어 메모리의 실시간 클럭(Real Time Clock) 정보 및 저장 기간 정보를 더 저장할 수 있다.
상기 제어부는, 상기 전자 서명을 생성할 때 상기 저장한 데이터의 크기가 기준치를 초과하면 상기 데이터를 분할하여 머클 트리를 생성한 후 상기 생성한 머클 트리의 최상위에 위치하는 루트(root)를 입력으로 하여 서명을 생성할 수 있다.
상기 제어부는, 랜덤한 시점별로 생성된 서명을 결합하여 하나의 서명으로 압축하고, 상기 압축한 하나의 결합 서명을 상기 클라이언트 단말로 전송해 (상기 클라이언트 단말에서) 검증을 수행하도록 할 수 있다.
상기 제어부는, 계약 기간 종료시 한번의 결합 서명 검증을 통해 무작위 시점에서 생성된 다수의 서명들의 검증이 완료될 때 상기 클라이언트 단말로 데이터를 반환할 수 있다.
또한 상기의 과제를 해결하기 위한 일실시예에 따른 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치의 구동방법은, 저장부가 클라이언트 단말에서 저장을 요청하는 데이터 및 상기 데이터 요청시의 명령어 발생 시간을 포함하는 메타 데이터를 매칭시켜 저장하는 단계, 및 제어부가 상기 클라이언트 단말에서 상기 저장한 데이터의 확인 요청시 상기 저장한 데이터 및 상기 저장한 데이터에 상응하는 메타 데이터를 기저장되는 서명 비밀키를 이용해 전자 서명을 생성하여 상기 클라이언트 단말로 제공해 데이터 검증을 수행하는 단계를 포함한다.
상기 저장하는 단계는, 상기 메타 데이터로서 상기 데이터 저장시 하드웨어 메모리의 실시간 클럭 정보 및 저장 기간 정보를 더 저장할 수 있다.
상기 검증을 수행하는 단계는, 상기 전자 서명을 생성할 때 상기 저장한 데이터의 크기가 기준치를 초과하면 상기 데이터를 분할하여 머클 트리를 생성한 후 상기 생성한 머클 트리의 최상위에 위치하는 루트를 입력으로 하여 서명을 생성할 수 있다.
상기 검증을 수행하는 단계는, 랜덤한 시점별로 생성된 서명을 결합하여 하나의 서명으로 압축하고, 상기 압축한 하나의 결합 서명을 상기 클라이언트 단말로 전송해 (상기 클라이언트 단말에서) 검증을 수행하도록 할 수 있다.
상기 검증을 수행하는 단계는, 계약 기간 종료시 한번의 결합 서명 검증을 통해 무작위 시점에서 생성된 다수의 서명들의 검증이 완료될 때 상기 클라이언트 단말로 데이터를 반환할 수 있다.
한편, 상기의 과제를 해결하기 위한 일실시예에 따른 위임 저장 인증 시스템은, 데이터 저장을 요청하고, 상기 요청에 따라 저장되는 데이터의 확인을 요청하는 클라이언트 단말, 및 상기 클라이언트 단말에서 저장을 요청하는 데이터 및 상기 데이터 요청시의 명령어 발생 시간을 포함하는 메타 데이터를 매칭시켜 저장하며, 상기 클라이언트 단말에서 상기 저장한 데이터의 확인 요청시 상기 저장한 데이터 및 상기 저장한 데이터에 상응하는 메타 데이터를 기저장되는 서명 비밀키를 이용해 전자 서명을 생성하여 상기 클라이언트 단말로 제공해 데이터 검증을 수행하는 신뢰 저장장치를 포함한다.
본 발명의 실시예에 따르면, 위임 저장에 대한 지속 저장을 서버의 신뢰도 의존 없이 보장할 수 있다. 또한, 서버와 클라이언트는 간단한 전자 서명의 생성/검증만을 요하기 때문에 계산량이 작다.
본 발명의 실시예에 따르면 STaaS에 적용할 수 있을 것으로 예상된다. 특히, 블록체인 기반 위임 저장인 분산 저장 네트워크(DSN)는 파일코인 등이 있고 그 시장의 크기가 작지 않지만 서버가 무거운 SNARK 연산량을 요한다는 점에서 저장 공간보다 연산량이 큰 컴퓨터를 갖는 서버 위주로 시장이 유지된다는 한계를 지닌다. 이에 서버/클라이언트의 연산량은 크게 필요하지 않기 때문에 분산 저장 네트워크에 적용하여 DSN 시장에 더 많은 노드들이 참여할 수 있도록 촉진할 수 있을 것으로 기대된다. 또 본 발명의 실시예는 스트리밍 데이터나, 블록체인상의 NFT(Non-Fungible Token) 등의 데이터를 외부에 저장하고 필요시 수시로 데이터 요청을 하는 응용 환경에서 유용하게 사용할 수 있다. 스트리밍 데이터 혹은 NFT 등은 데이터가 잘 저장되고 있다는 점과 수시로 데이터 요청을 한다는 점에서 효과적이다.
나아가 본 발명의 실시예에 따르면, 데이터의 지속 저장을 보장할 수 있으며, 데이터 요청을 수시로 할 때, 서명에 대한 검증을 결합 서명에 대한 검증으로 1회에 처리할 수 있기 때문에 전송량 등의 문제를 완화할 수 있다.
실시예들에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 실시예에 따른 위임 저장 인증 시스템을 나타내는 도면이다.
도 2a는 전자서명 기반 신뢰 저장장치 인증 기법을 설명하기 위한 도면이다.
도 2b는 결합서명 지원 신뢰 저장장치의 인증 기법을 설명하기 위한 도면이다.
도 3은 도 1의 신뢰 저장장치의 세부구조를 예시한 블록다이어그램이다.
도 4는 본 발명의 실시예에 따른 위임 저장 인증 과정을 설명하기 위한 도면이다.
도 5는 도 1의 신뢰 저장장치의 구동과정을 나타내는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하 첨부된 도면을 참조하여 구체적인 실시예들에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 위임 저장 인증 시스템을 나타내는 도면, 도 2a는 전자서명 기반 신뢰 저장장치 인증 기법을 설명하기 위한 도면, 그리고 도 2b는 결합서명 지원 신뢰 저장장치의 인증 기법을 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 위임 저장 인증 시스템(90)은 전자 서명 기반 데이터 저장 인증 기술을 지원하는 위임 저장 인증 시스템으로서, 클라이언트 단말(100), 통신망(110) 및 신뢰 저장장치(혹은 데이터저장장치)(120)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 통신망(100)과 같은 일부 구성요소가 생략되어 클라이언트 단말(100)과 신뢰 저장장치(120)가 다이렉트 통신(예: P2P 통신 등)을 수행하거나, 신뢰 저장장치(120)를 구성하는 구성요소의 일부 또는 전부가 통신망(110)을 구성하는 네트워크장치(예: 무선교환장치 등)에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
클라이언트 단말(장치)(100)은 사용자들이 소지하는 다양한 유형의 단말을 포함할 수 있다. 클라이언트 단말(100)은 스마트폰이나 태블릿PC 등 모바일 기반의 단말뿐 아니라, 데스크탑컴퓨터나 랩탑컴퓨터 등 PC 기반의 단말을 포함할 수 있다. 물론 그 이외에도 스마트 TV 등 다양한 유형의 장치를 포함할 수도 있을 것이다. 클라이언트 단말(100)은 도 1의 신뢰 저장장치(120)와 같은 외부장치로 위임 등에 의해 데이터를 저장하기 위하여 동작할 수 있다. 예를 들어 클라우드 시스템은 클라이언트 단말(100)에서 연산을 위한 최소한의 하드웨어 자원과 소프트웨어 자원을 가질 수 있으므로, 이에 따라 클라이언트 단말(100)에서 처리하는 모든 데이터는 클라우드 서버와 같은 외부장치에 저장시킨 후 필요시 다운로드 받아 데이터 작업을 수행할 수 있다. 물론 이러한 경우가 아니라 하더라도, 최근에는 블록체인과 같은 데이터 분산 처리 시스템의 경우 중앙 집중적인 시스템에 의해 해킹 등의 위험에 노출되는 것을 줄이기 위하여 부득이하게 외부장치에 데이터를 저장시키는 경우도 물론 있다. 따라서, 본 발명의 실시예에서는 외부장치에 데이터를 저장시키기 위한 단말이라면 모두 포함할 수 있으므로 어느 하나의 유형에 특별히 한정하지는 않을 것이다.
클라이언트 단말(100)은 가령 데이터 저장을 위한 HDD(Hard Disk Drive)나 SSD(Solid State Drive) 등을 포함하는 도 1의 신뢰 저장장치(120)와 데이터 저장을 위한 동작을 수행할 수 있다. 이를 위하여 클라이언트 단말(100)은 데이터 처리 작업이 완료되면 신뢰 저장장치(120)로 데이터 저장을 요청할 수 있으며, 또 클라이언트 단말(100)은 무작위로 기저장한 데이터의 확인(또는 검증)을 위하여 인증 요청을 수행할 수 있다. 이를 위하여 도 1의 신뢰 저장장치(120)는 클라이언트 단말(100)로 전자 서명을 생성하여 제공하며, 클라이언트 단말(100)은 해당 전자 서명을 기저장된 서명 비밀키 등을 이용해 해독한 후 검증을 수행할 수도 있을 것이다. 여기서, 전자 서명은 클라이언트 단말(100)에서 데이터 저장 요청시 생성되는 명령어 발생 시간 정보 등을 포함하는 메타 데이터를 포함하여 생성되며, 다시 말해 전자 서명은 클라이언트의 데이터 파일과 메타 데이터를 전자 서명 알고리즘의 메시지로 하여(혹은 서명 비밀키를 적용해) 생성하므로 이와 같은 과정에 의해 생성된 전자 서명을 제공받아 검증을 수행한다고 볼 수 있다.
상기한 바와 같이 클라이언트 단말(100)은 서버 등으로 구성되는 도 1의 신뢰 저장장치(120)의 지속적인 데이터 저장을 보장하기 위하여 랜덤한 시점마다 인증 요청을 수신할 수 있다. 그런데 인증을 자주하게 되면 인증 횟수에 비례하여 검증 시간, 서명 크기, 통신 비용이 증가할 수 있다. 이를 해결하기 위하여 본 발명의 실시예에서는 결합 서명을 이용할 수도 있다. 랜덤한 시점별로 생성된 서명을 결합하여 하나의 서명으로 압축하고, 이를 계약 기간 종료시 데이터와 함께 클라이언트(혹은 클라이언트 단말(100))로 반환한다. 클라이언트는 최종적인 1번의 결합 서명 검증을 통해 무작위 시점들에 생성된 서명들의 검증을 할 수 있게 된다. 물론 이러한 결합 서명을 사용할지와 관련해서는 클라이언트 단말(100)을 사용하는 클라이언트가 결정할 수도 있는 것이므로, 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
나아가 클라이언트 단말(100)은 도 1의 신뢰 저장장치(120)로 데이터 반환을 요청할 수 있다. 다시 말해, 문서 작업의 경우 그 작업 데이터를 도 1의 신뢰 저장장치(120)에 저장시킨 경우 해당 데이터를 불러내어 문서 작업을 지속하고 데이터를 재저장시킬 수 있는 것이다. 물론 반환하는 경우에도 전자 서명을 요청할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않는다.
통신망(110)은 다양한 형태로 구성될 수 있다. 통신망(110)은 유무선 통신망을 모두 포함할 수 있다. 가령 통신망(110)으로서 유무선 인터넷망이 이용되거나 연동될 수 있다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로(Wibro) 망 등을 포함하는 의미이다. 물론 본 발명의 실시예에 따른 통신망(110)은 이에 한정되는 것이 아니며, 향후 구현될 차세대 이동 통신 시스템의 접속망으로서 가령 클라우드 컴퓨팅 환경하의 클라우드 컴퓨팅망, 5G망 등에 사용될 수 있다. 가령, 통신망(110)이 유선 통신망인 경우 통신망 내의 액세스포인트는 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS Support Node)에 접속하여 데이터를 처리하거나, BTS(Base Transceiver Station), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.
통신망(110)은 액세스포인트를 포함할 수도 있다. 액세스포인트는 건물 내에 많이 설치되는 펨토(femto) 또는 피코(pico) 기지국과 같은 소형 기지국을 포함할 수 있다. 여기서, 펨토 또는 피코 기지국은 소형 기지국의 분류상 클라이언트 단말(100) 등을 최대 몇 대까지 접속할 수 있느냐에 따라 구분될 수 있다. 물론 클라이언트 단말(100) 등과 지그비 및 와이파이(Wi-Fi) 등의 근거리 통신을 수행하기 위한 근거리 통신 모듈을 포함할 수 있다. 액세스포인트는 무선통신을 위하여 TCP/IP 혹은 RTSP(Real-Time Streaming Protocol)를 이용할 수 있다. 여기서, 근거리 통신은 와이파이 이외에 블루투스, 지그비, 적외선(IrDA), UHF(Ultra High Frequency) 및 VHF(Very High Frequency)와 같은 RF(Radio Frequency) 및 초광대역 통신(UWB) 등의 다양한 규격으로 수행될 수 있다. 이에 따라 액세스포인트는 데이터 패킷의 위치를 추출하고, 추출된 위치에 대한 최상의 통신 경로를 지정하며, 지정된 통신 경로를 따라 데이터 패킷을 다음 장치, 예컨대 신뢰 저장장치(120)로 전달할 수 있다. 액세스포인트는 일반적인 네트워크 환경에서 여러 회선을 공유할 수 있으며, 예컨대 라우터(router), 리피터(repeater) 및 중계기 등이 포함될 수 있다.
신뢰 저장장치(120)는 가령 서버 및 DB(120a)를 포함하여 구성될 수 있다. 서버와 DB(120a)는 내부망인 인트라넷 등으로 연결되어 통신할 수 있다. 또한 본 발명의 실시예에 따른 신뢰 저장장치(120)는 블록체인 시스템을 구성하는 노드들 중 하나의 노드(node)로 동작하여 트랜잭션 발생시 기저장된 데이터의 수정 등을 위한 동작을 수행할 수도 있을 것이다. 따라서 본 발명의 실시예에 따른 신뢰 저장장치(120)는 클라이언트 단말(100)에서 요청하는 데이터 저장과 관련한 동작을 수행할 수 있다면 어떠한 장치이어도 무관하므로 어느 하나의 장치에 특별히 한정하지는 않을 것이다.
도 1의 신뢰 저장장치(120)는 서버에 제약을 두는 접근법과 달리 가령 서버가 보유하는 저장장치(예: HDD, SSD 등)가 데이터 저장과 동시에 전자 서명을 생성하여 인증을 하는 방식으로 동작을 수행할 수 있다. 예를 들어, 클라이언트 단말(100)에서 데이터 저장 요청이 발생하면 신뢰 저장장치(120)는 (데이터 저장 요청시 생성되는) 명령어 발생 시간, RTC, 저장 기간 등의 메타 데이터와, 저장하고자 하는 데이터를 묶어서 쓰기(Write) 명령어로 저장장치 내 저장을 수행한다. 이어 신뢰 저장장치(120)는 (클라이언트 단말(100)로부터) 인증 요청이 발생하면 인증(Request) 명령어를 수행한다. 인증 명령어는 인증 요청된 데이터(혹은 파일, 파일 데이터, 데이터 파일)와 그에 상응하는 메타 데이터를 입력으로 하여 전자 서명을 생성한다. 전자 서명 알고리즘을 인증 요청 데이터와 메타 데이터를 입력하여 전자 서명을 생성할 수 있는 것이다. 물론 전자 서명 알고리즘을 통해서는 서명 비밀키가 적용되어 전자 서명이 이루어질 것이다. 서명의 비밀 키는 저장장치에 내장되어 있을 수 있다. 물론 서명 비밀키는 신뢰 저장장치(120)의 제품 출고시에 기저장되어 출시될 수 있다. 신뢰 저장장치(120)는 전자 서명을 생성할 때 데이터가 큰 경우 서명 생성 시간이 오래 소요되기 때문에 데이터를 특정 단위(chunk)로 분할하여 가령 머클 트리(Merkle tree)를 생성한 뒤 루트(root)를 입력으로 하여 서명을 생성할 수 있다. 이는 도 2a에서 잘 보여주고 있다. 또 신뢰 저장장치(120)는 (클라이언트 단말(100)로부터) (데이터의) 반환 요청이 발생하면 요청 데이터를 읽어 온다(Read). 여기서, "머클 트리"는 블록체인에서 블록 하나에 포함된 모든 거래정보를 요약하여 트리 형태로 표현한 데이터 구조를 의미한다. 머클 트리의 최상위에 위치하는 해시값을 머클 트리 루트라고 한다. 이러한 최종 해시값은 블록의 헤더(header)에 포함될 수 있다. 반면 클라이언트의 인증 요청 데이터는 데이터패킷의 페이로드에 포함될 수 있을 것이다.
본 발명의 실시예에서는 신뢰 저장장치(120)와 전자 서명을 통해 서버의 지속적 저장을 서버와 클라이언트의 계산 부하 없이 보장하는 방법 즉 동작을 수행한다. 신뢰 저장장치(120)는 저장장치 내에서 수행되는 연산, 내재되어 있는 서명 비밀키, 메타 데이터에 대한 외부 위변조 불가(신뢰)를 보장한다고 볼 수 있다. 전자 서명은 저장된 데이터와 그에 상응하는 메타 데이터를 입력으로 하여 생성되기 때문에 데이터가 위변조되지 않음을 보장할 수 있다. 따라서 증명자는 저장을 인증하기 위해 단순한 전자 서명만을 요하기 때문에 서버의 연산량 대한 부담을 줄일 수 있다. 또한, 검증자도 간단한 전자 서명 검증만을 하기 때문에 클라이언트의 연산도 효율적이다.
본 발명의 실시예에 따른 신뢰 저장장치(120)는 서버의 지속적인 저장을 보장하기 위해 클라이언트는 랜덤한 시점마다 인증 요청을 해야 한다. 이때, 인증을 자주하게 되면 인증 횟수에 비례하여 검증 시간, 서명 크기, 통신 비용이 증가할 수 있다. 이를 해결하기 위하여 본 발명의 실시예에 따른 신뢰 저장장치(120)는 결합 서명을 사용할 수 있다. 랜덤한 시점별로 생성된 서명을 결합하여 하나의 서명으로 압축하고, 이를 계약 기간 종료 시 데이터와 함께 클라이언트로 반환하는 것이다. 클라이언트는 최종적인 1번의 결합 서명 검증을 통해 무작위 시점들에 생성된 서명들의 검증을 수행할 수 있다.
지금까지의 내용들을 정리해 보면, 본 발명의 실시예는 데이터 위임 저장 인증을 하드웨어에서 수행하게끔 하는 것이다. 위임 저장 인증은 프로토콜을 통해서 이를 인증(또는 증명)하는 경우 증명 시간, 검증 시간, 증명 크기 등에서 부하를 갖는다. 이에 본 발명의 실시예에서는 하드웨어에서 전자 서명을 통해 데이터의 지속 저장을 인증하기 때문에 프로토콜을 이용하는 경우 대비 증명 시간, 검증 시간, 증명 크기 등에서 효율성을 갖는다. 데이터 위임 저장에서 클라이언트는 서버가 지속적으로 저장하고 있음을 보장받기 어렵다. 이를 보장하기 위해 본 발명의 실시예에서는 전자 서명(digital signature) 기반 신뢰 하드웨어 내 데이터 저장 인증을 수행하는 것이다. 본 발명의 실시예를 통해 클라우드 서비스와 같은 위임 저장 서비스에서 서버의 저장 장치에 클라이언트가 요청한 데이터가 지속적으로 잘 저장되고 있음을 인증할 수 있다. 신뢰 저장장치(120)로 사용되는 서버는 클라이언트가 저장을 요청한 데이터와, 데이터가 저장 장치에 쓰인(Write 명령어) 시간, 위임 저장 기간, 그리고 지속적으로 저장되고 있음을 보장하기 위한 저장장치 내 클럭(clock) 정보 등의 메타 데이터를 입력으로 서명을 생성한다. 클라이언트는 저장 기간 동안 인증 요청을 보내고, 서버는 요청에 대응하는 서명을 클라이언트에게 전송한다. 클라이언트는 수신한 서명 검증을 통해 요청한 데이터가 잘 저장되고 있음을 확인할 수 있다.
기존의 위임 저장 기법의 경우 서버의 신뢰도, 즉 서버가 클라이언트가 요청한 데이터를 잘 저장하고 있음을 보장하기 위해서 암호학적 증명을 생성하는 등의 부하를 야기하는 연산을 수반하기도 한다. 그러나, 본 발명의 실시예에서는 데이터가 위변조되지 않고, 서명자가 실제 서버가 맞음을 신뢰하여 하드웨어 자체의 신뢰와 비교적 연산량이 적은 전자 서명을 통해 보장할 수 있다.
또한 본 발명의 실시예는 결합 서명 기능을 지원하여 클라이언트와 서버 간의 통신량을 최소화할 수 있다. 단순한 일반 전자 서명으로 검증할 경우 서버가 지속적으로 저장했는지를 검증하기 위해서, 클라이언트는 저장 기간 동안 무작위로 서명 요청/검증을 해야 한다. 그러나 본 발명의 실시예에서는 결합 서명(Aggregate signature)을 통해 서버는 생성한 서명을 매번 전송하지 않고, 저장 기간이 종료했을 때 데이터와 함께 결합 서명의 형태로 제공할 수 있다. 클라이언트는 서명을 무작위로 요청하지만 검증을 최종 단계에서만 진행하기 때문에 클라이언트-서버 간 통신량과 서명의 크기, 검증 시간 등을 줄일 수 있다.
도 2a 및 도 2b는 전자서명 기반 신뢰 저장장치 인증 기법과 결합서명 지원 신뢰 저장장치의 인증 기법을 각각 보여준다. 가령 도 1의 신뢰 저장장치(120)로 사용되는 SSD 서버는 내부적으로 SSD 컨트롤러를 포함할 수 있으며, SSD 컨트롤러는 프로세서, 버퍼 매니저, 또 플래시 컨트롤러를 포함하여 구성될 수 있다. 프로세서는 버퍼 매니저와 플래시 컨트롤러를 제어할 수 있으며, 플래시 컨트롤러는 프로세서의 제어하에 플래시 메모리에 클라이언트 단말(100)에서 요청하는 데이터를 저장하기 위한 동작을 수행할 수 있다. 데이터 저장시 저장을 요청한 데이터뿐 아니라 데이터 요청과 관련한 메타 데이터를 함께 저장할 수 있으며, 해당 메타 데이터는 (데이터저장 요청시) 명령어 발생 시간, RTC(Real Time Clock), 저장 기간 등의 정보를 포함할 수 있다. 이러한 메타 데이터는 클라이언트 단말(100)로부터 데이터 검증 요청이 있을 때 전자 서명을 생성해 제공하기 위해 사용될 수 있다.
상기한 내용 이외에도 도 1의 클라이언트 단말(100), 통신망(110) 및 신뢰 저장장치(120)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 이후에 좀더 다루어질 수 있으므로, 그 내용들로 대신하고자 한다.
도 3은 도 1의 신뢰 저장장치의 세부구조를 예시한 블록다이어그램이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 도 1의 신뢰 저장장치(120)는 통신 인터페이스부(300), 제어부(310), 데이터위임저장 인증부(320) 및 저장부(330)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 데이터위임저장 인증부(320)와 같은 일부 구성요소가 생략되어 신뢰 저장장치(120)가 구성되거나, 데이터위임저장 인증부(320)와 같은 일부 구성요소가 제어부(310)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
통신 인터페이스부(300)는 도 1의 클라이언트 단말(100)과 통신한다. 통신 인터페이스부(300)는 통신을 수행하는 과정에서 변/복조, 먹싱/디먹싱, 인코딩/디코딩, 해상도를 변환하는 스케일링 등의 동작을 수행할 수 있으며, 이는 당업자에게 자명하므로 더 이상의 설명은 생략하도록 한다.
통신 인터페이스부(300)는 클라이언트 단말(100)에서의 데이터 저장 요청에 따라 데이터를 수신하여 제어부(310)에 전달할 수 있다. 여기서, 데이터는 다양한 데이터가 될 수 있으며, 가령 클라이언트 단말(100)에서 클라이언트가 작업한 문서 등의 데이터가 될 수도 있다. 클라이언트 단말(100)은 데이터 저장을 요청하면서 본 발명의 실시예에 따른 메타 데이터를 함께 생성하여 제공하는 것도 얼마든지 가능할 수 있다. 여기서, 메타 데이터는 데이터 요청 시간, RTC 정보, 데이터 위임 계약에 따른 계약 정보 등을 포함할 수 있다. 물론 이러한 메타 데이터는 도 1의 신뢰 저장장치(120)에서 생성되는 것도 얼마든지 가능하므로 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
또한 통신 인터페이스부(300)는 클라이언트 단말(100)에서 저장된 데이터의 확인 또는 인증을 요청할 때 제어부(310)의 제어하에 기생성된 전자 서명을 제공하기 위한 동작을 수행할 수 있다. 물론 그 전에 통신 인터페이스부(300)는 클라이언트 단말(100)에서 저장된 데이터의 인증 요청을 수신하여 이를 제어부(310)에 제공할 수 있다. 전자 서명은 기저장된 데이터와 그 데이터에 상응(또는 연계)되는 메타 데이터를 기저장되는 서명 비밀키를 이용해 생성한 것을 의미한다. 전자 서명 알고리즘이 사용되는 경우 클라이언트 요청 데이터와 메타 데이터를 알고리즘으로 입력하여 전자 서명을 생성할 수 있을 것이다.
나아가 통신 인터페이스부(300)는 클라이언트 단말(100)의 요청시 데이터 반환 동작을 수행할 수도 있다. 다시 말해, 클라이언트 단말(100)에서 지속적인 문서 작업을 위하여 지금까지 작업하여 저장한 데이터를 요청할 때 해당 데이터를 제공할 수 있는 것이다.
제어부(310)는 도 3의 통신 인터페이스부(300), 데이터위임저장 인증부(320) 및 저장부(330)의 전반적인 제어 동작을 담당할 수 있다. 여기서, 제어부(310)는 도 2a 및 도 2b에서 볼 때 SSD 컨트롤러를 의미할 수 있지만, 프로세서를 의미할 수도 있다. 예를 들어, 제어부(310)는 통신 인터페이스부(300)를 통해 클라이언트 단말(100)에서 요청하는 데이터가 수신될 때 이를 롬(ROM)이나 램(RAM) 메모리 등에 저장시킬 수 있다. 이때 제어부(310)는 데이터위임저장 인증부(320) 등에서 제공하는 메타 데이터, 즉 클라이언트 단말(100)에서 데이터 저장을 요청할 때 생성되는 명령어 발생 시간 정보, RTC 정보, 계약 정보 등을 함께 매칭하여 저장시킬 수 있다. 물론, (파일) 데이터와 메타 데이터는 도 1의 DB(120a)에 저장되는 것도 얼마든지 가능하므로 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다. 파일 데이터와 메타 데이터의 저장시 클라이언트 단말(100)의 장치식별정보 등을 근거로 분류하여 저장될 수 있을 것이다.
또한 제어부(310)는 기저장한 데이터의 검증 또는 확인 요청이 클라이언트 단말(100)에서 있을 때 이의 동작을 수행할 수 있다. 롬이나 램, 또는 도 1의 DB(120a)에 저장되어 있는 파일 데이터와 메타 데이터를 불러와 데이터위임저장 인증부(320)에 제공할 수 있다. 이에 따라 데이터위임저장 인증부(320)는 클라이언트 단말(100)로 전송하기 위한 전자서명을 생성하고 제어부(310)에 제공할 수 있으며, 제어부(310)는 이를 클라이언트 단말(100)로 전송하기 위해 통신 인터페이스부(300)의 통신을 제어할 수 있다.
데이터위임저장 인증부(320)는 본 발명의 실시예에 따른 전자 서명 기반 데이터 저장 인증 기술을 지원하기 위한 동작을 수행할 수 있다. 다시 말해, 데이터위임저장 인증부(320)는 클라이언트 단말(100)에서 데이터 저장 요청이 있을 때 데이터 요청과 관련한 메타 데이터를 생성해 매칭시켜 저장되도록 제어부(310)에 요청할 수 있다. 또한 데이터위임저장 인증부(320)는 위에서 언급한 바와 같이 클라이언트 단말(100)로부터 기저장된 데이터의 확인(또는 검증) 요청이 있을 때 전자서명을 통해 검증을 수행하기 위한 동작을 수행할 수 있다. 이를 위하여 데이터위임저장 인증부(320)는 클라이언트 단말(100)에서 요청하는 기저장된 데이터 및 그 데이터에 상응하여 저장되는 메타 데이터를 기저장되는 서명 비밀키를 적용해 전자서명으로 생성하여 출력한다. 메타 데이터와 파일(데이터)을 전자 서명 알고리즘의 메시지로 하여(concatenation 혹은 해시한 값 등으로 파일과 메타 데이터를 결합) 서명을 생성하는 것이다. 서명키(혹은 비밀키)의 경우 공장에서 저장장치 제조시 내장하여 출고, 즉 비밀키는 저장장치에 내장되어 있을 수 있다. 인증 요청 명령어 발생시 저장장치는 내부 비밀 키를 이용하여 위의 파일과 메타 데이터를 입력으로 하여 서명을 생성할 수 있는 것이다. 데이터위임저장 인증부(320)는 이러한 동작에 관여할 수 있다.
또한 데이터위임저장 인증부(320)는 전자 서명을 생성할 때 기저장된 데이터, 또는 클라이언트 단말(100)에서 요청하는 데이터의 크기가 기준치를 초과할 정도로 클 때 해당 데이터를 분할하여 머클 트리를 생성한 뒤 루트(root)를 입력으로 하여 서명을 생성할 수 있다. 여기서 루트는 생성한 머클 트리의 최상위에 위치하는 루트일 수 있으며, 최상위에 위치하는 해시값이 머클 트리 루트가 될 수 있다.
나아가 본 발명의 실시예에 따른 데이터위임저장 인증부(320)는 결합 서명을 생성하기 위한 동작을 수행할 수도 있다. 신뢰 저장장치(120)로 사용되는 서버의 지속적인 저장을 보장하기 위해 클라이언트는 랜덤한 시점마다 인증 요청을 해야 한다. 이때, 인증을 자주하게 되면 인증 횟수에 비례하여 검증 시간, 서명 크기, 통신 비용이 증가할 수 있다. 이를 해결하기 위해 본 발명의 실시예에 따른 데이터위임저장 인증부(320)는 결합 서명을 생성하여 이용한다. 랜덤한 시점별로 생성된 서명을 결합하여 하나의 서명으로 압축하고, 이를 계약 기간 종료시 데이터와 함께 클라이언트로 반환할 수 있다. 클라이언트는 최종적인 1번의 결합 서명 검증을 통해 무작위 시점들에 생성된 서명들의 검증을 수행할 수 있다. 물론 이러한 결합 서명을 이용한 동작은 클라이언트의 요청에 의해 서비스가 제공되는 것도 얼마든지 가능할 수 있을 것이다.
저장부(330)는 HDD나 SDD의 저장장치가 될 수 있다. 또는 스토리지가 될 수도 있다. 저장부(330)는 제어부(310)의 제어하에 클라이언트 단말(100)에서 요청하는 데이터를 저장할 수 있으며, 또 그 데이터에 매칭(또는 상응)하는 메타 데이터를 함께 저장할 수 있다. 이외에도 저장부(330)는 전자서명을 위한 서명 비밀키를 저장하여 데이터위임저장 인증부(320)의 요청시 제공하는 것도 얼마든지 가능할 수 있다.
상기한 내용 이외에도 도 3의 통신 인터페이스부(300), 제어부(310), 데이터위임저장 인증부(320) 및 저장부(330)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
본 발명의 실시예에 따른 도 3의 통신 인터페이스부(300), 제어부(310), 데이터위임저장 인증부(320) 및 저장부(330)는 서로 물리적으로 분리된 하드웨어 모듈로 구성되지만, 각 모듈은 내부에 상기의 동작을 수행하기 위한 소프트웨어를 저장하고 이를 실행할 수 있을 것이다. 다만, 해당 소프트웨어는 소프트웨어 모듈의 집합이고, 각 모듈은 하드웨어로 형성되는 것이 얼마든지 가능하므로 소프트웨어니 하드웨어니 하는 구성에 특별히 한정하지 않을 것이다. 예를 들어 저장부(330)는 하드웨어인 스토리지(storage) 또는 메모리(memory)일 수 있다. 하지만, 소프트웨어적으로 정보를 저장(repository)하는 것도 얼마든지 가능하므로 위의 내용에 특별히 한정하지는 않을 것이다.
한편, 본 발명의 다른 실시예로서 제어부(310)는 CPU 및 메모리를 포함할 수 있으며, 원칩화하여 형성될 수 있다. CPU는 제어회로, 연산부(ALU), 명령어해석부 및 레지스트리 등을 포함하며, 메모리는 램을 포함할 수 있다. 제어회로는 제어동작을, 그리고 연산부는 2진비트 정보의 연산동작을, 그리고 명령어해석부는 인터프리터나 컴파일러 등을 포함하여 고급언어를 기계어로, 또 기계어를 고급언어로 변환하는 동작을 수행할 수 있으며, 레지스트리는 소프트웨어적인 데이터 저장에 관여할 수 있다. 상기의 구성에 따라, 가령 신뢰 저장장치(120)의 동작 초기에 데이터위임저장 인증부(320)에 저장되어 있는 프로그램을 복사하여 메모리 즉 램(RAM)에 로딩한 후 이를 실행시킴으로써 데이터 연산 처리 속도를 빠르게 증가시킬 수 있다. 딥러닝 모델 같은 경우 램(RAM)이 아닌 GPU 메모리에 올라가 GPU를 이용하여 수행 속도를 가속화하여 실행될 수도 있다.
도 4는 본 발명의 실시예에 따른 위임 저장 인증 과정을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 클라이언트 단말(100)은 신뢰 저장장치(120)로 데이터 저장을 요청할 수 있다(S300). 이때 클라이언트 단말(100)은 데이터 저장과 관련한 메타 데이터를 함께 제공하는 것도 얼마든지 가능하므로 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
신뢰 저장장치(120)는 클라이언트 단말(100)에서 제공하는 데이터(또는 파일)와 메타 데이터를 묶어서 쓰기 명령어로 저장장치 내에 저장한다(S310). 여기서, 저장장치는 HDD나 SDD, 그리고 스토리지 등을 의미할 수 있다. 물론 도 1의 DB(120a)도 얼마든지 가능할 수 있을 것이다.
또한 신뢰 저장장치(120)는 클라이언트 단말(100)로부터 인증 요청 더 정확하게는 기저장된 데이터의 확인 요청이 있을 때 클라이언트의 데이터 및 그 데이터에 매칭되어 저장된 메타 데이터를 기저장된 서명 비밀키를 이용해 전자서명을 생성해 클라이언트 단말(100)로 전송하여 검증을 요청할 수 있다(S330, S50). 전자 서명의 생성을 위해 기저장된 서명 비밀키를 적용하는 전자 서명 알고리즘이 사용될 수 있으며, 해당 알고리즘으로 클라이언트가 요청한 데이터 및 그에 상응한 메타 데이터를 입력하여 전자 서명을 생성할 수 있는 것이다.
한편 신뢰 저장장치(120)는 전자 서명을 생성할 때 가령 클라이언트 단말(100)에서 요청한 데이터의 크기가 기준치를 초과하면 해당 데이터를 분할하여 머클 트리를 생성한 뒤 루트를 입력으로 서명을 생성해 전송할 수 있다(S340).
이외에도 본 발명의 실시예에 따른 신뢰 저장장치(120)는 결합 서명을 위한 동작을 수행할 수 있다. 신뢰 저장장치(120)가 지속적으로 데이터를 저장했는지를 검증하기 위해서, 클라이언트는 저장 기간 동안 무작위로 서명 요청/검증을 해야 한다. 결합 서명을 통해 신뢰 저장장치(120) 등의 서버는 생성한 서명을 매번 전송하지 않고, 저장 기간이 종료했을 때 데이터와 함께 결합 서명의 형태로 제공할 수 있다. 클라이언트는 서명을 무작위로 요청하지만 검증을 최종 단계에서만 진행하기 때문에 클라이언트-서버 간 통신량과 서명의 크기, 검증 시간 등을 줄일 수 있다. 물론 한번의 서명이 아니라, 일정 시간을 주기로 두세번 정도의 서명이 이루어지는 것도 얼마든지 가능하므로 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다. 다시 말해, 클라이언트가 데이터 저장 기간 동안 무작위로 수행하는 횟수보다는 작아야 하는 것은 분명하다.
상기한 내용 이외에도 클라이언트 단말(100) 및 신뢰 저장장치(120)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
도 5는 도 1의 신뢰 저장장치의 구동과정을 나타내는 흐름도이다.
설명의 편의상 도 5를 도 1과 함께 참조하면, 본 발명의 실시예에 따른 도 1의 신뢰 저장장치(120)는 클라이언트 단말(100)에서 저장을 요청하는 데이터 및 데이터 요청시의 명령어 발생 시간을 포함하는 메타 데이터를 매칭시켜 저장한다(S500).
여기서, 메타 데이터는 명령어 발생 시간 이외에도 데이터 저장시의 실시간 클럭 정보, 그리고 데이터 저장 위임 계약과 관련한 계약 정보 등을 더 포함할 수 있다. 이러한 메타 데이터는 데이터의 위변조 방지를 보장한다고 볼 수 있다. 더 정확히 말해 메타 데이터를 이용한 전자 서명은 저장된 데이터와 상응하는 메타 데이터를 입력하여 하여 생성되기 때문에 데이터가 위변조가 되지 않음을 보장할 수 있는 것이다. 따라서 증명자는 저장을 인증하기 위해 단순한 전자 서명만을 요하기 때문에 서버의 연산량 대한 부담을 줄일 수 있다. 또한, 검증자도 간단한 전자 서명 검증만을 하기 때문에 클라이언트의 연산도 효율적이다.
또한, 신뢰 저장장치(120)는 클라이언트 단말(100)로부터 기저장한 데이터의 확인 요청시 기저장한 데이터 및 기저장한 데이터에 상응하는(또는 매칭되는) 메타 데이터를 기저장되는 서명 비밀키를 이용해 전자 서명을 생성하여 클라이언트 단말(100)로 제공해 데이터 검증을 수행한다(S510). 예를 들어, 클라이언트 단말(100)은 신뢰 저장장치(120)에서 제공된 전자 서명을 기저장된 서명 비밀키로 해독해 이를 통해 검증하는 것도 얼마든지 가능할 수 있을 것이다. 클라이언트가 화면상에서 자신이 저장 요청한 데이터와 메타 데이터 등을 확인해 검증이 이루어질 수 있을 것이다.
이외에도 신뢰 저장장치(120)는 클라이언트 단말(100)에서 요청하는 기저장된 데이터의 크기(예: 용량 등)가 기준치를 초과할 경우 해당 데이터를 분할하여 머클 트리를 생성한 뒤 루트를 입력하여 서명을 생성할 수도 있다. 또 신뢰 저장장치(120)는 결합 서명을 생성해 계약 해지 등의 최종 단계에서만 한번만 전자서명을 생성해 검증이 이루어지도록 동작할 수도 있을 것이다.
상기한 내용 이외에도 도 1의 신뢰 저장장치(120)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 기한 내용 이외에도 도 1의 신뢰 저장장치(120)는 다양한 동작을 수행할 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 클라이언트 단말 110: 통신망
120: 신뢰 저장장치 300: 통신 인터페이스부
310: 제어부 320: 데이터위임저장 인증부
330: 저장부

Claims (10)

  1. 클라이언트 단말에서 저장을 요청하는 데이터 및 데이터 저장 요청시의 명령어 발생 시간을 포함하는 메타 데이터를 매칭시켜 저장하는 저장부; 및
    상기 클라이언트 단말에서 상기 저장한 데이터의 확인 요청시 상기 저장한 데이터 및 상기 저장한 데이터에 상응하는 메타 데이터를 기저장되는 서명 비밀키를 이용해 전자 서명을 생성하여 상기 클라이언트 단말로 제공해 데이터 검증을 수행하는 제어부를 포함하고,
    상기 저장부는, 상기 메타 데이터로서 상기 데이터 저장시 하드웨어 메모리의 실시간 클럭(Real Time Clock) 정보 및 계약에 따른 저장 기간 정보를 더 저장하며,
    상기 제어부는, 상기 전자 서명을 생성할 때 상기 저장한 데이터의 크기가 기준치를 초과하면 상기 데이터를 분할하여 머클 트리를 생성한 후 상기 생성한 머클 트리의 최상위에 위치하는 루트(root)를 입력으로 하여 서명을 생성하고,
    상기 제어부는, 랜덤한 시점별로 생성된 서명을 결합하여 하나의 서명으로 압축하고, 상기 압축한 하나의 결합 서명을 상기 클라이언트 단말로 전송해 상기 클라이언트 단말에서 검증을 수행하도록 하는 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 제어부는, 계약 기간 종료시 한번의 결합 서명 검증을 통해 무작위 시점에서 생성된 다수의 서명들의 검증이 완료될 때 상기 클라이언트 단말로 데이터를 반환하는, 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치.
  6. 저장부가, 클라이언트 단말에서 저장을 요청하는 데이터 및 데이터 저장 요청시의 명령어 발생 시간을 포함하는 메타 데이터를 매칭시켜 저장하는 단계; 및
    제어부가, 상기 클라이언트 단말에서 상기 저장한 데이터의 확인 요청시 상기 저장한 데이터 및 상기 저장한 데이터에 상응하는 메타 데이터를 기저장되는 서명 비밀키를 이용해 전자 서명을 생성하여 상기 클라이언트 단말로 제공해 데이터 검증을 수행하는 단계를 포함하고,
    상기 저장하는 단계는,
    상기 메타 데이터로서 상기 데이터 저장시 하드웨어 메모리의 실시간 클럭(Real Time Clock) 정보 및 저장 기간 정보를 더 저장하며,
    상기 검증을 수행하는 단계는,
    상기 전자 서명을 생성할 때 상기 저장한 데이터의 크기가 기준치를 초과하면 상기 데이터를 분할하여 머클 트리를 생성한 후 상기 생성한 머클 트리의 최상위에 위치하는 루트(root)를 입력으로 하여 서명을 생성하고,
    상기 검증을 수행하는 단계는,
    랜덤한 시점별로 생성된 서명을 결합하여 하나의 서명으로 압축하고, 상기 압축한 하나의 결합 서명을 상기 클라이언트 단말로 전송해 클라이언트 단말에서 검증을 수행하도록 하는 전자 서명 기반 데이터 저장 인증 기술을 지원하는 신뢰 저장장치의 구동방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020230089692A 2023-07-11 2023-07-11 전자 서명 기반 데이터 저장 인증 기술을 지원하는신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템 KR102620056B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230089692A KR102620056B1 (ko) 2023-07-11 2023-07-11 전자 서명 기반 데이터 저장 인증 기술을 지원하는신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230089692A KR102620056B1 (ko) 2023-07-11 2023-07-11 전자 서명 기반 데이터 저장 인증 기술을 지원하는신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템

Publications (1)

Publication Number Publication Date
KR102620056B1 true KR102620056B1 (ko) 2024-01-02

Family

ID=89511921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230089692A KR102620056B1 (ko) 2023-07-11 2023-07-11 전자 서명 기반 데이터 저장 인증 기술을 지원하는신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템

Country Status (1)

Country Link
KR (1) KR102620056B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331105A (ja) * 2000-02-08 2001-11-30 Hitachi Ltd 情報の保証方法、およびそのシステム
KR20060047396A (ko) * 2004-04-26 2006-05-18 트렉 2000 인터네셔널 엘티디. 암호화 시스템을 구비한 휴대용 데이터 저장 장치
KR20200115787A (ko) 2019-03-26 2020-10-08 한국마필거래소 주식회사 블록체인 기반의 대용량 데이터 저장 방법 및 시스템
KR20200136676A (ko) * 2019-05-28 2020-12-08 한양대학교 산학협력단 순차 결합을 지원하는 전방향 안전 서명 방법 및 그 장치
KR102310811B1 (ko) 2019-10-17 2021-10-08 한국전자인증 주식회사 클라우드 기반 데이터 전자인증 및 암호화 방법 및 시스템
KR102474866B1 (ko) * 2020-11-16 2022-12-05 두나무 주식회사 블록체인 기반 문서 관리 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331105A (ja) * 2000-02-08 2001-11-30 Hitachi Ltd 情報の保証方法、およびそのシステム
KR20060047396A (ko) * 2004-04-26 2006-05-18 트렉 2000 인터네셔널 엘티디. 암호화 시스템을 구비한 휴대용 데이터 저장 장치
KR20200115787A (ko) 2019-03-26 2020-10-08 한국마필거래소 주식회사 블록체인 기반의 대용량 데이터 저장 방법 및 시스템
KR20200136676A (ko) * 2019-05-28 2020-12-08 한양대학교 산학협력단 순차 결합을 지원하는 전방향 안전 서명 방법 및 그 장치
KR102310811B1 (ko) 2019-10-17 2021-10-08 한국전자인증 주식회사 클라우드 기반 데이터 전자인증 및 암호화 방법 및 시스템
KR102474866B1 (ko) * 2020-11-16 2022-12-05 두나무 주식회사 블록체인 기반 문서 관리 방법 및 장치

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Giuseppe Ateniese, et al. "Proof of Storage-Time: Efficiently Checking Continuous Data Availability", In: NDSS(2020)
Protocol Labs, "Filecoin: A Decentralized Storage Network" 2017.
Rabaninejad, Reyhaneh, et al. "stoRNA: Stateless Transparent Proofs of Storage-time.", Cryptology ePrint Archive (2023)
클라우드 서비스(AWS, Google drive)

Similar Documents

Publication Publication Date Title
US11501533B2 (en) Media authentication using distributed ledger
CN109067728B (zh) 应用程序接口的访问控制方法、装置、服务器及存储介质
US20220239496A1 (en) Blockchain consensus method, device and system
CN111541783B (zh) 一种基于区块链一体机的交易转发方法及装置
CN111541784A (zh) 一种基于区块链一体机的交易处理方法及装置
KR101974062B1 (ko) 클라우드 하드웨어 모듈 기반 전자 서명 방법
CN111541726A (zh) 一种基于区块链一体机的重放交易识别方法及装置
US20180302787A1 (en) Systems and methods for securely provisioning hypertext transfer protocol secure (https) pins to a mobile client
CN110601855A (zh) 一种根证书管理方法、装置及电子设备、存储介质
CN111931209A (zh) 基于零知识证明的合同信息验证方法及装置
CN114553590A (zh) 数据传输方法及相关设备
CN114785524B (zh) 电子印章生成方法、装置、设备和介质
KR102443255B1 (ko) 래티스를 기반으로 하는 암호키 생성 방법 및 전자서명 방법
KR101593675B1 (ko) 사용자 데이터의 무결성 검증 방법 및 그 장치
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
KR102620056B1 (ko) 전자 서명 기반 데이터 저장 인증 기술을 지원하는신뢰 저장장치 및 그 장치의 구동방법, 그리고 위임 저장 인증 시스템
CN109697603A (zh) 电子印章的保护方法、装置、设备及介质
KR102019558B1 (ko) 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법
CN115086428A (zh) 网络请求发送方法、装置与电子设备
KR20210072711A (ko) 사물인터넷 디바이스와 신뢰 서버 간 상호 인증 방법 및 장치
CN112887097A (zh) 基于sm2椭圆曲线的签名方法、相关装置、及存储介质
CN110659476A (zh) 用于重置密码的方法和装置
CN116049837B (zh) 一种可信计算系统及方法、电子设备和存储介质
US11977620B2 (en) Attestation of application identity for inter-app communications
CN112332991B (zh) 基于工业互联网数据处理方法、系统及存储介质

Legal Events

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