본문 바로가기
Programming/DevOps, Tools

[보안] 인증(Authentication) - 메시지 인증과 사용자 인증

by kghworks 2023. 3. 27.

네이버 로그인 폼

 

누구냐 넌

 

목차

  • 인증(Authentication)이란
  • 메시지 인증
  • 사용자 인증

인증(Authentication)이란

 컴퓨터 보안에서 말하는 인증이란 어떤 실체가 그 실체가 맞는지 확인하는 것입니다. 이를테면 어떤 메시지를 받았을 때 이 메시지가 위변조 된 것은 아닌지 체크하는 것, 시스템 (서버)에 접속한 사용자가 정상적인 사용자인지 확인하는 것 등이 있습니다. 인증하고자 하는 실체 (대상)는 메시지, 사용자, 출처, 장치 등 여러 종류가 될 수 있습니다.


메시지 인증

 메시지를 받았을 때 해당 메시지가 위변조 되지 않고 정확하고 안전하게 수신된 것이 맞는지 메시지의 무결성을 인증하는 것을 말합니다.

 

MAC (Message Authentication Code)

* mac address와 다른 개념

메시지 인증에는 메시지 인증 코드 (Message Authentication Code, MAC)를 메시지에 추가하여 인증하는 방법이 있습니다. MAC은 메시지 인증을 위한 부가적인 정보입니다. 송신자는 메시지를 보낼 때 MAC을 메시지에 추가하여 전송하고, 수신자는 메시지를 받으면 MAC을 통해 메시지 변조여부를 확인합니다.

MAC 기반 메시지 인증

MAC 인증의 핵심은 송/수신자가 같은 비밀키로 같은 알고리즘으로 해싱하여 메시지를 인증하는 것입니다. MAC 알고리즘과 비밀키만 가지고 있으면 MAC을 만들어낼 수 있고, 또한 메시지와  MAC은 서로 독립적으로 존재하기 때문에 메시지 원문 자체가 노출되었을 때는 위/변조 여부를 따지지 않고 위험할 수 있습니다.

 

  • 비밀키를 이용하기 때문에 제 3자가 개입하여 메시지 위변조 불가능
  • 기밀성을 제공하지 못함 (메시지와 MAC은 서로 독립적)
  • MAC은 메시지 크기와 무관한 작은 크기

 

그 외에도 아래와 같은 MAC을 기반으로한 인증 방법들이 있습니다.

  • HMAC : 해시함수를 기반으로 비밀키를 메시지에 붙인 후 해시함수를 적용하는 방법
  • CMAC : 블록암호 기반, CBC 모드를 메시지에 적용하는 방법

 


사용자 인증

 

 시스템 (서버, PC, 웹 페이지, 건물 보안 시스템 등)에 접근하려는 사용자를 인증하는 것을 말합니다. 즉 접근하려는 사용자 (실체)가 정말 그 사용자가 맞는지 진실성을 확인하는 과정입니다. 인증 과정에는 다음과 같은 방법들이 사용됩니다.

 

  • 비밀번호
  • 생체인식
  • 토큰
  • 2단계 인증
  • 그 외 ...

 

비밀번호

네이버 로그인 폼

 가장 보편화 (일반적)되어 사용되고 있는 인증 방식입니다. 사용자가 입력한 비밀번호가 시스템에 이미 저장된 비밀번호와 일치하는지를 확인하여 인증합니다. 대부분 사용자 아이디와 같이 쌍으로 사용하고 있습니다.

 시스템에 저장된 비밀번호는 유출될 것을 대비하여 해시코드로 저장되어있어야 합니다.

 

생체인식

apple face ID (출처 :  https://support.apple.com/ko-kr/HT208109)

 사람 개개인의 고유 정보인 생체 정보들을 이용하는 방법입니다. 사전에 사용자의 생체 정보가 시스템에 저장되어있어야 합니다. 사용될 수 있는 생체정보는 홍채, 얼굴, 지문, 손바닥 혈관 등이 있습니다. 최근에는 앱 결제, 스마트폰 인증, 건물 출입 시스템 등에 사용되고 있습니다.

 

토큰 (Token)

휴대폰 본인 인증 번호

 사용자가 이미 소유하고 있는 특정 정보를 이용하는 방법입니다. 이 정보를 토큰이라 하며 토큰에는 보안토큰, 스마트카드, 실물 키(자동차 키), 휴대전화 등이 있습니다. 휴대폰으로 일회용 인증번호를 발송하여 사용자를 인증하는 방법이 휴대폰을 토큰으로 사용한 방식입니다.

 

2단계 인증 (2FA, Two-Factor Authentication)

 사용자가 알고 있는 정보와 소유하고 있는 정보를 둘 다 사용하는 방법입니다. 이를테면 비밀번호 (사용자가 아는 정보)와 토큰 (사용자가 소유한 정보)을 같이 사용하는 것입니다. 서로 다른 성격의 인증방식을 혼합하여 사용함으로써 더 강화된 인증 방법이라고 봅니다. 그 외에도 MFA (Multi-Factor Authentication)와 같이 2가지 이상의 속성을 사용하여 인증하는 방식도 있습니다.

 

민간 인증서의 등장

http://www.dailypop.kr/news/articleView.html?idxno=65853 

 

카카오·네이버 등 민간인증서 적용 공공웹사이트 110곳으로 확대 - 데일리팝

민간인증서로 이용가는한 공공웹사이트가 확대된다.행정안전부는 ‘민간 간편인증 서비스’ 적용 공공 웹사이트를 기존 55개에서 110개 사이트로 대폭 확대하고, 선택 가능한 민간인증서도 5개

www.dailypop.kr

http://www.sisaon.co.kr/news/articleView.html?idxno=144311 

 

은행권, 인증수단 변천사…공인인증서 폐지 후 인증시장 ‘격변’ - 시사오늘(시사ON)

(시사오늘, 시사ON, 시사온=고수현 기자)비대면 채널에서 은행 서비스를 이용하기 위해 반드시 필요했던 ‘인증서’가 ‘공인인증서’ 폐지와 맞물려 빠르게 변화하고 있다.공인인증서의 존재

www.sisaon.co.kr

 

정부 24 인증 팝업 (출처 : https://www.gov.kr/nlogin/?Mcode=10003)

 근래에는 민간 기업들이 민간(사설) 인증서 서비스들을 내놓고 있습니다. 인터넷에서 본인인증을 하는 절차가 굉장히 까다롭고 빈번해짐에 따라 이미 사용자들 모바일 기기에 설치되어 있는 앱을 기반으로 빠르게 인증하도록 하는 것입니다. 사용자의 앱을 토큰으로 간주한 토큰 기반의 인증이라고 볼 수도 있겠습니다. 다만, 해당 토큰 (앱)에서 사전에 인증절차 동의, 인증서 생성 등과 같은 절차를 진행해 두어야 합니다.

 

댓글