3

내 질문은 간단합니다 - AES_ENCRYPT/AES_DECRYPT와 같은 MySQL의 비대칭 (공개/개인 키) 암호화 기능과 같은 기능이 빌드되어 있습니까?mysql에 비대칭 암호화 기능이 있습니까?

슬프게도, 나는 단지 PHP (PHP로 암호화)와 관련된 답변만을 찾았습니다. 나는 전체 애플리케이션 로직이 프로 시저에 의해 처리되기 때문에 MySQL에 보관하고 싶습니다. 그리고이 문제를 해결하기 위해 외부 언어를 가져 와서 망칠 것을 피하고 싶습니다.

+0

놀랍게도'AES_ENCRYPT'와'AES_DECRYPT'라는 MySQL 함수가 있습니다. 당신이 알고 있는지 여부를 알지 못하기 때문에 - 당신의 질문이 명확하지 않기 때문에 - 저는 이것을 주석으로 남겨 두었습니다 . –

+0

그게 정확히 요점입니다 - AES는 "대칭 키 알고리즘입니다. 동일한 키가 암호화와 암호 해독에 모두 사용됩니다"- PUBLIC/PRIVATE 키가 모두 포함 된 비대칭 솔루션이 필요합니다. 그래서 AES는 나에게이 일을하지 않습니다. – Katai

답변

2

MySQL 내에서 RSA 암호화 기능이 없습니다. 그것은 일종의 이상한 사용 사례이기 때문에 MySQL 사용자는 아마도 그것을 구현할 수있는 것을 보지 못했을 것입니다.

당신이 원한다면 응용 프로그램 계층에서 RSA 작업을 수행하고 결과를 프로 시저에 전달해야합니다 MySQL 내에서 RSA를 구현한다. (나는 전혀 조언 할 수 없다.)

2

당신이 할 수있는 일은 다음과 같다. 해당 pub/priv 키를 사용하여 여러 사용자간에 공유 된 비밀을 만든 다음 해당 공유 비밀을 AES symetric 키로 사용하여 mysql에서 데이터의 잠금을 해제하십시오.

이것은 공유 비밀을 알 수 없으므로 안전한 데이터를 유지하면서 편의를 위해 mysql의 내장 AES 암호화 기능을 활용할 수 있다는 것을 의미합니다.

예 : Alice/Bob shared secret/coloured paint

는 또한이 enter link description here

0

을 읽는 시도 할 수 있습니다 내가 아주 많이 엘리엇 @ 피터하기로 동의입니다.

의 MySQL 엔터프라이즈 암호화 DBA와 개발자들이 필요한 도구를 제공합니다 :

  • 비대칭 공개 키 암호화 (그러나 대답의 일부로서 나는 등의 MySQL 엔터프라이즈 암호화 시설의 종류를 제공 할 것을 추가하고 싶습니다 RSA) 비대칭 개인 키
  • 암호 해독 (RSA)는
  • 공개 키와 개인 키 쌍 (DH)에서 대칭 키 디지털
  • 데이터 (RSA, DSA)에 서명 산출 할 것 공개/개인 키 (RSA, DSA, DH)를 생성 데이터 서명 확인 (RSA, DSA) 당신이 MySQL Enterprise Encryption를 방문 할 수 있습니다 자세한 내용은) 검증 데이터
  • 정품 (RSA, DSA)

, 나는이 당신에게 도움이 될 것입니다 바랍니다.

관련 문제