- 리버스 엔지니어링으로부터 AVR 기반 장치에 플래시 된 코드를 보호하는 가장 좋은 방법은 무엇입니까?
- 코드를 공개하지 않고 최종 사용자에게 업데이트를 제공하는 쉬운 방법은 무엇입니까? (암호화 된 이미지를 해독하는 부트 로더가 있습니까?)
DRM 홍보에 화를 내지 말고 오픈 플랫폼을 선호합니다. 이것이 어떻게 작동하는지 궁금합니다.
DRM 홍보에 화를 내지 말고 오픈 플랫폼을 선호합니다. 이것이 어떻게 작동하는지 궁금합니다.
답변:
먼저:
칩에 퓨즈가있어 외부 도구가 칩의 코드를 읽지 않도록 설정할 수 있습니다. 데이터 시트 및 / 또는 프로그래머 설명서에서 보호 퓨즈를 찾으십시오.
완벽하지는 않지만 간단한 공격으로부터 보호합니다.
둘째:
펌웨어를 안전하게 다운로드 할 수 없습니다. AVR은 보호 영역을 자체 프로그래밍 할 수 없습니다.
http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf
최선의 방법은 암호화 된 토큰 언어 (예 : 기본 또는 기타)를 사용하고 암호화 된 토큰을 열린 영역에 프로그래밍 할 수있는 부트 로더를 사용하여 인터프리터를 칩에서 보호하는 것입니다. 실행하면 칩이 즉시 해독되어 명령을 실행합니다.
직렬 포트를 통해 암호화 된 데이터를 수락하고 암호 해독하여 코드 저장 영역에 저장 한 자체 부트 로더를 작성한 경우 안전한 코드 펌웨어 업데이트가있을 수 있습니다. 각 장치는 사용자 정의 부트 로더에 고유 한 암호 해독 키를 가질 수도 있습니다.