상명대학교 / 서광규 교수


 

블록체인과 클라우드가 접목된 다양한 서비스가 연이어 출시되고 있다. 구글, 오라클, 아마존, IBM, 마이크로소프트 등 클라우드 서비스 기업들은 블록체인 기술을 접목시킨 독자적인 클라우드 시스템을 개발하고 있고 블록체인 기술을 앞세운 암호화폐 거래소들은 클라우드 기술을 융합한 서비스를 제공하고 있다.

클라우드 사용자 데이터는 손실, 유출 또는 공격을 받을 수 있는 위험이 높지만 클라우드 사용자는 데이터 사용자에 대한 정보와 데이터가 클라우드 내에서 이동하는 방법에 대한 정보가 없다. 블록체인은 클라우드 사용자가 클라우드에서 서비스를 아웃소싱 및 획득하면서 신뢰를 높이고 데이터 보안을 제공하는 데 사용할 수 있는 기술이다. 블록체인은 암호화 해시 기능을 사용하여 이전 블록에 연결 및 보호되는 레코드 목록을 지속적으로 모니터링한다. 즉, 블록체인은 거래를 기록하고 변조를 방지할 수 있는 분산 원장이다. 블록체인은 일반적으로 피어 투 피어 네트워크를 통해 관리되며 임의 변조를 비활성화하도록 설계되었다. 또한 블록체인은 개방성 속성을 가지고 있어 데이터 공개가 필요한 영역에 적용 시 데이터의 투명성을 제공할 수 있다. 이러한 강점으로 인해 금융권, 사물인터넷(IoT) 환경 등 다양한 분야에서 활용이 가능하며 그 활용 범위가 확대되고 있다. 본 고에서는 블록체인 기술의 클라우드 컴퓨팅 보안으로 적용 가능성을 논의하기로 한다.

 




 

1. 블록체인의 구조

 

일반적으로 블록체인에서 블록은 현재, 이전, 타임스탬프 및 기타 정보의 해시와 같은 주요 데이터를 포함합니다. [그림 1]은 블록의 구조를 보여준다.

  • 주요 데이터: 일반적으로 블록에서 제공하는 서비스 유형, 즉 은행 거래 기록, 연락처 기록, 통관 기록 또는 IoT 데이터 기록에 따라 다름.
  • 해시: 트랜잭션 실행 후 코드에 해시한 다음 다른 노드로 브로드캐스트함. 각 노드 블록에는 수천 개의 트랜잭션 레코드가 포함되어 있고 블록 헤더에 최종 해시를 기록하기 때문에 블록체인은 머쿨(Merkle) 트리 기능을 사용하여 데이터 전송 및 컴퓨팅 리소스를 줄임
  • 타임스탬프: 블록 생성 기간
  • 기타 정보: 주로 블록 서명, 사용자가 정의한 데이터 또는 nonce 값은 기타 정보의 범주에 속함

블록체인 블록은 블록 바디와 블록 헤더로 구성된다. 블록 헤더는 블록 버전, 상위 블록 해시, 머클 트리 루트 해시, 타임스탬프, n 비트, Nonce 값으로 구성된다. 블록은 블록 세부 정보의 메타데이터를 포함하는 헤더, 자체 키 해시와 함께 이전 블록의 키 해시, 유효한 트랜잭션 목록으로 구성된다.

 


[그림1. 블록체인 구조]


 




 

2. 블록체인의 특징

 

요구 사항은 블록체인 시스템이 획득해야 하는 모든 특성 및 속성과 시스템이 효과적이고 효율적으로 작동해야 하는 제한 사항을 나타낸다. 따라서 블록체인 시스템의 전반적인 기능에 영향을 미치며 시스템 설계에 더 큰 영향을 미칠 수 있다. 블록체인 네트워크의 비기능적 속성 중 일부는 다음과 같다.

  • 개방성: 블록체인은 노드의 호환성 특성으로 인해 거래 중에 정보를 사용하고 교환할 수 있는 능력이 있음
  • 동시성: 노드가 동시에 처리함에 따라 블록체인 성능이 향상됨
  • 확장성: 새로운 노드를 추가 및 삭제하면 블록체인을 확장할 수 있음
  • 내결함성(Fault tolerance): 블록체인 네트워크의 내결함성 속성은 모든 노드의 결함이 블록체인의 다른 모든 노드에 투명하므로 결함이 발생한 경우 네트워크가 제대로 작동하도록 함
  • 투명성: 블록체인 트랜잭션은 네트워크의 모든 노드에서 볼 수 있음
  • 보안: 데이터를 보호하기 위해 SHA-255와 같은 강력한 암호화 프로토콜이 블록체인 네트워크에서 사용됨
  • 서비스 품질: 응답 시간 및 안정성, 트랜잭션이 완료되는 데 걸리는 시간 및 필요한 서비스 제공에 대한 약속은 블록체인 네트워크의 서비스 품질(QoS)을 결정함
  • 장애 관리: 블록체인 네트워크를 견고하게 만들고 장애 원인을 파악할 수 있는 프로세스가 있어야 합니다. 자동으로 장애를 복구하는 방법을 제안할 수 있음

 




 

3. 클라우드 요구사항

 

클라우드에 영향을 줄 수 있는 클라우드의 중요한 요구 사항 중 일부는 다음과 같다.

  • 확장성: 클라우드 네트워크는 클라우드 서비스를 사용하여 수백만 명의 사용자 또는 노드를 처리함. 하드웨어 아키텍처는 크기가 유연하며 노드를 확장 및 확장할 수 있음
  • 탄력성: 리소스를 할당 및 할당 해제하여 탄력적으로 워크로드에 대응할 수 있음- 개인 정보: 모든 사용자는 자신의 데이터를 효과적으로 제어해야 하며 시스템도 데이터를 보호해야 함
  • 무한한 컴퓨팅 리소스: 클라우드의 프로비저닝 서비스는 사용자가 미리 계획할 필요가 없음
  • 가격 책정: 클라우드의 다양한 애플리케이션과 서비스는 요금이 다르며 비용은 리소스 활용도에 따라 다름
  • 활용도: 가능한 최상의 활용도를 허용함으로써 리소스를 효과적으로 재구성하여 가변 부하를 미세 조정할 수 있음
  • 비용 효율성: 사용자가 하드웨어에 적합한 소프트웨어 라이선스를 구매할 필요가 없기 때문에 최종 사용자에게 편리한 인터넷 기반의 클라우드 서비스가 필요함. 이렇게 하면 소프트웨어 유지 관리 및 운영의 전체 비용이 감소함
  • 성능: 일반적으로 평가는 클라우드 시스템에서 실행되는 응용 프로그램 및 기능의 효율성 측면에서 정량화됨
  • 유연성: 인터넷을 통해 파일이나 서비스를 공유하는 기능은 유연성이 있음. 클라우드는 사용자에게 더 큰 범위의 유연성을 제공함.

 




 

4. 블록체인 보안에 대한 도전

 

블록체인 기술은 컴퓨터 생성 및 암호 화폐와 직접적인 관련이 있으며 모든 사용자가 사용한다. 그러나 여전히 몇 가지 블록체인 보안 문제가 보고되고 있으며 대표적인 사례는 다음과 같다.

  • 블록체인 계약
  • 거래 보안
  • 지갑 보안
  • 소프트웨어 보안

 

4.1 블록체인 계약

블록체인은 기본적으로 생성된 블록을 순차적으로 연결한 것이다. 일시적으로 생성된 마지막 두 블록은 두 명의 다른 피어가 동시에 마이닝 중에 결과를 생성한 경우 두 명의 다른 사용자가 사용할 수 있기 때문에 두 개로 분할될 수 있다. 비트코인 네트워크의 피어가 최신 블록으로 선택하지 않으면 블록이 무의미해지고 지속적인 채굴은 무의미해진다. 비트코인에서는 채굴 잠재력이 50% 이상인 동료들이 네트워크를 따라갈 것이다.

 

4.2 거래 보안

보안 문제를 처리하기 위해 입력 및 출력에 대해 잘 작성된 스크립트와 함께 유연한 프로그래밍 언어를 사용하여 다양한 트랜잭션 양식을 생성할 수 있다. 비트코인 계약은 검증, 검증 및 금융 서비스에 사용된다. 계약을 생성하는 가장 일반적인 방법은 다중 서명이라는 다중 서명 기술이 포함된 스크립트를 기반으로 한다.

 

4.3 지갑 보안

개인 키와 공개 키의 조합으로 암호화 비트코인 ??주소는 공개 키의 해시 값을 사용한다. 따라서 비트코인 ??트랜잭션 잠금 스크립트 주소는 공개 키와 개인 키의 조합에서 생성된 값을 포함하는 잠금 해제 스크립트 없이는 잠금을 해제할 수 없다. 잠금 해제 스크립트 생성에 사용되는 주소의 개인 키와 같은 정보는 비트코인 ??지갑 내부에 저장된다. 즉, 우리가 비트코인을 사용하기 위해 알고 있는 정보가 필요하고 중요하기 때문에 지갑 내부의 정보를 잃어버리면 비트코인이 손실된다. 결과적으로 비트코인 ??지갑은 해킹을 통한 비트코인 ??공격의 주요 초점으로 밝혀졌다.

 

4.4 소프트웨어 보안

블록체인에서 사용되는 소프트웨어의 버그는 중요할 수 있으므로 블록체인에서 사용되는 소프트웨어는 주요 관심사이다. 블록체인의 경우 대부분의 오픈소스를 사용하므로 소프트웨어 보안에 취약할 수 있다.

 




 

5. 클라우드를 위한 블록체인 기술과 활용 사례

 

클라우드 컴퓨팅 시스템에서 사용자의 기밀 데이터가 노출되면 이러한 민감한 데이터의 유출로 인해 경제적, 심리적 손실이 발생할 수 있다. 클라우드 컴퓨팅 환경에서 무결성 및 개인 정보 보호와 같은 전송 및 저장 데이터의 보안을 주로 연구한다. 적절한 서비스 수준으로 강화된 블록체인은 클라우드 컴퓨팅 환경에 통합될 경우 보안을 보장할 수 있다. 블록체인 기술을 사용하는 동안 보안 전자 지갑이 설치된다. 전자지갑을 제대로 삭제하지 않으면 사용자 정보가 오용될 수 있다. 이 사용자에 대한 나머지 데이터는 사용자 정보를 추출하는 데 사용할 수 있다.

 

5.1 오픈 원장

모든 사용자는 블록체인에서 사용하는 클라우드 스토리지에 액세스할 수 있고 개방되어 있으며 SLA(서비스 수준 계약)를 포함하여 클라우드에서 제공하는 모든 종류의 서비스를 볼 수 있다. 모든 사용자는 보안 수준을 볼 수 있으며 클라우드가 제공한다. 블록체인의 투명성과 개방형 사양으로 클라우드의 신뢰성을 높일 수 있다.

 

5.2 분산 원장

모든 원장 사본은 잘 동기화되며 모든 클라우드 사용자는 원장의 동일한 버전/사본을 볼 수 있다. 원장에는 개별 클라우드 사용자가 사용한 서비스 기록과 일반적인 서비스 사용, 정책 및 SLA가 포함된다.

 

5.3 탈중앙화 스마트 계약

블록체인에서 스마트 계약이라는 용어는 계약의 조건을 유지하고, 조건을 확인하고, 조건을 실행하는 소프트웨어를 사용한다. 스마트 계약 기술과 결합된 블록체인은 CSP, 제3자 등에 대한 더 많은 신뢰와 투명성을 가능하게 한다. 스마트 계약은 모든 클라우드 사용자가 사본을 가지고 있는 블록체인에 저장된다. 결제가 확인되면 서비스를 아웃소싱한다. 모든 계약 트랜잭션은 이벤트의 완전한 감사 추적과 함께 향후 액세스를 위해 블록체인에 시간순으로 저장된다. 당사자가 블록체인에서 계약을 변경하려고 하면 다른 모든 클라우드 사용자가 이를 감지하고 방지할 수 있다.

 




 

6. 결언

 

분산형 공유 원장 기록 기술로 인식된 블록체인과 원격 서비스가 가능한 중앙형 데이터 저장 기술로 인식된 클라우드라는 두 네트워크가 융합되고 있다. 특히 암호화폐 시장에서 분산화된 클라우드 컴퓨팅 기술은 비용 절감, 보안 강화, 체결 신속화 등 더 많은 기회를 제공하고 있다. 무엇보다 블록체인에 기반을 둔 클라우드 서비스는 대용량의 데이터 저장 관리를 제공할 수 있다는 장점이 있다.

본 고에서는 블록체인의 일반적인 구조에 대해 살펴보았고, 블록체인 및 클라우드 컴퓨팅 보안 요구 사항의 특성을 분석했다. 이러한 분석을 바탕으로 블록체인은 클라우드 컴퓨팅 환경에서 보안을 제공하는 데 사용될 수 있는 가능성을 확인하였다.

 




 

참 고 문 헌

  1. https://en.wikipedia.org/wiki/Blockchain.
  2. Christidis, K. and Michael, D. 2016. Blockchains and Smart Contracts for the Internet of Things. IEEE Access 2016, 4: 2292?2303.
  3. Singh, S. Jeong Y.-S. and Park. J.H. 2016. A survey on cloud computing security: Issues, threats, and solutions. J. Netw. Comput. Appl. 75: 200?222.
  4. Shuaib, M. Samad, A. Alam S., and Siddiqui. S. T. 2019. Why Adopting Cloud Is Still a Challenge??A Review on Issues and Challenges for Cloud Migration. Ambient Communications and Computer Systems: Advances in Intelligent Systems and Computing, vol 904. Springer, Singapore: RACCCS-2018, 387.
  5. Shuaib, M. Samad, A. and Siddiqui. S. T. 2017. Multi-layer security analysis of hybrid Cloud. In 6th international conference on system modeling & advancement in research trends, 526-531.
  6. Alam, S. Siddiqui, S. T. Masoodi, F. and Shuaib M. 2018. Threats to Information Security on Cloud: Implementing Blockchain, 3rd international conference on SMART computing and Informatics, 21-22 December 2018, Kalinga Institute of Industrial Technology, Odisha. Springer. SPRINGER-SIST series.
  7. Omohundro. S. 2014. Cryptocurrencies, smart contracts, and artificial intelligence. AI Matters 1 (2): 19?21.

 




 
저작권정책

K-ICT 클라우드혁신센터의 저작물인 『블록체인 기술을 적용한 클라우드 컴퓨팅 보안』은 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.