Update Baron Safe Flutter 앱 추진 초안.md
This commit is contained in:
@@ -335,3 +335,35 @@ POST /api/v1/auth/baron-safe/login/poll
|
|||||||
Baron Safe 앱은 Flutter로 추진하는 것이 적절하다. 기존 Baron `userfront`가 이미 Flutter 기반이므로 개발 조직의 학습 비용을 줄일 수 있고, Android와 iOS를 하나의 코드베이스로 대응할 수 있다.
|
Baron Safe 앱은 Flutter로 추진하는 것이 적절하다. 기존 Baron `userfront`가 이미 Flutter 기반이므로 개발 조직의 학습 비용을 줄일 수 있고, Android와 iOS를 하나의 코드베이스로 대응할 수 있다.
|
||||||
|
|
||||||
다만 본 앱은 일반 화면 앱이 아니라 인증 장치 역할을 하므로, 단순 Flutter 화면 구현보다 푸시, 생체 인증, 기기 보안 저장소, private key 서명, 서버 검증, 감사 로그가 핵심이다. 따라서 PoC 단계에서는 빠르게 승인 흐름을 검증하고, MVP 단계에서 기기 서명과 보안 저장소를 반드시 포함하는 방향으로 추진하는 것이 바람직하다.
|
다만 본 앱은 일반 화면 앱이 아니라 인증 장치 역할을 하므로, 단순 Flutter 화면 구현보다 푸시, 생체 인증, 기기 보안 저장소, private key 서명, 서버 검증, 감사 로그가 핵심이다. 따라서 PoC 단계에서는 빠르게 승인 흐름을 검증하고, MVP 단계에서 기기 서명과 보안 저장소를 반드시 포함하는 방향으로 추진하는 것이 바람직하다.
|
||||||
|
|
||||||
|
## 16. 용어 주석
|
||||||
|
|
||||||
|
### PoC
|
||||||
|
|
||||||
|
PoC는 `Proof of Concept`의 약자이며, 한국어로는 개념 검증 또는 가능성 검증 정도로 볼 수 있다.
|
||||||
|
|
||||||
|
본 문서에서 PoC는 Baron Safe 앱의 전체 보안 기능과 운영 기능을 모두 완성하기 전에, 핵심 흐름이 실제로 가능한지 먼저 확인하는 단계를 의미한다. 예를 들어 사용자가 로그인 요청을 만들고, 앱에서 승인 요청을 확인하고, 승인 결과가 서버를 통해 로그인 화면에 반영되는 end-to-end 흐름을 검증하는 것이 PoC의 목적이다.
|
||||||
|
|
||||||
|
### JWS/JWK
|
||||||
|
|
||||||
|
JWS는 `JSON Web Signature`의 약자이며, JSON 형태의 데이터가 중간에 위조되거나 변경되지 않았음을 서명으로 증명하는 표준이다.
|
||||||
|
|
||||||
|
JWK는 `JSON Web Key`의 약자이며, 공개키 또는 비밀키 정보를 JSON 형식으로 표현하는 표준이다.
|
||||||
|
|
||||||
|
본 문서에서는 Baron Safe 앱이 승인 응답을 만들 때 앱 내부의 private key로 JWS 서명을 하고, 서버는 사전에 등록된 JWK 형식의 public key로 그 서명을 검증하는 구조를 의미한다.
|
||||||
|
|
||||||
|
### COSE 기반
|
||||||
|
|
||||||
|
COSE는 `CBOR Object Signing and Encryption`의 약자이며, 데이터를 서명하거나 암호화하기 위한 표준 형식이다.
|
||||||
|
|
||||||
|
JWS/JWK가 JSON 기반이라면, COSE는 CBOR라는 더 작고 기계 처리에 적합한 데이터 형식을 기반으로 한다. WebAuthn, FIDO2, 패스키 같은 인증 기술에서 자주 사용된다.
|
||||||
|
|
||||||
|
본 문서에서 COSE 기반이라는 표현은 승인 응답 서명 구조를 JWS/JWK 대신 WebAuthn/FIDO2 계열과 더 가까운 COSE 방식으로 설계할 수 있다는 의미이다.
|
||||||
|
|
||||||
|
### 앱 private key
|
||||||
|
|
||||||
|
앱 private key는 Baron Safe 앱이 설치된 특정 휴대폰 안에서 생성되고 보관되는 비밀키를 의미한다.
|
||||||
|
|
||||||
|
이 키는 서버로 전송하지 않으며, Android Keystore 또는 iOS Keychain/Secure Enclave 같은 기기 보안 저장소에 보관하는 것이 원칙이다. 앱은 로그인 승인 응답을 보낼 때 이 private key로 서명하고, 서버는 등록 시 저장해 둔 public key로 해당 서명이 올바른지 검증한다.
|
||||||
|
|
||||||
|
따라서 앱 private key는 Baron Safe 앱이 단순 알림 앱이 아니라, 사용자 계정에 등록된 인증 장치임을 증명하는 핵심 보안 요소이다.
|
||||||
|
|||||||
Reference in New Issue
Block a user