필드 데이터 암호화
FileMaker 플랫폼은 다음과 같이 지정된 키를 사용하여 데이터를 암호화하고 해독하는 함수를 제공합니다.
-
CryptEncryptBase64: 텍스트 또는 컨테이너 데이터를 승인하고 암호화되고 Base64로 인코딩된 텍스트를 반환합니다.
-
CryptDecryptBase64: CryptEncryptBase64를 통해 암호화되고 Base64로 인코딩된 텍스트를 승인한 후 해독한 데이터를 암호화되기 전과 같은 유형(텍스트 또는 컨테이너 데이터)으로 반환합니다.
암호화된 데이터에 대한 인코딩 및 포맷 지정 방식을 추가적으로 제어하려면 CryptEncrypt 및 CryptDecrypt 함수를 사용할 수 있습니다. FileMaker Pro 도움말을 참조하십시오.
중요사항 이러한 함수는 FileMaker Pro 파일(계정, 권한 범위, 확장된 권한)의 보안 스키마와 직접적인 연관이 없습니다. 그러므로 데이터의 보안은 함수를 맞춤형 App에 구현하는 방법에 달려 있습니다.
개발자로서 다음을 참고하여 키를 안전하게 관리할 수 있는 방법을 고려하십시오.
-
생성: 모범적으로 키를 생성하려면 최소한 키 길이, 복잡성 및 불확실성이라는 요소를 포함해야 합니다.
-
저장: 키를 해독하는 데이터와 분리하여 안전하게 저장합니다.
-
유지: 암호화된 데이터를 이용하는 동안은 키를 사용할 수 있어야 합니다. 예를 들어 키를 사용할 수 없으면 백업도 불가능합니다.
-
파기: 함수를 사용하는 방법에 따라 다르지만, 키를 파기하면 키 없이 데이터를 해독할 수 없으므로 키로 암호화한 데이터가 손실됩니다.
이는 필드에서 데이터의 기밀성을 보호하려는 조치입니다(필드 수준 암호화로 알려짐). 하지만 암호화 수준은 정보 조작으로부터 백업을 비롯하여 전체 파일을 보호하는 Encryption at Rest를 대체하지는 못합니다. 맞춤형 App 암호화를 참조하십시오.
또한 다음을 고려해볼 수 있습니다.
-
이미 해독된 데이터를 해독하려는 시도는 데이터 손상을 야기할 수 있습니다. 따라서 별도의 플래그로 데이터가 암호화되었는지 여부를 표시하여 꼭 필요할 경우에만 데이터를 해독하는 것이 좋습니다.
-
필드의 콘텐츠가 암호화되고 순차적으로 해독되고 다시 암호화되는 경우, 암호화된 값은 매번 달라지게 됩니다.
-
키가 노출되면 데이터가 해당 키로 해독된 후 새로운 키로 암호화될 수 있기 때문에 암호화된 데이터를 포함한 모든 레코드를 이동시켜야 합니다.