2012-11-24 3 views
-5

자바 스크립트 소스를 보호하기 위해 자바 스크립트 obfosculator를 사용할 수 있다는 것을 알고 있지만 더 나은 솔루션이 필요합니다.누군가가 자바 스크립트 소스를 보지 못하게하는 서버 측 보호 메커니즘

일부 웹 사이트에 배치 할 자바 스크립트 파일을 암호화하는 옵션을 조사 중입니다. 이 자바 스크립트 파일은 정상 같이 포함되어 있습니다 : ... 아이디어는 어떻게 든 적어도 자바 스크립트 또는 소스를 보는 사용자가 더 힘들어 그렇게 할 수 있도록 방지하는 것입니다

<script src="http://secure.com/encryted.js"></script> 

임 생각 방법은 특정 조건에 대한 호스트 secure.com 검사에

<script src="http://secure.com/validate.php"></script> 

같은 것을 수행하여 내가 할 수있는 그 방법을 자바 스크립트를 반환하고 만 조건이 충족되는 경우 자바 스크립트 (있는 암호화)을 반환합니다.

누구나 아이디어를 가지고 있거나 그런 일을 했습니까? 또는 자바 스크립트의 소스 코드가 노출되거나 막히게하는 것을 방지하는 좋은 방법을 알고 있습니까?

ETA는

http://www.enetplanet.com/enc/ 

내 목표는 할 수 없습니다 소스/HTML을 보는 사람이하는 것입니다 암호화 할 수있는 좋은 방법을 보인다 "단지보기"소스 어떤 생각?

+0

내 의도가 아니라 무례한 것처럼 보일 수 있지만 Google을 사용하셨습니까?당신이 * 대답 *을 기대할 수있는 유일한 방법은 온라인으로 연결되는 링크 일뿐입니다 * JS uglyfiers * (당신이 찾고있는 용어 인 경우) –

+0

전혀 가능하지 않습니다. 브라우저는 JS (및 HTML, CSS 등)를 읽을 수 있어야합니다. 브라우저가 사용자의 컴퓨터에서 실행 중이며 요청할 경우 행복하게 소스 코드를 사용자에게 표시합니다. – delnan

+0

예 javascript obfosculator가 내가 찾은 유일한 해결책 인 것 같습니다. 조금 더 명확하게 질문을 업데이트했습니다. 서버 측 확인을 통해 코드가 클라이언트에 전달되는 것을 방지합니다. – Rubytastic

답변

1

아니요, TEA (http://www.enetplanet.com/enc/)는 이러한 작업에 사용할 수있는 도구가 아닙니다. 그것은 개념 증명 또는 장난감보다 조금 더 많은 것입니다. TEA (다른 암호화 시스템과 마찬가지로)는 실제로 고객의 브라우저에 보내는 javascript 파일을 암호화/보호하는 데 사용할 수 없습니다.

이것을 고려하십시오 : 사용자는 서버에서 오는 javascript 파일을 해독하기 위해 암호화 프로그램 사본을 가지고 있어야합니다. 다른 경우에, 이것은 그 자체로 큰 보안 구멍이 아닐 것입니다. 모든 암호화 시스템은 암호화 프로그램/알고리즘의 비밀이 아닌 키의 비밀에 의존합니다.

불행히도 클라이언트 측 자바 스크립트에 대해 이야기 할 때이 은 보안 구멍 인입니다. 암호화 프로그램 (TEA)은 자바 스크립트 파일 자체입니다. 누구나 읽을 수 있습니다. 암호화 키를 인쇄하는 방식으로 또는 "확인"하지 않고 "보호 된"자바 스크립트 파일을 해독하는 방식으로 수정하는 것은 간단합니다.

또한 최종 사용자에게는 네트워크 통신 채널에 대한 총 무제한 액세스 권한이 있습니다. 그는 PC에 설치된 네트워크 스니퍼로 암호 (키)를 읽을 수 있습니다. 키 (암호화 시스템 없음)는 이러한 공격 ("man-in-the-middle"공격이라고도 함)에 저항 할 수 없습니다.

자바 스크립트 파일을 암호화/보호 할 실제 방법이 없다는 것은 잘 알려져 있습니다. 당신이 할 수있는 최선은 그것을 모호하게 만드는 것입니다. 당신이 정말로 클라이언트 측 소프트웨어의 일종을 보호해야하는 경우

, 당신은 컴파일 된 소프트웨어 (C/C++), 암호화 및 키 하드웨어의 어떤 종류를 사용해야합니다. 다른 시스템은 쉽게 (컴퓨터 게임의 전체 역사가 증명할 수있는 것처럼) '금이 간'수 있습니다.