2010-02-05 3 views
2

: 단계의PHP로 AES 암호화를 사용할 때 어디에서 암호 키를 저장해야합니까? 내 웹 응용 프로그램에서 AES-256 비트 encrpytion을 구현하고

http://www.utoxin.name/2009/07/automatic-db-field-encryption-in-cakephp/

하나는 부트 스트랩 파일에 사용되는 암호화 키를 저장하는 데 말한다. 하지만 누군가가 PS 등으로 파일 시스템을 스캔하지 못하게하고 데이터를 해독하는 것은 무엇입니까?

데이터를 보호하는 가장 좋은 방법은 무엇입니까?

답변

6

누군가가 서버의 하드 드라이브에있는 모든 파일에 액세스 할 수있는 경우 모든 베팅이 해제됩니다. 웹 응용 프로그램이 여전히 액세스 할 수 있어야하므로 데이터를 보호 할 수있는 방법은 없습니다.

이 암호화는 데이터베이스에 액세스 할 수 있지만 파일 시스템이 아닌 공격자로부터 사용자를 보호합니다. SQL 인젝션을 통해. 그리고이 경우에도 데이터를 읽을 수 있습니다. 특정 누수에 따라 webapp이 행복하게 해독 할 수 있습니다!

-1

유닉스 박스에서는 아파치 용 사용자 계정에 의해 생성 된 파일에 0600 퍼미션으로 저장할 수 있습니다. 이것은 root가 액세스 할 수 있으므로 상자가 안전하다면 문제가 없습니다. Windows 상자에서는 모르겠습니다.

1

(I이 고대 질문 실현하지만, 링크 된 블로그 게시물의 저자로, 나는 몇 가지 주석을 추가하고 싶었) 무엇 허용 대답 말하는 것은 모두 정확

. 파일 시스템이 손상되면 보호 기능이 없습니다. 또한 예, 제대로 작성되지 않은 경우 암호화되지 않은 형식으로 데이터를 노출하는 것이 가능합니다. 이 도구는 데이터베이스의 데이터 암호화를 훨씬 쉽게 처리 할 수있는 방법을 제공하기위한 것입니다. 자동 해독 기능이 마음에 들지 않으면 동작에 afterFind() 콜백을 제거하여 더 이상 트리거하지 않게하고 보안을 향상시킬 수있는 여러 가지 조정을 수행하는 것이 쉽습니다 (편의).

이 게시물에 걸려 넘어지면 다른 사람에게 도움이되기를 바랍니다. 나는이 질문에서 내 블로그에 몇 가지 히트 곡을 얻었 기 때문에 누군가 가지고있다. :)