나임을 증명하는 여러 방법
문 앞에 경비원이 서 있다고 해봐요. 들어가려면 경비원에게 내가 누구인지 보여줘야 해요. 어떤 사람은 이름과 암호를 대고, 어떤 사람은 출입증을 내밀고, 어떤 사람은 얼굴로 통과해요. 컴퓨터에 로그인할 때도 똑같아요. 나임을 증명하는 일, 그걸 인증이라고 해요.
로그인은 나임을 증명하는 관문이에요
지난 강에서 보안은
지킬 것을 정하고 막는 일이라고 했죠.
그런데 막기 전에 먼저 물어야 할 게 있어요.
지금 문 앞에 선 이 사람이 누구냐는 거예요.
주인이라면 들여보내야 하고
낯선 사람이라면 멈춰 세워야 하니까요.
그래서 들어오는 사람마다
네가 정말 너냐고 묻는 관문을 둬요.
이 관문이 바로 로그인이에요.
여기서 나임을 보여주는 일을 인증이라고 불러요.
문 앞 사람을 눌러 누구인지 확인해봐요. 인증을 통과한 사람만 안으로 들어가요.
확인된 사람만 안으로 들어갔죠.
인증은 이렇게 누구인지를 가려내는 관문이에요.
그런데 누구인지를 무엇으로 보여줄까요?
이름만 대면 누구나 흉내 낼 수 있으니
이름만으로는 부족해요.
나만 보여줄 수 있는 증거가 있어야 해요.
그런 증거가 크게 세 가지로 나뉘어요.
하나씩 살펴봐요.
아는 것, 가진 것, 본인 것
나임을 보여주는 증거는 세 갈래예요.
첫째는 아는 것이에요.
비밀번호나 암호처럼 머릿속에만 있는 것이죠.
둘째는 가진 것이에요.
폰이나 열쇠, 출입증처럼 손에 든 물건이에요.
셋째는 본인 것이에요.
지문이나 얼굴처럼 몸에 붙어 있는 특징이에요.
아는 것은 잊거나 새어 나갈 수 있고
가진 것은 잃어버릴 수 있고
본인 것은 늘 몸에 있지만 바꾸기 어려워요.
저마다 강점과 약점이 다르죠.
세 가지 요소를 하나씩 눌러 살펴봐요. 무엇이 강점이고 무엇이 약점인지 알려줘요.
세 요소가 저마다 다른 약점을 가졌죠.
그래서 한 가지만 믿으면 위태로워요.
비밀번호 하나만 쓰는데 그게 새 나가면
남이 그대로 나인 척할 수 있으니까요.
그러면 어떻게 더 단단히 막을까요?
간단해요.
서로 다른 요소를 두 개 겹쳐서 요구하면 돼요.
다음에서 이 겹침의 힘을 봐요.
여러 겹으로 겹치면 더 안전해요
문에 자물쇠 하나만 달면
그 열쇠를 잃으면 누구든 열어요.
그런데 자물쇠 두 개를 달고
서로 다른 열쇠로 둘 다 열어야 한다면
하나를 잃어도 다른 하나가 남아 막아줘요.
인증도 마찬가지예요.
비밀번호(아는 것)를 맞히고
게다가 내 폰(가진 것)으로도 확인하게 하면
비밀번호만 새도 폰이 없으면 못 들어와요.
이렇게 서로 다른 요소를 겹쳐 묻는 것을
다단계 인증이라고 불러요.
요소 한 개만 쓸 때와 두 개를 겹칠 때의 안전도를 눌러 비교해봐요.
한 겹일 때보다 두 겹일 때
뚫기가 훨씬 어려워졌죠.
공격하는 쪽이 둘 다 동시에 손에 넣어야 하니까요.
비밀번호도 알고 내 폰도 가져야 하는데
그건 훨씬 드문 일이에요.
그래서 중요한 곳일수록 여러 겹을 겹쳐 둬요.
자, 그런데 들여보낸 다음이 또 문제예요.
안에 들어왔다고 해서
뭐든 다 해도 되는 건 아니거든요.
다음에서 그 이야기를 해봐요.
누구인가와 무엇을 할 수 있나는 달라요
회사 건물에 들어왔다고 해봐요.
출입증으로 내가 직원임은 증명했어요.
이게 인증이에요. 누구인지를 확인한 거죠.
그런데 직원이라고 해서
모든 방에 다 들어갈 수 있는 건 아니에요.
금고방은 따로 허락받은 사람만 들어가요.
이렇게 무엇을 할 수 있는지를 정하는 게
권한이에요.
인증은 누구인지를 묻고
권한은 그 다음에 무엇을 해도 되는지를 정해요.
그리고 권한은 필요하면 거둬들일 수도 있어요.
인증으로 누구인지 확인하고, 권한으로 무엇을 할 수 있는지 정해봐요. 권한은 다시 거둘 수도 있어요.
누구인지를 확인한 것과
무엇을 해도 되는지를 정한 것이 따로 놀았죠.
같은 사람이라도 권한을 더 줄 수도
다시 거둬들일 수도 있었어요.
운영체제도 이렇게 사용자마다
할 수 있는 일을 따로 정해 둬요.
인증으로 문을 통과해도
권한이 없으면 못 건드리는 곳이 있는 거죠.
둘을 나눠 두면
누가 들어왔는지와
그 사람이 무엇을 만질 수 있는지를
따로 관리할 수 있어 더 안전해요.
정리해볼까요
한 줄로 모으면 이래요.
인증은 네가 너임을 증명하는 일이에요.
증명하는 재료는 세 가지,
아는 것과 가진 것과 본인 것이에요.
한 가지만 쓰면 약하니
서로 다른 요소를 여러 겹 겹치면 더 안전해요.
이게 다단계예요.
그리고 인증은 권한과 달라요.
인증은 누구인지를 묻고
권한은 무엇을 할 수 있는지를 정해요.
누구인지 확인하고, 여러 겹으로 단단히, 할 일은 따로 정하기. 그게 인증이에요.
핵심을 차례로 눌러 되짚어봐요. (나임을 증명 -> 아는것/가진것/본인것 -> 여러 겹 다단계 -> 인증은 권한과 다름)
이제 문 앞 경비원이 무엇을 하는지
속까지 알게 됐어요.
네가 너임을 가려내고,
여러 겹으로 단단히 확인하고,
안에서 무엇을 만질 수 있는지까지 따로 정해요.
이 세 가지가 맞물려야
비로소 안심하고 문을 열 수 있어요.
다음엔 통과한 다음 주고받는 말이
중간에 새지 않게 하는 방법을
함께 이어서 살펴봐요.