These days, network-connected computing devices such as various smart/IoT devices, laptops, and smartphones are becoming more popular due to the rapid evolution of mobile computing technologies. Also, as the number of devices around a single user increases, one device usually does not exclusively belong to a single user anymore. However, this multi-device paradigm makes the access delegation toward such devices much more difficult. If permission is delegated to other devices, they typically cannot be managed adequately and precisely as the user's original intention. This is mainly because 1) the original design of access delegation protocol tends to be coarse-grained, 2) every device has a unique hardware/software stack which is hard to validate its security status in detail precisely, and 3) device owners can even share their devices among other multiple users so the original device owner cannot fully trust its behavior when shared with other people. This thesis introduces DAuth, an OAuth 2.0 extension suitable for access delegation in the multi-device environment. It specifies and enforces the security policy for OAuth 2.0 bearer tokens so that any token in the multi-device environment cannot be utilized by malicious misuses. DAuth extends the current OAuth 2.0 device grant by separating a single OAuth request-response structure into two subparts. Our evaluation shows that adopting DAuth to existing OAuth 2.0 implementation requires little engineering effort, and it adds only an affordable overhead in end-to-end latency.
오늘날 모바일 컴퓨팅 기술의 발전 덕분에 전통적인 정보통신 기기들은 물론 다양한 스마트/IoT 기기들 역시 많은 인기를 얻고 있으며, 사용자들은 다양한 기기들을 서로 공유하며 사용하기도 한다. 그러나 이와 같은 다중 기기 패러다임은 그러한 기기들로 권한을 인가해주는 과정을 더욱더 까다롭게 만든다. 특정 권한이 다른 기기로 전달되었을 때, 그 권한은 대개 사용자의 원래 의도를 완벽히 준수하며 활용되지는 않는다. 그 이유는 1) 권한을 인가해주는 방법이 충분히 정밀하지 않고, 2) 각 기기가 가진 구성 요소 전부에 대해 엄밀한 보안 검증을 거치기 어려우며, 3) 기기의 소유자는 다른 사람에게 공유된 자신의 기기가 수행하는 동작을 신뢰할 수 없기 때문이다. 본 학위논문에서는 OAuth 2.0 프로토콜을 다중 기기 환경에 맞게 확장한 DAuth 시스템을 제안한다. 이 시스템은 OAuth 2.0의 토큰에 대한 보안 정책을 제시하고 적용하여 다중 기기 환경의 토큰이 악용되는 것을 방지한다. DAuth는 하나의 OAuth 요청-응답 구조를 두 개의 부분으로 나눔으로써 OAuth 기기 인가 방식을 확장한다. DAuth는 기존 OAuth 2.0 구현물에 쉽게 적용될 수 있으며, 요청-응답 시간 관점에서 기존 구현물 대비 합리적인 수준의 성능 저하를 보여주었다.