GN⁺: 코펜하겐 북: 웹 애플리케이션에서 인증 구현을 위한 일반 지침
(thecopenhagenbook.com)-
코펜하겐 북
- 코펜하겐 북은 웹 애플리케이션에서 인증을 구현하는 일반적인 지침을 제공하는 무료 오픈 소스 프로젝트임
- 커뮤니티에 의해 유지되며, 때때로 주관적이거나 불완전할 수 있지만 온라인 리소스의 공백을 채우는 것을 목표로 함
- OWASP Cheat Sheet Series와 함께 사용하는 것을 권장함
-
서버 측 토큰
- 서버 측에서 토큰을 관리하여 보안을 강화하는 방법을 설명함
-
세션
- 사용자 세션 관리를 통해 지속적인 인증 상태를 유지하는 방법을 설명함
-
비밀번호 인증
- 안전한 비밀번호 인증 방법과 관련된 지침을 제공함
-
이메일 인증
- 이메일을 통한 사용자 인증 절차를 설명함
-
비밀번호 재설정
- 비밀번호 재설정 기능을 구현하는 방법을 설명함
-
랜덤 값 생성
- 보안에 필요한 랜덤 값을 생성하는 방법을 설명함
-
OAuth
- OAuth 프로토콜을 사용하여 인증을 구현하는 방법을 설명함
-
다중 요소 인증 (MFA)
- MFA를 통해 보안을 강화하는 방법을 설명함
-
WebAuthn
- WebAuthn을 사용하여 웹 인증을 구현하는 방법을 설명함
-
교차 사이트 요청 위조 (CSRF)
- CSRF 공격을 방지하는 방법을 설명함
-
오픈 리다이렉트
- 오픈 리다이렉트 취약점을 방지하는 방법을 설명함
-
암호화
- 암호화 기술을 사용하여 데이터를 보호하는 방법을 설명함
-
ECDSA
- ECDSA 알고리듬을 사용하여 디지털 서명을 구현하는 방법을 설명함
-
링크
- GitHub 저장소, Twitter, OWASP Cheat Sheet Series, 기부 링크를 제공함
GN⁺의 정리
- 코펜하겐 북은 웹 애플리케이션 인증 구현에 대한 포괄적인 지침을 제공하여 개발자들에게 유용한 리소스임
- 다양한 인증 방법과 보안 강화 기술을 다루어, 보안에 대한 이해를 높이는 데 도움을 줌
- OWASP Cheat Sheet Series와 함께 사용하면 더욱 효과적이며, 보안 취약점을 방지하는 데 기여할 수 있음
- 비슷한 기능을 가진 프로젝트로는 OWASP의 다양한 가이드라인과 NIST의 보안 권고사항이 있음
Hacker News 의견
-
Lucia 라이브러리의 저자가 더 이상 Lucia가 인증 구현에 적합하지 않다고 느껴, 이를 대체할 가이드 시리즈를 발표함
- 초기 가이드 미리보기를 제공하며, 읽기 즐거웠고 The Copenhagen Book과 잘 어울림
-
보안 리소스의 90%가 비전문가에게는 이해하기 어렵지만, 이 가이드는 명확하고 간결하며 실행 가능함
- 타원 곡선에 대한 부분은 여전히 이해하기 어려움
-
많은 보안 조언이 난해하고 때로는 터무니없게 느껴지지만, 이 가이드는 신선하고 이해하기 쉬운 조언을 제공함
- JWT에 대한 섹션이 추가되면 좋겠음
-
"auth"가 인증(authn)인지 권한(authz)인지 명확히 해주면 좋겠음
- 인증을 의미하는 것 같음
-
UUIDv4가 많은 엔트로피를 가지고 있지만, 암호학적으로 안전하지 않을 수 있다는 점을 언급한 것이 인상적임
- 대부분의 애플리케이션에는 문제가 없지만, 인식할 필요가 있음
-
비밀번호는 최소 8자 이상이어야 하며, zxcvbn 같은 라이브러리를 사용해 약한 비밀번호를 확인해야 함
- 고보안 사이트에는 좋지만, 일회성 계정에 긴 비밀번호를 생성하는 것은 번거로움
-
"Copenhagen Book"이라는 이름의 이유를 아는 사람 있음?
-
한 번만 인증을 구현하면 어디서든 사용할 수 있음
-
웹사이트가 "로그아웃할 때까지 세션이 만료되지 않도록" 선택할 수 있는 옵션을 제공했으면 좋겠음
- GitHub의 세션 만료와 2FA가 불편하여 Gitea로 이동함
- 보안 모델이 유연하지 않으면 고객을 잃을 수 있음
-
훌륭한 가이드임, 감사함