2009-12-29 1 views
1
많은 질문을 계속 죄송

하지만 너희들은 항상무결성과 신뢰성

내가 파일에서 해당 데이터를 가져옵니다 일부 응용 프로그램을 할 필요가 ... 너무 친절하고 도움이 될 것으로 보인다. 예를 들어, 사용자는 하나의 파일을 선택하고 응용 프로그램은 일부 데이터를 데이터베이스로 가져옵니다.

하지만 저는 이런 종류의 응용 프로그램이 파일의 무결성과 신뢰성에 문제를 일으키는 것으로 생각했습니다. 사용자가 파일을 변경하면 응용 프로그램은 해당 정보를 사용할 수 없습니다. 그리고 하나의 파일이 잘 알려진 출처가 아닌 경우 응용 프로그램은 해당 파일을 사용할 수 없습니다.

어떻게 이런 일을합니까?

P.S : 소스 파일 형식을 제어 할 수있는 경우에 나는 C# .NET을

+0

파일을 만든 직후 서명 할 수 있습니다 (가능한 경우). 파일에 서명하는 것에 관한 많은 투투가 있다고 생각합니다 ... – Atmocreations

+0

이것은 질문에 대한 답변을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남겨 둡니다. –

답변

2

을 사용하고, 당신은 디지털 서명을 포함 할 수 있습니다. 서명 내용을 파일 내용의 해시에 기초하면 파일이 신뢰할 수있는 출처에서 비롯된 것이며 그 내용이 변조되지 않았 음을 확신 할 수 있습니다.

0

그것은 당신이 보호를 원하는 얼마나 강한에 따라 달라집니다.

예를 들어 원래 파일 (+ salt)의 해시가있는 어딘가에 해시 노드가있는 xml 파일 (사람이 읽기 쉽도록)을 가질 수 있습니다. 이것은 프로그램에 의해 업데이트 될 수 있지만, 사용자는 그 키의 의미를 알아내는 데 더 힘든 시간을 가질 수 있습니다. 프로그램이 파일을 열 때 해시를 계산하고 파일에 쓰여진 것과 같은지 검사합니다.

디지털 서명을 한 단계 더 사용할 수도 있지만 더 복잡합니다.

+0

단지 해시가 실제 보증이 아닌 어둡게 만 추가합니다. 사용자는 항상 해시를 재생성 할 수 있습니다. 그런 다음 그들은 다시 바이너리를 해독 할 수 있으며 (웹 애플리케이션이 아니라고 가정) 무결성 검사를 완전히 비활성화 할 수 있습니다. – Novelocrat

+0

해시 기능을 되돌릴 수 없습니다. 유일한 방법은 무지개 표를 사용하는 것입니다. 그러나 입력에 소금을 넣으면 무지개 테이블을 사용할 수 없게됩니다. –