Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PKCS#11

...

Xshell에서 PKCS#11 인증하기

...

드라이버(미들웨어) 및 관련 도구 설치

Xshell에서 PKCS#11 인증을 진행하기 위해서는 Windows용 Smart Card Minidriver가 Minidriver가 필요합니다. OpenSC 미들웨어에서 제공하는 PKCS11 Minidriver를 Minidriver를 사용하면 호환되는 RSA 키 인증을 받을 수 있습니다.

  1. Windows용 OpenSC 라이브러리를 설치하기 위해 다운로드 페이지에 방문합니다다음 경로에서 윈도우용 OpenSC 라이브러리를 다운로드 받습니다. (https://github.com/OpenSC/OpenSC/releases)

  2. 각 버전의 설명 하단에 나열된 다운로드 파일 중 32비트용 OpenSC 설치 파일 (OpenSC-0.xx.x_win32.msi)을 파일을 다운로드 받습니다.

  3. 해당 설치 파일을 실행하여 설치를 진행합니다. 설치 도중 설치 유형을 유형을 묻는 창이 나타나면 Typical을 선택합니다.

  4. 설치가 완료되면 다음 경로에 해당 파일이 존재하는지 확인합니다: .
    C:\Program Files (x86)\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll

...

SSH 서버에 하드웨어 토큰의 RSA 공개 키 등록

  1. 다음 명령들을 통해 하드웨어 토큰의 공개 키를 확인합니다:

    1. pkcs15-tool --list-public-keys

      Image Added

    2. pkcs15-tool.exe --read-ssh-key [RSA PIV AUTH pubkey ID]

      Image Added

  2. 해당 공개 키 문자열을 복사하여 SSH 서버의 AuthorizedKeysFile에 등록합니다. OpenSSH의 기본 AuthorizedKeysFile은 사용자 홈디렉토리의 ‘.ssh/authorized_keys’ 파일입니다.

    Image Added

    주의: .ssh 디렉토리 및 authorized_keys 파일의 접근 권한은 해당 사용자에게만 있어야 합니다.

PKCS#11 Session 세션 생성 및 접속

이제 Xshell에서 PKCS#11 인증을 위한 세션을 생성해 보겠습니다.

  1. Xshell을 실행하고 상단 메뉴의 ‘파일 파일 - 새로 만들기(N)...클릭합니다.실행합니다

    Image RemovedImage Added

  2. 좌측 범주에서 ‘연결’ 을 선택한 후 세션 파일 이름호스트 주소주소를 입력합니다.

    Image RemovedImage Added

  3. 좌측 범주에서 ‘사용자 인증’사용자 인증’을 클릭합니다. 사용자 인증 방법을 ‘PKCS11’PKCS11’로 지정한 후 사용자 이름을 입력합니다. 이후 우측의 ‘설정설정(S)...’을 클릭합니다.

    Image Removed

    참고: 여기에 사용자 이름을 입력하지 않아도 인증 과정에서 입력할 수 있습니다.

    Image Added

  4. PKCS11 설정 창이 열리면 대화 상자에서 미들웨어 경로하드웨어 토큰 핀번호를 입력합니다.
    - 미들웨어 경로 : OpenSC 라이브러리 파일의 경로입니다. (C:\Program Files (x86)\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll)
    - 토큰 핀 : USB 토큰에서 토큰에 설정된 PIN을 입력합니다. 이 부분은 추후 세션에 연결한 뒤에 입력해도 됩니다.

    Image Removed

    인증이 진행되는 도중에도 입력할 수 있습니다(Pin 번호의 확인 및 설정에 대해서는 해당 하드웨어 토큰 공급자의 소프트웨어나 사용자 매뉴얼을 참고하실 필요가 있습니다).

    Image Added

  5. 모든 설정이 완료되었습니다. 세션에 연결 세션을 실행하여 문제 없이 접속 되는지 확인해봅니다확인해 봅니다.

    Image Added