2012-04-03 1 views
0

누구나 16 진수 편집기를 사용하여 원시 응용 프로그램에서 문자열에 액세스 할 수 있습니다.
자바 애플리케이션에서 바이트 코드와 액세스 문자열 및 기타 (애플리케이션 로직과 같은) 디 컴파일이 가능합니다.
이제 데이터베이스에 연결할 때 암호가 응용 프로그램 문자열에 저장됩니다.
어떻게 16 진수 편집기 & 디 컴파일에 대해 이러한 문자열 (암호, ...)을 보호 할 수 있습니까?Java 응용 프로그램에서 데이터베이스 암호 (및 기타 중요한 개인 문자열)의 보안

감사합니다.

+1

난독 화로 이러한 문자열을 보호 할 수는 있지만 근본적으로 강력한 보호는 없습니다. 이것이 DRM이 시도하는 것이며, 일반적으로 하드웨어 지원이 성공해야합니다. – alberge

+3

당신이 말하는이 성공적인 DRM 계획은 무엇이며 어떻게 주식을 살 수 있습니까? :) 충분히 동기를 부여받은 공격자가 야생으로 내 보낸 정보를 보호 할 방법이 없습니다. 그게 중요한 경우, 응용 프로그램 서버를 데이터베이스 앞에 두십시오. – Affe

+2

먼저 응용 프로그램 코드 안에 암호를 저장하면 안됩니다. –

답변

4

공개적으로 공개하는 항목은 private가 아닙니다. 충분히 동기를 부여받은 공격자가 깨뜨릴 수없는 보호 체계는 없습니다. 아무도 없으면 수백만 달러를 할리우드에 팔고 있습니다. (많은 사람들이 작동하지 않는 사람을 판매하는 수백만 달러를 만들고있다 ...) 당신은 세 가지 기본 옵션이

:

1) 직접 로그인을 가진 것은하지 않도록 절차와 권한으로 데이터베이스 설계를 사용자는 어쨌든 응용 프로그램을 통해 수행 할 수없는 모든 작업을 수행 할 수 있습니다.

2) 데이터베이스 계정에 사용자 계정을 연결하고 사용자가 자신의 사용자 이름으로 로그인하도록하십시오.

3) 응용 프로그램 서버를 데이터베이스 앞에 두십시오. 클라이언트가 응용 프로그램 서버에 연결하여 응용 프로그램 서버에 서비스 메소드를 호출합니다. 앱 서버에 공개하는 기능 만 공개됩니다. 이것은 일을하는 표준 방법입니다.

+0

"* 보호 체계가 없습니다 ... *" –