Press "Enter" to skip to content

학생 인터뷰: 김준수 박사과정생

CDSL 학생들은 어떤 연구를 하고 있을까? 이번 포스팅에서는 김준수 학생을 인터뷰 하였다.

Q. 안녕하세요. 오늘 인터뷰에 응해주셔서 감사합니다.

A. 안녕하세요. 저는 2019년 현재 제어 및 동역학 연구실의 석박통합과정 6년차인 김준수입니다.

Q. 연구하시는 분야에 대해 간략하게 소개해주시겠어요?

A. 제가 연구하고 있는 분야는 제어 시스템의 사유성(privacy)과 보안성(security)을 증대시키기 위한 동형 암호(homomorphic encryption) 기반 제어기(controller) 설계 연구입니다. 또한 제어 시스템에 동형 암호 기법이 적용되면서 새롭게 생겨나는 시스템의 성질에 대한 연구도 함께 진행하고 있습니다. 개인적으로는 제가 연구하고 있는 분야가 제어 이론 학계 내에서 꽤 새로운 편이고, 또 점점 더 주목을 받고 있다고 생각합니다.

Q. 동형 암호란 무엇이며 제어 시스템에 동형 암호 기법을 적용하는 이유는 무엇인가요?

동형 암호 기법은 평문(plaintext)간의 연산에 대응되는 암호문(ciphertext)간 연산이 존재하는 암호화 기법을 의미합니다. 예를 들어, 덧셈에 대해 동형(additively homomorphic)인 암호 시스템은 다음과 같이 간단히 정의할 수 있습니다.

먼저 집합 \(\mathcal{M}\)을 메세지가 존재하는 평문 공간(plaintext space), 집합 \(\mathcal{C}\)를 암호문 공간(ciphertext space)이라고 합시다. 이때, 암호화 알고리즘 \(\mathrm{Enc}:\mathcal{M} \rightarrow \mathcal{C} \)와 복호화 알고리즘 \(\mathrm{Dec}:\mathcal{C} \rightarrow \mathcal{M}\)이 모든 메세지 \(m \in \mathcal{M}\)에 대해 \(\mathrm{Dec}(\mathrm{Enc}(m))=m\)을 만족할 때 \((\mathcal{M}, \mathcal{C}, \mathrm{Enc}, \mathrm{Dec})\)를 암호 시스템이라 정의할 수 있겠습니다. 특히 모든 \(m_1 \in \mathcal{M}\)과 \(m_2 \in \mathcal{M}\)에 대해 \(\mathrm{Dec}(\mathrm{Enc}(m_1) * \mathrm{Enc}(m_2))=m_1+m_2 \)를 만족하는 암호문 간의 연산 \(*:\mathcal{C} \times \mathcal{C} \rightarrow \mathcal{C}\)가 존재하면 정의된 암호 시스템이 덧셈에 대해 동형이라고 말합니다. 다시 말해, 덧셈에 대해 동형인 암호 시스템에서는 위 등식의 좌변처럼, 각각의 암호문 내의 메세지가 무엇인지 모르는 채로 암호문끼리 연산하더라도 마치 평문끼리 연산한 것과 같은 결과를 얻을 수 있다는 것입니다.

(그림1) 기존의 제어 시스템 암호화와 동형 암호 기법을 적용한 암호화

이제 동형 암호를 제어 시스템에 도입하면 시스템의 보안성을 더욱 강화할 수 있다는 것을 (그림1)을 통해 살펴보겠습니다. 기존에는 제어 시스템을 암호화할 때 왼쪽 블록 선도와 같은 방법을 사용해왔습니다. 이 방법의 경우, 제어기의 앞단에서 복호화가 이루어진 다음에야 제어기 내에서 신호, 즉 평문 간의 연산이 이루어집니다. 따라서 만약 누군가가 제어기 내부의 정보에 접근한다면 제어기 내부의 상태 변수(state variable)을 비롯한 제어 신호를 모두 알아낼 수 있다는 보안 상의 취약점이 있습니다. 반면, 동형 암호 기법을 적용한 (그림1)의 오른쪽 블록 선도의 경우 암호문 간의 연산이 가능하기 때문에 제어기에서의 피드백이 별다른 복호화 과정 없이 진행됩니다. 따라서 제어기 내부의 신호가 암호화된 채로 항상 보호됨을 알 수 있습니다.

Q. 구체적인 연구 내용을 알려주세요.

A. 먼저 가장 간단한 형태의 제어기로서 플랜트의 입력(제어기의 출력) \(u(t) \in \mathbb{R}\)과 출력(제어기의 입력) \(y(t) \in \mathbb{R}\)에 대해 \(u(t) = ay(t), \: a \in \mathbb{R}, \; t = 0, 1, 2, \ldots\)를 만족하는 정적 제어기(static controller)를 두고 이를 암호화하는 과정을 살펴봅시다.

주어진 암호문 간의 연산\(*\)를 활용하기 위해 스케일링 상수(scaling factor) \(1/s\geq1\), 반올림 함수 \(\lceil\cdot\rfloor\)를 사용해  \(d = \lceil a/s \rfloor\)를 정의하면 다음과 같이 제어기의 연산을 암호문 간의 연산으로 수행할 수 있습니다. (이하에서 암호화된 변수는 파란색으로, 평문 상의 변수는 검정색으로 표기하겠습니다.) \[\mathbb{\color{blue}{u}}(t) = \Bigl\lceil \frac{a}{s} \Bigr\rfloor \cdot \mathrm{Enc}(y(t)) := \overbrace{\mathrm{Enc}(y(t)) + \mathrm{Enc}(y(t)) + \cdots + \mathrm{Enc}(y(t))}^{d\;\text{times}}\] 이때, 다음과 같은 복호화 식이 성립합니다. \begin{align}s \cdot \mathrm{Dec}(\mathbb{\color{blue}{u}}(t)) &= s \cdot d \cdot y(t) = s \cdot \Bigl\lceil \frac{a}{s} \Bigr\rfloor \cdot y(t) \approx u(t) \\ \Rightarrow \mathrm{Dec}({\color{blue}{\mathbb{u}}}(t)) &\approx \frac{1}{s}u(t) \end{align} 위 근사식에서 \(\mathrm{Dec}(\mathbb{\color{blue}{u}}(t))\)는 암호문 내의 메세지 \(u(t)\)가 \(1/s\)배 증폭된 결과를 출력함을 관찰할 수 있습니다.

(그림2) 동적 제어기(dynamic controller)의 암호화

위의 정적 제어기에 대한 암호화 과정을 머릿속에 넣어두고 (그림2)와 같이 메모리가 있는 동적 제어기(dynamic controller)를 암호화해봅시다. 편의상 \(y(t) \in \mathbb{R}\)를 입력, \(u(t) \in \mathbb{R}\)를 출력, 그리고 \(x(t) \in \mathbb{R}\)를 상태 변수로 가지는 제어기를 다음과 같이 생각해보겠습니다.\begin{align}x(t+1) &= ax(t)+by(t), \qquad a \in \mathbb{R},\:\: x(0)=0, \:\: t=0, 1, \ldots  \\ u(t) &= cx(t) \end{align} 이때, \(x(t)\)의 연산 과정을 시간 \(t\)에 대해 정리해보면 다음과 같습니다. \begin{align}x(t) &= ax(t-1)+by(t-1) = a(ax(t-2)+by(t-2))+by(t-1) \\ &= \cdots = \sum_{\tau=0}^{t-1}a^{t-1-\tau}by(\tau) \end{align} 결론적으로, 위의 \(x(t)\)를 앞선 정적 제어기의 경우와 같은 방법으로 암호화한 결과는 다음과 같이 나타납니다. \[\mathbb{\color{blue}{x}}(t)= \sum_{\tau=0}^{t-1}\Bigl\lceil \frac{a}{s} \Bigr\rfloor^{t-1-\tau} \cdot \Bigl\lceil \frac{b}{s^{\tau+2}}\Bigr\rfloor \cdot \mathrm{Enc}( y(\tau))\] 이때, 정적 제어기에서와 마찬가지로 다음과 같은 복호화 식이 성립함을 기대할 수 있습니다. \begin{align}s^{t+1}\cdot \mathrm{Dec}(\mathbb{\color{blue}{x}}(t)) &= \sum_{\tau=0}^{t-1}s^{t+1} \cdot \Bigl\lceil \frac{a}{s} \Bigr\rfloor^{t-1-\tau} \cdot \Bigl\lceil \frac{b}{s^{\tau+2}}\Bigr\rfloor \cdot y(\tau)\approx \sum_{\tau=0}^{t-1}a^{t-1-\tau}by(\tau) = x(t) \\ \Rightarrow \mathrm{Dec}({\color{blue}{\mathbb{x}}}(t)) &\approx \frac{1}{s^{t+1}}x(t) \end{align} 그런데, \(\mathrm{Dec}(\mathbb{\color{blue}{x}}(t))\)이 암호문 내의 메세지 \(x(t)\)가 \(1/s^{t+1}\)배 증폭된 결과를 출력하므로 시간의 흐름에 따라 \(t\)가 계속해서 커질 때, \(\mathrm{Dec}(\mathbb{\color{blue}{x}}(t))\)가 발산함을 알 수 있습니다. 따라서 위와 같은 방법으로 암호화된 제어기에서는 시간이 무한히 흘러감에 따라서(\(t \to \infty\)), 적절한 복호화가 불가능함을 알 수 있습니다. 정리하면 (그림2)와 같이 동적 제어기가 암호화된 경우, 제어기의 상태 변수가 발산하는 것을 막기 위해서는 제어기 내에서의 연산이 유한번만 이루어질 수 있다는 것입니다. 현재 저는 이러한 제어기의 암호화 방법의 한계를 극복하기 위해 다양한 접근을 시도하고 있습니다.

Q. 진행하고 계신 연구의 성과는 어떠한가요?

A. 제어 시스템의 암호화 문제에 대한 연구실의 최초의 결과로는 논문 [1]이 있습니다. 저는 이후로도 꾸준히 연구를 진행하여 2018 CDC에서 처음 만들어진 초청 세션(Encrypted Control and Optimization)에서 논문 [2]의 관련 내용을 발표하였습니다. 올해에도 초청을 받아 논문을 투고하였으며, 완전 동형 암호 기반 제어기 설계 방법에 대한 특허를 등록하는 등 활발히 연구를 진행하고 있습니다.

Q. 연구의 계기, 동기가 궁금합니다.

A. 전기정보공학부의 학부생이라면 익히 알고 있을만한 사과세미나에서 서울대학교 수리과학부의 천정희 교수님께서 동형 암호 관련 세미나를 하신 적이 있었습니다. 그 세미나에 심형보 교수님께서 참석하셨고, 아이디어를 얻으신 것이 연구실에서 본 분야의 연구를 하게 된 계기라고 할 수 있습니다. 이후 제어기의 암호화 문제를 다루는 논문 [3]이 처음 발표된 것을 보고 다음 해인 2016년부터 저 또한 본격적으로 본 분야의 연구에 뛰어들게 되었습니다. 위에서 언급한 것처럼 동형 암호가 접목된 제어 시스템은 일반적으로 제어 연산을 무한히 수행할 수 없게 됩니다. 이러한 문제를 해결해야한다는 생각이 제가 가진 가장 주요한 문제 의식이자 연구 동기였습니다.

Q. 연구에 도움이 되었던, 혹은 연구와 밀접한 관련이 있는 학부 수업은 무엇이 있을까요?

A. 기본적으로 우리 연구실에서 진행되는 전반적인 연구들에 전기정보공학부의 전기시스템선형대수와 최신제어기법 수업이 가장 필수적이라고 생각합니다. 저는 학부 때 복수전공으로, 또는 대학원의 수료 과목으로 수리과학부의 여러 과목들을 수강했었습니다. 그 때 배운 수학적 내용들이 제어 이론 문제를 설정하고 해석하는 데 다방면으로 큰 도움이 되었던 것 같습니다. 특히 제 연구 분야인 제어기의 암호화 문제와 관련 있는 학부 수업으로는 수리과학부의 현대 대수 정도를 추천할만 합니다.

Q. 연구실에서 가장 기억에 남는 일이 무엇인가요?

A. 저는 최근에 박사 졸업을 위한 예비 심사를 받았습니다. 예비 심사를 받기 위해서는 제가 그동안 써왔던 논문들과 관련 내용들을 모두 모아 하나의 흐름으로 정리하는 준비가 필요했습니다. 이러한 준비와 최종적인 발표까지의 과정이 개인적으로 의미가 깊었고 보람이 컸습니다.

Q. 후배들에게 하고 싶은 말이 있다면?

A. 저 뿐만 아니라 연구실의 구성원 모두가 동의할만한 이야기를 하고 싶습니다. 누구나 연구를 하다 보면 잘 풀리지 않는 문제 하나와 수 개월 이상을 씨름하곤 합니다. 그 때 혼자 머리를 싸매고 있기보다는 다른 동료들 혹은 교수님과 문제를 공유하고 관련한 아이디어를 나누는 것이 새로운 시각으로 다시 문제를 바라보고, 결국 해결하는 데 큰 도움이 된다고 생각합니다. 한편, 저는 하나의 문제에 대해 누적되는 꾸준한 관심이 곧 전문성으로 이어진다고 믿고 있습니다. 당장 해결이 어려운 문제를 잠시 덮어두고 관심을 유지한 채, 할 수 있는 다른일들을 해나가다 보니 어느 날 갑자기 연구가 진전되어 있는 경우를 종종 경험할 수 있었습니다. 연구자에게는 자신의 문제에 대해 끊임없이 관심을 기울이는 태도가 중요한 것 같습니다.

말씀 감사합니다!

[1] “Encrypting controller using fully homomorphic encryption for security of cyber-physical systems”
Junsoo Kim, Chanhwa Lee, Hyungbo Shim, Junghee Cheon, Andrey Kim, Miran Kim, and Yongsoo Song
Proc. of 6th IFAC Workshop on Distributed Estimation and Control in Networked Systems, pp. 175-180, Tokyo, Japan, 2016.
10.1016/j.ifacol.2016.10.392

[2] “Need for controllers having integer coefficients in homomorphically encrypted dynamic system”
Junghee Cheon, Kyoohyung Han, Hyuntae Kim, Junsoo Kim, and  Hyungbo Shim
Proc. of 2018 IEEE 57th Conference on Decision and Control, pp. 5020-5025, IEEE, Miami Beach, FL, USA,  2018.
10.1109/CDC.2018.8619600

[3] “Cyber-security enhancement of networked control systems using homomorphic encryption”
K. Kogiso and T. Fujita
Proc. of 2015 IEEE 54th Conference on Decision and Control, pp. 6836-6843, IEEE, Osaka, Japan,  2015.
10.1109/CDC.2015.7403296

Comments are closed.