인증 흐름 (Authentication Flow)
본 시스템의 2단계 인증(2FA) 프로세스는 두 개의 독립적인 검증 단계를 순차적으로 완료해야 한다. 파이프라인의 어느 지점에서든 검증에 실패하면 즉시 프로세스가 중단되고, 실패 시도가 기록되며, 서보 구동부는 잠금 상태를 유지한다.
검증 파이프라인 (Verification Pipeline)
예외 처리 정책 (Failure Handling Policies)
본 시스템은 Fail-Secure(장애 시 보안 유지) 원칙에 따라 설계되었다.
- NFC / PIN 인증 실패:
- NFC UID가 등록되지 않았거나 PIN 해시가 일치하지 않는 경우, 시스템은
UNAUTHORIZED이벤트를 기록한다. 이 단계에서 실패하면 Vision AI 모듈은 호출되지 않는다.
- NFC UID가 등록되지 않았거나 PIN 해시가 일치하지 않는 경우, 시스템은
- 얼굴 인식(Face Verification) 실패:
- 유효한 1차 인증 수단이 제공되었더라도 카메라가 얼굴을 감지하지 못하거나 등록된 얼굴과 일치하지 않는 경우 시스템은
FINAL_FAIL이벤트를 기록한다.
- 유효한 1차 인증 수단이 제공되었더라도 카메라가 얼굴을 감지하지 못하거나 등록된 얼굴과 일치하지 않는 경우 시스템은
- 하드웨어 및 타임아웃 오류:
- Backend와 Arduino 간의 연결이 끊어지거나 Vision 모듈에서 타임아웃이 발생하는 경우, Arduino는 잠금 해제를 위해 Backend로부터 명시적인
OPEN_DOOR명령을 받아야 하며, 별도의 명령이 없으면 잠김 상태를 유지한다.
- Backend와 Arduino 간의 연결이 끊어지거나 Vision 모듈에서 타임아웃이 발생하는 경우, Arduino는 잠금 해제를 위해 Backend로부터 명시적인