logo
logo
자바스크립트 화이트박스 암호와 
크롬 라인 메신저의 보안 강화
코드너리  |  2023. 03. 18
서비스 보안
Web Assembly
사용된 기술:
javascript-image

개요:

LINE 애플리케이션은 다양한 플랫폼에서 동작하며, 네이티브든 웹이든 모든 환경에서 높은 수준의 보안을 제공하기 위해 노력하고 있습니다. 하지만 Chrome 확장 프로그램을 포함한 모든 웹 애플리케이션은 브라우저에서 암호키와 같은 민감한 데이터를 안전하게 저장할 수 있는 옵션이 거의 없다는 공통 보안 문제에 직면해 있습니다.

이 발표에서 우리는 화이트박스 암호와 웹 어셈블리를 사용해 이 문제를 개선하기로 결정한 이유와 화이트박스 구현을 기존 보안 기능에 통합하는 것이 어려운 이유를 설명합니다. 그리고 공격자가 임의의 코드 실행 및 암호 알고리즘을 완전히 제어할 수 있는 상황에서도 개인키를 알 수 없도록 화이트박스 구현을 E2EE에 통합하는 방법과, 화이트박스 암호를 이용한 유스케이스를 살펴봅니다.

목차

1. 보안을 개발 파이프라인에 통합시키는 방법

  • 보안을 왼쪽으로
  • 보안 모듈 제공

2. 웹 애플리케이션에서의 보안 위협

  • 자바스크립트
  • 크로스 사이트 스크립팅 취약점
  • 브라우저의 시큐어 스토리지의 부재
  • 예상치 못한 액세스 토큰의 유출
  • API 어뷰징

3. 위협 모델

  • 화이트박스 위협 모델

4. 모던 웹 기술

  • Web Crypto API
  • IndexedDB
  • 제약사항

5. 암호 연산중에도 키가 노출되지 않는 화이트박스 암호

  • 화이트박스 암호
  • 화이트박스 암호의 활용
  • 화이트박스 암호 공격

6. LTSM WASM 아키텍쳐

  • LTSM(LINE Trusted Security Module)
  • 웹 어셈블리
  • LTSM WASM
  • 화이트박스 컨테이너와 SecureKey

7. 유스케이스

  • 시큐어 스토리지
  • 트랜잭션 서명
  • 종단간 암호화

8. 화이트박스 통합 이슈

  • 화이트박스 구현의 제약사항
  • Workaround
  • 호환되지 않는 패딩 이슈
  • Curve25519 키 생성시 ‘클램핑’

9. 결론

  • 화이트박스 구현
  • 화이트박스 암호
  • 안전한 설계
Copyright © 2025. Codenary All Rights Reserved.