AES 암호화를 사용하여 데이터를 파일에 저장하는 listview 컨트롤로 작업하고 있습니다. listview의 모든 항목의 데이터를 std :: string의 std :: list 클래스에 보관해야합니다. 데이터를 std :: list에 암호화 된 상태로 유지하고 필요한 경우 로컬 변수에 해독해야합니까? 또는 파일로 암호화 된 상태로 유지하는 것으로 충분합니까?암호화 된 데이터를 메모리에 유지하기
답변
이 질문에 답하려면 공격자가 누구인지 (즉, 누가 데이터를 숨기려고합니까?) 고려해야합니다.
Threat Model (기본적으로 : 당신이 걱정하는 사람, 보호하고자하는 대상, 수행 할 수있는 공격의 유형 및 위험)은이 목적으로 유용합니다.
이 작업을 완료하면 메모리에만 해독 된 상태에서도 데이터가 디스크에 기록되지 않도록 보호 할 가치가 있는지 확인할 수 있습니다.
나는이 대답이 유용하지 않을 수도 있음을 알고 있지만, 공격자가 정확하게 방어하기 전에 (즉, 완전히 쓸모없는 방어를 구현하는 등).
동일한 항목을 두 번 이상 암호 해독 하시겠습니까? 메모리 내 공격에 관심이 없다면 성능이 고려해야 할 다른 문제 일 수 있습니다.
시간이 있다면 솔루션을 코딩하여 우연히 발생할 수 있습니다. 따라서 암호화 된 캐시를 선택하면 나중에 성능이 문제가되면 해독 된 메모리 내 솔루션으로 변경하는 것이 너무 어렵지 않습니다.
방어하려는 공격이 어떤 것인지 명확하지 않습니다. 공격자가 시스템에 로컬로 액세스 할 수 있으면 OllyDBG와 같은 디버거를 프로세스에 연결하여 메모리를 관찰 할 수 있습니다. 공격은 AES에 대한 호출에서 중단 점을 설정 한 다음 전달 된 데이터를 관찰하고 리턴하는 것입니다. 매우 간단합니다.
나는 기본적인 위협 모델로 시작해야한다는 silky의 대답에 동의합니다. 단지 메모리에있는 민감한 정보를 다룰 때 정보를 써 넣지 않아도 정보가 디스크에 저장 될 수 있다는 모든 권리가 있습니다.
예를 들어, 메모리의 데이터를 스왑 공간에 쓰거나 코어 파일에서 다른 곳으로 보낼 수 있습니다 (예 : 전자 메일 첨부 파일 또는 다른 위치로 복사). 당신은 메모리에서 데이터를 암호화하지 않고 처리 할 수 있습니다. 그걸로 데이터를 해독하는 데 열쇠를 다루는 문제가 바뀔 수 있기 때문입니다 ...
- 1. 데이터를 메모리에 저장하는 방법
- 2. 데이터를 메모리에 유지
- 3. 메모리에 데이터를 저장하는 것이 좋습니다.
- 4. 암호화 된 데이터를 텍스트 파일에 저장
- 5. 검색 암호화 된 데이터를 실제 크기
- 6. 레일즈 : 암호화 된 데이터를 데이터베이스에 저장
- 7. ajax 요청으로부터 암호화 된 html 데이터를 암호화합니까?
- 8. .Net을 사용하여 암호화 된 데이터를 영구 저장합니다.
- 9. 엄청난 양의 데이터를 메모리에 저장하십시오.
- 10. 왜 OpenSSL은 수신/기록 된 데이터를 메모리에 보관할 수 있습니까?
- 11. CONTACT_ID - 동기화 된 상태로 유지하기
- 12. in perl. 해쉬는 어떻게 메모리에 데이터를 저장합니까?
- 13. .plist 파일 데이터를 읽고 파이썬으로 메모리에 기록하십시오.
- 14. 내부 메모리에 앱 데이터를 만들면 괜찮습니까?
- 15. 파일 대신 메모리에 cmd로 데이터를 쓰고 C#
- 16. 데이터를 메모리에 미리로드하는 것은 어떤 장점이 있습니까?
- 17. URL과 소금의 암호화 된 데이터
- 18. RSA 암호화 된 데이터를 HTTP를 통해 보낼 수 있습니까?
- 19. 데이터를 암호화 된 형식으로 java 파일에 저장 하시겠습니까?
- 20. OpenSSL을 사용하여 Java AES로 암호화 된 데이터를 해독하는 방법은 무엇입니까?
- 21. 컨트롤러 유지하기
- 22. RSA 암호화 (RSACryptoServiceProvider)를 사용하여 암호화 된 데이터 크기
- 23. Asp.net 캐시 된 객체가 메모리에 남아 있습니다.
- 24. 암호화 된 blob의 문자
- 25. 암호화 된 이메일 보내기
- 26. 암호화 된 JDBC 연결
- 27. 암호화 된 그림보기 방법
- 28. 암호화 된 FTP 저장소
- 29. 암호화 된 app.config의 배포
- 30. URL의 암호화 된 ID
예, 필요한 경우 동일한 항목을 해독 할 것입니다. 하지만 지금은 컨테이너에 암호화 된 상태로 아이템을 정렬하는 방법에 대해 우려하고 있습니다. – cpx
@ Dave17 : 쉽게 정렬 할 수 있도록 일부 메타 데이터를 저장할 수 있습니다 (즉, SortIndex는 실제로 암호화 할 필요가 없습니다). 그러나이 정보가 침입자에게 누출 될지 여부는 고려해 볼만합니다. 늘 그렇듯이 구현이 많을수록 공격 영역이 넓어지면서 위험이 커지고 오류가 발생하기 쉽습니다. –
그러나 왜 이미 목록보기에서 데이터를 보려면 암호화해야합니까? 그 기억 영역을 잠그는 것이 낫지 않을까요? – cpx