본문 바로가기
임베디드 용어 정리

논스(Nonce)

by minhyeok.lee 2024. 8. 22.
반응형

논스(Nonce)란?


1. 논스(Nonce)는 "Number used once"의 약자이다.

2. 암호학 및 컴퓨터 보안에서 한 번만 사용되는 임의의 값 또는 숫자를 의미한다.

3. 논스는 보안 프로토콜에서 반복 공격(Replay Attack)을 방지하거나 데이터의 무결성을 보장하는 데 사용된다.


주요 특징 및 사용 사례

한 번만 사용

논스는 같은 값을 두 번 다시 사용하지 않는다는 점이 중요하다.

이것은 보안 프로토콜에서 공격자가 이전에 사용된 논스를 재사용하여 시스템을 속이는 것을 방지하는 데 중요한 역할을 한다.

 

임의성 또는 순차성

논스는 임의의 값(random value)으로 생성될 수도 있고, 순차적으로 증가하는 값(sequential value)으로 생성될 수도 있다.

중요한 것은 동일한 상황에서 동일한 논스가 다시 사용되지 않도록 보장하는 것이다.

 

사용 예시

암호화

예를 들어, 카운터 모드(CTR mode)와 같은 암호화 방식에서 논스는 블록 암호화의 각 블록마다 고유의 초기값으로 사용되어, 동일한 키로 여러 번 암호화하더라도 각 암호문이 고유하게 된다.

 

인증 프로토콜

클라이언트와 서버 간의 인증 과정에서 논스를 사용하여, 이전에 기록된 메시지를 재전송하는 반복 공격을 방지한다.

클라이언트가 서버에 요청을 보낼 때, 서버는 클라이언트에게 논스를 전송하고, 클라이언트는 이 논스를 사용해 응답을 생성한다.

 

디지털 서명

디지털 서명에서 논스는 서명이 동일한 메시지에 대해 반복되지 않도록 보장한다.


보안상의 이점

논스는 메시지의 유일성을 보장하기 때문에, 암호화된 통신이 더욱 안전해진다.

공격자는 이전 통신을 캡처하여 같은 메시지를 전송할 수 없게 된다.

논스의 임의성은 예측 가능성을 줄여, 공격자가 시스템을 공격하는 것을 어렵게 만든다.


예시 시나리오

온라인 뱅킹

사용자가 은행 서버에 로그인할 때, 서버는 논스를 생성하여 사용자의 브라우저에 전달한다.

사용자는 이 논스를 포함해 암호화된 로그인 요청을 서버로 보낸다.

서버는 이 논스를 확인하여 요청이 유효한지, 혹은 이전의 요청을 재사용한 공격 시도가 있는지를 판별할 수 있다.


요약

1. 논스는 보안 프로토콜에서 중요한 역할을 한다.

2. 반복 공격 방지, 데이터 무결성 보장, 암호화의 고유성 유지 등 여러 가지 보안 목적을 달성하는 데 사용된다.

3. 주로 암호화, 인증, 디지털 서명 등의 다양한 보안 관련 기술에서 필수적인 요소이다.



반응형

'임베디드 용어 정리' 카테고리의 다른 글

CIR  (0) 2024.08.24
MIC  (0) 2024.08.23
카운터 모드(CTR Mode)  (0) 2024.08.21
AES에서 GCM과 CCM  (0) 2024.08.20
AES-DMA 엔진  (0) 2024.08.19

댓글