[이뉴스투데이 백연식 기자] KAIST 연구진이 새로운 증명 기법을 통해 이론적으로 가능한 최고 수준의 안전성을 입증하고, 구조를 병렬화해 속도를 극대화한 DRBG를 개발했다. 이를 통해 IoT 기기부터 대규모 서버까지 적용 가능한, 안전하면서도 초고속의 난수 생성이 가능해졌다.
KAIST는 이주영 전산학부 교수 연구팀이 치환(permutation) 기반 결정론적 난수 발생기(DRBG, Deterministic Random Bits Generator)의 안전성을 분석하는 새로운 이론적 기틀을 마련함과 동시에, 최적의 효율성을 달성하는 결정론적 난수 발생기를 설계했다고 20일 밝혔다.
결정론적 난수 발생기는 블록 암호, 해시 함수, 치환 등 기본 암호학적 연산을 활용해 엔트로피 소스(환경에서 얻는 무작위 데이터)로부터 예측 불가능한 난수를 만들어 낸다. 블록 암호는 원래 문장을 같은 길이의 암호문으로 바꾸는 방법을 말한다. 해시 함수는 입력을 고정 길이의 요약 값을 바꾸는 함수로 입력데이터를 섞어 예측 불가능한 값을 만든다.
이렇게 생성된 난수들은 비밀키 및 초기화 벡터 생성 등 대부분의 암호 알고리즘에서 활용되며 이에 기반하는 전체 시스템의 근본적인 안전성을 좌우한다. 따라서 결정론적 난수 발생기는 암호학의 기반을 이루며 그 효율성과 안전성을 개선하는 것은 매우 중요한 연구 과제다.
치환 함수는 양방향 계산이 가능한 암호 알고리즘의 기본적인 구성 요소로서, 미국 표준 SHA-3 해시 함수에 사용되면서 우수한 안전성과 효율성으로 많은 관심을 받고 있다.
SHA-3에 채택된 스펀지 구조는 치환 크기에 비해 출력 효율이 작다는 점이 한계로 지적됐다. 기존 치환 기반 결정론적 난수 발생기의 출력 함수는 모두 스펀지 구조를 사용해 설계됐기에, 이들 또한 출력 효율에 제약이 있었다.
또한, 기존 치환 기반 결정론적 난수 발생기는 안전성을 증명할 때 ‘게임 호핑(Game Hopping)’이라는 기법을 사용해 왔다. 그러나 이 방식은 이론적으로 가능한 보안 수준보다 낮게 평가되는 한계가 있었다.
예를 들어, 치환의 capacity(c)가 256비트일 경우 이론적으로는 min{c/2, →/2}, 즉 128비트의 안전성을 기대할 수 있다. 하지만 기존 증명 방식에서는 min{c/3, →/2}, 약 85비트 수준으로만 보장되는 것으로 나타났다.
게임 호핑 기법은 난수 발생기와 공격자가 맞붙는 상황을 ‘게임’으로 정의하고, 이를 여러 개의 작은 단계(미니게임)로 나눈 뒤 각 단계에서 공격자가 성공할 확률을 계산해 합산하는 방식이다. 하지만 단계를 지나치게 세분화하다 보니, 실제보다 낮은 안전성 수치가 산출되는 문제가 있었다.
이 교수 연구팀은 기존 게임 호핑(Game Hopping) 기법이 전체 게임을 지나치게 많은 단계로 나눠 분석한다는 점에 착안해, 이를 단 2단계로 단순화한 새로운 증명 방식을 제안했다. 그 결과, 기존 치환 기반 결정론적 난수 발생기의 보안 수준이 실제로는 min{c/2, →/2} 비트에 해당하며, 이는 기존 대비 약 50% 향상된 안전성을 제공한다는 사실을 입증했다. 또한 이 값이 이론적으로 달성 가능한 최대치임도 함께 증명했다.
또한 연구팀은 기존 스펀지 구조가 직렬(한 줄) 처리 방식으로 인해 출력 효율에 한계가 있다는 점을 개선하기 위해, POSDRBG(Parallel Output Sponge-based DRBG)를 설계했다. 새로 제안된 병렬 구조는 여러 줄을 동시에 처리하듯 데이터를 병렬로 출력해, 치환 기반 난수 발생기가 낼 수 있는 최대 효율을 구현했다.
이 교수는 “POSDRBG는 소형 사물인터넷(IoT) 기기부터 대규모 서버까지, 난수 생성 속도와 안전성을 모두 개선한 새로운 결정론적 난수 발생기”라며 “이번 연구가 진행 중인 결정론적 난수 발생기 국제 표준 SP800-90A 개정 과정에서 ‘치환 함수 기반 DRBG’가 정식 표준에 포함되는 데 긍정적인 영향을 줄 것”이라고 말했다.
Copyright ⓒ 이뉴스투데이 무단 전재 및 재배포 금지
본 콘텐츠는 뉴스픽 파트너스에서 공유된 콘텐츠입니다.