FIDO Alliance에서 공식 인증한 FIDO2(WebAuthn) 서버
FIDO(Fast IDentity Online)는 비밀번호의 취약점을 제거하는 것을 목표로 하는 온라인 인증을 위한 개방형 표준입니다. FIDO는 비밀번호나 PIN과 같은 대칭 자격 증명 대신 공개 키 암호화를 사용합니다.
본질적으로 사용자의 장치는 키 쌍을 생성하여 개인 키를 안전하게 저장하고 공개 키를 서버와 공유합니다. 등록 및 인증 중에 서버는 장치에 요청하고 장치는 개인 키를 사용하여 디지털 서명으로 응답합니다. 그런 다음 서버는 저장된 공개 키를 사용하여 이 서명을 확인합니다. 이 시도-응답 프로토콜은 재생 공격을 방지하는 데 도움이 됩니다.
FIDO2는 주요 웹 브라우저 및 운영 체제에서 지원되는 웹 및 기타 플랫폼에 대한 FIDO 표준의 향상된 버전입니다. 여기에는 등록과 인증이라는 두 가지 기본 작업이 포함됩니다.
등록 및 인증 프로세스 모두 재생 공격을 방지하기 위해 시도-응답 프로토콜을 사용합니다. 등록 중에 서버에서 장치로 챌린지가 전송되고 장치는 개인 키를 사용하여 응답합니다. 마찬가지로 인증 중에 사용자의 신원을 확인하기 위해 또 다른 질문이 전송됩니다. 이를 통해 각 시도는 고유하고 안전합니다.
RP 서버 및 FIDO2 서버를 시작합니다.
# Start RP Server
cd rpserver
./gradlew bootRun
# Start FIDO2 Server
cd fido2-demo/demo
./gradlew bootRun
Docker가 구성되어 있으면 docker-compose를 사용할 수 있습니다.
# Start both RP Server and FIDO2 Server
docker-compose up
애플리케이션이 실행되면 다음 위치에서 테스트 페이지에 액세스합니다.
FIDO2 서버는 로컬 환경에서 H2를 임베디드 DB로 사용하는데, 스테이징, 베타, 프로덕션 환경에서는 독립형 DB(예: MySQL)로 대체해야 합니다. 다음 위치에서 H2 웹 콘솔에 액세스하세요.
jar {
processResources {
exclude( " **/*.sql " )
}
}
API 문서를 보려면 다음 단계를 따르세요.
cd fido2-demo/demo
./gradlew makeRestDocs
./gradlew bootRun
애플리케이션 실행 후, 아래 링크에서 API 가이드 문서를 보실 수 있습니다.
또한 Android/iOS 애플리케이션용 클라이언트 SDK도 제공하고 있습니다. 아래를 참조하십시오.
checkOrigin
메소드는 LINE Android 및 iOS 애플리케이션의 요청 출처를 검증합니다. 요청의 원본이 사전 구성된 허용 원본 목록과 일치하는지 확인하여 보안을 보장합니다.
구성 방법 checkOrigin
메서드를 사용하려면 application.yml
파일에서 허용되는 원본을 설정합니다. 다음은 구성 예입니다.
app :
origins :
- android:aaa-bbb
- ios:aaa-bbb
참고: aaa-bbb
애플리케이션에 적합한 값으로 바꾸십시오.
중요: 이 구성은 선택 사항이며 Android 및 iOS 애플리케이션용 LINE WebAuthn과 통합할 때만 필요합니다.
LY Engineering Blogs
LY Tech Videos
Internal