Nonce
Nonce는 정보보안과 웹 개발 분야에서 가장 널리 사용되는 용어로, "Number used once"의 약자입니다. 특정 작업이나 요청을 검증하기 위해 단 한 번만 사용되는 값을 의미하며, 재사용을 방지함으로써 보안성을 높이는 핵심 요소로 활용됩니다.
1. 발음
- 한국어 발음. 논스
- 영어 발음. /nɑːns/ 또는 /nɒns/
2. Nonce의 핵심 의미
Nonce는 분야에 따라 서로 다른 두 가지 의미로 사용됩니다.
2.1 보안·암호학(Crypto) 분야에서의 Nonce
Nonce의 가장 보편적인 정의입니다.
- "Number Used Once"의 줄임말입니다.
- 재사용되지 않는 1회성 난수 또는 토큰을 의미합니다.
- 요청 위조, 재전송 공격(Replay Attack) 등을 방지하기 위한 보안 요소로 사용됩니다.
활용 예
- 로그인 또는 결제 요청 검증
- 비밀번호 재설정 이메일의 일회성 토큰
- CSRF 방지 토큰의 구성 요소
- 블록체인 채굴 과정의 해시 퍼즐 입력값
요약 Nonce는 시스템에 "한 번만 쓰는 임의값"을 제공하여 보안을 강화합니다.
2.2 언어학(Linguistics)에서의 Nonce
보안 분야와는 다른 의미로 사용됩니다.
- 작가나 사용자가 즉석에서 만들어 낸 단어를 의미합니다.
- 상황에 국한된 일회성 단어(즉석조어)를 뜻합니다.
예시
- 창작 과정에서 잠시 등장하는 특수 단어
- 아이가 즉석에서 만들어 낸 말
- 특정 장면이나 유머를 위해 만들어진 단어
요약. 언어학적 Nonce는 "즉석에서 만들어 낸 일회성 단어"를 의미합니다.
3. Nonce가 중요한 이유
보안 관점에서 Nonce는 다음을 보장합니다.
- 요청의 유효성을 검증합니다.
- 재사용 공격(Replay Attack)을 차단합니다.
- CSRF·XSS 방지 정책(CSP)을 강화합니다.
- 암호학적 연산의 무결성을 유지합니다.
특히 웹 개발에서 Nonce는 CSP(Content Security Policy) 설정과 결합해 스크립트 공격 방지에 중요한 역할을 합니다.
4. 정리
| 구분 | 정의 | 역할 | 비고 |
|---|---|---|---|
| 보안·웹 개발 | Number used once | 단 한 번만 사용하는 난수·토큰 | 재전송 공격 방지 |
| 언어학 | 즉석에서 만든 일회성 단어 | 상황에 국한된 조어 | 창작·표현 목적 |
Nonce는 맥락에 따라 의미가 달라지며, IT 환경에서는 주로 보안용 1회성 값을 지칭합니다.
5. 참고하면 좋은 관련 문서
- CSRF Token
- Content Security Policy(CSP)
- Replay Attack
- Hash & Salt 기초
추천 자료: ASP.NET Core 인증 및 권한 부여
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!