※edx프로그램의 내용을 기반으로 좀더 정제해서 쓰려고 노력중입니다.
인트로: 인터넷에서 신뢰는 깨졌다
위의 발언은 역설적이고 놀라워 보이지만 그렇지 않음
모든 사람이 '신뢰'가 인터넷에 일부분이 아니라느 것을 알고 있음
예시) 확실하지 않은 인터넷 링크는 함부로 클릭하지 않도록 훈련 받은 것 / 정말로 중요한 일은 인터넷으로 처리하지 않는 것(도움은 받을 수 있지만)
인터넷에서 대화상대가 자기 자신이 주장하는 그 사람인가?
인터넷에서 우리가 상대하는 사람이 정말 그 자신인지 확인하거나, 상거래를 하기위해선 철저한 조사를 해야함. 그런 조사가 이루어지지 않는다면 다음과 같은것을 할 수 있을까?
- 판매자가 오직 전자 데이터로만(오직 사진, 메일 등 으로만) 보낸 것을 기반으로 집을 구매하겠는가?
- 학생이 전자적인 방법으로만 보낸 점수와 배경만을 가지고 대학교는 그 학생을 입학시켜줄 것인가?
대답은 "아니다"
이 챕터에선 왜 인터넷으로 상대방의 신원에대한 신뢰를 구축하기 어려운 지 알아봄.
과거에는 이러한 신뢰가 어떻게 구축되었는지 알아보고 왜 지금날에 더이상 작동하지 않는지 알아봄.
더 미래 챕터에서는 Hyperledger Indy, Aries, Ursa 프로젝트가 잃어버린 신뢰 계층을 추가하여 어떻게 이 문제를 바꿀수 있는지 알아봄
학습목표
- ID / Password 제공 방식이 무엇인지 알아보고 이 방식의 문제점도 알아봄
- 어떻게 Identity Providers (IdPs, 구글로그인 / 페이스북 로그인 등)이 우리가 원하는 것 이상으로 우리에대해 알게 되는지 이해함
- 원치 않는 상호연계, 데이터 유출, 중앙 인가 방식의 이슈와 익숙해짐
- 수천년간 사용한 종이 증명서 모델에 대해 알아봄
상호작용이 신원을 만든다
현실세계에서 상호작용을 할때, 대부분 상황에서 우리는 "우리"를 증명함
이 증명을 위해서 우리 자신에 대한 증거를 제시함. 무엇을 제시할지는 상황에 따라 다름
- 계좌 개설: 운전면허증, 주민등록증, 여권 등을 통해 우리의 주소, 주민등록번호, 이름 등을 증명함
우리와 상호작용하는 사람들은 우리에 관한 신원을 만들고, 이후에 다시 만나게 됐을때 이 신원을 기반으로 우리를 확인함.
- 어떤 사람은 우리의 이름과 얼굴을 기억하고, 그 이후에 만났을때 서로 인사하게 됨
- 학교 학생증을 만들고, 이것을 학교에 갈때마다 사용하게 됨
위와 같은 방식이 인터넷에서도 쓰이지만 많은 문제가 있음
아이디, 비밀번호 방식의 신원
상대방 또는 나 자신이 누구인지 알 수 있는 인터넷에 가장 기본적인 방법은 아이디와 비밀번호임
사이트에 가입할때 아이디와 / 우리만이 알고있는 비밀번호(정말로?)를 통해 가입하고 다음에 로그인 할때 사용하게 됨. 그리고 이와 연관된 문제들도 이미 알고 있음
- 기억해야할 아이디 비밀번호가 너무 많음
- 너무 많기 때문에 기억하기 쉬운 비밀번호를 사용하고, 이는 다른이들도 알기 쉬운것을 뜻함
- 비밀번호 찾기를 위한 질문 / 답 시스템은 해커들이 가장 좋아하는 먹잇감임. 예시참조 https://edition.cnn.com/2019/10/18/tech/reporter-hack/index.html
- 데이터 유출로 해커 또는 이 데이터를 구입하는 사람들이 악용하게됨
- 대부분 같은 비밀번호를 여러 사이트에 사용함. 한군데 털리면 나머지도 털리게 됨
주목해야할 점. 우리가 사이트에 접속할 때 우리를 증명하기 위한 아이디와 비밀번호는 존재하지만, 반대의 경우는 존재하지 않음. 즉, 사이트에 접속할때마다 사이트가 진짜인지 방법이 제공되지 않음. 이런 점 때문에 "피싱(Phishing)"이 흔해졌음.
예를 들면 goog1e.com과 같은 가짜 사이트에 접속함으로 우리의 정보를 잃게 됨
신원의 속성(Identity Attributes)
거의 모든 사이트에서, 우리는 서비스를 사용하기 위해 신원 정보를 제공함
- 최소 이메일과 이름을 제공하고, 서비스의 특징에 따라 추가적인 정보를 제공
이러한 정보를 이용해 물품 구매와 같은 일반적인 인터넷 상거래를 함. 인터넷 상거래는 비교적 낮은 위험도를 가지고 있음. 왜냐하면 판매자가 주소를 추적하여 남용 여부를 판단해서 막을 수 있음
계좌 개설과 같은 높은 신뢰를 필요로 하는 거래는 훨씬 어려움
- 우리가 대면으로 계좌를 개설하는 것과 같은 정보를 제공해야만 함
- 이론적으론 개인정보는 우리만 알고 있기에 단순히 정보를 입력하면 될 것 같음
- 현실은 이름과 주소와 같은 정보는 자주 노출되며, 정보 유출 등으로 주민등록번호 조차 알려져있음
- "Shared secrets"를 통해 개인 정보를 알아낼 수도 있음. 예를 들면 "2018년도 세금환급 내역 중 150번째 줄"과 같은 내용으로 특정 개인의 정보 알아 낼 수 잇음
대안은 온라인 버전의 대면 증명(Verification)이 있음 - 문서를 스캔해서 보내는 것
- 스캔은 조작이 쉬우며, 사실 종이 문서 그 자체도 조작이 증가하고 있음
- 종이 문서 조작은 현실세계의 신원 증명 체계를 위협하고 있음
- 은행원이나 변호사와같은 신원 증명자는 이러한 문서에서 신원 증명의 진위를 가려내는 전문가가 되어야만함
추가적인 문제
위에서 언급된 것 이외에 추가적인 문제들에 대해 알아봄
원치않는 상호 연계(Unwanted Correlation)
여러 사이트에서 공통 신원정보 사용(이메일, 이름 등)은 상호 연계 문제(Correlation problem)를 만듬
- 여기서 상호연계란 하나의 신원에 대해서 허락없이 여러 시스템에서 연관시켜 보는 것을 뜻함(즉, 이름과 이메일 등을 가지고 여러가지 서비스에서 대조해봄으로서 대상자의 정보를 알아보는 것)
- 이러한 상호연계 문제의 확산은 대부분 광고로 인해 발생하며, 심각한 개인정보 유출로 이어짐
- 끔찍한 예시는 플로리다의 Exactis라는 회사의 데이터 유출 사례임
- 약 3억4천만 개의 기록이 털렸고, 한개의 기록당 400개의 요소를 가지고 있음
- 그 요소들은 이름, 나이, 인종, 종교, 가족규모 등 어마어마함.
- 파트너 사이트를 통해 이러한 정보들을 모으게 됨
- 이러한 상호연계는 이메일 등을 통해서 이루어지며, 이메일 주소는 가장 큰 요인임. 하지만 이메일만 있는 것이 아님
- 다른 사이트에 같은 아이디를 사용하는 것도 상호연계 가능성을 열어줌.
- 웹사이트에 의한 추적 쿠키와 광고들도 여러 사이트의 아이디를 연결 할 수 있게 만듬.
- 유럽에선 General Data Protection Regulation(GDPR, 개인정보보호법)이 고안되었지만, 유럽에 국한되어 있으며 법적인 대응책이지 기술적인 대응책이 아니기 때문에 여전히 문제가 있음.
- GDPR아래에서도 여전히 데이터 수집이 이루어지고 있으며 관련된 충격적인 이야기는 Linux Journal에서 볼 수 있음
https://www.linuxjournal.com/content/if-your-privacy-hands-others-alone-you-dont-have-any
- 정보제공 모델(IdPs, Identity Providers / 구글, 페이스 북 로그인 등)도 상호연게가 이루어지는 포인트임(동의 하에 이루어지지만)
- IdP방식은 편리함과 상호연계의 교환임
데이터 유출
- 개인정보는 높은 가치를 가졌기에 해커들의 타겟이 되기 쉽상임
- 아이디 비밀번호 뿐만 아니라, 온라인 상에서 우리를 증명하기 위해 쓰이는 이름, 이메일, 주민등록 번호 등을 포함함
- 개인의 손안에 있어야하는 데이터들의 유출은 온라인 상에서 이러한 신원 정보를 통해 거래한느 것을 어렵게 만듬. 왜냐하면 데이터를 입력하는 사람이 실제 그 사람이 아닐 수 있기 때문에(신원 도용우려)
중앙화된 신원정보
- 우리가 쓰는 대다수 신원 정보는 중앙화 되어 있음. 신원정본느 중앙 기관에서 발급하고 관리함
- 운전면허, 주민등록증 : 정부, 아이디 : 웹사이트
- 중앙화된 신원정보 모델의 문제는, 중앙 기관이 어느때라도 신원정보를 제거해버릴 수 있다는 점임
- 약자들에게 불리하게 작용할 수 있음. 중앙 기관(정부 또는 회사)이 사람들을 억압하는 수단으로 사용할 수도 있음
- 중앙화 모델의 두번째 걱정은 어떤식으로든 타협할 수 있다는 것
https://en.wikipedia.org/wiki/DigiNotar
- 위의 예시처럼 가짜 증명서 발급을 통해, 안전이 보장되어야 하는 데이터 들이 인터넷을 통해 해커들이 접근하고, 가로챌 수 있도록 되어 버림
- 신원정보를 중앙기관이 가지고 있고, 어떤 식으로든 타협된다면 사람들에게 큰 어려움을 겪게 만들게됨
종이 자격증
- 우리가 신원증명을 위해 지금 하고 있는 것을 살펴봄
- 전설에 따르면 기원전 450년경 페르시아의 왕 아르타세르세스 1세(Artaxerxes)가 느헤미야(Nehemiah)에게 페르시아 어디든 여행할 수 있는 "안전 여행권"을 발급함. 내용은 "만약 지상이나 해상에서 이 여행자를 해칠 만큼 강한 자가 있다면 그 자로 하여금 로마 황제와 전쟁을 할 만큼 자신이 강한지 생각해 보게 할지어다."
- 이후로 사람들은 위와 비슷한 방식을 사용해옴
- 1970년대 들어 복사기와 프린터의 도입으로 종이 문서 조작이 쉬워졌으며, 인터넷에서는 포토샵 등을 통해 그 조작이 훨씬 쉬워짐
- 이로인해 종이 자격증은 인터넷 시대에 더이상 유용하지 않아짐
- 자격증은 실질적으로 적합한 권한자나 권한이 있는 것으로 여겨지는 제 3자가 특정 대상에게 발급하는 자격, 기능 또는 권한에 대한 증명서임
- 자격증의 예시로는 운전면허증, 여권, 학위증 등이 있음
- 회사에게 주어지는 사업자 등록증, 건물 허가증, 건강 관리증 등이 있음
운전면허증 예시
- 운전면허증(자격증)은 정부(발급자)가 발급하며, 내가 누구인지(주민등록증 등 출생 증명)와 운전할 자격이 있는지 확인 후 발급됨
- 발급된 증명서는 보통 지갑에 보관하며, 언제 어디서나 원하는 대로 사용 가능.
예시) 차 랜트, 계좌 개설, 술 사기 등
- 이러한 일을 할때 나는 자격증을 증명한 것임 -> 이것이 종이 자격증 방식(Paper credential model)임
종이 자격증 방식은 다음과 같은 것을 증명함
- 누가 발행했는지
- 누가 자격증을 소유하고 있는지
- 청구내용(자격증 위에 쓰인 내용)이 변경되지 않았는지
조작여부는 종이 자격증 방식에서 항상 주의해야할 부분임
'2022 > 블록체인' 카테고리의 다른 글
[블록체인 / 개념정리] 블록체인의 배경 및 역사(개요) (0) | 2021.10.15 |
---|---|
[TED]How supply chain transparency can help the planet | Markus Mutz (0) | 2021.08.17 |
블록체인 개발자가 은행을 대체할 수 있을까?(노마드코더) (0) | 2021.06.26 |
개발자가 설명해주는 비트코인 채굴 방법 (ft 시뮬레이터, 노마드코더) (0) | 2021.06.15 |
[블록체인] 블록체인. 개발자가 쉽게 설명해드림. 10분컷.(노마드코더) (0) | 2021.06.08 |