프로그래밍 공부

2022-08-05 교육 본문

2022 블록체인 지역특화 프로젝트 과정

2022-08-05 교육

khj1999 2022. 8. 5. 13:20

블록체인과 보안기술

  • 암호기술 - 비대칭키 (암호화, 복호화)
  • 인증기술 - PKI, CA, 서명(내가 이 데이터를 만들었음을 증명)
  • 해쉬기술 - 데이터 무결성 보장

기본적인 암호학

  • 대칭키 암호화
  • 공개키 암호화
  • 디지털 서명
  • 메시지 인증
  • 해시

대칭키 암호화

  • Cipher & key 가 있을때 이것을 통해서 접속
  • 효율이 안좋음

공개키 암호화

  1. 키분배의 문제가 없지만 느리다
  2. 데이터 통신에 사용할 수 없음

해시

  • 정해져 있는 해시 알고리즘을 통해서 원본데이터를 확인
  • 목적은 데이터가 무결한지 검사하기 위해 사용
  • 암호는 복호화가 가능하지만 해시는 복호화를 할 수가 없음
  •  

공개키-비밀키 암호통신의 문제

  • 공개키가 누구의 것인지 모르는 문제가 있음 따라서 CA(인증)가(이) 필요함

공개 키 기반구조(PKI)

  •  

보안의 목표

  • 기밀성(Confidentiality) -민감한 정보가 컴퓨터 내에 있건, 네트워크 상에 있건 사람들이 읽을 수 없어야 함
  • 무결성(Intergrity) - 민감한 정보가 컴퓨터 내에 있건, 네트워크 상에 있건 사람들이 변경하거나 파괴할 수 없어야 하고 적어도  그 정보가 변경되었꺼나 파괴 되어도 ,정보를 접수한 사람이 그 사실을 탐지하거나 데이터를 복원할 수 있어야함
  • 가용성(Availability) - 정보를 사용할 권한을 가진 사람이 사용하지 못하는 일이 없어져야하는 것 을 의미함 컴퓨터에 대한 공격이던 정보에 대한 접근의 권한을 갖기 못하게 하여야 한다.

보안용어 

  • 위해(compromises) - 성공한 공격은 사건, 침해또는 위해라고도 부른다
  • 대책(countermeasure) - 분류 : 예방형, 탐지형, 복구형

블록체인에서의 보안의 활용

  • IOT
  • 기밀성과 데이터 무결성 개선
  • 개인 메세지 보호
  • PKI강화 대체
  • 안전한 DNS
  • DDOS 방지

Blockchain Trilemma

  • Decentralization
  • Scalability
  • Security

공격대상에 따른 암호화폐 지갑 공격 흐름

  1. 내부직원 PC해킹(이메일, 원격접속프로그램), 거래소 시스템 해킹(서버, 홈페이지 해킹) - 암호화폐거래소 임, 직원
    시스템 직접 공격
  2. 접속정보 탈취(이메일, 크리덴셜 스터핑등을 이용한 거래소 접속정보 탈취, 핫 월렛 정보 탈취) -  암호화폐거래소
    사용자 공격
  3. 악성코드 설치(개인정보 및 권한 탈취, 핫 월렛 정보 탈취) - 암호화폐거래소 임, 직원, 시스템 직접 공격
  4. 개인, 거래소의 핫 월렛 공격(개인, 거래소의 암호화폐 지갑의 ㅋ개인키를 탈취하여 핫 월렛에 저장된 암호화폐를 다른 전자지갑으로 이동) - 암호화폐거래소 사용자 공격
  5. 암호화폐 세탁 및 환전(다수의 거래소에서 암호화폐 환전 및 현금화)

재귀호출 취약점(Recursive Calls Vulnerability) 공격

  • ex) A계좌에 있는 100만원을 B계좌로 50만원 출금신청을 하는 경우 A계좌의 100만원을 차감하기 전에 B계좌로 다시 출금을 시도하고 다시 또 50만원을 출금하는 행동을 반복하면 A계좌에서는 50을 차감하기 전에 새로운 출금요청이 왔기 댸문에 100만원이 그대로 존재하게 되고 B계좌에는 출금한 50만원들이 꾸준히 쌓이게 되는 것이다.
  • 이 공격을 사용해 일어난 사건이 이더리움의 DAO 해킹사건이다

분산 네트워크 

  • 블록체인 정보는 네트워크에 참여하는 노드들이 가지고 있으며, 동일한 거래내역이 분산 저장됨
  • 분산 합의제도(거래를 블록체인에 포함시키기 위해서 거래를 승인하는 분산 합의 제도를 채택하고 있으며
    제 3의 신용기관 없이 P2P 분산 네트워크에서 검증) - 채굴 시 각 정보는 각 노드들에게 정송되고, 유효성 검증을 수행한 후 합의(노드의 51% 이상)를 통해 블록을 승인, 단 모든 노드가 가진 컴퓨팅 파워 51%를 악의적 행위자가 장악하게 되는 경우, 거래 기록을 조작할 위험성이 존재하나 현재의 컴퓨팅 파워로는 사실상 불가능함

분산 합의 과정

  1. 새로운  거래 내역이 발생하면 모든 노드에 알려짐
  2. 각 노드들은 새로운 거래 내역을 블록에 취합
  3. 각 노드들은 그 블록에 대한 작업증명을 찾는 과정을 수행
  4. 노드가 작업증명을 성공적으로 수행하면, 모든 노드에게 해당 블록을 전송
  5. 노드들은 해당 블록의 모든 거래가 이전에 쓰이지 않는 경우에만 승인
  6. 노드들은 자신이 승인한 블록이 해시를 이전 해시로 사용하여 다음 블록을 생성하는 과정을 통해 해당 블록이
    승인되었을을 알림

적용 보안 기술 - 암호기술

  • 복호화가 가능한 공개키 기반 검증과 일방향 함수라고도 불리는 해쉬 암호화(SHA-2)를 이용
  • (공개키 암호화) 개인간 거래 시 생성되는 디지털 서명을 검증하여 거래 내역이 변경되지 않았음을 입증하는데 ECDSA 전자서명 알고리즘 이용
  • (해쉬 암호화) 거래 내역을 포함하는 블록의 정보가 변경되지 않을을 증명하고, 새로운 블록을 찾기 위한
    넌스 값을 찾는데 이용 ex) 거래내역 입증 간소화 - 각각의 거래 내역의 해쉬 값을 누적하는 머클 트리 구조의
    루트 해시를 가짐으로써 중간에 값이 변경되면 루트 해시 값이 변경됨으로 변조 유무를 쉽게 판단 가능

비트코인에서 디지털 서명

ex)

  1. Alice는 Bob에게 1BTC를 보내기 위한 거래 전문과 해시 값을 생성한 후 Alice의 개인키를 이용하여 해시 값을 암호화
  2. 거래 전문과 암호화된 거래 전문의 해시 값을 Bob에게 전송
  3. Bob은 거래 전문 정보로 해시 값을 만들고, 암호화된 해시 값을 Alice의 공개키로 복호화 한 후 생성된 해시 값과
    비교하여 무결성을 검증함

이중거래 방지

악의적인 목적으로 동시에 두 곳 이상의 계좌로 송금하는 행윌르 방지 하기 위해서 총 통화량, The Longest Chain Wins
메커니즘을 이용

ex)

  • 이중 거래 발생 시 총 통화량(2,100만개)이 초과됨
  • 중복 지출에 의해 블록체인이 분기(Fork)될 경우 다음 블록을 먼저 생성하여 길이가 길어지는
    체인을 인정(The Longest chain Wins 메커니즘)

 

그 외

블록체인에서 리더가 있으면 어시메트릭 없으면 시메트릭

운영체체와 플렛폼이 중요함

블록체인은 무결성, 가용성이 좋으나 기밀성이 떨어짐
블록체인은 익명성을 특성으로한게 많음

Blockchain Trilemma는 Trade off 관계라고 볼 수 있다

'2022 블록체인 지역특화 프로젝트 과정' 카테고리의 다른 글

2022-08-11 공부  (0) 2022.08.16
2022-08-10 공부  (0) 2022.08.16
2022-08-09 공부  (0) 2022.08.16
2022-08-08 공부  (0) 2022.08.16
2022-08-04 교육  (0) 2022.08.04
Comments