프로젝트 배경
1) 문제점 - 지갑 주소는 공개 정보라 주소를 안다고 그 지갑의 소유자는 아닙니다. - 서명을 한 번 가로채면 계속 재사용될 수 있습니다. - 모바일에서는 브라우저 확장 지갑을 쓸 수 없어 연결 방식 자체가 달라집니다. 2) 프로젝트 목표 - 아이디·비밀번호 없이 "이 NFT를 가진 사람"이라는 사실만으로 신원을 증명하기 - 가로챈 서명이 다시 쓰이지 못하게 하기 - 웹과 모바일
프로젝트 성과
비밀번호 없는 로그인 구현
아이디와 비밀번호 대신 지갑 서명으로 로그인하도록 만들었습니다. 서버가 비밀번호를 보관하지 않아도 되는 구조입니다.
재사용 공격 차단
서명을 그대로 신뢰하지 않고 서버가 매번 새 일회용 값을 발급해 그것을 서명하게 했습니다. 지난 서명을 다시 쓸 수 없습니다.
소유권을 블록체인에서 직접 확인
서버 기록이 아니라 블록체인에 현재 소유자를 직접 물어 접근을 판정합니다. 기록이 실제와 어긋날 여지를 없앴습니다.
웹·모바일 동시 배포
웹과 모바일에서 지갑에 연결하는 방식은 다르지만 서명 이후 인증 흐름은 같은 코드로 처리하도록 구성했습니다.
핵심 기능
진행 단계
인증 플로우 설계
2021.11.
지갑 연결과 서명 기반 로그인 흐름을 설계하고, 일회용 값으로 재사용 공격을 막는 방식을 정했습니다.
프로젝트 상세
1) 포트폴리오 소개 아이디와 비밀번호 대신 지갑에 담긴 NFT 소유 여부로 신원을 증명하는 인증 서비스를 설계·구현했습니다. 서비스 카테고리는 블록체인 기반 인증 서비스이며, 메인 타깃은 이미 지갑을 쓰고 있는 NFT 보유자입니다. 웹과 모바일 양쪽에서 동작해야 했고, 모바일에서는 지갑 연결 방식 자체가 달라지는 점이 조건이었습니다. 2) 작업 범위 - 개발 참여 범위: Front-end 개발, 모







