SEARCH

검색창 닫기
  • BTC
  • ETH
  • XRP
  • BCH
bithumb제공 bithumb제공
  • BTC
  • ETH
  • XRP
  • BCH
bithumb제공 bithumb제공

[디센터 용어사전③]해시함수, 해킹이 가능한 듯 불가능···무량대수만큼 시도해야




# 얘기는 제2차 세계대전 때로 거슬러 올라간다.

연합군은 독일군에게 밀렸다. 독일의 암호체계 ‘에니그마’ 때문이었다. 해독이 불가능했다. 연합군 수송선은 독일 잠수함 유보트에 속수무책으로 당했고, 수천 명이 목숨을 잃었다. 영국군은 각 분야의 수재를 정보암호학교(GCCS)에 모았다. 그리고 에니그마 해독팀을 꾸렸다. 천재 수학자 앨런 튜링도 그 팀에 합류했다. 우여곡절 끝에 암호를 풀었고 전쟁의 소용돌이 속에서 1,400만 명의 목숨을 건질 수 있었다.

실화를 바탕으로 2005년 만든 영화 ‘이미테이션 게임’의 내용이다. 다만 안타깝게도 암호를 푼 주인공 앨런 튜링은 영국의 동성애 금지법에 걸렸고, 1954년 6월 7일 시안화칼륨을 주입한 사과를 먹고 자살했다. 그는 그렇게 떠났지만, 암호가 군사적·경제적으로 전 세계의 질서를 뒤흔들 수 있다는 교훈을 남겼다.



‘SHA-256’

비트코인 등 블록체인 기술에서 쓰는 해시함수다. 뜻만 보면 해시는 컴퓨터에서 사용하는 ‘의미 없는’ 하나의 문자열이다. 세계대전의 교훈을 잘 알고 있는 미국 국가안보국(NSA)은 1993년 ‘SHA(Secure Hash Algorithm·안전한 해시 알고리즘)’란 암호체계를 개발했다. 2년 후인 1995년에 ‘SHA-1’으로 한 단계 업그레이드했다. 미국 국립표준기술원(NIST)은 SHA-1을 연방 표준(FIPS Pub 180-1)으로 받아들였다.

10년이 지난 2015년 중국의 한 대학에서 ‘SHA-1’을 풀 수 있다는 얘기가 흘러나왔다. 그러자 마이크로소프트, 구글, 모질라 등은 SHA-1을 기반으로 한 모든 프로그램과 연산체계를 퇴출 시키겠다고 선언했다. 그 이후 IT 세상은 ‘SHA-2’가 주류가 됐고, 비트코인을 비롯한 블록체인 기반 암호화폐 등도 ‘SHA-2’ 기술을 기반으로 한다.

SHA-1, SHA-2 … SHA-256?

‘SHA-256’은 SHA가 256번 업그레이드했다는 얘기가 아니다. SHA-1와 SHA-160, SHA-2와 SHA-256은 같은 말이다.

이유가 있다. SHA-1은 160비트로 나올 수 있는 모든 경우의 수, 즉 2의 160제곱개의 데이터를 일일이 확인해야만 입력 데이터를 찾을 수 있다는 의미다. 그래서 SHA-1을 SHA-160이라 부른다.

SHA-2는 SHA-1보다 데이터값을 확인하는 난이도를 높였다. SHA-2은 SHA-256과 같은 말로 2의 256제곱개의 데이터를 확인해야 입력 값이 뭔지 풀 수 있다는 의미다. 말이 2의 256제곱이지 우리가 쓰는 10진법으로 바꾸면 10의 77제곱 정도다. 모든 거래 내역을 해시함수 SHA-256로 암호화하는 비트코인 등 각종 암호화폐가 해킹이 불가능하다고 호언장담하는 이유다.

물론 SHA-256이 블록체인에서만 쓰이지 않는다.

한국인터넷진흥원(KISA)은 2011년부터 공인인증기관과 PKI(공개키기반구조) 솔루션 개발업체, 은행 등 전자거래 업체들과 협력해 전자거래 보안성을 한층 강화하는 데 ‘SHA-256’을 채택했다. ‘공인인증서 암호체계 고도화’ 작업도 이 기술을 바탕으로 삼는다. SHA-256은 KISA가 ‘SHA-256 해시 함수에 대한 소스코드 활용 매뉴얼’까지 만들어 배포할 정도로 많이 알려진 기술이다.

비트코인도 같은 기술을 기반으로 한다.

모든 거래내역을 일정 시간마다 해시함수로 암호화해 블록을 만든다. 비트코인은 공개된 분산원장을 표방한다. 비트코인 주소 간에 발생한 거래 내역은 누구나 확인이 가능하다. 단 장부 자체만 갖고 암호화된 주소가 누구 것인지 알아내려면 10의 77제곱번 정도 데이터를 확인하면 된다. 결론적으로는 불가능하다는 얘기다.

그래도 해킹 가능성이 ‘0’은 아니다. 사이버 세상에선 또 다른 치열한 전쟁이 벌어지고 있다. 2008년부터 SHA-256 해시함수를 풀려는 일련의 공격이 이어지고 있다. 그래서 미국 국립표준기술원도 2015년 한 단계 진화한 ‘SHA-3’을 권장표준으로 삼았다. 물론 이를 지원할 소프트웨어와 하드웨어가 전혀 없는 상황이어서 대부분은 SHA-256에 머물러 있다. 그러나 블록체인 기술 입장에선 시간의 문제일 뿐 언젠가는 반드시 해시함수 ‘SHA-3’을 안고 가야 한다. /디센터유니버시티·보스코인

우승호 기자
derrida@sedaily.com
< 저작권자 ⓒ 디센터, 무단 전재 및 재배포 금지 >

이메일보내기