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

인터베이스(InterBase) 암호화 - 시작하는 방법


Recommended Posts

Kori의 정리 노트

목차


인터베이스의 암호화 엔진

암호화가 포함된 에디션

  • Desktop, Server, ToGo 

암호화 수준 (둘 중 하나 또는 둘 다 동시에 적용 가능)

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

 * 백업 파일 암호화 기능도 이 암호화 엔진에 들어 있음 (자세한 정보: Data Definition Guide)
 

인터베이스로 암호화 시작하기

암호화 작업 만들기

  •  먼저, 사용자 생성: SYSDSO(데이터 보안 소유자)

인터베이스 암호화를 책임지는 사용자와 해당 작업들

  •  SYSDSO(데이터 보안 소유자)와 SYSDBA(데이터베이스 소유자) 
권한 데이터베이스 소유자(SYSDBA) SYSDSO
암호화 키 생성 X O
SEP 설정 X O
암호화 권한 부여 X O
데이터베이스 암호화 O X
컬럼 암호화 O X
암호 해독 권한 부여 O X

*또한,  개별 테이블 소유자도 수행 가능 (단, 그 테이블의 컬럼들을 암호화할 권한이 부여된 경우에 한함)
 

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 버튼을 클릭
    spacer.png
     
  12. SYSDSO 패스워드를 입력하고 Next 버튼을 클릭
    spacer.png
     
  13. SEP 패스워드를 입력하고 Next 버튼을 클릭
    spacer.png

    *참고: External 옵션을 사용하면 권한이 없는 사용자가 암호화된 데이터베이스에 접근하기가 더욱 더 어려워지도록 한다 (노트북 등 모바일 장비 또는 보안이 취약한 데스크탑 컴퓨터에서 더 안전함)
     
  14. Encryption Key 이름을 입력
  15. Cipher 옵션에서 알맞은 것을 선택 (DES를 선택하는 기고는 여기를 참고, 2022년에 작성된 글)
  16. OK 버튼을 클릭한다.
    spacer.png
     
  17. BackupKey Name과 패스워드를 입력
    spacer.png

    참고: 암호화된 데이터베이스의 보안 및 기밀성 유지하려면, 반드시 데이터베이스 백업 파일도 암호화해야 한다.
     

시스템 암호화 패스워드 파라미터 사용하기

인터베이스 안에서 데이터베이스가 암호화될 때, SEP는 internal(기본값, 키워드 사용 안함) 또는 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] 명령을 사용
 

시스템 암호화 패스워드: FireDAC 안에서 사용하는 경우

FireDAC에서는 SEPassword 파라미터를 지정해야 함 (TFDConnection connection definition parameters 중 하나임)

FireDAC Connection Editor 사용하는 경우:
spacer.png


코드로 작성하는 경우(FireDAC용):

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;

 

시스템 암호화 패스워드: dbExpress 안에서 사용하는 경우

dbExpress에서는 SEP 값을 지정해야 함 (TSQLConnection Params 컬렉션 안에 있음)
spacer.png


코드로 작성하는 경우(dbExpress용):

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

 

시스템 암호화 패스워드: InterBase Express 안에서 사용하는 경우

InterBase Express (IBX)에서는 SysEncryptPassword 파라미터를 지정해야 함 (TIBDatabase의 파라미터임)

코드로 작성하는 경우(InterBase Express용):

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


인터베이스에 대해 궁금하다면

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

  • 어드민 changed the title to 인터베이스(InterBase) 암호화 - 시작하는 방법

이 토의에 참여하세요

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

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...

중요한 정보

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