A Proxy-Based Data Security Solution in Mobile Cloud

2015. 11. 7. 08:39Security ★ Development/Paper

반응형

<A Proxy-Based Data Security Solution in Mobile Cloud>


 모바일 클라이언트와 클라우드에서 보안 이슈를 해결하기 위한 데이터 보안 솔루션을 제안하는 논문입니다.  

 클라우드에서 보안 이슈를 해결하기 위해 searchable encryption, data deletion proving 등의 기술이 있지만 모바일 클라이언트에서는 성능 제한이 따릅니다.  하지만 Proxy based data security solution은 대부분의 부하를 proxy로 옮김으로서 성능 이슈를 해결합니다.  모바일 클라이언트에서 이런 솔루션들과 보안의 발전력은 아직 해결되지 않았습니다.

 프록시는 가상 머신에서 모바일 유저에 의해 제어됩니다.  


Assumption

 네트워크 구조에서 흔히 볼 수 있는 취약성입니다.  공격자는 사용자의 모바일에 멀웨어를 심을 수도 있고 인터넷상에 전송되는 데이터를 다룰 수 있습니다.  혹은 서비스 시스템에 관리자 권한을 얻도록 침투를 시도할 수 있습니다.  논문에서는 이를 해결하기 위한 솔루션을 다룹니다.


Solution Design

- Basic Ideas

 Data Confidence : 검색가능 알고리즘으로 데이터를 암호화 하고 SSL VPN과 같은 전송 보안 프로토콜을 사용합니다.

 Data Integrity : 클라우드에 데이터를 업로드한 이후 무결성 체크를 정기적으로 시행합니다.

 Performance of Client : 데이터 암복호화, 무결성 검증과 같은 작업을 가상 머신에 위치한 프록시에서 수행합니다.

 Security of Client : 신뢰 컴퓨팅 기술이 모바일 클라이언트 플랫폼의 원격 입증을 지원함으로서 클라이언트 보안이 강화됩니다.  이는 플랫폼 식별 인증을 위해 보안 프록시에 의해서 수행됩니다.  


- System Deployment Model

 모바일 클라이언트는 보안 프록시를 통해 클라우드 저장 서비스에 연결됩니다.  보안 프록시는 모바일 유저에 의해 관리되고 하나의 클라우드에서 다른 클라우드로 유연성있게 이식될 수 있습니다.  이러한 아키텍쳐를 통해 서로 다른 클라우드 저장 서비스와 모바일 클라이언트의 융통성을 향상시킬 수 있습니다.


- Components Architecture

 각각의 컴포넌트가 가진 어플리케이션, 보안 기능들입니다.


- System Flow

  • Mobile Platform Attestation

 SP가 먼저 요청 M을 MC에게 보내줍니다.  M은 모바일 플랫폼의 상태 정보 PI입니다.  MC는 이 PI와 랜덤 수 R, 유저 아이디 ID를 클라이언트 플랫폼의 개인키 AIK로 암호화 하고 각 정보와 함께 묶어 응답메시지로 보냅니다.  SP는 응답메시지를 받아 서명의 유효성과 모바일 플랫폼의 무결성을 검증합니다.  

  • Data Integrity Verification

 SP는 시도값 M={Challenge}를 CSSP에게 보내고 CSSP는 응답값 M={Proof}를 보냄으로서 무결성의 유효성을 입증합니다.  패스되지 않으면 유저 데이터가 변조되었다는 것을 의미합니다.

  • Data Search 

 MC는 데이터 검색 쿼리 키워드 KW를 SP에게 보냅니다.  SP는 이를 암호화하여 CSSP에게 전달합니다.  CSSP는 암호문 검색을 하고 암호화된 데이터 파일 File'을 리턴합니다.  SP는 이를 복호화하여 MC에게 전달합니다.


Solution Analysis

  • Security

 모바일 클라이언트에서 신뢰 컴퓨팅에 기반한 보안 서비스는 클라우드 저장 서비스 클라이언트 소프트웨어의 무결성을 식별할 수 있고 변형된 것이 실행되는 것을 막을 수 있습니다.  보안 서비스는 또한 모바일 플랫폼의 합법성을 보장하고 불법적인 유저가 보안 프록시에 접속하는 것을 막을 수 있습니다.

  • Feasibility

 클라우드 저장 서비스에서 보안 서비스는 오랫동안 사용되어 온 웹 서비스 표준을 이용해서 구현됩니다.  그리고 보안 프록시는 가상 머신에서 작동하며 이는 클라우드 서비스 시장에서 자주 사용되는 방식입니다.

  • Compatibility

 모바일 클라이언트 컴포넌트들은 OS의 유저 공간에서 실행되며 컴포넌트들을 다른 모바일 플랫폼으로 이식하는 것이 간편합니다.

  • Expansibility

 클라우드 저장 서비스에서 클라우드 저장 보안 서비스는 구현하기 위해 표준 웹 서비스를 사용하며 data deletion proving와 같은 새로운 보안 서비스를 추가하는 것이 용이합니다.


 그림 5는 클라우드 저장 서비스에서 데이터를 바로 추출했을 때의 결과이고 그림 6은 보안 프록시를 통했을 때의 결과입니다.  관리자나 클라우드 서비스 제공자는 복호화 키 없이 사용자의 데이터를 보는 것을 방지할 수 있습니다.


그림 7은 보안 프록시를 썼을 때와 안 썼을 때의 딜레이를 보여줍니다.  보안 프록시를 썼을 때의 데이터 검색 딜레이는 물론 안 썼을 때보다 더 느립니다.  하지만 보이는 딜레이는 그 수치가 안정적이고 클라이언트 플랫폼과는 관계가 없기 때문에 보안 프록시의 성능만을 증가시킴으로서 솔루션을 향상시킬 수 있습니다.


 클라우드 스토리지에 보안 기능을 추가한 모델입니다.  모바일 클라이언트와 클라우드 저장 시스템만 두고 각 단말에 보안기능(암복호화, 인증)을 추가했을 때 보다 모듈화가 되어있습니다만 시스템 하나가 추가됨으로써 또 하나의 공격 목표가 생겼다고 볼 수도 있을 것 같습니다.  vpn도 취약점이 있는 만큼 모바일 클라이언트에 도달할 때까지 암호화를 유지하고 모바일에서 복호화를 해주는 방법도 나쁘지 않다고 생각합니다.  이러니저러니 해도 정보 유출 사건의 대부분은 암호화 하지 않은 DB에 의해 발생하니 위와 같이 암호화만 제대로 해주고 키 관리만 잘 하더라도 큰 사고는 피할 수 있을 것입니다.  뽐뿌와 같은 경우 일부 암호화는 해주었지만 Injection이 통했다는 점, 취약한 해쉬 알고리즘을 이용했다는 점 등에서 마이너스 평가를 받았죠.  이전 포스팅에서도 그랬듯이 조금 귀찮더라도 암호화를 확실히 해주는 것이 대부분의 보안 이슈를 해결할 수 있는 지름길입니다.