이 게시물은 2022년 작성된 게시물을 whitmem.kr에 복제한 게시물입니다.
본 게시물에 언급된 내용은 일부 특허 내용 또는 제 3자의 라이선스를 언급하고 있을 수 있습니다. 이 모든 과정은 오직 공부목적이며, 실시를 목적으로 설명하지 않습니다. 또한 틀린 내용이 있을 수 있기에 참고만 하십시오.
컴퓨터 네트워크가 이토록 발전할 수 있었던 이유는, 정보 보안 시스템도 그 만큼 같이 발전해왔기 때문이다. 그 중 제일 크게 작용한 암호화 시스템은 바로 단방향 암호화이다. 단방향 암호화는 같은 열쇠로 열고 잠글 수 있는 양방향 암호화와 달리, 다른 특징을 가진다.
1. 잠글 수 있는 열쇠와 열 수 있는 열쇠가 따로 있다.
2. 잠가진 자물쇠는, 잠글 때 사용한 키가 아닌 다른 키로만 열 수 있다.
예로, 한 자물쇠에 반드시 2개의 키가 존재하며, A키로 잠가진 자물쇠는 다시 A키로 열 수 없다. B키로만 열 수 있다. 반대로 B키로 잠가진 자물쇠는 다시 B키로 열 수 없으며, A키로만 열 수 있다.
이러한 특성은 컴퓨터 네트워크 통신에서 보안 관리에 매우 큰 역할을 한다.
기본적으로 여기서는 서명에 관해서만 언급한다.
서명기본적으로 어떤 문서가 만들어지고, 제 3자에게 전송되는 과정에서 데이터가 변조될 수 있다. 그렇기에 서명이라는 것을 같이 하게 된다. 서명의 과정은 기본적으로 단방향 암호화의 원리를 이용해 진행된다. 대표적인 암호화 알고리즘은 RSA 라는 알고리즘이 존재한다.
예를 들어 ABC 라는 내용의 문서가 존재할 때, 문서 작성자의 컴퓨터에는 개인키, 공개키 각 쌍의 키를 생성한다. 그런 뒤, 개인키를 이용해 문서 ABC를 암호화한다. 암호화하면 그 문자가 "개인키"로 암호화된 이상한 문자열이 나올텐데, 이 과정을 서명한다로, 결과본을 서명본이라고 한다.
이러한 특성을 이용하게 되면, 문서가 위조된지 확인할 수 있게 된다. 문서 작성자가 모든 문서를 작성하고, 그 문서 결과본을 개인키로 서명한다. 그런 뒤, 서명본을 문서 아래에 첨부한다. 그리고 다른이에게 전달할 때, 자신의 공개키를 같이 전달한다.
신뢰할 수 있는 발급자에 대한 공개키를 컴퓨터 설치시부터 저장해 놓는 방법이다. 예를 들어 우리가 사용하는 컴퓨터에서는 웹브라우저가 있다. https 로 접속할 때, 신뢰할 수 있는 발급자가 발급한 인증서인지 확인을 진행한다. 이러한 인증서의 공개키 데이터는 컴퓨터에 저장이 되어있다.
그러면 받는이 입장에서는, 자신의 컴퓨터에 기본적으로 신뢰되고 있는 저장소에 존재하는 ???인증센터라는 이름의 발급기관의 공개키를 가져와 그대로 서명 내용을 "검증"복호화하면 발급자에게 발급된 후 조작된 여부인지 확인할 수 있다.
다만 이 방법은 발급자가 매우 신뢰될 수 있는 기관이어야 하고, 신뢰할 수 있는 문서, 그리고 정당한 문서만 "발급"해준다는 조건하 이용이 가능한 방법이다.