컴퓨터 보안 기술의 핵심 ‘암호’… 소수 함수 통계 기반으로 생성
비밀번호 위-변조 막는 기술엔 수학 개념 ‘해시함수’ 적용돼요
신종 코로나바이러스 감염증(코로나19)의 발발은 디지털 시대를 더욱 가속화했습니다. 사람들의 직접 만남이 ‘위험한’ 상황이 이어지면서 우리는 모니터를 통해 원격으로 만나고 스마트폰을 통해 마트 물건을 주문하는 등 모든 생활을 온라인과 접목시키게 됐죠.
이때 가장 중요하고도 우려되는 지점은 바로 정보의 ‘보안’입니다. 정보 중에는 공유돼도 상관없는 정보도 있지만 절대 남이 알면 안 되는 정보도 있기 마련이죠. 카드결제 암호, 개인 e메일 비밀번호, 중요 기업회의의 로그인 정보, 국가안보시설 접속코드 등이 유출되면 어떻게 될까요? 생각만 해도 골치 아픈 일들이 벌어지겠지요?
○수학으로 만드는 암호의 세계
이런 문제가 생기지 않게 하려면 ‘암호화 기술’이 필요합니다. 그리고 이때, 수학은 핵심적인 역할을 하죠.
암호학은 이용은 하되 보호해야 할 메시지를 해독 불가능한 형태로 변형하거나, 암호화된 통신문을 다시 원래의 해독 가능한 메시지 상태로 변환하기 위한 모든 수학적 원리와 방법을 다루는 기술과 과학을 말합니다.
현대의 암호 체계는 ‘암호화 절차’와 ‘키’라는 두 개의 요소로 구성돼 있어요. 시스템에서 메시지를 암호화하기 위해서는 보통은 비밀번호에 해당하는 선택된 키를 필요로 합니다. 암호화 프로그램은 선택된 키에 따라 메시지를 암호화하므로, 키를 알아야만 암호화된 문서를 풀어낼 수 있죠.
암호는 크게 암호화·복호화 가능 여부에 따라 양방향과 일방향으로 나뉘는데 각각의 장단점에 따라 사용하는 용도를 달리합니다. 키에 기반한 암호화 체계는 메시지의 발신자와 수신자가 서로 메시지를 주고받기 위해 사용할 비밀 키를 미리 공유해야 하죠. 이런 걸 양방향 암호화 시스템이라고 합니다. 예컨대 인터넷으로 은행 계좌에 접속하려 할 때 거래은행에서 보안카드나 일회용비밀번호(OTP) 생성기 등을 받아와 개인용 키로 활용하는 경우가 그 예가 되겠습니다.
그러나 이런 방식은 인터넷 쇼핑을 할 때처럼 미리 만난 적 없는 사람들 사이에 정보가 오갈 경우에는 적합하지 않습니다. 이런 문제를 해결한 것이 바로 1976년대 이후 개발 및 발전된 RSA 방법입니다. 이 방식의 키는 수학에서 소수의 곱과 인수분해의 개념을 활용해 생성합니다. 비밀 해독 키는 사용자가 선택하는 두 개의 큰 소수로 구성하고 이 두 소수의 곱을 암호화 키로 공개하는 것이죠. 큰 수를 빠르게 인수분해할 방법은 알려지지 않았으므로 공개된 암호화 키에서 해독용 키를 복원하는 것은 사실상 불가능합니다.
이런 방식을 쓰기 위해 컴퓨터는 메시지를 숫자로 변환해 이에 해당하는 연산을 수행하게 됩니다. 공개키 암호 알고리즘은 소인수분해 문제뿐만 아니라 이산 대수 문제 등 어려운 수학 문제를 기반으로 한 것도 있습니다. 이런 방식으로 비밀통신을 위한 데이터 암호화나 디지털문서의 전자서명 등을 개발하는 것이죠. 최근에는 암호화폐 같은 새로운 서비스와도 연결되고 있습니다.
○미래 사회의 ‘안전’을 위한 연구들
그런데 만약 메시지를 암호화했더라도 누군가가 해킹해 비밀번호를 알아내버린다면 어떻게 될까요? 여전히 위험하겠지요?
그래서 그런 중요한 비밀번호(암호)는 고정 저장하지 않고, 이를 ‘해시(hash)’한 형태로 저장하게 됩니다. 비밀번호 같은 특정 문자열을 새로운 문자열로 바꿔서 저장하는 것이죠. 이 과정에서 사용하는 수학적 개념을 ‘해시함수’라고 합니다. 이 방법을 쓰면 암호화는 가능하지만 거꾸로 암호문을 원래의 평문으로 복호화하는 것은 불가능하기 때문에 일방향 암호 체계가 됩니다. 이를 통해 비밀번호의 위·변조를 막을 수 있게 됩니다.
한편 최근에는 차세대 공개키 암호 시스템이 주목받고 있는데요. 이는 새로운 응용환경에 적합한 형태의 암호를 설계하고 분석하는 연구를 뜻합니다. 세계 암호학회에서 중요하게 다루는 대표적인 개념은 ‘함수암호’와 ‘동형암호’가 있습니다. 함수 암호 방식을 쓰면 암호화된 데이터에 대한 검색이 가능하고 데이터의 통계적 규칙이나 패턴을 분석하거나 연산을 할 수 있어 개인정보를 침해하지 않고도 빅데이터 분석이 가능합니다. 동형암호 역시 데이터를 암호화한 상태에서 연산이 가능합니다.
현대 사회의 발전은 디지털 정보의 저장과 유통, 활용에 달려 있다고 해도 과언이 아닐 겁니다. 이런 정보의 안전을 책임지는 수학이 얼마나 중요한지 알 수 있겠죠?
댓글 0