Logic in Code,
Freedom in Travel.

인생 뭐 있나 사람 사는거 다 똑같지

임시보관/로그인 서비스

임시보관/로그인 서비스

[인증] - 패스키(Passkey) 인증의 마지막?..

"내 스마트폰에 지문을 등록했는데, 노트북에서 로그인하려면 노트북에 또 등록해야 하나요?""스마트폰을 분실하면 계정에는 어떻게 접근하나요?"기존 FIDO(보안 키 등)는 개인키가 물리적인 단일 기기(Hardware)에 귀속되어 있기 떄문에 백업이나 복제가 불가능하여 보안은 좋지만 사용하기게 쉽지 않았다. 이러한 이슈로 나온 인증 수단이 패스키(Passkey)이다. 패스키는 기존의 FIDO 표준을 그대로 사용하면서 클라우드를 통한 동기화와 아이디 입력 생략(Discoverable Credential)이라는 것이 추가되었다. Passkey란 무엇인가?패스키는 "클라우드에 동기화되는 FIDO 개인키" 이다. 애플은 iCloud 키체인을 사용하고 안드로이드는 구글 비밀번호 관리자를 사용하여 패스키(개인키)가 동..

2024. 2. 26. 14:01
임시보관/로그인 서비스

[인증] - FIDO와 WebAuthn의 동작 원리

UX 측면이나 보안 측면에서 지문이나 Face ID로 로그인하는 하드웨어 방식으로 로그인 기능이 추가되는게 트렌드 같다. 스마트폰과 브라우저에서는 이미 API 를 제공해주기 때문에 이것을 사용해서 개발하는데에는 그렇게 어렵지가 않았다.사용자의 아이디와 비밀번호를 우리쪽 데이터베이스로 관리하면 암호화나 서버 접근 등 신경쓸 보안이 많다. 때로는 크리덴셜 스터핑 등으로부터 데이터베이스를 지키는것도 신경쓰자면 생각할게 많아지기 마련이다. 그래서 FIDO(Fast IDentity Online) 라는 표준이 나왔다. 1. FIDO란 무엇인가?FIDO는 사용자의 디바이스(스마트폰, 노트북 지문 인식기, USB 보안 키 등)에서 사용자를 로컬로 인증하고, 서버로는 비밀번호 대신 암호화된 서명만을 전송하는 프로토콜..

2024. 2. 26. 14:01
임시보관/로그인 서비스

[인증]: OpenId Connect (OIDC) Protocol And JWTs

OAuth 2.0 에서는 발렛 키(Access Token)를 얻는 과정이었다. 이로인해 OAuth 2.0만으로는 부족한 점이 있는데 그것이 바로 "이 사용자가 정확히 누구인가?"에 대한 표준화된 정보이다. 이를 해결하기 위해 OAuth 2.0 위에 신원 확인 계층을 얹은 것이 바로 OIDC(OpenID Connect)이다. 오늘은 OIDC의 핵심인 ID Token과 이를 실무에서 구현할 때 사용하는 JWT(JSON Web Token)를 라이브러리 없이 파헤쳐보려한다. OAuth 2.0 vs OIDC: 무엇이 다를까?많은 개발자가 이 둘을 혼용하지만, 목적 자체가 다르다. OAuth 2.0 (Authorization): 인가(권한 부여)가 목적이다. "내 사진첩에 접근할 수 있게 해줘"라는 요청에 대해 '..

2024. 2. 26. 09:26
임시보관/로그인 서비스

[인증]: RFC 6749 - The OAuth 2.0 Authorization Framework

기술 블로그나 이력서를 보면 소셜 로그인을 개발한것을 보고 OAuth 2.0 개발을 했다는 글을 많이 보았다.하지만 MBTI 의 T 로서는 정정할 필요가 있다고 생각한다. 소셜로그인을 개발한다는것은 OAuth 2.0 을 사용한 인증서버에 "Google로 로그인", "GitHub으로 로그인" 버튼을 만들어 연결만 한것이다. 이러한 소셜로그인은 Passport.js 같은 라이브러리를 사용해서 쉽게 구현하지만, 라이브러리를 사용하지 않아도 충분히 쉽게 구현이 가능하다. 의외로 OAuth 2.0 프로토콜을 준수하면서 Node.js와 Express만으로 순수하게 OAuth 2.0의 원리를 파헤치는건 복잡하고 어렵다. OAuth 2.0 이란 OAuth 2.0(RFC 6749)은 인가(Authorization)를 위..

2024. 2. 26. 09:24