링크: http://slides.com/dongsunlim/deck-3-3#/
2강 비대칭 암호학과 디지털 서명
- 이전 강의
해시함수: 메세지(m) 자체의 보안 증가. 데이터에 따라 특정한 해시값이 생성되므로 데이터를 변환하면 해시값이 바뀌고 해시값으로는 데이터 자체를 유추할 수 없음.
해시체인: 이전 블록의 데이터를 이후 블록의 해시에 포함함. 이전 데이터를 변환하면 이후 블록의 해시값이 달라지므로 이후 모든 해시체인의 데이터를 수정해야 함
- A와 B가 공개채널을 사용하여서 안전하게 소통할 수 있는 방법은?
문제점
1. 메세지 열람: 채널을 해킹하여 메세지를 훔쳐볼 수 있음(해시 함수로 메세지 보안성을 증가 하였으므로 큰 문제가 되지 않을 수 있음)
2. 메세지 바꿔치기: 전송된 메세지를 훔쳐서 완전히 다른 메세지를 보낼 수 있음. A가 B에게 메세지를 보내는 상황으로 가정할 때 누군가 메세지를 훔쳐서 다른 메세지를 보내도 B는 메세지의 진위를 파악할 방법이 없음.
3. 인증: B는 자신이 받은 메세지가 A로부터 왔다는 사실을 증명할 수 없음
대칭 암호학: 1970년 이전까지 사용하던 암호학 방법.
A가 B에게 메세지을 보내는 상황이라고 할 때
1. 자물쇠과 거기에 맞는 키를 만듬
2. A와 B가 서로 각각 키를 하나씩 나누어 가짐
3. A가 메세지를 자물쇠에 넣어 키로 잠금
4. A가 B에게 메세지가 담긴 자물쇠를 전달함
5. B는 자물쇠를 키로 열어서 메세지를 확인함
E의 입장:
1. 키가 없으므로 자물쇠를 열 수 없음(메세지 열람 불가)
2. 키가 없으므로 상응하는 자물쇠를 생성할 수 없음(메세지 바꿔치기 불가)
- 문제점
- 키 전달: A와 B 사이에는 m을 주고 받는 공개 채널 이외에도 키(k)를 주고 받는 보안 채널이 있어야만 함
- 키 관리: A가 n명의 사람과 메세지를 주고 받는다고 할 때 A에게는 총 n-1개의 키가 필요함. A는 n-1의 키를 관리할 저장공간 및 키의 검색 방법이 필요하며 한 번 해킹을 당하면 모든 사람이 키를 버려야 함
- 인증: A와 B의 키가 같으므로 B는 문서가 A로부터 왔다는 것을 증명할 수 있는 방법이 없음. 예를 들어 A가 B에게 계약서를 보냈을 때 이후에 A가 자신이 계약서를 보낸 사실을 부인하면 B는 A가 문서를 보낸 사실을 증명하기 위해 개별적인 방법이 필요함. 데이터 로그를 관리하는 등의 방법이 있을 수 있지만 이 경우 키 관리와 같이 데이터를 관리할 별도의 방법을 필요로 함
- 해결방안: 중앙관리자 모델
중앙관리자를 선출해서 키 전달, 관리, 실명확인을 모두 전담하게 함. 또한 비공개 채널을 통해 필요한 사람에게 키를 건네주고 각 키에 대한 정보를 모두 소유하며 해당 키가 누구의 소유인지 관리함. 이 때 인가되지 않은 인원의 접근을 차단하여 보안성을 유지함
- 중앙 관리자 모델의 문제점:
- 중앙관리자가 운영하는 채널 및 데이터 저장 공간의 보안성을 장담할 수 없음
예시: 미 팬타곤, CIA, 은행, NASDAQ 등 해킹되지 않은 곳이 없음. 일정 수준 이상의 컴퓨터 능력을 가진 사람은 해킹을 해본 경우가 대부분임 (애플의 공동 창업자인 Steve Wozniak도 해킹을 즐겼다고 함)
- 중앙관리자 신뢰를 장담할 수 없음
예시: 많은 중앙관리자는 인증 절차를 우회해서 접속할 수 있는 Master key 혹은 Backdoor을 가짐. 중앙관리자는 사용자의 데이터를 마음대로 사용 혹은 공개할 수 있지만 사용자가 이것을 방지할 아무런 능력이 없음
바. 암호학의 새로운 시대
미국이 베트남 전쟁을 치르고 히피들이 창궐하던 1970년대… 암호학에서는 대칭 암호학을 대체할 새로운 모델을 고안함. Merkle, Damgard, Rivest, Diffie&Hellman를 비롯한 암호학자를 필두로 새로운 암호학인 비대칭 암호학 모델이 생겨남.
사. 테세우스의 아버지 찾기
그리스의 영웅인 테세우스는 사생아임. 테세우스는 아버지인 아이게우스는 신탁을 받아 자신의 친구인 피테우스의 딸 아이트라와 동침하고(라고 쓰고 어떤 여자랑 하루밤 자고) 아들이 태어나면 자신에게 보내라며(도망치다 잡혀서 뭐라도 해야 겠기에) 자신의 검 반쪽을 바위 아래에 묻어두고 아테네로 돌아옴(도망침). 그러나 나중에 테세우스는 아이게우스의 검 반쪽을 들고 찾아와 자신이 아들임을 증명하고 훗날 아테네의 왕이 됨.
새로운 암호학은 이러한 반쪽의 ‘징표’를 남기는 형식임
아. 비대칭키 생성 방법
비대칭키에는 한 쌍의 공개키와 비공개키가 있음. 개인키를 먼저 생성하고 이에 상응하는 공개키를 생성함.
여기서 개인키는 개인이 소유하고 공개키는 메세지를 보낼 사람에게 공개함. 개인키는 개인의 열쇠, 공개키는 개인의 주소정도로 이해할 수 있음
1. A와 B는 각각 공개키와 개인 키를 가짐
2. A는 B의 메세지를 자물쇠에 넣고 공개키로 자물쇠를 보냄
3. A가 B에게 자물쇠를 전달함
4. B가 자신의 개인키를 사용하여 자물쇠 열어서 메세지를 전달함
자. 해결되지 않은 문제점:
- 메세지 바꿔치기: E도 공개키를 알아낼 수 있으므로 자물쇠를 생성하여 메세지를 바꿔치기 할 수 있음
- 인증: 대칭 암호학과 같이 A가 메세지를 부정하면 B가 진위를 증명할 방법이 없음
차. 디지털 서명
A가 B에게 메세지를 보낼 때 자신의 전자서명(Digital Sign)을 포함하여 보냄. A의 서명에는 자신의 개인키가 포함되어 있으므로 A만 서명을 할 수 있음. 따라서 B는 메세지가 A로부터 왔다는 것을 증명할 수 있음
카. 비대칭키 암호학의 문제점
- 책임소재: 개인키를 관리할 중앙 관리자가 없으므로 모든 책임 소재는 개인이 가짐. 개인키를 잃어버리거나 해킹을 당하면 모든 책임은 개인이 져야함
- 효율성: 개인키와 공개키를 생성하는 방법이 복잡하고 생성 이후에도 메세지를 전송하고 디지털 사인을 포함해야하므로 절차가 복잡함
타. 대칭키 vs 비대칭키 암호학
- 책임소재:
중앙관리자 vs 개인 - 효율성: 대칭키 암호학이 더 높음
- 보안성: 데이터가 각 사용자에게 분산화되어 있으므로 해커가 하나의 사용자를 해킹하는 것은 가능해도 시스템 전체를 해킹할 수는 없음. 그러므로 시스템 전체에 대한 보안성은 비대칭키 암호학이 더 높음.