Capillary는 개발자가 애플리케이션에서 푸시 메시지에 대한 종단 간 암호화를 구현하는 데 도움이 되는 오픈 소스 라이브러리입니다.
귀하가 앱에 푸시 알림을 구현하는 개발자이고 귀하 또는 귀하의 사용자가 데이터 개인정보 보호에 관심이 있다면 이러한 푸시 메시지를 안전하게 전송하는 것이 중요합니다. 이미 데이터 보안에 관심이 있는 분들이라면 강력한 암호화 조치를 구현하는 것이 당연한 일입니다. 다른 사람들에게는 구현하기 어려운 기능입니다. Google의 FCM(Firebase Cloud Messaging)은 TLS를 통해 메시지를 푸시하므로 메시지를 안전하게 보낼 수 있습니다. 하지만 그렇게 하면 엔드투엔드라는 표준을 충족하지 못하는 것입니다. 암호화. 엔드투엔드 암호화가 없으면 이론적으로 제3자가 데이터를 손상시킬 수 있습니다. 이를 사용하면 최종 사용자의 장치만 데이터를 해독할 수 있습니다. 새로운 개발자에게는 E2E 암호화 구현이 어려울 수 있으므로 Google이 Project Capillary를 도입하는 이유입니다. 그것은 오픈 소스 라이브러리 개발자 서버와 클라이언트 장치 간의 E2E 암호화 구현을 용이하게 합니다.
Capillary 라이브러리를 사용하면 클라이언트 장치에서 첫 번째 단계인 키 쌍 생성이 수행됩니다. 그런 다음 공개 키를 개발자 서버에 등록해야 합니다. 개발자 서버는 FCM과 같은 푸시 메시징 서비스를 통해 공개 키로 암호화된 푸시 알림을 보냅니다. 그런 다음 서비스는 개인 키를 사용하여 메시지를 해독하는 클라이언트에 해당 메시지를 보냅니다.
Capillary는 API 레벨 19와 역호환되므로 Android KitKat 이상을 실행하는 모든 기기에서 사용할 수 있습니다. 또한 라이브러리에는 메시지 수정을 방지하기 위한 일부 무결성 보호 조치가 포함되어 있으며 장치 재설정 조치를 고려합니다. Capillary는 두 장치 간에 E2E 암호화를 구현하도록 설계되지 않았습니다. 이는 안전한 메시징 앱을 만드는 데 도움이 되지 않습니다!
아래 링크에서 Capillary 오픈소스 라이브러리를 확인해 보세요. 서버 아키텍처에 따라 일부 수동 조정이 필요할 수 있다는 점을 명심하세요. 필요한 도구와 라이브러리를 제공하여 개발자의 삶을 더 쉽게 만드는 것은 Google의 좋은 일입니다.
GitHub에서 Project Capillary 라이브러리를 확인하세요.
출처: Android 개발자 블로그