데이터가 있습니다. 현재 XML 파일이지만 아키텍처가 변경 될 수 있습니다. 이제는 C# 클래스라고 가정 해 봅시다.일부 데이터의 변조 증명 생성?
데이터를 디스크 나 데이터베이스에 저장할 때 어느 누구도 데이터를 수정할 수 없도록 어떤 종류의 서명이나 지문 또는 체크섬을 추가해야합니다. 주의 사항 : 모든 소스 코드에 액세스 할 수있는 관리자 또는 개발자조차도이를 수정할 수 없어야합니다.
전체 코드 액세스 권한을 가진 사람이 새 서명을 쉽게 만들 수 있습니다 (서명을 프로그래밍 방식으로 수행해야하므로 수동 암호 구문 입력이 필요하지 않음) 서명에 어떻게 든 추가 데이터가 필요하다고 가정합니다. 이상적으로는 서명에서이 데이터를 다시 추출 할 수 있어야합니다 (예 : 서명 날짜 및 일부 문자열).
내 일반적인 접근 방식은 대칭 암호화를 사용하는 것입니다. 모든 필드에서 해시 (SHA-512)를 생성 한 다음 해당 해시 및 내 추가 데이터를 암호화하여 해시를 암호로 사용하여 내 서명을 얻습니다. 해독하기 위해, 내 함수는 파일의 실제 데이터에서 해시를 생성하고 서명의 해독을 시도합니다. 그것은 서명 날짜와 추가 정보가 여전히 손상되지 않은 곳에서 서명을 생성하기 쉽기 때문에 위조가되지 않습니다.
나는 현장에서 전문가가 아니기 때문에 휠체어를 다시 발명하려고 노력하고 있으며 휠씬 좋지 않다고 생각합니다. 표준 접근법이 있는지 궁금합니다. 나는 나의 요청의 일부가 불가능하다고 믿는다. (어쨌든 누군가가 전체 환경을 통제한다면 그 사람도 시스템 시간을 통제한다.) 그러나 나는 아직도 이것이 일반적으로 어떻게 다루어지고 있는지 궁금하다.
관리자와 개발자가 소스 코드에 대한 모든 권한을 갖고 있는지 확인하고 싶지만 비대칭 키를 사용하는 경우 키의 개인 부분에 액세스 할 수 있습니까? – Ants