macOS에서 OATH Toolkit과 Keychain으로 OTP 로그인 설정하기
macOS에서 OATH Toolkit과 Keychain으로 OTP 로그인 설정하기
이 글에서는 macOS에서 OATH Toolkit과 Keychain을 사용해 안전하게 OTP(One-Time Password) 기반 인증을 구현하는 방법을 설명합니다. 또한, Keychain의 항상 허용(Always Allow) 설정의 보안 위험에 대해서도 다룹니다.
1. OATH Toolkit 설치
OATH Toolkit은 TOTP(Time-Based One-Time Password) 생성에 사용됩니다. macOS에서는 Homebrew를 통해 간단히 설치할 수 있습니다.
설치 명령어:
brew install oath-toolkit
설치 후, oathtool 명령어를 사용해 OTP를 생성할 수 있습니다.
2. Keychain에 OTP 키 저장
Keychain은 macOS의 기본 암호 관리 시스템으로, OTP 키를 안전하게 저장할 수 있습니다. 아래 명령어로 Keychain에 키를 저장하세요.
Keychain에 키 저장:
security add-generic-password -a <계정명> -s <서비스명> -w <OTP 키>
예시:
security add-generic-password -a user@example.com -s otp-service -w mysecretkey123
- -a: 계정 이름(예: 이메일 주소)
- -s: 서비스 이름
- -w: 저장할 OTP 키
이 명령은 Keychain에 otp-service라는 이름으로 OTP 키를 저장합니다.
3. OTP 생성
Keychain에 저장된 OTP 키를 사용해 TOTP를 생성하려면 아래 단계를 따르세요.
Keychain에서 키 가져오기:
PASSWORD=$(security find-generic-password -a user@example.com -s otp-service -w)
OTP 생성:
oathtool --totp --base32 "$PASSWORD"
예시 출력:
123456
이제 생성된 OTP를 인증 시스템에 입력하여 로그인할 수 있습니다.
4. Keychain의 “항상 허용(Always Allow)” 설정 주의
Keychain은 기본적으로 항목 접근 시 사용자 인증을 요구합니다. 하지만 “항상 허용” 옵션을 활성화하면 보안 위험이 발생할 수 있습니다.
항상 허용의 위험성
- “항상 허용”은 특정 앱이나 명령어(security 등)가 추가 인증 없이 Keychain에 저장된 데이터를 가져오도록 허용합니다.
- 악성 스크립트가 Keychain 데이터를 유출할 가능성이 있으므로, 민감한 항목에 대해 “항상 허용”을 사용하지 않는 것이 좋습니다.
5. Keychain 접근 설정 확인 및 변경
Keychain 항목의 접근 권한을 확인하고 필요한 경우 수정할 수 있습니다.
설정 확인 방법:
1. 응용 프로그램 > 유틸리티 > 키체인 접근 실행.
2. 저장된 항목을 선택하고 정보 가져오기 클릭.
3. Access Control(접근 제어) 탭으로 이동.
“항상 허용” 설정 해제:
1. “Confirm before allowing access” 선택.
2. **“Ask for Keychain password”**를 활성화해 추가 보안을 적용.
3. Save Changes를 클릭하여 저장.
6. 자동화 스크립트 작성 (선택 사항)
Keychain과 OATH Toolkit을 활용한 OTP 생성을 자동화하려면 아래 스크립트를 사용할 수 있습니다:
#!/bin/bash
# Keychain에서 OTP 키 가져오기
PASSWORD=$(security find-generic-password -a user@example.com -s otp-service -w)
# OTP 생성
OTP=$(oathtool --totp --base32 "$PASSWORD")
# 생성된 OTP 출력
echo "Your OTP is: $OTP"
위 스크립트를 저장하고 실행하면 OTP가 자동으로 생성됩니다.
7. 보안 권장 사항
- Keychain 접근 권한 최소화:
- 민감한 항목은 “항상 허용”을 비활성화하고 접근 요청 시 사용자 인증을 요구하세요.
- macOS 최신 상태 유지:
- 보안 취약점을 방지하기 위해 macOS와 모든 소프트웨어를 최신 상태로 유지하세요.
- 강력한 로그인 비밀번호 사용:
- macOS 로그인 비밀번호는 Keychain 암호화의 핵심이므로 강력한 비밀번호를 설정하세요.
결론
macOS에서 OATH Toolkit과 Keychain을 사용하면 안전하게 OTP 기반 인증을 설정할 수 있습니다. 하지만 Keychain의 “항상 허용” 설정은 보안 위험을 초래할 수 있으므로, 민감한 항목에 대해서는 사용하지 않는 것을 권장합니다. Keychain의 강력한 보안과 함께 적절한 설정으로 보안을 강화하세요.