GCM 기반 기능 new-functions

보안을 개선하기 위해 암호화 작업에 CBC(Cipher Block Chaining) 모드를 사용하는 AES(Advanced Encryption Standard) 알고리즘의 사용을 중단했습니다. 새로운 암호화 기능이 도입되었습니다. 이러한 기능은 AES를 Galois/Counter Mode(AES-GCM)와 함께 사용하여 보다 안전한 대안을 제공합니다. 이러한 기능은 JavaScript, JSP, SOAP API 및 XML 스키마에서 사용할 수 있으므로 고객은 암호화 및 암호 해독을 위해 CBC에서 GCM으로 전환할 수 있습니다.

이 설명서에는 새로 도입된 AES-GCM 함수와 더 이상 사용되지 않는 CBC 기반 함수가 나열되어 있습니다.

새로운 기능:

GCM에 사용할 수 있는 레거시 함수:

사용되지 않는 함수

API 함수

EncryptString encryptString-api-xtk

GCM 모드의 AES 알고리즘을 사용하여 인스턴스 키로 문자열을 암호화합니다.

            String
            encrypted = EncryptString (
            String
            decrypted


      )

매개 변수: 해독된 텍스트

반환 값: 암호화됨

스키마: xtk:session

정적: 예

EncryptStringWith서버 암호 EncryptStringWithServerPassword-api-xtk

GCM 모드의 AES 알고리즘을 사용하여 서버 키로 문자열을 암호화합니다.

            String
            encrypted = EncryptStringWithServerPassword (
            String
            decrypted


      )

매개 변수: 암호 해독됨

반환 값: 암호화됨

스키마: xtk:session

정적: 예

Javascript 함수

encryptString() encryptString-javascript

인스턴스 키 또는 다른 키로 문자 문자열을 암호화합니다.

            encryptString (str [, key
      ] [, useSalt ])

매개 변수:

  • str: 암호화할 문자열입니다.
  • 키: AES 암호화 키는 기본 64에 인코딩됩니다. 키 길이가 32인 경우 256비트, 키 길이가 24인 경우 192비트, 키 길이가 16이거나 키가 지정되지 않은 경우 128비트입니다.
  • useSalt: 데이터의 솔트를 사용하여 암호화합니다. 기본적으로 True입니다.

반환 값: 암호화된 문자열을 반환합니다.

설명

암호화는 다음 방법에 따라 수행됩니다.

  • 유니코드 문자 문자열이 UTF-8 문자열로 변환됩니다.
  • 확인 문자는 암호 텍스트의 끝에 추가됩니다.
  • 이 문자열은 12바이트 초기화 벡터와 16바이트 태그가 있는 솔트를 사용하는 GCM(Galois/Counter Mode) 모드의 AES 알고리즘을 사용하여 암호화됩니다. 매개 변수로 제공된 키가 없는 경우 인스턴스 키가 사용됩니다.
  • 암호 텍스트에는 태그와 초기화 벡터가 포함됩니다.
  • 그 다음 암호화된 블록은 베이스(64)로 변환된다.

decryptString 함수를 사용하여 암호 해독을 수행합니다.

기능

사용 가능한 위치:

  • 콘텐츠 관리
  • 게재 속성
  • 게재 메시지
  • 유형화 규칙
  • 가져오기
  • JSSP
  • SOAP 메서드
  • 웹 앱
  • 워크플로

decryptString() decryptString-javascript

인스턴스 키 또는 다른 키를 사용하여 문자 문자열의 암호를 해독합니다. 이 레거시 기능은 GCM과 함께 사용할 수 있습니다. AES-CBC 모드를 사용하여 암호화된 암호 텍스트의 암호 해독은 더 이상 사용되지 않습니다.

            decryptString (str [, key
      ] [, useSalt ])

매개 변수:

  • str: 해독할 문자열입니다.
  • 키: AES 암호화 키는 기본 64에 인코딩됩니다. 키 길이가 32인 경우 256비트, 키 길이가 24인 경우 192비트, 키 길이가 16이거나 키가 지정되지 않은 경우 128비트입니다.
  • useSalt: 데이터의 솔트를 사용하여 해독합니다. 기본적으로 True입니다.

반환 값: 복호화된 문자열을 반환합니다.

경고: 이 메서드를 사용하면 데이터베이스에 저장된 암호(옵션/외부 계정)의 암호를 더 이상 해독할 수 없습니다. 이를 위해 decryptPassword를 사용하십시오.

decryptPassword() decryptPassword-javascript

외부 계정에 저장된 암호를 해독합니다. 이 레거시 기능은 GCM과 함께 사용할 수 있습니다. AES-CBC 모드를 사용하여 암호화된 암호 텍스트의 암호 해독은 더 이상 사용되지 않습니다.

            decryptPassword (str)

매개 변수:

  • str: 해독할 문자열입니다.

반환 값: 일반 텍스트 암호를 반환합니다.

설명

이 함수는 워크플로우, 웹 애플리케이션, 보고서 또는 게재에서 호출할 수 없습니다. JSSP 또는 SOAP 호출 구현에서 호출할 수 있습니다. 예:

        function nms_extAccount_LogonToRemoteInstance(remoteInstanceUrl, login, encryptedPassword) {
        var cnx = null, sessionService = null;
        try
            {
                var cnx = new HttpSoapConnection(remoteInstanceUrl + '/nl/jsp/soaprouter.jsp', 'utf-8', 0);
                sessionService = new SoapService(cnx, 'xtk:session');
                sessionService.addMethod("Logon", "xtk:session#Logon",
                    ["token", "string", "login", "string", "password", "string", "parameters", "NLElement"],
                    ["sessionToken", "string", "sessionInfo", "NLElement", "securityToken", "string"]);
                return sessionService.Logon("", login, decryptPassword(encryptedPassword), <parameters/>);
            }
        catch( e ) {
        logError(e);
        }
        finally {
        if( sessionService ) sessionService.dispose();
        if( cnx ) cnx.dispose();
        }
        })

사용되지 않는 함수 depracated-functions

다음 함수는 완전히 더 이상 사용되지 않습니다.

  • cryptString
  • 암호화
  • EncryptServerPassword
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1