17 . 정보 은닉 프로토콜
17.3 비밀 공유
17.3.1 들어가며
이번 활동은 그룹의 학생들의 평균 연령을 찾아내는데 누구도 나이가 몇살인지 누설하면 안된다. 대안으로, 그룹에 있는 학생의 평균 수입(용돈)을 산출할 수도 있고, 혹은 비슷한 개인적인 정보도 가능하다. 특히, 이러한 통계치를 계산하는 것이 어른들에게 적합하다. 왜냐하면, 어른들이 좀더 나이, 수입 같은 정보에 민감하기 때문이다.
그룹에 최소 학생이 세명 필요하다.
17.3.2 토론
그룹 학생들에게 어느 누구도 다른 사람에게 자신의 나이를 말하지 않고 그룹 평균나이를 계산하는 활동을 진행한다고 설명한다.
함께 활동을 진행할 학생 6명에서 10명을 선정한다. 첫번째 학생에게 작은 종이패드와 펜을 나눠준다. 종이 위에 3자리 난수를 하나 골라 비밀스럽게 적게한다. 예제에서는 613이 난수로 선정됐다.
첫번째 학생에게 종이패드 첫짱을 떼어내고, 본인 나이를 난수에 더하게 한다. 그리고 종이패드 두번째 종이에 적는다. 첫번째 학생의 나이는 8세다. 그래서 두번째 종이는 621(613+8)이 된다. 떼어낸 종이를 잘 보관한다. (누구에게도 보여주지 않다.)
종이패드를 두번째 학생에게 전달한다. 본인 나이를 숫자에 더하고, 종이를 떼어내고, 다음 페이지에 총합을 적는다. 이번 예제에서, 두번째 학생의 나이는 10세다.
학생이 종이를 떼어내고 나이를 숫자에 더하는 과정을 계속해서, 모든 학생이 종이패드를 가질 때까지 계속한다.
종이패드를 첫번째 학생에게 돌려준다. 패드에 적힌 숫자에서 최초 난수를 학생이 뺀다. 이번 예제에서, 종이패드는 학생 5명에게 돌려줬고, 657이 최종 숫자고, 613이 최초 난수이며, 빼기를 하면 44가된다. 이 숫자가 모든 학생의 나이 총합이 되고, 평균은 총합을 학생수로 나누게 되면, 이 그룹 학생의 평균나이는 8.8세가 된다.
모든 학생이 종이패드를 파기하고, 두 학생이 공모하지 않는다면, 누구도 개인 나이를 계산할 수 없다는 점을 학생들에게 지적한다.
17.4 컴퓨터 과학 핵심 개념
컴퓨터에는 많은 개인정보가 저장된다: 은행 잔고, 소셜 네트워크, 체납된 세금, 운전면허증 보유기간, 신용정보 이력, 시험 성적표, 의료기록 등. 개인정보는 매우 중요하다! 하지만, 다른 사람과 개인정보 정보 일부를 공유할 필요가 있다. 예를 들어, 은행 직불카드를 사용해서 매점에서 물건값을 계산할 때, 매점에서는 계좌잔고가 충분한지 검증할 필요가 있다는 것을 인식하고 있다.
종종 정말 필요한 것보다 더 많은 정보를 제공한다. 예를 들어, 상점에서 전자상거래를 한다면, 고객이 어느 은행과 거래하며, 계좌번호는 무엇이고, 이름이 무엇인지 상점에서 파악하게 된다. 조금더 나아가, 은행은 고객이 쇼핑하는 장소도 파악한다. 은행은 고객 프로파일을 만들어서, 주유는 어디서 하고, 식료품을 어디서 구입하며, 매번 쇼핑할 때 쇼핑항목별로 얼마를 지불하며, 언제 방문을 했는지도 파악하고 있다. 만약 현금으로 지불한다면, 어떤 정보도 알려지지 않는다. 대부분의 사람들은 공유되는 정보에 대해서 별로 걱정을 하지 않는다. 하지만, 잠재적인 오용 가능성은 충분한다: 타겟 마케팅 (예를 들어, 항공권 구입에 돈을 많이 쓰는 사람에게 여행광고 제공), 차별(은행이 부자 고객에게 고급 서비스를 제공), 심지어 협박(부적절한 거래를 폭로하겠다고 협박). 그밖의 다른 경우라면, 만약 누군가 여러분을 모니터링하고 있다고 생각한다면, 쇼핑하는 방식을 바꿀 수도 있다.
개인정보의 손실은 꽤 널리 받아들여진다. 하지만, 암호화 프로토콜이 존재해서 현금으로 거래하는 것과 같은 수준으로 개인정보 보호를 전자금융거래에서 가능하게 한다. 은행계좌에서 상점계좌로 돈이 이체되는데 어느 누구도 돈의 출처와 입금된 곳을 알지 못한다는 것을 믿기는 힘들다. 이번 활동은 그런 금융거래가 좀더 그럴듯하게 보이게 기획되었다: 양쪽 상황 모두 제한된 정보 공유만 포함하고, 좀더 똑똑한 프로토콜로 가능하게 만들었다.