Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

InterBase Database Encryption – How To Do It


Recommended Posts

 

인터베이스 암호화를 지원하기 시작한 것은 인터베이스 2009부터다. 인터베이스를 사용해 여러분이 암호화 할 수 있는 수준은 2 가지 중 하나 또는 둘 모두이다. 

  • 데이터베이스 수준 암호화 (인터베이스는 사용자 정보가 포함되어 있는 데이터페이스 페이지들 전체를 암호화한다)
  • 컬럼 수준 암호화 (컬럼 수준 암호화는 더욱 유연하고 구체적이다)

인터베이스 데이터베이스 암호화를 사용하면 여러분은 데이터베이스 백업 파일들 또한 암호화할 수 있다. 인터베이스를 이용한 데이터 암호화에 대한 더욱 많은 내용은 데이터 정의 안내서를 참고하면 된다.

차례


인터베이스로 암호화하기

특정 암호화 작업 생성을 인터베이스 안에서 하려면, 여러분은 시스템 데이터 보안 소유자(SYSDSO)를 생성해야 한다. 사용자 SYSDSOSYSDBA (데이터베이스 소유자) 둘 다 인터베이스 암호화에 대한 책임이 있다. 아래 표는 각 사용자 작업들의 차이점을 보여준다:

권한 데이터베이스 소유자(SYSDBA) SYSDSO
암호화 키 생성 NO YES
SEP 설정 NO YES
암호화 권한 부여 NO YES
데이터베이스 암호화 YES NO
컬럼 암호화 YES NO
암호 해독 권한 부여 YES NO

또한, 암호화 작업들은 개별 테이블 안의 컬럼들을 암호화할 수 있는 권한을 부여 받은 개별 테이블 소유자에 의해 수행될 수도 있다.

 

IBConsole로 데이터베이스 암호화하기

인터베이스에서 데이터베이스를 암호화하는 방법은 두 가지다. 여러분은 암호화를 활성화하고 구현할 수 있다. isql을 사용하면 된다. 또는 여러분은 데이터베이스를 암호화할 때 IBConsole을 이용할 수도 있다. 이 글에서는, 두 번째 방법을 사용한다. - IBConsole로 데이터베이스 암호화하기.

암호화를 수행하려면, 새 데이터베이스를 생성할 때, 다음 순서에 따라 진행한다:

  1. IBConsole을 연다.
  2. 메뉴에서 Server > Login을 선택한다.
  3. SYSDBA 즉 데이터베이스 소유자 이름으로 로그인한다.
  4. 메뉴에서 Database > Create Database를 선택한다.
  5. Save In 필드에서, 데이터베이스를 저장할 폴더를 선택한다.
  6. 파일 이름을 기입하고 Save를 클릭한 뒤 대화창을 종료한다.
  7. Embedded User Authenfication 필드 값은 Yes로 변경한다.
    • 참고: Use Encryption 필드가 이제 보일 것이다.
  8. Use Encryption 필드 값을 Yes로 변경한다.

    spacer.png
     
  9. OK 버튼을 클릭해 데이터베이스를 생성한다.
  10. 연결 정보를 입력하고 Connect 버튼을 클릭한다.
  11. Encryption Wizard 창에서 Next 버튼을 클릭한다.
  12. SYSDSO 패스워드를 입력하고 Next 버튼을 클릭한다.
  13. SEP 패스워드를 입력하고 Next 버튼을 클릭한다.

    spacer.png
     
    • 참고: External 옵션을 사용하면 권한이 없는 사용자가 노트북 등 모바일 장비 또는 보안이 취약한 데스크탑 컴퓨터에 있는 암호화된 데이터베이스에 접근하기가 더욱 더 어려워진다.
       
  14. Encryption Key 이름을 입력한다.
  15. Cipher 옵션으로 DES를 선택한다.
  16. OK 버튼을 클릭한다.

    spacer.png
     
  17. BackupKey Name과 패스워드를 입력한다.
    • 참고: 암호화된 데이터베이스 보안 및 기밀성 유지를 위해 반드시 데이터베이스 백업 파일도 암호화해야 한다.
  18. OK 버튼을 클릭한다.

    spacer.png
     
  19. 열려있는 대화창에서 OK 버튼을 클릭해 마무리한다.

 

인터베이스 안에 있는 시스템 암호화 패스워드 파라미터

인터베이스 안에서 데이터베이스가 암호화될 때, SEPinternal(기본값, 키워드 사용 안함) 또는 external(키워드 사용함)로 설정할 수 있다.

  • internal SEP를 사용하면, 해당 데이터베이스 사용자가 그 장비에서 SEP를 써서 한 번이라도 그 데이터베이스를 사용한 경우, 그 데이터베이스 사용자에 접근할 수 있다. 한번 연결하고 나면 그 이후 연결 또는 장비 재부팅 이후 연결 시 SEP 값을 제공할 필요가 없다. RAD 스튜디오 애플리케이션을 Mac이나 모바일 디바이스에 배포하는 경우, 처음 연결할 때 SEP 파라미터 값이 필요하다.
  • external SEP로 데이터베이스를 설정하면, 첫 연결 시 SEP 파라미터 값이 있어야 한다. 장비 재부팅 후, 첫 연결 시 그 애플리케이션은 SEP를 제공해야 한다. external System Encryption Password는 모바일 장비에 더 안전하다.

참고: external SEP를 설정하려면, 여러분은 Encryption wizard의 External 옵션을 체크하거나 또는 alter database set system encryption password <255-character string> [external] 명령을 사용하면 된다.

 

dbExpress 안에 있는 시스템 암호화 패스워드

dbExpress를 사용하면, 여러분은 TSQLConnection Params 컬렉션에서 SEP 값을 설정할 수 있다. 또는 프로그래밍 방식으로 SEP 값을 설정할 수도 있다.

spacer.png

 

procedure TForm10.BtnConnectClick(Sender: TObject);
begin
  try
    SQLConnection1.Params.Values['SEP']:='password';
    SQLConnection1.Connected:=true;
  except
    on E:Exception do
        ShowMessage(E.ClassName + ' ' + E.Message);
  end;
end;

 

FireDAC안에 있는 시스템 암호화 패스워드

FireDAC을 사용하면, 여러분은 TFDConnection 연결 정의 파라메터에서 SEPassword 파라미터를 설정할 수 있다.

spacer.png

 

procedure TForm10.BtnConnectClick(Sender: TObject);
begin
  try
    FDConnection1.Params.Values['SEPasword']:='password';
    FDConnection1.Connected:=true;
  except
    on E:Exception do
        ShowMessage(E.ClassName + ' ' + E.Message);
  end;
end;

 

인터베이스 Express안에 있는 시스템 암호화 패스워드

InterBase Express (IBX)를 사용하면, 여러분은 SysEncryptPassword TIBDatabase 파라미터를 프로그래밍 방식으로 설정할 수 있다.

procedure TForm10.BtnConnectClick(Sender: TObject);
begin
  try
     IBDatabase1.SysEncryptPassword:='password';
     IBDatabase1.Open;
  except
    on E:Exception do
        ShowMessage(E.ClassName + ' ' + E.Message);
  end;
end;

 

인터베이스에 대해 궁금한 점이 있다면

무료인 개발자 버전 다운로드

전체 버전 평가판 다운로드

 

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.