연구개발
- KAIST총동문회
- 2025-08-26
- 조회수 390
< (왼쪽부터) 황성하 박사과정, 정우혁 박사과정, 이주영 교수 >
컴퓨터 보안에서 난수(Random number)는 비밀키나 초기값(IV)처럼 예측 불가능해야 하는 중요한 값으로, 보안 시스템의 근간을 이룬다. 이를 위해 ‘결정론적 난수 발생기(DRBG)’가 사용돼 겉보기에는 무작위처럼 보이는 수를 만들어 낸다. 그러나 기존 DRBG는 안전성(해킹에 대한 예측 불가성)과 출력 속도에서 한계가 있었다. KAIST 연구진은 새로운 증명 기법을 통해 이론적으로 가능한 최고 수준의 안전성을 입증하고, 구조를 병렬화해 속도를 극대화한 DRBG를 개발했다. 이를 통해 IoT 기기부터 대규모 서버까지 적용 가능한, 안전하면서도 초고속의 난수 생성이 가능해졌다.
우리 대학 전산학부 이주영 교수 연구팀이 치환(permutation)* 기반 결정론적 난수 발생기(DRBG, Deterministic Random Bits Generator)의 안전성을 분석하는 새로운 이론적 기틀을 마련함과 동시에, 최적의 효율성을 달성하는 결정론적 난수 발생기를 설계했다고 20일 밝혔다.
*치환: 여러 비트나 바이트의 순서를 바꿔 뒤섞는 과정으로 양방향 변환이 가능(뒤섞은 걸 원래대로 돌릴 수 있음)
결정론적 난수 발생기는 블록 암호*, 해시 함수**, 치환 등 기본 암호학적 연산을 활용해 엔트로피 소스(환경에서 얻는 무작위 데이터)로부터 예측 불가능한 난수를 만들어 낸다.
*블록 암호: 원래 문장을 같은 길이의 암호문으로 바꾸는 방법
**해시 함수: 입력을 고정 길이의 요약 값을 바꾸는 함수로 입력데이터를 섞어 예측 불가능한 값을 만듦
이렇게 생성된 난수들은 비밀키 및 초기화 벡터 생성 등 대부분의 암호 알고리즘에서 활용되며, 이에 기반하는 전체 시스템의 근본적인 안전성을 좌우한다. 따라서 결정론적 난수 발생기는 암호학의 기반을 이루며, 그 효율성과 안전성을 개선하는 것은 매우 중요한 연구 과제다.
치환 함수는 양방향 계산이 가능한 암호 알고리즘의 기본적인 구성 요소로서, 미국 표준 SHA-3 해시 함수에 사용되면서 우수한 안전성과 효율성으로 많은 관심을 받고 있다.
< 그림 1. 치환 함수 P를 사용하여, 수열 Zi를 출력하는 스펀지 구조. 기존 Sponge-DRBG의 난수 출력 함수. 치환 P를 직렬로 연결한 스펀지 구조를 이용한다. 참고로, 기존 치환 함수 기반 DRBG들은 모두 이 스펀지 구조를 가진다. 스펀지 구조는, P의 입력 n비트 중, 위 r 비트만을 출력 Z로 삼는다. 이에 따라 항상 r/n 만큼의 출력 효율을 가질 수밖에 없다. >
그러나, SHA-3에 채택된 스펀지 구조*는 치환 크기에 비해 출력 효율이 작다는 점이 한계로 지적됐다. 기존 치환 기반 결정론적 난수 발생기의 출력 함수는 모두 스펀지 구조를 사용해 설계됐기에, 이들 또한 출력 효율에 제약이 있었다.
*스펀지 구조(Sponge construction): 스펀지가 물을 빨아들이고 짜내는 과정을 닮아, 데이터 입력을 차례로 흡수하고, 원하는 길이만큼 출력을 짜낼 수 있음. 출력 길이가 고정되지 않아, 필요에 따라 아주 긴 난수나 해시도 생성 가능
또한, 기존 치환 기반 결정론적 난수 발생기는 안전성을 증명할 때 ‘게임 호핑(Game Hopping)’이라는 기법을 사용해 왔다. 그러나 이 방식은 이론적으로 가능한 보안 수준보다 낮게 평가되는 한계가 있었다.
예를 들어, 치환의 capacity(c)가 256비트일 경우 이론적으로는 min{c/2, λ/2}, 즉 128비트의 안전성을 기대할 수 있다. 하지만 기존 증명 방식에서는 min{c/3, λ/2}, 약 85비트 수준으로만 보장되는 것으로 나타났다. (λ는 엔트로피 임계값, min은 둘 중 작은 값을 취함)
게임 호핑 기법은 난수 발생기와 공격자가 맞붙는 상황을 ‘게임’으로 정의하고, 이를 여러 개의 작은 단계(미니게임)로 나눈 뒤 각 단계에서 공격자가 성공할 확률을 계산해 합산하는 방식이다. 하지만 단계를 지나치게 세분화하다 보니, 실제보다 낮은 안전성 수치가 산출되는 문제가 있었다.
이주영 교수 연구팀은 기존 게임 호핑(Game Hopping) 기법이 전체 게임을 지나치게 많은 단계로 나눠 분석한다는 점에 착안해, 이를 단 2단계로 단순화한 새로운 증명 방식을 제안했다. 그 결과, 기존 치환 기반 결정론적 난수 발생기의 보안 수준이 실제로는 min{c/2, λ/2} 비트에 해당하며, 이는 기존 대비 약 50% 향상된 안전성을 제공한다는 사실을 입증했다. 또한 이 값이 이론적으로 달성 가능한 최대치임도 함께 증명했다.
< 그림 2. POSDRBG의 출력 구조. 이번 연구에서 설계한 POSDRBG의 난수 출력 함수. 병렬 계산이 가능하도록 설계하였으며, 치환함수 P의 n비트 출력 모두가 난수 Z가 된다. 따라서 1의 출력 효율을 가진다. >
또한 연구팀은 기존 스펀지 구조가 직렬(한 줄) 처리 방식으로 인해 출력 효율에 한계가 있다는 점을 개선하기 위해, **POSDRBG(Parallel Output Sponge-based DRBG)**를 설계했다. 새로 제안된 병렬 구조는 여러 줄을 동시에 처리하듯 데이터를 병렬로 출력해, 치환 기반 난수 발생기가 낼 수 있는 최대 효율을 구현했다.
이주영 교수는 “POSDRBG는 소형 사물인터넷(IoT) 기기부터 대규모 서버까지, 난수 생성 속도와 안전성을 모두 개선한 새로운 결정론적 난수 발생기”라며, “이번 연구가 진행 중인 결정론적 난수 발생기 국제 표준 SP800-90A* 개정 과정에서 ‘치환 함수 기반 DRBG’가 정식 표준에 포함되는 데 긍정적인 영향을 줄 것”이라고 말했다.
*SP800-90A: 미국 NIST(국가표준기술연구소)가 제정한 국제 표준 문서로, 암호 시스템에서 사용할 수 있는 DRBG의 설계·운영 기준을 정의한다. 현재까지는 치환(permutation) 기반 DRBG가 표준에 포함되어 있지 않았음
KAIST 정보보호대학원 정우혁 박사과정생이 제1 저자로, 이주영 교수가 교신저자로 참여한 이번 연구는, 8월 암호학 분야 최우수 국제학회인 CRYPTO(Annual International Cryptology Conference)에서 발표될 예정이다.
※ 논문명: Enhancing Provable Security and Efficiency of Permutation-based DRBGs
(저자 정보: 정우혁(KAIST, 제1저자), 황성하(KAIST), 김휘겸(삼성전자), 이주영(KAIST, 교신저자) 총 4명)
※ DOI: https://doi.org/10.1007/978-3-032-01901-1_15
한편, 이 연구는 정보통신기획평가원(IITP)의 지원을 받아 수행됐다.
출처 : https://researchnews.kaist.ac.kr/researchnews/html/news/?mode=V&mng_no=50630&skey=&sval=&list_s_date=&list_e_date=&GotoPage=1