코드와 키는 SD 카드 기계에있는 경우 실제로, 그들은 것입니다 그들은 그것을 해제 컴파일 할 수있을 것입니다 열쇠를 발견 할 수 있어야하고, 그들은 것 민감한 데이터를 추출 할 수 있습니다.
영화를 암호화하는 것과 마찬가지로 DVD에는 영화를 해독하는 데 필요한 모든 정보가 포함되어 있어야 시청자에게 표시 할 수 있으므로 모든 영화 복사 방지 메커니즘이 완전히 사라집니다.
최선의 방법은 제품 리버스 엔지니어링의 경제성을 바꾸는 것입니다.
암호화 및 / 또는 난독 화는 그만한 가치가 있습니까?
이제 우리는 자신을 완전히 보호 할 방법이 없다는 것을 알게되었습니다.
- 이것이 일어날 가능성은 얼마나됩니까?
- 알고리즘 및 데이터의 다른 사람에게 어떤 가치가 있습니까?
- 소프트웨어를 사용하기 위해 라이센스를 구매하는 비용은 얼마입니까?
- 알고리즘과 데이터를 복제하는 데 드는 비용은 얼마입니까?
- 알고리즘과 데이터를 리버스 엔지니어링하는 데 드는 비용은 얼마입니까?
- 알고리즘과 데이터를 보호하는 데 드는 비용은 얼마입니까?
이들이 알고리즘 / 데이터를 보호하기 위해 경제적으로 중요한 명령을 내린다면 그렇게해야합니다. 예를 들어, 서비스 가치와 고객 비용이 모두 높지만 코드를 리버스 엔지니어링하는 비용이 코드 자체 개발 비용보다 훨씬 낮은 경우 사람들이 시도 할 수 있습니다.
그래서 이것은 당신의 질문으로 이어집니다.
난처
코드를 난독 처리 할 것을 제안하는 옵션은 위의 경제학을 어지럽 힙니다. 비용을 크게 늘리지 않고 비용을 크게 늘리려 고합니다 (5). 문제는 DVD 암호화와 마찬가지로 실패로 끝날 것이며 3, 4 및 5 사이의 차이가 충분하다면 결국 누군가가 그것을 할 것입니다.
또 다른 옵션은 Steganography 형식 일 수 있으며 ,이를 통해 코드를 해독 한 사람을 식별하고 배포를 시작할 수 있습니다. 예를 들어, 데이터의 일부로 100 개의 서로 다른 부동 소수점 값 이 있고 해당 값 각각의 LSB 에서 1 비트 오류로 인해 응용 프로그램에 문제가 발생하지 않으면 고유 한 (각 고객에게) 식별자를 해당 비트로 인코딩하십시오. . 문제는 누군가 응용 프로그램 데이터의 여러 복사본에 액세스 할 수있는 경우 다른 점이있어 숨겨진 메시지를 쉽게 식별 할 수 있다는 것입니다.
보호
실제로 안전한 유일한 옵션은 소프트웨어 를 응용 프로그램에 포함시키지 않고 서비스로 소프트웨어의 중요한 부분을 제공하는 것입니다.
개념적으로 응용 프로그램은 알고리즘을 실행하는 데 필요한 모든 데이터를 수집 하여 클라우드 의 서버에 대한 요청으로 패키지화하고 (귀하가 제어하는) 서비스는 결과를 계산하여 클라이언트에 다시 전달합니다. 표시됩니다.
이렇게하면 모든 독점 기밀 데이터 및 알고리즘을 사용자가 완전히 제어하는 도메인 내에 유지하고 클라이언트가 추출 할 가능성을 제거합니다.
명백한 단점은 클라이언트가 서비스 제공에 묶여 있고 서버와 인터넷 연결에 달려 있다는 것입니다. 좋은 점은 버그 수정으로 항상 최신 상태입니다. 불행히도 많은 사람들 이 이러한 이유로 정확히 SaaS 에 반대합니다 .
이것은 취해야 할 큰 단계이며 6 위의 비용이 많이 들지만 알고리즘과 데이터를 완전히 보호 하는 유일한 방법 입니다.