어떻게 완벽한 보안은 없어요
현관문에 자물쇠를 하나 달면 더 안전하다. 두 개를 달면 더 안전하다. 그럼 열 개를 달면 어떨까? 분명 더 안전하겠지만, 이제 집에 들어갈 때마다 열쇠를 열 번 돌려야 하고 자물쇠 값도 열 배가 들어요. 지난 강의 원칙들도 끝까지 밀어붙이면 이런 순간을 만나요. 보안에는 끝이 없고, 더 안전하게 할수록 늘 더 불편하고 더 비싸진다. 그래서 진짜 질문은 어떻게 완벽해질까가 아니라 어디서 멈출까다.
완벽은 없다
이 영역에서 여러 방어를 봤다. 암호로 내용을 잠그고, 해시로 바뀌지 않았는지 확인하고, 비밀번호와 두 번째 단계로 누구인지 밝혔어요. 그렇다면 이것을 다 합치면 완벽해질까?
아쉽지만 아니다. 어떤 자물쇠든 충분한 시간과 노력을 들이면 흔들릴 가능성이 남고, 아직 아무도 모르는 결함이 숨어 있을 수도 있다. 보안을 100으로 올리려는 막대는 아무리 밀어도 100에 딱 닿지 않아요.
보안을 더 올려 보자. 막대가 100에 다가가지만 끝내 닿지는 않는다. 완벽에는 점점 가까워질 뿐이다.
밀고 또 밀어도 막대 끝은 100에 닿지 않았다. 이것이 보안의 첫 번째 진실이에요. 완벽은 도착할 수 있는 지점이 아니다.
그렇다고 실망할 일은 아니다. 완벽이 없다는 것을 받아들이는 순간 질문이 더 똑똑해진다. 어떻게 완벽해질까 대신 어디까지 안전하면 충분할까를 묻게 되고, 그 충분함에는 늘 대가가 따른다. 그 대가가 무엇인지 다음에 봐요.
안전해지면 불편해진다
할 수 있는데도 막대를 끝까지 밀지 않는 까닭은 단순하다. 대가가 너무 커지기 때문이에요. 비밀번호를 길고 복잡하게 할수록 안전하지만 매번 입력하기 번거롭고 자꾸 잊어버려요. 인증을 한 겹 더 두를수록 안전하지만 로그인 한 번에 거치는 단계가 늘어난다.
보안을 한 칸 올리면 편의가 한 칸 내려가고 비용은 한 칸 올라간다. 셋은 한 줄에 묶여 서로 맞바뀐다. 너무 불편하면 오히려 덜 안전해지기도 해요. 외우기 힘든 비밀번호를 쪽지에 적어 모니터에 붙이거나, 번거로운 절차를 몰래 건너뛰는 사람이 생기기 때문이다.
보안 단계를 한 칸씩 올려 보자. 올릴수록 안전은 차오르지만 편의는 줄고 비용은 늘어난다.
단계를 올릴 때마다 세 막대가 함께 움직였다. 한쪽이 좋아지면 다른 쪽이 나빠졌어요. 이것을 트레이드오프, 곧 맞바꿈이라고 해요.
공짜로 더 안전해지는 길은 없다. 안전은 늘 편의나 비용으로 값을 치른다. 그러니 무작정 최대로 올리는 것이 답이 아니다. 너무 낮으면 위험하고, 너무 높으면 아무도 쓰지 못한다. 그렇다면 막대를 어디에 두어야 할까? 그 답은 위험을 어떻게 다루느냐에 달려 있어요.
없애는 것이 아니라 다스린다
완벽이 없다면 위험도 0으로 만들 수 없다. 그럼 보안은 지는 싸움일까? 그렇지 않다. 생각을 바꾸면 된다. 위험을 없애려 들지 말고 관리하는 것이다. 길을 건널 때 위험이 0은 아니지만, 우리는 좌우를 살피고 건너요.
위험의 크기는 두 가지를 함께 보고 잰다. 그 일이 일어날 가능성이 얼마나 되는지, 일어나면 피해가 얼마나 큰지다. 둘 다 큰 위험부터 막아 충분히 작게 만들고, 남은 작은 위험은 안고 간다. 이것이 보안의 현실적인 목표예요.
큰 위험부터 차례로 막아 보자. 위험은 0이 되지 않지만, 받아들일 만한 작은 크기로 다스려진다.
큰 위험을 먼저 막으니 막대가 쑥 줄었지만, 끝까지 0으로 가지는 않았다. 그래도 괜찮아요. 그것이 핵심이다. 남은 위험이 충분히 작으면 받아들이기로 정한다.
위험을 다루는 길은 이 밖에도 있다. 아예 피할 수도 있다. 필요 없는 정보는 처음부터 모으지 않으면 새어 나갈 일도 없다. 남에게 넘길 수도 있다. 보험이 그런 방법이다. 줄이고, 피하고, 넘기고, 받아들이는 것 가운데서 고르는 일을 위험 관리라고 해요. 그렇다면 받아들일 만한 크기는 누구에게나 같을까?
상황에 맞는 균형점
받아들일 만한 위험은 상황마다 다르다. 오늘 점심 메뉴를 적어 둔 메모장이 새는 것은 조금 민망할 뿐 큰일은 아니니, 무거운 잠금은 과하다. 반대로 은행 금고가 새면 큰일이니, 불편을 감수하고 잠금을 두텁게 해요.
지킬 것의 무게가 균형점을 정해요. 그래서 보안을 정할 때는 먼저 묻는다. 무엇을 지키는가, 누구로부터 지키는가, 잃으면 얼마나 아픈가. 소중할수록 안전 쪽으로, 가벼울수록 편의 쪽으로 막대를 옮긴다. 정답은 하나가 아니라 상황마다 다르다.
두 상황을 골라 보자. 가벼운 메모장은 편의 쪽으로, 무거운 은행 금고는 안전 쪽으로 균형점이 옮겨 간다.
같은 잠금이 두 상황에 다 맞지는 않았다. 메모장에는 가벼운 잠금이, 은행 금고에는 두꺼운 잠금이 어울렸어요. 좋은 보안은 가장 센 보안이 아니라 그 상황에 알맞은 보안이다.
그리고 그 균형점은 한 번 정하면 끝나는 것이 아니다. 새로운 공격이 나오고 지킬 것이 늘어나면 위험의 크기도 바뀌니, 때때로 다시 따져 보고 업데이트를 챙겨야 한다. 완벽을 좇는 대신 균형을 고르고 다시 고르는 눈, 이것이 이 강에서 배운 보안을 보는 눈이에요.
여기까지 온 길
이 강을 한데 모으면 이렇다. 완벽한 보안은 없다. 안전을 올리면 편의가 내려가고 비용이 올라간다. 그래서 위험을 0으로 만들려 하지 않고, 가능성과 피해를 보고 관리한다. 무엇을 얼마나 지킬지 보고 균형점을 고르며, 상황이 바뀌면 다시 골라요.
이 강은 보안 영역의 마지막 강이고, 지금까지 지나온 Cogito 여덟 영역을 한자리에서 돌아보기 좋은 자리예요. 마지막으로 그 여덟 갈래를 함께 되짚어 보자.
여덟 영역을 차례로 눌러 Cogito 전체를 되짚는다. 구조, 프로그래밍, 운영체제, 알고리즘, 네트워크, 데이터, 인공지능, 보안이에요.
여덟 갈래를 모두 짚었다. 구조에서 컴퓨터의 뼈대를 보고, 프로그래밍에서 명령을 적는 법을 익혔다. 운영체제가 그 모두를 조율하는 모습을 봤고, 알고리즘에서 문제를 푸는 솜씨를 길렀어요. 네트워크로 세상과 이어졌고, 데이터로 정보를 기억하고 다뤘다. 인공지능에서 스스로 배우는 기계를 만났고, 보안에서 그 모두를 균형 있게 지키는 법을 배웠다.
이 여정은 정답을 외우려던 것이 아니다. 세상을 직관으로 보고 스스로 공식을 세우는, 그 보는 눈을 기르려던 것이다. 여기까지 함께 와 줘서 고마워요. 이제 그 눈으로 자기만의 다음 길을 걸어가면 돼요.