본문으로 건너뛰기
JournalTORIS / FIELD NOTES

← 블로그 프로젝트 기록

관리자 OTP를 붙이며 인증 이후의 질문을 배웠다

잇다 SM의 관리자 OTP 인증 업무를 돌아본다. 인증 화면의 성공과 서버에서 보호되는 작업 범위는 별도로 확인해야 했다.

약 2분 읽기

#회고 #인증 #OTP #관리자

유주환 · Founder, Full Stack Developer

토리스(Toris) · 발행

프로젝트를 돌아보는 30일 · 13/30
과거 프로젝트 경험을 날짜별로 엮은 회고입니다. 표시 날짜는 연재 기준일이며, 실제 작업일과 다를 수 있습니다.

이 글의 목차
인증 이후에 남는 권한 경계. 로그인 세션과 OTP 추가 인증을 거친 뒤에도 서버가 관리 작업의 권한을 별도로 판단해야 한다. 화면 밖 직접 요청도 같은 조건으로 검토하고 계정 변경과 로그아웃 뒤의 추가 인증 상태를 확인한다.
개념도 · 인증과 인가를 나눈 본문의 검토 기준이며 시스템 전체 보안이나 우회 차단 완료를 보증하지 않습니다.

잇다 SM 프로젝트에서 OTP 인증 기능을 구현한 경험이 있다. 화면에 코드를 입력하고 확인하는 흐름은 눈에 잘 보인다. 하지만 백엔드까지 맡으며 더 중요하게 보게 된 것은 인증이 끝난 뒤 어떤 요청을 허용하는지였다.

인증 성공 화면이 보호 범위를 설명하지는 않는다

로그인한 사람인지 확인하는 것과 그 사람이 특정 관리 작업을 해도 되는지 확인하는 것은 다르다. OTP를 통과했다는 상태가 있어도 다른 사용자의 데이터에 접근할 권한까지 생기는 것은 아니다. 화면에서 버튼을 숨기는 것 역시 서버의 권한 검사와 같은 역할이 아니다.

당시 업무를 통해 인증과 인가를 구분해서 보는 계기가 생겼다. 돌아보면 “OTP 기능 완료”라는 표현만으로는 무엇이 보호됐는지 충분히 설명할 수 없다. 어느 작업 전에 추가 확인이 필요한지, 확인된 상태를 어디에 연결하는지가 함께 있어야 한다.

지금 다시 검토할 경계

우선 로그인 세션과 추가 인증 상태의 관계를 확인하겠다. 로그아웃한 뒤 이전 인증 상태가 남지 않는지, 다른 계정으로 바뀌었는데 그대로 인정되지 않는지 살펴보겠다. 중요한 작업은 화면을 거치지 않고 요청해도 같은 조건을 적용받는지 확인할 필요가 있다.

실패 흐름도 별도 기능으로 보겠다. 코드가 맞지 않는 경우와 인증 수단을 사용할 수 없는 경우는 사용자의 다음 행동이 다르다. 무작정 다시 시도하라고만 하면 운영 문의가 늘어날 수 있고, 지나치게 느슨한 복구는 추가 인증의 목적을 무너뜨릴 수 있다. 이 균형을 일반적인 답 하나로 단정하지 않겠다.

기능의 완료 범위를 설명하기

OTP를 구현했다는 사실만으로 시스템 전체가 안전하다고 말할 수는 없다. 추가 인증이 적용되는 요청과 여전히 별도 검토가 필요한 요청을 구별해야 한다. 당시에는 입력과 검증의 연결에 집중했다면, 지금은 보호 범위가 서비스 전체에서 일관적인지까지 질문하게 된다.

내게 남은 기준은 간단하다. 인증 기능을 검토할 때는 성공 화면의 스크린샷보다 보호해야 할 요청 목록을 먼저 보겠다. 정상 사용자에게 편리한가와 우회 요청에도 같은 규칙이 적용되는가는 각각 확인해야 한다. 두 질문을 나눠야 기능의 완료 범위를 설명할 수 있다.

기술 참고: OWASP 인증 가이드

READERS / LIVE

읽고 난 뒤의 대화

조회 —

댓글 삭제 시 필요합니다. 8–128자로 입력해 주세요.

댓글은 바로 공개됩니다. 개인정보와 공격적인 표현은 남기지 말아주세요.

    댓글 삭제

    댓글 작성 시 설정한 비밀번호를 다시 입력해 주세요. 삭제한 댓글은 복구할 수 없습니다.

    더 읽어보기

    2026년 9월 10일프로젝트 회고 30편을 정리하고 남은 세 가지 기준2026년 9월 9일AI 개발 도구를 고를 때 프로젝트를 닫는 기능까지 보는 이유2026년 9월 8일앱 업데이트를 내보내며: 설치된 버전은 저장소와 함께 움직이지 않는다
    TORIS

    INDEPENDENT DEVELOPER
    BASED IN KOREA

    korea@toris.krEnglish home ↗