배경 정보에 대한 데이터를 암호화하는 네이티브 PHP 함수를 오버로드 :
내가 (의료) 데이터 HIPAA를 검색 저장하고 웹 응용 프로그램을 실행 개발자의 한 팀의 일원입니다. 최근 HIPAA 가이드 라인은 "휴식 중"(데이터베이스에 저장되어 있고 액세스되지 않은) 모든 클라이언트 정보를 암호화해야한다는 정책을 포함하도록 업데이트되었습니다.는 HIPAA 준수
우리는 위반의 경우에 보안 데이터를 만드는 방식으로 데이터를 암호화 양방향으로 최선의 방법을 결정하고 해결하기 위해 한 첫 번째 문제 초기 문제.
초기 솔루션
우리가 해낸 가장 빠른 해결책은 우리가 데이터베이스에 삽입 하기 전에 데이터를 암호화하는 mcrypt를 사용하는 것이 었습니다.
새로운 문제
우리가 개발하는 애플리케이션은, (웹 응용 프로그램을 이동로) 아주 오래되어 검색, 삽입, 업데이트하기 위해 mysql_query 기능에 대한 의존도뿐만 아니라 절차 적 프로그래밍을 많이 사용하고, 데이터를 삭제하십시오. 우리는 코드를 데이터베이스 추상화 계층으로 변환하는 시간이나 고급 스러움이 없습니다. 따라서이 암호화/암호 해독 시스템을 구현하는 유일한 방법은 수동으로 모든 CRUD 쿼리를 편집하여 mcrypt을 통해 암호화 된 데이터를 사용하는 것입니다. 이는 매우 비효율적이며 오류가 발생하기 쉽습니다.
우리의 솔루션제안 우리는 우리의 문제를 해결하는 가장 빠르고 가장 효과적인 방법은 우리 자신의 고안 중 하나를 사용하여 기본 mysql_query 기능을 덮어 쓸 것을 결정했다. 새로운 함수에서는 서버에 쿼리를 보내거나 결과 집합을 반환하기 전에 데이터 값을 암호화/해독합니다. 당신 밥상이
- 에 와서
이 우리의 초기 문제를 해결하는 가장 좋은 방법인가?
- 기존의 핵심 PHP 기능을 어떻게 덮어 쓰시겠습니까?
데이터가 DB 서버로 전송되는 동안 데이터를 암호화하는 것이 문제가됩니까? 아니면 암호화 된 방식으로 저장 하시겠습니까? –
암호화 된 방식으로 저장 한 다음 필요한 경우 쉽게 검색하고 해독하고 표시 할 수 있습니다. –
잘못된 레이어에서이 작업을 수행했을 수 있습니다. 전체 MySQL 데이터베이스를 암호화하는 것을 고려 했습니까? 이것에 대한 몇 가지 해결책은 [이 질문에 설명되어 있습니다 (http://stackoverflow.com/questions/143750/mysql-and-data-file-encryption). –