나는 시험 프로젝트를 진행 중입니다! 암호를 보호하기위한 몇 가지 기술을 찾고 있는데 longblob 필드가 mysql 데이터베이스에 있습니다. 이 필드는 질문지를 저장하는 데 사용됩니다. 누군가가 내 데이터베이스를 해킹하더라도 특별한 패스 키/암호가 없으면 필드에 액세스 할 수 없도록 만들려고합니다.비밀번호로 테이블 #mysql의 필드를 보호하십시오.
답변
AES 또는 DES 암호화/해독을 사용할 수 있습니다. DES는 바이너리로 컴파일 할 몇 가지 SSL을 요구하는 응용 프로그램 코드에서
주 키를 보관하십시오.
필드에 액세스 할 때마다 임의의 다른 키를 사용하고 싶습니다. 가능한가? –
그것은 어디에 저장하겠습니까? 암호화 된 필드에 가깝게 저장하면 모든 사람이 키를 준 것처럼 해독 할 수 있습니다. 자물쇠 옆에있는 (무작위) 키를 매달아 놓는 것과 같습니다. –
네 포인트가있어! 하지만이 방법을 구현하는 방법은 여전히 매우 혼란 스럽습니다. 여기 구현에 관한 몇 가지 링크를 공유한다면 정말 gr8 일 것입니다. –
'암호 보호'라는 개념은 실제로 암호화 키가있는 '암호화'입니다.
아마 당신의 mysql 데이터베이스는 이미 보호되어 있고, 서버와 데이터베이스 로그온 자체가 모두 암호로 보호되어있을 것입니다. 그러나 추가 보안을 제공하기 위해 암호화 된 필드를 저장할 수 있습니다.
MySQL DB는 서버에 있습니까? 아니면 액세스 할 때와 동일한 컴퓨터에 있습니까? 후자의 경우 동일한 컴퓨터에 암호화 키를 저장하는 것을 포함하지 않는 방식으로 암호화해야합니다 (마치 컴퓨터에 침입 한 것처럼 암호화 키를 찾을 수 있음). 자세한 내용은 How to encrypt a specific column in a MySQL table?을 참조하십시오. 데이터베이스 서버에 '키'를 저장하지 마십시오. 별도의 응용 프로그램 서버 또는 용지에 저장하십시오.
실제로 내 DB는 내 응용 프로그램을 호스팅 할 서버와 동일한 서버에 있습니다. 단순히 테이블에 대한 액세스를 제한하기 위해 패스 키를 사용하여 테이블을 잠글 수있는 방법이 없습니까? –
원래 질문에서 물어 본 것과 정확히 일치하지는 않습니다. - Table! = Field. 물론 테이블에 대한 액세스를 제한하는 방법 (특정 사용자에 대한 액세스 제한 - http://dev.mysql.com/doc/refman/5.0/en/security.html)이 있습니다. 그러나, 당신은 누군가 당신의 데이터베이스를 해킹하는 것을 상상하고 있습니다. 그렇다면 권한있는 계정 (MYSQL에서 보안 결함이있는 경우 관리자 계정)을 사용하게 될 것 같습니다. 따라서 다른 곳에 저장된 AES 암호화 키로 필드를 암호화하는 것이 더 좋습니다. – Joe
네, 실제로 둘 중 하나가 나를 위해 작동합니다 (테이블 또는 필드 잠금). 이런 종류의 문제에 대해 AES 사용 방법에 대한 링크를 공유 할 수 있습니까? –
- 1. 비밀번호로 joomla 기사를 보호하십시오.
- 2. 비밀번호로 간단한 웹 사이트를 보호하십시오.
- 3. 스프링에서 바인딩 할 때 특정 필드를 보호하십시오.
- 4. 레일 : 모델에서 추가 필드를 보호하십시오 (질량 할당)?
- 5. MySQL의 필드를 병합
- 6. 편집 MySQL의 시스템 테이블
- 7. MySQL의 테이블 내부 테이블?
- 8. MySQL의 테이블
- 9. MySQL의 테이블
- 10. MySQL의 : 단순 다국어 콘텐츠 테이블
- 11. MySQL의 선택 결합 테이블/필드
- 12. MySQL의 테이블 관계와 내가 2 개 테이블 MySQL의 DB를
- 13. MySQL의 트리거는 다른 테이블
- 14. MySQL의 결합이 개 테이블
- 15. MySQL의 - 결과는 전체 테이블
- 16. 캐싱이 MySQL의 테이블
- 17. MySQL의 쿼리 가입 테이블
- 18. MySQL의 테이블 생성
- 19. mySQL의 테이블 캐시 개선
- 20. 내가이 오류가 MySQL의 테이블
- 21. MySQL의 테이블 분할
- 22. MySQL의 : 추가하고 다른 테이블
- 23. MySQL의 각 테이블 여기
- 24. MySQL의 : 만들기보기는 자식 테이블
- 25. MySQL의 파생 테이블
- 26. MySQL의 - 결합 테이블
- 27. PHP MySQL의 테이블 정보
- 28. MySQL의 테이블 업데이트
- 29. MySQL의 반환 테이블 이름
- 30. Combinationally 독특한 MySQL의 테이블
따라서 기밀성 (예 : longblobs 암호화)을 적용하려고하지만 가용성 및 무결성 (예 : 누군가가 DB에 액세스 할 수 있다고 가정)? 응용 프로그램과 데이터베이스 간의 통신 링크를 먼저 시행 할 때까지이 작업을 수행 할 필요가 없습니다. 그것은 텐트 창에 감옥 막대를 넣는 것과 같습니다;) –