2012-10-03 8 views
-2

qt를 사용하여 프로젝트 작업을하고 있습니다. 데이터 (파일 경로 및 암호)를 영구히 저장해야 응용 프로그램을 종료하고 다시 실행해도 언제든지 수정하거나 수정할 수 있습니다. 암호화 된 XML 파일로 해결할 생각 이었지만 추적없이 수행하려고합니다.데이터 영구 저장

+2

CPU 레지스터와 무슨 상관이 있습니까? – Dani

+3

* 추적 *을 남기지 않고 * 데이터 저장 *을 원하십니까? 나는 당신이 당신의 요구 사항을 명확히 할 필요가 있다고 생각합니다. –

+1

@LucTouraille 및 영구 .. – texasbruce

답변

2

파일 또는 Windows의 레지스트리와 같은 다른 플랫폼 특정 데이터베이스 메커니즘을 사용합니다. 그러나 그것은 흔적을 남길 것입니다; 로컬에 무언가를 저장할 수는 없으며 운영 체제를 루트킷하지 않고도 추적을 남기지 않아도됩니다 (심지어 드라이브에 데이터를 기록하는 경우에도 하드웨어에 추적을 남길 수 있습니다).

흔적을 남기지 않고 할 수있는 한 가지 일은 네트워크 활동이 일반적으로 로그되지 않지만 관찰 할 수 있기 때문에 네트워크를 통해 서버에 원격으로 데이터를 저장하는 것입니다. 이 방법은

1) 사용자에게 개인 정보 보호 문제가 될 수 있습니다. (응용 프로그램 사용자 인 경우 알려지지 않은 서버로 데이터를 전송하는 것이 좋지 않습니다.)

2) 어떻게 정보를 식별하여 정보를 검색 할 수 있습니까? 사용자 이름과 컴퓨터 하드 드라이브 ID 및 네트워크 인터페이스 MAC 주소로 일부 해시를 사용할 수 있지만 이러한 변경 사항 중 일부가 손실되면 데이터가 손실됩니다. 또한 각 응용 프로그램 설치마다 고유 한 ID를 생성 할 수도 있지만 해당 ID를 로컬에 저장해야하며 이라는 추적이됩니다.

데이터를 읽거나 변조하지 못하도록하는 로컬 암호화는 본질적으로 안전하지 않습니다. 키를 검색하려면 반복 가능한 평균이 있어야하기 때문입니다. 어떻게 할 건데? 응용 프로그램에서 단순히 하드 코딩하면 일부 이진 파일 판독기로 쉽게 검색 할 수 있습니다. 분명한 이유로 'key.txt'라는 파일에있을 수 없습니다. 런타임에 복잡한 알고리즘을 사용하여 계산할 수 있지만 누군가가 기꺼이 검색 할 수있는 지점에서 항상 메모리에로드해야합니다.

+0

재미있는 @lvella 감사합니다. 나는 두 번째 접근법에 대해 당신과 의견이 맞지 않습니다. 필자는 Windows 레지스트리로 무엇을 할 수 있는지보고 있습니다. 한번 더 감사드립니다. – Oumaya

2

추적없이 컴퓨터에 무언가를 저장하는 것은 확실히 불가능합니다. 모든 것이 루트 사용자에게 표시됩니다.

다른 사람들이 변경하지 못하도록하려면 암호화하고 숨기고 읽기 전용 및 루트 편집 권한 만 설정하면됩니다. 그러나 아무도 그것을 찾을 수 없게하는 것은 불가능합니다. (바이러스를 만들려고합니까?) BIOS에 넣더라도 찾아 낼 수있는 방법이 있습니다.

+0

@oumaya : 대부분의 암호화의 목표는 데이터보기가 매우 어렵지만 불가능하지 않게 만드는 것입니다. '무거운'암호화 일수록 더 많은 시간이 해독됩니다. –

+0

내 암호화 된 파일 경로 및 암호에 대한 데이터를 저장하는 데 시간을 내 주셔서 감사 드리며 모든 신체가 암호화 된 파일을 손상시킬 수 없다는 정보를 숨기고 싶습니다. – Oumaya