2011-01-24 6 views
3

자동 업데이트 클라이언트를 쓰고 있습니다. 그것은 매우 간단한 응용 프로그램입니다 :
1) 중앙 서버를 확인이 업데이트가 일부 응용 프로그램
2이있는 경우) 참조) 새로운 버전이
3 존재하는 경우 서버에서 설치 프로그램을 다운로드하여 설치 프로그램을 실행하기 위해
자동 업데이트 클라이언트를 작성할 때 어떤 보안 문제를 걱정해야합니까?

누군가가 우리 사이트를 해킹하고 거기에 새로운 '악의적 인 응용 프로그램을 배치하는 것'과 같은 서버 측 우려 사항을 제외하고 구현할 때 어떤 클라이언트 측 보안 문제를 고려해야합니까?

내 아이디어 :
1) 체크섬입니다. .xml 파일에 체크섬을 포함시키고 다운로드 한 파일과 비교하여 체크섬을 확인하십시오. (전후 암호화?)
2) 을 암호화하십시오. 개인 키를 사용하여 파일을 암호화하고이 프로그램이 공개 키를 사용하여 암호를 해독하도록하십시오.

둘 모두 또는 둘 중 하나라도 충분하고 충분합니까? 고려해야 할 것이 있습니까?

CLIENT-SIDE와 (과) 관련하여 임을 기억하십시오. 나는 서버 자체에 대해 거의 통제권이 없다.

+2

다른 인증서가있는 https (유효한 인증서 포함)를 사용하는 것이 좋습니다. 당신은 그것없이 도망 갈 수 있다고 생각할지도 모르지만, 거의 모든 사람들이 그것을 망쳐 놓습니다. –

+0

공개 키를 사용하여 무언가를 암호화하고 개인 키로 암호화 해제합니다. 사람들은 종종 이것을 거꾸로 잡습니다. –

+0

@ 톰 : 그래, 그것이 일반적인 주장 인 것 같습니다! 댓글 주셔서 감사합니다. – DanTheMan

답변

2

https를 통해 모든 정보를 검색하고 유효한 인증서를 확인하면 데이터가 서버에서 전송되는지 확인할 수 있습니다.

+1

체크섬을 추가하는 것은 좋은 생각 일 수 있습니다. 안전의 또 다른 계층입니다. –

+0

https + 체크섬은 제가 할 일입니다. 나는 서버 측에서 파일의 암호화를하지 않을 것이다. – DanTheMan

1

패치를 제공하는 서버를 손상시킬 수 있고 체크섬이 동일한 서버에있는 경우 체크섬이 손상 될 수 있습니다.

패치를 암호화하는 것은 SSL을 사용하여 파일을 전송하지 않는 경우에 주로 유용합니다.

프로그램을 실행하는 사용자는 일반적으로 설치 디렉토리에 쓰기 권한이 없습니다 (보안상의 이유로 데스크톱 응용 프로그램과 웹 서버의 PHP 스크립트 등). 패치를 설치하는 방법을 이해할 때이를 고려해야합니다.

1

체크섬은 다운로드 한 사이트만큼만 강력합니다. 비대칭 서명을 사용하여 자동 업데이트 클라이언트에 공개 키가있는 경우 업데이트에 대신 서명 할 수 있으며 비공개 서명을 얻지 않는 한 누군가가 웹 사이트를 해킹하는지 여부는 중요하지 않습니다. 키.

관련 문제