강력한 사전 공유 키 생성

사전 공유 키(공유 보안 비밀 또는 PSK라고도 부름)는 피어 VPN 게이트웨이에 대해 Cloud VPN 터널을 인증하기 위해 사용됩니다. 보안 권장사항에 따라 강력한 32자(영문)의 공유 보안 비밀을 생성하는 것이 좋습니다.

자동 생성

아래의 무작위 문자열은 이 페이지 아래에 있는 자바스크립트 스니펫을 사용하여 브라우저에서 생성된 것입니다. 이 문자열은 32자 PSK를 만들기 위해 base64로 인코딩된 Crypto.getRandomValues의 24바이트입니다.

이 스니펫으로 비공개 키가 브라우저에서 안전하게 유지됩니다. 고유 시스템에 생성하려면 아래의 생성 방법 중 하나를 사용합니다.

재생성 버튼을 클릭하면 새로운 무작위 PSK가 생성됩니다.

생성 방법

다음 방법을 사용해서 강력한 32자 공유 보안 비밀을 생성합니다.

OpenSSL을 사용하여 공유 보안 비밀 생성

Linux 또는 macOS 시스템에서 다음 OpenSSL 명령어를 실행하여 공유 보안 비밀을 생성합니다.

    openssl rand -base64 24
    

/dev/urandom을 사용하여 공유 보안 비밀을 생성합니다.

Linux 또는 macOS에서 공유 보안 비밀을 생성하기 위한 의사 난수 소스로 /dev/urandom을 사용합니다.

  • Linux 또는 macOS에서는 base64로 무작위 입력을 전송할 수 있습니다.
        head -c 24 /dev/urandom | base64
        
  • sha256과 같이 해싱 함수를 통해 무작위 입력을 전달할 수 있습니다.
    • Linux의 경우:
          head -c 4096 /dev/urandom | sha256sum | cut -b1-32
          
    • macOS의 경우:
          head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
          

자바스크립트를 사용하여 사전 공유 키 생성

또한 W3C 웹 암호화 API와 함께 자바스크립트를 사용하여 문서 페이지에서 직접 사전 공유 키를 생성할 수 있습니다. 이 API는 사전 공유 키를 생성하기 위한 암호적으로 올바른 방법을 제공하는 Crypto.getRandomValues() 메서드를 사용합니다.

아래 코드는 24개의 무작위 바이트 배열을 만든 후, 해당 바이트를 base64로 인코딩하여 무작위 32자 문자열을 생성합니다.


      var a = new Uint8Array(24);
      window.crypto.getRandomValues(a);

      console.log(btoa(String.fromCharCode.apply(null, a)));

    

다음 단계