# 보안과 사용자 애플리케이션 디자인을 살펴보자
@ Security Best Practices
1. 사인(signature)의 식별 작업을 서비스 서버에서 한다.
- 이는 애플리케이션 디컴파일 되어서 해킹이 될 위험으로 벗어나게 해준다. 이를 위한 전제는 서비스 서버를 두고 이를 위한 통신 모듈(보안)이 개발되어야 한다.2. 잠금 해제된 컨텐츠를 보호해야 한다.
- 결제를 통해 획득한 컨텐츠가 유포되지 않도록 보호 해야 한다. real-time 서비스를 이용하면 매번 컨텐츠 구매 여부를 확인 할수있다. 그리고 서비스 서버가 존재하면 매번 컨텐츠를 가져다 줄수 있다. 만약 컨텐츠가 가져와서 저장될 수 있다면 이 역시 암호화 해야 한다.3. 소스 코드를 암호화 한다.
- 예를 들어 안드로이드에서 제공하는 프로가드를 통해 코드를 암호화할 수 있다.# 프로가드로 암호화 할시에는 아래 명령어를 써서 IPC 패키지는 유지하도록 한다.
==> keep class com.android.vending.billing.**
4. 샘플 코드를 수정해서 사용한다.
- 샘플 코드를 그래도 사용한다면 이를 알고 있는 해커에게 쉽게 해킹이 될 수 있다.5. 보안 nonces를 랜덤하게 생성해서 사용한다.
- nonces가 예상되어 지거나 계속적으로 하나만 사용하면 해킹의 대상이 될수 있다. 항상 암호화된 랜덤 숫자를 생성해서 사용한다.- 서버에서 nonce를 생성하는 것도 괜찮은 방법이다.
댓글 없음:
댓글 쓰기