zfs key –c 명령을 사용하여 암호화된 파일 시스템의 래핑 키를 변경할 수 있습니다. 부트 시 또는 파일 시스템 키를 명시적으로 로드(zfs key –l)하거나 파일 시스템을 마운트(zfs mount filesystem)하여 기존 래핑 키가 먼저 로드되어 있어야 합니다. 예를 들면 다음과 같습니다.
# zfs key -c tank/home/darren Enter new passphrase for 'tank/home/darren': xxxxxxxx Enter again: xxxxxxxx
다음 예에서는 래핑 키를 변경하고 keysource 등록 정보 값을 변경하여 래핑 키가 파일에서 제공되도록 지정합니다.
# zfs key -c -o keysource=raw,file:///media/stick/key tank/home/darren
암호화된 파일 시스템의 데이터 암호 키는 zfs key –K 명령을 사용하여 변경할 수 있지만 새 암호 키는 새로 작성된 데이터에만 사용됩니다. 이 기능을 사용하여 데이터 암호 키의 시간 제한에 대한 NIST 800-57 지침을 준수할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs key -K tank/home/darren
위 예에서는 데이터 암호 키가 표시되지 않으며 직접 관리되지도 않습니다. 또한 키 변경 작업을 수행하려면 keychange 위임이 필요합니다.
다음 암호화 알고리즘을 사용할 수 있습니다.
aes-128-ccm, aes-192-ccm, aes-256-ccm
aes-128-gcm, aes-192-gcm, aes-256-gcm
ZFS keysource 등록 정보는 파일 시스템의 데이터 암호 키를 래핑하는 키의 형식과 위치를 식별합니다. 예를 들면 다음과 같습니다.
# zfs get keysource tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren keysource passphrase,prompt local
ZFS rekeydate 등록 정보는 마지막 zfs key –K 작업의 날짜를 식별합니다. 예를 들면 다음과 같습니다.
# zfs get rekeydate tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren rekeydate Wed Jul 25 16:54 2012 local
암호화된 파일 시스템의 creation 및 rekeydate 등록 정보 값이 같은 경우 파일 시스템이 zfs key –K 작업에 의해 rekey된 적이 없습니다.
ZFS 암호화 키는 중앙 위치가 필요할 경우 로컬 시스템 또는 원격으로 필요에 따라 다른 방식으로 관리할 수 있습니다.
로컬 – 위 예에서는 래핑 키가 로컬 시스템의 파일에 저장된 문장암호 프롬프트 또는 원시 키일 수 있음을 보여줍니다.
원격 – Oracle Key Manager와 같은 중앙화된 키 관리 시스템을 사용하거나 http 또는 https URI에서 단순 GET 요청을 지원하는 웹 서비스를 사용하여 키 정보를 원격으로 저장할 수 있습니다. Oracle Key Manager 키 정보는 PKCS#11 토큰을 사용하여 Oracle Solaris 시스템에 액세스할 수 있습니다.
ZFS 암호화 키 관리에 대한 자세한 내용은 다음 항목을 참조하십시오. http://www.oracle.com/technetwork/articles/servers-storage-admin/manage-zfs-encryption-1715034.html
Oracle Key Manager를 사용하여 키 정보를 관리하는 방법은 다음 항목을 참조하십시오.
http://docs.oracle.com/cd/E24472_02/
키 작업 위임에 대한 다음 권한 설명을 검토합니다.
zfs key –l 및 zfs key –u 명령을 사용하여 파일 시스템 키를 로드하거나 언로드하려면 key 권한이 필요합니다. 대부분의 경우 mount 권한도 필요합니다.
zfs key –c 및 zfs key –K 명령을 사용하여 파일 시스템 키를 변경하려면 keychange 권한이 필요합니다.
키 사용(로드 또는 언로드) 및 키 변경에 대해 별도의 권한을 위임하는 것이 좋습니다. 이렇게 하면 두 사용자 키 작업 모델을 사용할 수 있습니다. 예를 들어, 키를 사용할 수 있는 사용자와 키를 변경할 수 있는 사용자를 결정합니다. 또는 키를 변경하려면 두 사용자가 모두 있어야 합니다. 이 모델에서는 키 위탁 시스템도 구축할 수 있습니다.