가상융합 기술에 대한 보안 이슈 및 대응
메타버스 보안 위협
가상환경에서의 사이버 범죄 발생 → 그에 맞는 대응책
- 로블록스 개인정보 유출
- 다수가 청소년들의 정보(자주쓰는 메일, 아이디 등등)
- 정상적인 서비스에 C2 연결
- 스팀 VR 게임 보안 취약점 패치
- 취약점으로 상대방을 타겟팅한 사이버 범죄 이슈
메타버스 아키텍처 기반 보안 위협
- 가상 생태계 - 아바타, UGC, 디지털 자산, 마켓 플레이스, 마케팅
- 플랫폼 - 프로그래밍 엔진, 자산 디자인 도구, 메타버스 서비스, 메타버스 활용기술, 가상금융 서비스
- 인프라 - 이용기기, 네트워크, IT 인프라
메타버스 인프라 보안 위협 대응 방안
- 네트워크 인프라 보호 : 클라우드, 서버, 네트워크 등 ICT 인프라 지속 가능한 서비스 제공 사업자는 정보시스템 보안요구사항 적응 및 준수 필요
블록체인 보안 - 스마트 컨트랙트 보안
재진입 취약점 공격
DAO 해킹 사례
- DAO는 2016년 5월 ICO를 통해 생겨난 이더리움 스마트 컨트랙트 프로젝트
블록체인 및 NFT 작동방식 이해
1. Web3.0
- Web3 요소
- 탈중앙화(Decentralized)
- 은행에 서류 떼러가고, 학적정보 서류 떼러 학교가는 것들 → 중앙시스템에 접근하는 것.
- 데이터가 흩어져 있으면 분산화→ 데이터가 모아져 있느냐 흩어져 있느냐?
- 구글, 카카오 등의 데이터가 서버로 감 → 데이터가 모여있는 곳(중앙)
- 데이터를 관리하는 주체
- 중앙을 집중 관리하는 관리자가 존재한다면 중앙화
- 모든 데이터를 컨트롤할 수 없는 경우 탈중앙화
- 데이터를 모으지 않는 방법
- 로컬에 저장하는 방법, 개인데이터는 각자 갖자.
- 블록체인(Blockchain)
- 토큰경제(Tokenomics)
- 돈의 흐름
- 코인(토큰) : 블록체인 상에서의 가상 화폐
- “Web3” : 블록체인 기반의 탈중앙화된 온라인 생태계 (Decentralized Online Ecosystem based on Blockchain)
- Web 1.0 / 2.0 / 3.0 구분 방법 : 데이터 소유 방식에서 가장 큰 차이
- 블록체인은 시스템보다는 네트워크에 가까움
블록체인 기술
블록체인 정의
- 다수가 모든 이의 거래 정보 장부(Ledger)를 공유하며 관리하는 기술
- 특정 프로그램(이더리움, 비트코인)을 설치
- 실행 → 넷상으로 서로 연결이 됨
- 블록체인이라는 가상 네트워크가 그 위에 올라가게 되고, 블록체인을 실행시킨 사람끼리 연결되는 것임 (VPN가 유사)
a. 핫라인처럼, 바로 연결이 되면 통신이 빨라짐 → 신뢰성이 있음
b. VPN은 가상 망에서 가상의 네트워크를 하나 만들어 놓은 것과 유사함(like 전용망)
-
ex. 카톡
1. 프로그램 설치 → 친구 이름을 보고 바로 보낼 수 있음
2. 보낼 때 메일 확인하고 그런 과정을 거치지 않고 보내는 것.
3. 접속된 사람들 간의 네트워크로 연결이 되어 있는 것
→ 카톡에서는 카톡 친구라는 것이 전용 네트워크가 되는 것임
4. 누가 이더리움을 설치한 건지 모르는데, 랑데부 포인트 지점에 가게 되면
-
블록체인 상에서 입금 요청
- A가 B에게 1000원 보내는 상황
- 네트워크에 B라는 사람에게 1000원을 보내줘 라고 요청하게 됨
- 그럼 그 네트워크 상에 있는 모든 사람들의 기기가 검증을 하게 됨
- A라는 사람의 계좌에 1000원 이상의 돈이 있는가? 검증완료
- 원장에 기록을 하게 됨(10000-1000) 기록이 남게 됨
- PoW 작업 증명을 통해 블럭을 생성함
-
마이닝 : 이전 블록 해쉬값 검증 후 재빨리 새로운 블록 생성을 위해 해시연산 수행
-
블록 생성(블록 하나에 트랜잭션이 여러개 있음) → 이전 블록 해시값과 임시값 거래 데이터의 해시값 연산으로 체인 형성
→ 일시적으로 분할됨
- 불변원장 효과, 부인방지 효과 → 긴 블록 선호, 절반 이상의 합의
- -- → X
- 블록 2를 빨리 만들면 인센티브를 받을 수 있음
- 블록2를 만드는 조건들
- 블록1 해시값 → 고정값
- 난수(nonce) → 변수값
- 돈을 갚아라, 커피값을 지불해라 … 등등이 각각의 트랜잭션이 됨 → 고정값
- PoW(Proof of Work) 작업 증명
- 난수값 난이도 조절로 블록 생성 속도 자동 조절
- 내가 구한 블록의 해시 연산값이 특정 연산값보다 작게 나와야 됨
- 더 작은 값으로 조정하려면 난수를 조정해야 함, 왜냐면 변경 가능한 값이 난수밖에 없으니까.. → 많이 해보면 많이 해볼 수록 유리한 것임
- 누가 찾았다고 하면 다른 계산하던 애들도 그 값이 맞는지 검증을 하게 됨.
그럼 이 경쟁을 왜 시키느냐?
-
많은 사람들이 참여하게 되면 경쟁이 심화됨
-
거짓말로 한 것인지 ? 진짜인지 ? 믿을 수 있어야 하는데 많은 컴퓨터들이 검증을 다 하게 되면 이 데이터에 대한 신뢰성을 높여줌
- 1000억 없는데 보내줘(가짜데이터) 하고 트랜잭션을 날림
- 그럼 이제 각자 장바구니에 트랜잭션을 블록사이즈만큼 담아
- 빨리 연산을 하자..
-
동시에 트랜잭션 2개가 나왔을 때 둘 다 가짜일 수는 없음 대신 둘 중 하나는 진짜인 것이 됨
- A에 보내라는 트랜잭션을 담을 수도 있고
- B에 보내라는 트랜잭션을 담을 수도 있고
- A에 보내라는 거랑 B에 보내라는 거 두 개 다 담은 블록이 있을 수 있음
- 이 경우 충돌이 나서 둘 중 하나를 랜덤으로 버리게 됨
-
정답블록이 나오면 다른 블록은 검산을 해본 후 다음 블록을 또 빠르게 만들고자 함
-
먼저 연산이 되어서 먼저 원장에 들어가 있게 되는 것(합의를 봄)이 진실이 됨
-
50% 이상의 사람들을 매수를 해서 정답으로 만들어야 함… → 50%의 Rule.
-
블록체인은 합의체이며, 참여한 사람들끼리의 rule이며, 진위여부는 중요하지 않으며 진실이라고 여겨지는 것이다.
-
앞에서 트랜잭션 연산이 빨리 될 경우 난이도가 조정됨(늦춰지도록..) → 이런 매커니즘이 존재하게 됨.
일시적 분할(FORK)
긴 블럭이 어느정도 형성이 되면, 가장 긴 블럭에 대해서 보상을 해주게 되어 있음 → 인센티브
일시적으로 트랜잭션이 쪼개질 수 있음 → 대신 마이너한 합의가 이뤄져도 오래 걸릴 수 밖에 없긴 함 → 가짜 블록을 완성해서 만들었어도 이 뒤의 블록을 만들어지지 않게 됨
하드 FORK
심각한 상황, 거의 없기는 함
PoS(Proof of Stake) 지분 증명
- PoW의 해시 파워 소모 개선
- 의사결정권이 거의 대주주에게로 돌아가는 상황과 유사한 것임
- 코인을 많이 갖고 있는 사람에게 블록 생성할 수 있는 권위를 주는 것 (돈 많은 사람들에게 주는 것;?)
- 노력으로 증명..
- 이더리움은 PoS로 바꿈
비트코인은 아직 PoW 방식임,
PoA(Proof of Authority) 방식도 있는데 이건 Authority 권위 있는 엘리트들끼리 결정
| 알고리즘 | 핵심 자원 | 장점 | 단점 | 대표 사례 |
|---|
| PoW | 연산력(작업) | 보안성 검증됨 | 에너지 낭비, 중앙화 위험 | 비트코인 |
| PoS | 지분(코인 보유량) | 친환경, 효율적 | 부의 집중 가능성 | 이더리움, Cardano |
| PoA | 권한(신뢰된 검증자) | 빠르고 효율적 | 중앙화, 신뢰 의존 | VeChain, 기업용 체인 |
- 블록체인을 설계할 때 있던 스마트 컨트랙트만 사용해야 한다.
- 수정 및 변환이 안됨 → 바꾸게 되면 하드 포크가 되는 것임
- 업그레이드 하게 되면 다른 블록체인이 되기 때문이다.
- 이 블록체인에 있는 스마트 컨트랙트 함수만을 가지고 사용해야 한다.
앞의 블록이 바뀌면 그 뒤의 모든 블록이 연쇄적으로 바뀌어야 함 → … 불가능에 가까움
- 전자지갑에 돈이 있는 게 아니고, 원장에 돈이 있는 것임. → 기록을 해놓으면 그 자체가 유효한 것임.
- 토큰과 코인 : 토큰이라는 용어가 모든 것을 포괄한다.
- Token : 자격정보가 들어가면 자격정보가 되고, 이미지가 들어가면 NFT가 되고 .. 그런 것, 화폐가 되면 코인이 되는 것
옮기고, 바꾸고 이 두가지로 연산을 한다.
블록체인 관련 이슈 → 특징
- 당사자 특정 이슈(저작권자, 저작권침해자) → 익명성
- 실수, 오류, 침해내역에 대한 수정, 삭제, 차단조치 어려움 → 불변, 비가역적, 스마트계약
- 지워지지 않음.. 효력 자체만 업데이트해서 새로운 정보를 제공해주어야 함
- 개인정보, 영업비밀 정보 등 노출 위험 → 공유, 투명성
NFT 개요
NFT가 무엇인가?
- NFT는 대체 불가능한 토큰(Non-Fungible Token)을 이용해 작품과 창작 및 소유에 대한 기록을 블록체인상에 남기는 새로운 작품 거래 방식
- 대체가 불가하다?
- 교환이 불가한 것.
- 고유한 가치가 있는 것임(예술작품, 집문서, 자격증명)
NFT 관련 표준
- ERC20 : FT, 대체 가능한 토큰
- ERC 721 : NFT, 대체 불가능 토큰
- ERC 1155 : ERC 721의 수수료 문제 개선 → NFT 개선화
블록체인 - 보안
원장이 깨져서 해킹 당하는 것이 아니라 서비스가 취약한 것
이더리움+IPFS NFT
NFT 아키텍쳐
블록체인 네트워크
블록체인 원장
→ 메타 데이터 (IPFS, 웹서버, 클라우드 등에 저장)
→ 이미지(IPFS, 웹서버, 클라우드 등에 저장)
NFT 구조
ex. torrent, IPFS(https://medium.com/@jeongtai84/블록체인에서-ipfs에-대해-알아보자-3725280ed2dc)
- CODE & Storage(소유자의 지갑 주소, 저장위치)
마지막 하나의 서버로 네트워크를 다시 살릴 수 있음
대표적인 OpenSea 메타데이터 정보