20160126

[ICS’03] AEGIS: Architecture for Tamper-Evident and Tamper-Resistant Processing 읽기 (paper, slides)
– 이 논문에서는 프로세서 외의 컴포넌트는 신뢰하지 않으면서 안전한 실행 환경을 구성하는 AEGIS를 제안한다. AEGIS는 tamper-evident (TE) 환경과 private and authenticated tamper-resistant (PTR) 환경을 제공한다. Tamper-evident한 환경에서는 코드 또는 데이터에 대한 악의적인 변경이 반드시 확인됨을 보장한다. 한편, private and authenticated tamper-resistant (PTR) 환경에서는 악의적으로 정보를 취득할 수 없음을 보장한다. TE 환경과 PTR 환경을 제공하기 위해 AEGIS에서는 메모리 무결성 검증, off-chip 메모리에 대한 암복호화, secure context manager를 채택한다.
aegis TE, PTR.PNG
– AEGIS는 프로세서와 security kernel을 제외한 모든 것을 신뢰하지 않는다. TCB가 프로세서와 security kernel(SKernel)로 이루어지는 셈이다. AEGIS의 구현은 프로세서와 SKernel이 어떻게 역할을 나누어 갖느냐에 따라 두 가지로 나뉜다. Security kernel implementation과 untrusted OS solution으로 나뉜다. Security kernel implementation은 SKernel을 신뢰할 수 있다고 가정하고, SKernel에서 AEGIS의 기능을 구현하는 것. Untrusted OS solution은 프로세서만 신뢰할 수 있다고 가정하고 프로세서로 AEGIS의 기능을 모두 구현하는 것. TCB Implementations section에서는 두 가지 구현을 어떻게 할 것인지 상세하게 서술하고 있음.
– Untrusted OS solution에서는 보안성 향상을 위한 on-chip structure인 secure context manager(SCM)을 도입한다. Interrupt가 발생할 때에는 SCM에 레지스터를 저장함으로써 보안성을 확보한다. SCM은 프로세스에 대한 정보를 유지하는데, secure process ID (SPID), program hash, 레지스터 값, 메모리 무결성 보장을 위한 해시 값, 현재 프로세스가 PTR 모드에 있는지 여부를 보여주는 비트, 암복호화에 사용하는 키로 구성되어 있다.
aegis SCM.PNG
– AEGIS는 tamper-evident 환경과 private tamper-resistant 환경을 제공함. Tamper-evident 환경을 위해 AEGIS에서는 enter_aegis, exit_aegis, sign_msg 명령어를 추가한다. enter_aegis 명령어는 프로그램을 실행하기 전에 해시 값을 갖고 있고, 실행하는 중에 해시 값을 연산함으로써 프로그램이 변경되었는지를 검증한다. enter_aegis 명령어를 실행하면 프로세서가 AEGIS 모드로 전환되며, AEGIS 모드에서는 on-chip cache와 off-chip memory 모두 보호된다. exit_aegis 명령어를 사용해 AEGIS 모드에서 빠져나올 수 있다. 한편, sign_msg 명령어는 신뢰할 수 없는 채널을 사용해 통신해야 할 때, 프로그램과 시스템, 그리고 메시지의 integrity 를 보장하기 위해서 사용할 수 있는 명령어이다. 해싱을 통해 메시지가 변조되지 않았음을 보장한다.
– 한편, PTR 환경은 TE 환경에 privacy를 더한 것. 이를 위해 set_aegis_mode라는 명령어를 추가한다. 이 명령어를 사용해 PTR 환경에 진입하거나, PTR 환경에서 빠져나올 수 있다. PTR 환경에서는 모든 데이터와 명령어가 암호화되어 있으므로, set_aegis_mode 명령어로 얻은 키로 복호화해야 함.
– Memory integrity를 보장하기 위해 cached hash tree를 사용한다.
– AEGIS는 certified execution과 digital rights management에 사용될 수 있으며, 이 경우에 AEGIS를 어떻게 쓸 수 있는지는 5번 섹션에 설명되어 있음.
– TE 환경에서는 25~50%의 성능 오버헤드, PTR 환경에서는 40~60%의 성능 오버헤드가 발생한다.

Advertisements
Tagged with: , , , , , , , , , , , , , , , , , , , , , , , ,
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Recent Posts
누적 방문자 수
  • 144,076 hits
%d bloggers like this: