디지털 신분증 3분 소요

미국 운전면허증 바코드가 읽히면, 진짜 신분증일까요?

핵심 요약

  • 바코드를 읽었다고 해서 신분증이 진짜라고 볼 수는 없습니다.
  • 전자서명을 쓰는 구조에서 발급기관의 서명용 개인키가 노출되면 위조 데이터에도 유효한 서명을 붙일 수 있습니다.
  • 서명이 유효한지 확인하는 절차와 신분증을 제시한 사람이 소유자인지 확인하는 절차는 별개입니다.
  • 키가 노출됐을 때 얼마나 피해를 입는지는 해당 키를 어디까지 쓰는지, 검증 시스템이 어떻게 대응하는지에 따라 달라집니다.

신분증을 스캔했더니 화면에 이름과 생년월일이 나타납니다. 이렇게 정보가 뜨면 “정보가 읽혔다”는 결과를 “진짜 신분증이다”라는 판정으로 받아들이기 쉽습니다. 미국 운전면허증 바코드와 디지털 신원 확인을 이해하려면 먼저 이 두 가지를 구분해야 합니다.

바코드는 정보를 담는 그릇입니다

바코드는 기계가 읽을 수 있도록 정보를 표현하는 방식입니다. 사람이 종이에 적힌 내용을 읽듯이, 스캐너는 바코드의 무늬를 해석합니다.

예를 들어 바코드를 읽었더니 이름과 생년월일이 나왔다고 해보겠습니다. 여기서 알 수 있는 것은 그 데이터가 바코드에 들어 있다는 사실입니다. 누가 그 데이터를 만들었는지까지 알 수 있는 것은 아닙니다.

정보를 읽는 기능정보의 출처를 검증하는 기능은 따로 필요합니다. 전자서명은 데이터가 어디서 왔는지, 중간에 누군가 바꾸지는 않았는지 확인하는 데 씁니다.

다만 바코드가 있다고 해서 전자서명도 반드시 들어 있는 것은 아닙니다. “미국 운전면허증 바코드”라는 이름만 보고 서명이 들어 있다거나 특정한 방식으로 검증한다고 단정해서는 안 됩니다.

복구했다는 키가 어떤 키인지부터 봐야 합니다

공개키 방식의 전자서명에는 서로 역할이 다른 키 두 개를 씁니다. 개인키로는 서명을 만들고, 공개키로는 그 서명이 맞는지 검사합니다.

공개키는 검증하는 쪽에 알려져도 됩니다. 반면 개인키는 비밀로 지켜야 합니다. “서명 키를 알아냈다”는 말을 들었다면, 공개키를 추출했다는 뜻인지 서명용 개인키를 알아냈다는 뜻인지부터 구분해야 합니다.

발급기관의 개인키를 알아냈다면 문제가 커집니다. 공격자가 바꾼 데이터에도 그 키로 유효한 서명을 만들 수 있기 때문입니다. 해당 키를 계속 신뢰하는 검증기는 서명 검사만으로 이런 데이터를 걸러내기 어렵습니다.

그렇다고 반드시 암호 알고리즘 자체가 깨졌다는 뜻은 아닙니다. 개인키가 외부로 유출돼도 같은 문제가 생깁니다. 도장을 정교하게 흉내 낸 경우와 진짜 도장을 훔친 경우는 구분해서 봐야 합니다.

바코드를 복사한 경우와 검증 프로그램을 속인 경우도 서로 다릅니다. 서명용 개인키를 확보했다면 또 다른 문제입니다. 공격자가 무엇을 할 수 있게 됐는지에 따라 피해 범위와 해결책이 달라집니다.

서명이 맞아도, 눈앞의 사람이 주인인지는 알 수 없습니다

전자서명을 제대로 확인하려면 검증에 쓰는 공개키부터 믿을 수 있어야 합니다. 공격자가 건넨 공개키로 공격자의 서명을 검사하면 계산상으로는 서명이 맞을 수 있습니다. 그래도 발급기관을 확인한 것은 아닙니다.

믿을 수 있는 발급기관의 서명을 확인했더라도 따로 확인할 것이 있습니다. 이 신분증을 제시한 사람이 실제 주인인가?

남의 진짜 신분증을 가져온 상황을 생각하면 쉽습니다. 신분증 자체가 진짜라는 것과 제시자가 소유자라는 것은 서로 다릅니다. 그래서 사진을 대조하거나, 설계에 따라 등록된 기기를 실제로 갖고 있는지 확인하는 절차가 필요합니다.

디지털 신원 확인에서는 적어도 세 가지 질문을 나눠서 봐야 합니다.

  1. 데이터를 정상적으로 읽었는가?
  2. 신뢰하는 발급기관이 만든 데이터인가?
  3. 제시자가 그 신분증의 소유자인가?

화면에 초록색 체크가 뜨더라도, 이 중 어디까지 확인했다는 표시인지 알아야 합니다.

개인키가 노출된 뒤에는 검증 시스템도 대응해야 합니다

서명용 개인키가 노출됐다면 새 키를 만드는 것만으로는 충분하지 않습니다. 검증하는 쪽에서 기존 키를 계속 신뢰하면 공격자가 만든 서명도 여전히 검사를 통과할 수 있습니다.

이때는 기존 키에 대한 신뢰를 철회하는 절차가 필요합니다. 어떤 키에 문제가 생겼는지 알리고, 검증 시스템에도 그 변경을 반영해야 합니다. 영향을 받는 신분증을 재발급해야 할지도 판단해야 합니다.

인터넷 연결 없이 검증할 때는 이 문제가 더 까다롭습니다. 검증기가 최신 정보를 받지 못하면 해당 키를 더 이상 신뢰하지 않는다는 사실을 바로 알기 어렵습니다. 오프라인으로 편리하게 쓰면서도 이런 변경 사항을 어떻게 반영할지 고민해야 합니다.

피해가 어디까지 미치는지도 따져봐야 합니다. 특정 용도에만 쓰는 키인지, 많은 신분증에 공통으로 쓰는 키인지에 따라 영향이 다릅니다. 개인키 하나가 노출됐다는 사실을 곧바로 미국 전체 운전면허 체계가 무너졌다는 뜻으로 해석할 수는 없습니다.

디지털 신분증을 믿고 쓰려면 서명 계산만 맞아서는 충분하지 않습니다. 키를 어떻게 보관하고 검증하는지, 사고가 난 뒤 어떻게 대응하는지도 중요합니다. 신분증 인증 화면에 뜨는 “확인 완료” 역시 무엇을 확인했느냐에 따라 뜻이 달라집니다. 바코드를 읽었다는 표시일 수도 있고 발급기관을 확인했다는 표시일 수도 있습니다. 눈앞의 사람까지 확인했는지는 별도로 살펴야 합니다.

디지털 신분증 전자서명 신원 인증

댓글

    댓글을 불러오는 중...