From aed0f9a7853dd4d7e9352ff509b16b60cf6ce409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Ra=C4=8Dansk=C3=BD?= Date: Thu, 1 Jun 2023 07:36:51 +0200 Subject: [PATCH 01/20] Fix #483: Use system default time zone for TOTP (#484) * Fix #483: Use system default time zone for TOTP --- .../powerauth/crypto/lib/totp/Totp.java | 61 +++++++++---------- .../powerauth/crypto/lib/totp/TotpTest.java | 39 +++++++----- .../powerauth/crypto/lib/totp/data.csv | 26 ++++---- 3 files changed, 67 insertions(+), 59 deletions(-) diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java index 420da5758..ab167da83 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java @@ -25,8 +25,7 @@ import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.security.GeneralSecurityException; -import java.time.LocalDateTime; -import java.time.ZoneOffset; +import java.time.Instant; import java.util.HexFormat; /** @@ -55,26 +54,26 @@ private Totp() { * Generates a TOTP value for the given set of parameters using HmacSHA256 algorithm. * * @param key the shared secret - * @param localDateTime date time + * @param instant current Unix time * @param digitsNumber number of digits to return * @return a numeric String in base 10 that includes truncation digits * @throws CryptoProviderException in case of any crypto error */ - public static byte[] generateTotpSha256(final byte[] key, final LocalDateTime localDateTime, final int digitsNumber) throws CryptoProviderException { - return generateTotp(key, countTimeSteps(localDateTime), digitsNumber, Algorithm.HMAC_SHA256.code); + public static byte[] generateTotpSha256(final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { + return generateTotp(key, countTimeSteps(instant), digitsNumber, Algorithm.HMAC_SHA256.code); } /** * Generates a TOTP value for the given set of parameters using HmacSHA512 algorithm. * * @param key the shared secret - * @param localDateTime date time + * @param instant current Unix time * @param digitsNumber number of digits to return * @return a numeric String in base 10 that includes truncation digits * @throws CryptoProviderException in case of any crypto error */ - public static byte[] generateTotpSha512(final byte[] key, final LocalDateTime localDateTime, final int digitsNumber) throws CryptoProviderException { - return generateTotp(key, countTimeSteps(localDateTime), digitsNumber, Algorithm.HMAC_SHA512.code); + public static byte[] generateTotpSha512(final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { + return generateTotp(key, countTimeSteps(instant), digitsNumber, Algorithm.HMAC_SHA512.code); } /** @@ -82,14 +81,14 @@ public static byte[] generateTotpSha512(final byte[] key, final LocalDateTime lo * * @param otp TOTP to validate * @param key the shared secret - * @param localDateTime date time + * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error - * @see #validateTotpSha256(byte[], byte[], LocalDateTime, int) + * @see #validateTotpSha256(byte[], byte[], Instant, int) */ - public static boolean validateTotpSha256(final byte[] otp, final byte[] key, final LocalDateTime localDateTime, final int digitsNumber) throws CryptoProviderException { - return validateTotpSha256(otp, key, localDateTime, digitsNumber, 1); + public static boolean validateTotpSha256(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { + return validateTotpSha256(otp, key, instant, digitsNumber, 1); } /** @@ -97,14 +96,14 @@ public static boolean validateTotpSha256(final byte[] otp, final byte[] key, fin * * @param otp TOTP to validate * @param key the shared secret - * @param localDateTime date time + * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @param steps number of backward time steps allowed to validate * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error */ - public static boolean validateTotpSha256(final byte[] otp, final byte[] key, final LocalDateTime localDateTime, final int digitsNumber, final int steps) throws CryptoProviderException { - return validateTotp(otp, key, localDateTime, digitsNumber, steps, Algorithm.HMAC_SHA256.code); + public static boolean validateTotpSha256(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int steps) throws CryptoProviderException { + return validateTotp(otp, key, instant, digitsNumber, steps, Algorithm.HMAC_SHA256.code); } /** @@ -112,14 +111,14 @@ public static boolean validateTotpSha256(final byte[] otp, final byte[] key, fin * * @param otp TOTP to validate * @param key the shared secret - * @param localDateTime date time + * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error - * @see #validateTotpSha512(byte[], byte[], LocalDateTime, int, int) + * @see #validateTotpSha512(byte[], byte[], Instant, int, int) */ - public static boolean validateTotpSha512(final byte[] otp, final byte[] key, final LocalDateTime localDateTime, final int digitsNumber) throws CryptoProviderException { - return validateTotpSha512(otp, key, localDateTime, digitsNumber, 1); + public static boolean validateTotpSha512(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { + return validateTotpSha512(otp, key, instant, digitsNumber, 1); } /** @@ -127,14 +126,14 @@ public static boolean validateTotpSha512(final byte[] otp, final byte[] key, fin * * @param otp TOTP to validate * @param key the shared secret - * @param localDateTime date time + * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @param steps number of backward time steps allowed to validate * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error */ - public static boolean validateTotpSha512(final byte[] otp, final byte[] key, final LocalDateTime localDateTime, final int digitsNumber, final int steps) throws CryptoProviderException { - return validateTotp(otp, key, localDateTime, digitsNumber, steps, Algorithm.HMAC_SHA512.code); + public static boolean validateTotpSha512(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int steps) throws CryptoProviderException { + return validateTotp(otp, key, instant, digitsNumber, steps, Algorithm.HMAC_SHA512.code); } /** @@ -142,15 +141,15 @@ public static boolean validateTotpSha512(final byte[] otp, final byte[] key, fin * * @param otp TOTP to validate * @param key the shared secret - * @param localDateTime date time + * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @param backwardSteps number of backward time steps allowed to validate * @param algorithm the algorithm to use * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error */ - private static boolean validateTotp(final byte[] otp, final byte[] key, final LocalDateTime localDateTime, final int digitsNumber, final int backwardSteps, final String algorithm) throws CryptoProviderException { - logger.debug("Validating TOTP for localDateTime={}, algorithm={}, steps={}", localDateTime, algorithm, backwardSteps); + private static boolean validateTotp(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int backwardSteps, final String algorithm) throws CryptoProviderException { + logger.debug("Validating TOTP for instant={}, algorithm={}, steps={}", instant, algorithm, backwardSteps); if (otp == null) { throw new CryptoProviderException("Otp is mandatory"); @@ -164,9 +163,9 @@ private static boolean validateTotp(final byte[] otp, final byte[] key, final Lo throw new CryptoProviderException("Steps must not be negative number"); } - final long currentTimeStep = countTimeSteps(localDateTime); + final long currentTimeStep = countTimeSteps(instant); for (int i = 0; i <= backwardSteps; i++) { - logger.debug("Validating TOTP for localDateTime={}, algorithm={}, step={} out of allowed backward steps={}", localDateTime, algorithm, i, backwardSteps); + logger.debug("Validating TOTP for instant={}, algorithm={}, step={} out of allowed backward steps={}", instant, algorithm, i, backwardSteps); final long step = currentTimeStep - i; final byte[] expectedOtp = generateTotp(key, step, otp.length, algorithm); if (Arrays.constantTimeAreEqual(expectedOtp, otp)) { @@ -225,12 +224,12 @@ private static byte[] generateTotp(final byte[] key, final long timeStep, final return padWithZeros(Integer.toString(otp), digitsNumber).getBytes(); } - private static long countTimeSteps(final LocalDateTime localDateTime) throws CryptoProviderException { - if (localDateTime == null) { - throw new CryptoProviderException("LocalDateTime is mandatory"); + private static long countTimeSteps(final Instant instant) throws CryptoProviderException { + if (instant == null) { + throw new CryptoProviderException("Instant is mandatory"); } - return localDateTime.toEpochSecond(ZoneOffset.UTC) / TIME_STEP_X; + return instant.getEpochSecond() / TIME_STEP_X; } private static String padWithZeros(final String source, final int length) { diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/totp/TotpTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/totp/TotpTest.java index fd76a0d58..9f2b7f80a 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/totp/TotpTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/totp/TotpTest.java @@ -26,7 +26,8 @@ import org.junit.jupiter.params.provider.CsvFileSource; import org.opentest4j.AssertionFailedError; -import java.time.LocalDateTime; +import java.time.*; +import java.time.format.DateTimeFormatter; import java.util.HexFormat; import static org.junit.jupiter.api.Assertions.*; @@ -44,9 +45,10 @@ class TotpTest { @ParameterizedTest @CsvFileSource(resources = "/io/getlime/security/powerauth/crypto/lib/totp/data.csv", useHeadersInDisplayName=true) void testGenerateTotp(final long seconds, final @ConvertWith(DateTimeConverter.class) LocalDateTime localDateTime, final String step, final String otp, final String algorithm, final String seed) throws Exception { + final Instant instant = localDateTime.toInstant(ZoneOffset.UTC); final byte[] result = switch (algorithm) { - case "HmacSHA256" -> Totp.generateTotpSha256(fromHex(seed), localDateTime, DIGITS_NUMBER); - case "HmacSHA512" -> Totp.generateTotpSha512(fromHex(seed), localDateTime, DIGITS_NUMBER); + case "HmacSHA256" -> Totp.generateTotpSha256(fromHex(seed), instant, DIGITS_NUMBER); + case "HmacSHA512" -> Totp.generateTotpSha512(fromHex(seed), instant, DIGITS_NUMBER); default -> throw new AssertionFailedError("Not supported algorithm " + algorithm); }; assertEquals(otp, new String(result)); @@ -55,9 +57,10 @@ void testGenerateTotp(final long seconds, final @ConvertWith(DateTimeConverter.c @ParameterizedTest @CsvFileSource(resources = "/io/getlime/security/powerauth/crypto/lib/totp/data.csv", useHeadersInDisplayName=true) void testValidateTotpCurrentStep(final long seconds, final @ConvertWith(DateTimeConverter.class) LocalDateTime localDateTime, final String step, final String otp, final String algorithm, final String seed) throws Exception { + final Instant instant = localDateTime.toInstant(ZoneOffset.UTC); final boolean result = switch (algorithm) { - case "HmacSHA256" -> Totp.validateTotpSha256(otp.getBytes(), fromHex(seed), localDateTime, DIGITS_NUMBER); - case "HmacSHA512" -> Totp.validateTotpSha512(otp.getBytes(), fromHex(seed), localDateTime, DIGITS_NUMBER); + case "HmacSHA256" -> Totp.validateTotpSha256(otp.getBytes(), fromHex(seed), instant, DIGITS_NUMBER); + case "HmacSHA512" -> Totp.validateTotpSha512(otp.getBytes(), fromHex(seed), instant, DIGITS_NUMBER); default -> throw new AssertionFailedError("Not supported algorithm " + algorithm); }; assertTrue(result); @@ -66,11 +69,11 @@ void testValidateTotpCurrentStep(final long seconds, final @ConvertWith(DateTime @ParameterizedTest @CsvFileSource(resources = "/io/getlime/security/powerauth/crypto/lib/totp/data.csv", useHeadersInDisplayName=true) void testValidateTotpOneStepBack(final long seconds, final @ConvertWith(DateTimeConverter.class) LocalDateTime localDateTime, final String step, final String otp, final String algorithm, final String seed) throws Exception { - final LocalDateTime movedLocalDateTime = localDateTime.plusSeconds(30); + final Instant movedInstant = localDateTime.plusSeconds(30).toInstant(ZoneOffset.UTC); final boolean result = switch (algorithm) { - case "HmacSHA256" -> Totp.validateTotpSha256(otp.getBytes(), fromHex(seed), movedLocalDateTime, DIGITS_NUMBER); - case "HmacSHA512" -> Totp.validateTotpSha512(otp.getBytes(), fromHex(seed), movedLocalDateTime, DIGITS_NUMBER); + case "HmacSHA256" -> Totp.validateTotpSha256(otp.getBytes(), fromHex(seed), movedInstant, DIGITS_NUMBER); + case "HmacSHA512" -> Totp.validateTotpSha512(otp.getBytes(), fromHex(seed), movedInstant, DIGITS_NUMBER); default -> throw new AssertionFailedError("Not supported algorithm " + algorithm); }; assertTrue(result); @@ -79,11 +82,11 @@ void testValidateTotpOneStepBack(final long seconds, final @ConvertWith(DateTime @ParameterizedTest @CsvFileSource(resources = "/io/getlime/security/powerauth/crypto/lib/totp/data.csv", useHeadersInDisplayName=true) void testValidateTotpTwoStepsBack(final long seconds, final @ConvertWith(DateTimeConverter.class) LocalDateTime localDateTime, final String step, final String otp, final String algorithm, final String seed) throws Exception { - final LocalDateTime movedLocalDateTime = localDateTime.plusSeconds(60); + final Instant movedInstant = localDateTime.plusSeconds(60).toInstant(ZoneOffset.UTC); final boolean result = switch (algorithm) { - case "HmacSHA256" -> Totp.validateTotpSha256(otp.getBytes(), fromHex(seed), movedLocalDateTime, DIGITS_NUMBER); - case "HmacSHA512" -> Totp.validateTotpSha512(otp.getBytes(), fromHex(seed), movedLocalDateTime, DIGITS_NUMBER); + case "HmacSHA256" -> Totp.validateTotpSha256(otp.getBytes(), fromHex(seed), movedInstant, DIGITS_NUMBER); + case "HmacSHA512" -> Totp.validateTotpSha512(otp.getBytes(), fromHex(seed), movedInstant, DIGITS_NUMBER); default -> throw new AssertionFailedError("Not supported algorithm " + algorithm); }; assertFalse(result); @@ -91,15 +94,15 @@ void testValidateTotpTwoStepsBack(final long seconds, final @ConvertWith(DateTim @Test void testGenerateTotpLeftPaddedWithZero() throws Exception { - final LocalDateTime localDateTime = LocalDateTime.parse("2023-04-27T01:26:29"); - final String result = new String(Totp.generateTotpSha256("12345678901234567890".getBytes(), localDateTime, DIGITS_NUMBER)); + final Instant instant = parse("2023-04-27T01:26:29Z").toInstant(ZoneOffset.UTC); + final String result = new String(Totp.generateTotpSha256("12345678901234567890".getBytes(), instant, DIGITS_NUMBER)); assertEquals("01760428", result); } @Test void testValidateTotpInvalidLength() { var exception = Assertions.assertThrows(CryptoProviderException.class, () -> - Totp.validateTotpSha256("1".getBytes(), "12345678901234567890".getBytes(), LocalDateTime.now(), DIGITS_NUMBER)); + Totp.validateTotpSha256("1".getBytes(), "12345678901234567890".getBytes(), Instant.now(), DIGITS_NUMBER)); assertEquals("Otp length 1 is different from expected 8", exception.getMessage()); } @@ -107,6 +110,11 @@ private static byte[] fromHex(final String source) { return HexFormat.of().parseHex(source); } + private static LocalDateTime parse(String source) { + return ZonedDateTime.parse(source, DateTimeFormatter.ISO_DATE_TIME) + .toLocalDateTime(); + } + static class DateTimeConverter extends TypedArgumentConverter { protected DateTimeConverter() { super(String.class, LocalDateTime.class); @@ -115,10 +123,11 @@ protected DateTimeConverter() { @Override protected LocalDateTime convert(final String source) throws ArgumentConversionException { try { - return LocalDateTime.parse(source); + return parse(source); } catch (Exception e) { throw new IllegalArgumentException("Failed to convert", e); } } } + } diff --git a/powerauth-java-crypto/src/test/resources/io/getlime/security/powerauth/crypto/lib/totp/data.csv b/powerauth-java-crypto/src/test/resources/io/getlime/security/powerauth/crypto/lib/totp/data.csv index 827973030..6e0b481be 100644 --- a/powerauth-java-crypto/src/test/resources/io/getlime/security/powerauth/crypto/lib/totp/data.csv +++ b/powerauth-java-crypto/src/test/resources/io/getlime/security/powerauth/crypto/lib/totp/data.csv @@ -1,13 +1,13 @@ - Time (sec) , UTC Time , Value of T (hex) , TOTP , Algorithm , Seed - 59 , 1970-01-01T00:00:59 , 0000000000000001 , 46119246 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 - 59 , 1970-01-01T00:00:59 , 0000000000000001 , 90693936 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 - 1111111109 , 2005-03-18T01:58:29 , 00000000023523EC , 68084774 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 - 1111111109 , 2005-03-18T01:58:29 , 00000000023523EC , 25091201 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 - 1111111111 , 2005-03-18T01:58:31 , 00000000023523ED , 67062674 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 - 1111111111 , 2005-03-18T01:58:31 , 00000000023523ED , 99943326 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 - 1234567890 , 2009-02-13T23:31:30 , 000000000273EF07 , 91819424 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 - 1234567890 , 2009-02-13T23:31:30 , 000000000273EF07 , 93441116 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 - 2000000000 , 2033-05-18T03:33:20 , 0000000003F940AA , 90698825 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 - 2000000000 , 2033-05-18T03:33:20 , 0000000003F940AA , 38618901 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 -20000000000 , 2603-10-11T11:33:20 , 0000000027BC86AA , 77737706 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 -20000000000 , 2603-10-11T11:33:20 , 0000000027BC86AA , 47863826 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 \ No newline at end of file + Time (sec) , UTC Time , Value of T (hex) , TOTP , Algorithm , Seed + 59 , 1970-01-01T00:00:59Z , 0000000000000001 , 46119246 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 + 59 , 1970-01-01T00:00:59Z , 0000000000000001 , 90693936 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 + 1111111109 , 2005-03-18T01:58:29Z , 00000000023523EC , 68084774 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 + 1111111109 , 2005-03-18T01:58:29Z , 00000000023523EC , 25091201 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 + 1111111111 , 2005-03-18T01:58:31Z , 00000000023523ED , 67062674 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 + 1111111111 , 2005-03-18T01:58:31Z , 00000000023523ED , 99943326 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 + 1234567890 , 2009-02-13T23:31:30Z , 000000000273EF07 , 91819424 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 + 1234567890 , 2009-02-13T23:31:30Z , 000000000273EF07 , 93441116 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 + 2000000000 , 2033-05-18T03:33:20Z , 0000000003F940AA , 90698825 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 + 2000000000 , 2033-05-18T03:33:20Z , 0000000003F940AA , 38618901 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 +20000000000 , 2603-10-11T11:33:20Z , 0000000027BC86AA , 77737706 , HmacSHA256 , 3132333435363738393031323334353637383930313233343536373839303132 +20000000000 , 2603-10-11T11:33:20Z , 0000000027BC86AA , 47863826 , HmacSHA512 , 31323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334 \ No newline at end of file From 105e79539a8f5cf6e72b1986c53f328b8caca0dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Jun 2023 06:03:07 +0000 Subject: [PATCH 02/20] Bump bcprov-jdk18on from 1.73 to 1.74 Bumps [bcprov-jdk18on](https://github.com/bcgit/bc-java) from 1.73 to 1.74. - [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html) - [Commits](https://github.com/bcgit/bc-java/commits) --- updated-dependencies: - dependency-name: org.bouncycastle:bcprov-jdk18on dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- powerauth-java-crypto/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerauth-java-crypto/pom.xml b/powerauth-java-crypto/pom.xml index f5a2897de..606e70624 100644 --- a/powerauth-java-crypto/pom.xml +++ b/powerauth-java-crypto/pom.xml @@ -63,7 +63,7 @@ org.bouncycastle bcprov-jdk18on - 1.73 + 1.74 provided From d328e0b67a1b7e20a2d8d8dabb04f240229373f2 Mon Sep 17 00:00:00 2001 From: Lubos Racansky Date: Mon, 19 Jun 2023 08:35:11 +0200 Subject: [PATCH 03/20] Fix KeyConversionUtilsTest for BC 1.74 - Scalar is not in the interval [1, n - 1] --- .../powerauth/crypto/lib/util/KeyConversionUtilsTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/KeyConversionUtilsTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/KeyConversionUtilsTest.java index 7aa0cc92a..2adf7232e 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/KeyConversionUtilsTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/KeyConversionUtilsTest.java @@ -91,7 +91,7 @@ public void testConvertPublicKey() throws Exception { assertEquals(((BCECPrivateKey)privateKey).getD(), (((BCECPrivateKey)decodedPrivateKey).getD())); KeyFactory kf = KeyFactory.getInstance("ECDH", PowerAuthConfiguration.CRYPTO_PROVIDER_NAME); - BigInteger keyInteger = new BigInteger("" + (12 * i)); + final BigInteger keyInteger = new BigInteger("" + (12 * i + 1)); ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("secp256r1"); ECPrivateKeySpec pubSpec = new ECPrivateKeySpec(keyInteger, ecSpec); ECPrivateKey privateKey2 = (ECPrivateKey) kf.generatePrivate(pubSpec); From 1db7468f80f1b1c666fa4d72eb6d5008ce115560 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jun 2023 06:02:11 +0000 Subject: [PATCH 04/20] Bump bcprov-jdk18on from 1.74 to 1.75 Bumps [bcprov-jdk18on](https://github.com/bcgit/bc-java) from 1.74 to 1.75. - [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html) - [Commits](https://github.com/bcgit/bc-java/commits) --- updated-dependencies: - dependency-name: org.bouncycastle:bcprov-jdk18on dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- powerauth-java-crypto/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerauth-java-crypto/pom.xml b/powerauth-java-crypto/pom.xml index 606e70624..4cdf1fa55 100644 --- a/powerauth-java-crypto/pom.xml +++ b/powerauth-java-crypto/pom.xml @@ -63,7 +63,7 @@ org.bouncycastle bcprov-jdk18on - 1.74 + 1.75 provided From 4e4f6dde9c35a5d4a18621835b7d2ec7c3f0291d Mon Sep 17 00:00:00 2001 From: Lubos Racansky Date: Wed, 19 Jul 2023 07:55:46 +0200 Subject: [PATCH 05/20] Fix #489: Make possible to configure time step length of TOTP --- .../powerauth/crypto/lib/totp/Totp.java | 67 ++++++++++++++----- 1 file changed, 51 insertions(+), 16 deletions(-) diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java index ab167da83..a0599c0c6 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/totp/Totp.java @@ -25,6 +25,7 @@ import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.security.GeneralSecurityException; +import java.time.Duration; import java.time.Instant; import java.util.HexFormat; @@ -40,7 +41,7 @@ public final class Totp { /** * Default time-step size of 30 seconds recommended by RFC. The value is selected as a balance between security and usability. */ - private static final int TIME_STEP_X = 30; + private static final Duration DEFAULT_STEP_LENGTH = Duration.ofSeconds(30); private Totp() { throw new IllegalStateException("Should not be instantiated"); @@ -60,7 +61,21 @@ private Totp() { * @throws CryptoProviderException in case of any crypto error */ public static byte[] generateTotpSha256(final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { - return generateTotp(key, countTimeSteps(instant), digitsNumber, Algorithm.HMAC_SHA256.code); + return generateTotpSha256(key, instant, DEFAULT_STEP_LENGTH, digitsNumber); + } + + /** + * Generates a TOTP value for the given set of parameters using HmacSHA256 algorithm. + * + * @param key the shared secret + * @param instant current Unix time + * @param stepLength length of time step + * @param digitsNumber number of digits to return + * @return a numeric String in base 10 that includes truncation digits + * @throws CryptoProviderException in case of any crypto error + */ + public static byte[] generateTotpSha256(final byte[] key, final Instant instant, final Duration stepLength, final int digitsNumber) throws CryptoProviderException { + return generateTotp(key, countTimeSteps(instant, stepLength), digitsNumber, Algorithm.HMAC_SHA256.code); } /** @@ -73,7 +88,21 @@ public static byte[] generateTotpSha256(final byte[] key, final Instant instant, * @throws CryptoProviderException in case of any crypto error */ public static byte[] generateTotpSha512(final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { - return generateTotp(key, countTimeSteps(instant), digitsNumber, Algorithm.HMAC_SHA512.code); + return generateTotpSha512(key, instant, DEFAULT_STEP_LENGTH, digitsNumber); + } + + /** + * Generates a TOTP value for the given set of parameters using HmacSHA512 algorithm. + * + * @param key the shared secret + * @param instant current Unix time + * @param stepLength length of time step + * @param digitsNumber number of digits to return + * @return a numeric String in base 10 that includes truncation digits + * @throws CryptoProviderException in case of any crypto error + */ + public static byte[] generateTotpSha512(final byte[] key, final Instant instant, final Duration stepLength, final int digitsNumber) throws CryptoProviderException { + return generateTotp(key, countTimeSteps(instant, stepLength), digitsNumber, Algorithm.HMAC_SHA512.code); } /** @@ -85,10 +114,10 @@ public static byte[] generateTotpSha512(final byte[] key, final Instant instant, * @param digitsNumber expected length of the TOTP * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error - * @see #validateTotpSha256(byte[], byte[], Instant, int) + * @see #validateTotpSha256(byte[], byte[], Instant, int, int, Duration) */ public static boolean validateTotpSha256(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { - return validateTotpSha256(otp, key, instant, digitsNumber, 1); + return validateTotpSha256(otp, key, instant, digitsNumber, 1, DEFAULT_STEP_LENGTH); } /** @@ -99,11 +128,12 @@ public static boolean validateTotpSha256(final byte[] otp, final byte[] key, fin * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @param steps number of backward time steps allowed to validate + * @param stepLength length of time step * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error */ - public static boolean validateTotpSha256(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int steps) throws CryptoProviderException { - return validateTotp(otp, key, instant, digitsNumber, steps, Algorithm.HMAC_SHA256.code); + public static boolean validateTotpSha256(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int steps, final Duration stepLength) throws CryptoProviderException { + return validateTotp(otp, key, instant, digitsNumber, steps, stepLength, Algorithm.HMAC_SHA256.code); } /** @@ -115,10 +145,10 @@ public static boolean validateTotpSha256(final byte[] otp, final byte[] key, fin * @param digitsNumber expected length of the TOTP * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error - * @see #validateTotpSha512(byte[], byte[], Instant, int, int) + * @see #validateTotpSha512(byte[], byte[], Instant, int, int, Duration) */ public static boolean validateTotpSha512(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber) throws CryptoProviderException { - return validateTotpSha512(otp, key, instant, digitsNumber, 1); + return validateTotpSha512(otp, key, instant, digitsNumber, 1, DEFAULT_STEP_LENGTH); } /** @@ -129,11 +159,12 @@ public static boolean validateTotpSha512(final byte[] otp, final byte[] key, fin * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @param steps number of backward time steps allowed to validate + * @param stepLength length of time step * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error */ - public static boolean validateTotpSha512(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int steps) throws CryptoProviderException { - return validateTotp(otp, key, instant, digitsNumber, steps, Algorithm.HMAC_SHA512.code); + public static boolean validateTotpSha512(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int steps, final Duration stepLength) throws CryptoProviderException { + return validateTotp(otp, key, instant, digitsNumber, steps, stepLength, Algorithm.HMAC_SHA512.code); } /** @@ -144,12 +175,13 @@ public static boolean validateTotpSha512(final byte[] otp, final byte[] key, fin * @param instant current Unix time * @param digitsNumber expected length of the TOTP * @param backwardSteps number of backward time steps allowed to validate + * @param stepLength length of time step * @param algorithm the algorithm to use * @return true if OTP is valid * @throws CryptoProviderException in case of any crypto error */ - private static boolean validateTotp(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int backwardSteps, final String algorithm) throws CryptoProviderException { - logger.debug("Validating TOTP for instant={}, algorithm={}, steps={}", instant, algorithm, backwardSteps); + private static boolean validateTotp(final byte[] otp, final byte[] key, final Instant instant, final int digitsNumber, final int backwardSteps, final Duration stepLength, final String algorithm) throws CryptoProviderException { + logger.debug("Validating TOTP for instant={}, algorithm={}, steps={}, stepLength={}", instant, algorithm, backwardSteps, stepLength); if (otp == null) { throw new CryptoProviderException("Otp is mandatory"); @@ -163,7 +195,7 @@ private static boolean validateTotp(final byte[] otp, final byte[] key, final In throw new CryptoProviderException("Steps must not be negative number"); } - final long currentTimeStep = countTimeSteps(instant); + final long currentTimeStep = countTimeSteps(instant, stepLength); for (int i = 0; i <= backwardSteps; i++) { logger.debug("Validating TOTP for instant={}, algorithm={}, step={} out of allowed backward steps={}", instant, algorithm, i, backwardSteps); final long step = currentTimeStep - i; @@ -224,12 +256,15 @@ private static byte[] generateTotp(final byte[] key, final long timeStep, final return padWithZeros(Integer.toString(otp), digitsNumber).getBytes(); } - private static long countTimeSteps(final Instant instant) throws CryptoProviderException { + private static long countTimeSteps(final Instant instant, final Duration stepLength) throws CryptoProviderException { if (instant == null) { throw new CryptoProviderException("Instant is mandatory"); } + if (stepLength == null) { + throw new CryptoProviderException("StepLength is mandatory"); + } - return instant.getEpochSecond() / TIME_STEP_X; + return instant.getEpochSecond() / stepLength.getSeconds(); } private static String padWithZeros(final String source, final int length) { From 0eba4f833634c5015f28954aa1d0f0ac4142c453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20=C5=A0trobl?= Date: Sun, 30 Jul 2023 00:12:21 +0200 Subject: [PATCH 06/20] Fix #485: Crypto 3.2: Prevent replay attacks (#486) --- powerauth-java-crypto/pom.xml | 8 +- .../lib/config/SignatureConfiguration.java | 6 + .../lib/encryptor/ecies/EciesDecryptor.java | 148 +--- .../lib/encryptor/ecies/EciesEncryptor.java | 207 +++--- .../lib/encryptor/ecies/EciesEnvelopeKey.java | 14 +- .../lib/encryptor/ecies/EciesFactory.java | 138 +++- .../lib/encryptor/ecies/kdf/KdfX9_63.java | 4 +- .../ecies/model/EciesCryptogram.java | 75 +- .../ecies/model/EciesParameters.java | 35 + .../encryptor/ecies/model/EciesPayload.java | 60 ++ .../powerauth/crypto/lib/util/ByteUtils.java | 144 ++++ .../powerauth/crypto/lib/util/EciesUtils.java | 75 ++ .../crypto/lib/util/KeyDerivationUtils.java | 3 +- .../powerauth/crypto/lib/util/TokenUtils.java | 3 +- .../crypto/encryption/EciesEncryptorTest.java | 678 +++++++++++++++--- 15 files changed, 1177 insertions(+), 421 deletions(-) create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesParameters.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/ByteUtils.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java diff --git a/powerauth-java-crypto/pom.xml b/powerauth-java-crypto/pom.xml index 4cdf1fa55..c627f6962 100644 --- a/powerauth-java-crypto/pom.xml +++ b/powerauth-java-crypto/pom.xml @@ -51,7 +51,7 @@ com.fasterxml.jackson.core jackson-databind - 2.14.1 + 2.15.1 test @@ -66,6 +66,12 @@ 1.75 provided + + org.projectlombok + lombok + 1.18.28 + provided + diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/config/SignatureConfiguration.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/config/SignatureConfiguration.java index 66f85505a..2c70a6657 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/config/SignatureConfiguration.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/config/SignatureConfiguration.java @@ -45,6 +45,12 @@ public PowerAuthSignatureFormat getSignatureFormat() { return signatureFormat; } + /** + * Convert PowerAuth signature format to signature configuration. + * @param format PowerAuth signature format. + * @return Signature configuration. + * @throws CryptoProviderException In case of invalid signature format. + */ public static SignatureConfiguration forFormat(PowerAuthSignatureFormat format) throws CryptoProviderException { switch (format) { case BASE64 -> { diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesDecryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesDecryptor.java index 97936072f..b9d04b320 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesDecryptor.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesDecryptor.java @@ -16,15 +16,13 @@ */ package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; -import com.google.common.primitives.Bytes; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesCryptogram; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesParameters; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesPayload; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; -import io.getlime.security.powerauth.crypto.lib.util.AESEncryptionUtils; -import io.getlime.security.powerauth.crypto.lib.util.HMACHashUtilities; -import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; -import io.getlime.security.powerauth.crypto.lib.util.SideChannelUtils; +import io.getlime.security.powerauth.crypto.lib.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,15 +54,13 @@ public class EciesDecryptor { // Life-cycle management variables private boolean canDecryptData; - private boolean canEncryptData; - private byte[] ivForEncryption; /** * Construct a new decryptor with the base private key and null sharedInfo1 and sharedInfo2 parameters. * * @param encryptionPrivateKey Private key to be used for decryption. */ - public EciesDecryptor(ECPrivateKey encryptionPrivateKey) { + public EciesDecryptor(final ECPrivateKey encryptionPrivateKey) { this(encryptionPrivateKey, null, null); } @@ -75,12 +71,11 @@ public EciesDecryptor(ECPrivateKey encryptionPrivateKey) { * @param sharedInfo1 Additional shared information used during key derivation. * @param sharedInfo2 Additional shared information used during decryption. */ - public EciesDecryptor(ECPrivateKey encryptionPrivateKey, byte[] sharedInfo1, byte[] sharedInfo2) { + public EciesDecryptor(final ECPrivateKey encryptionPrivateKey, final byte[] sharedInfo1, final byte[] sharedInfo2) { this.privateKey = encryptionPrivateKey; this.sharedInfo1 = sharedInfo1; this.sharedInfo2 = sharedInfo2; this.canDecryptData = true; - this.canEncryptData = false; } /** @@ -90,21 +85,20 @@ public EciesDecryptor(ECPrivateKey encryptionPrivateKey, byte[] sharedInfo1, byt * @param envelopeKey ECIES envelope key. * @param sharedInfo2 Parameter sharedInfo2 for ECIES. */ - public EciesDecryptor(EciesEnvelopeKey envelopeKey, byte[] sharedInfo2) { + public EciesDecryptor(final EciesEnvelopeKey envelopeKey, final byte[] sharedInfo2) { this.privateKey = null; this.envelopeKey = envelopeKey; this.sharedInfo1 = null; this.sharedInfo2 = sharedInfo2; - // Allow decrypt to support request decryption with provided envelope key and sharedInfo2 + // Allow decrypt to support decryption with provided envelope key and sharedInfo2 and response encryption this.canDecryptData = true; - this.canEncryptData = false; } /** - * Initialize envelope key for decryptor using provided ephemeral public key. This method is used either for - * the compatibility reasons, when there is no incoming encrypted request to decrypt which would initialize - * the envelope key or the decryptor parameters are transported over network and the decryptor is reconstructed - * on another server using envelope key and sharedInfo2 parameter. + * Initialize envelope key for decryptor using provided ephemeral public key. This method is used either when + * there is no incoming encrypted request to decrypt which would initialize the envelope key or the decryptor + * parameters are transported over network and the decryptor is reconstructed on another server using envelope key + * and sharedInfo2 parameter. * * @param ephemeralPublicKeyBytes Ephemeral public key for ECIES. * @throws EciesException In case envelope key initialization fails. @@ -113,65 +107,30 @@ public void initEnvelopeKey(byte[] ephemeralPublicKeyBytes) throws EciesExceptio envelopeKey = EciesEnvelopeKey.fromPrivateKey(privateKey, ephemeralPublicKeyBytes, sharedInfo1); // Invalidate this decryptor for decryption canDecryptData = false; - canEncryptData = true; - // Zero IV for the future encryption. We assume that the only data encrypted with this configuration is - // a response for "/pa/token/create" method for legacy V2 protocol. - ivForEncryption = new byte[16]; } /** - * Decrypt request data from cryptogram. + * Decrypt data from ECIES payload. * - * @param cryptogram ECIES cryptogram. - * @param requireIv Determines whether non-zero IV is used for decryption and encryption. This is required for protocol V3.1 and later. + * @param payload ECIES payload. * @return Decrypted data. - * @throws EciesException In case request decryption fails. + * @throws EciesException In case decryption fails. */ - public byte[] decryptRequest(EciesCryptogram cryptogram, boolean requireIv) throws EciesException { + public byte[] decrypt(final EciesPayload payload) throws EciesException { + final EciesCryptogram cryptogram = payload.getCryptogram(); + final EciesParameters parameters = payload.getParameters(); + final boolean requireIv = parameters.getNonce() != null; if (cryptogram == null || cryptogram.getEncryptedData() == null || cryptogram.getMac() == null || (envelopeKey == null && cryptogram.getEphemeralPublicKey() == null)) { - throw new EciesException("Parameter cryptogram for request decryption is invalid"); - } - if (requireIv && cryptogram.getNonce() == null) { - throw new EciesException("Nonce parameter in cryptogram is invalid."); + throw new EciesException("Parameter cryptogram for decryption is invalid"); } - if (!canDecryptRequest()) { - throw new EciesException("Request decryption is not allowed"); + if (!canDecrypt()) { + throw new EciesException("Decryption is not allowed"); } // Derive envelope key, but only in case it does not exist yet if (envelopeKey == null) { envelopeKey = EciesEnvelopeKey.fromPrivateKey(privateKey, cryptogram.getEphemeralPublicKey(), sharedInfo1); } - return decrypt(cryptogram, requireIv); - } - - /** - * Decrypt request data from cryptogram. The function automatically determines whether the cryptogram contains - * the nonce parameter and then selects an appropriate configuration for initialization vector. - * - * @param cryptogram ECIES cryptogram. - * @return Decrypted data. - * @throws EciesException In case request decryption fails. - */ - public byte[] decryptRequest(EciesCryptogram cryptogram) throws EciesException { - return decryptRequest(cryptogram, cryptogram.getNonce() != null); - } - - /** - * Encrypt response data and construct ECIES cryptogram. Use when the {@link #decryptRequest} method was - * already called and the ECIES envelope key is already derived. - * - * @param data Response data to encrypt. - * @return ECIES cryptogram. - * @throws EciesException In case response encryption fails. - */ - public EciesCryptogram encryptResponse(byte[] data) throws EciesException { - if (data == null) { - throw new EciesException("Parameter data for response encryption is null"); - } - if (!canEncryptResponse()) { - throw new EciesException("Response encryption is not allowed"); - } - return encrypt(data); + return decryptInternal(payload, requireIv); } /** @@ -195,32 +154,27 @@ public EciesEnvelopeKey getEnvelopeKey() { * * @return Whether request data can be decrypted. */ - private boolean canDecryptRequest() { + private boolean canDecrypt() { // For decryption either private key must exist or the envelope key must exist and be valid return canDecryptData && (privateKey != null || (envelopeKey != null && envelopeKey.isValid())); } /** - * Get whether response data can be encrypted. - * - * @return Whether data can be encrypted. - */ - private boolean canEncryptResponse() { - return canEncryptData && envelopeKey.isValid() && ivForEncryption != null; - } - - /** - * Decrypt provided encrypted cryptogram. + * Decrypt provided encrypted payload. * - * @param cryptogram ECIES cryptogram to be decrypted. + * @param payload ECIES payload to be decrypted. * @param requireIv Determines whether non-zero IV is used for decryption and encryption. This is required for protocol V3.1 and later. * @return Decrypted data. * @throws EciesException In case MAC value is invalid or AES decryption fails. */ - private byte[] decrypt(EciesCryptogram cryptogram, boolean requireIv) throws EciesException { + private byte[] decryptInternal(final EciesPayload payload, final boolean requireIv) throws EciesException { try { + // Resolve MAC data based on protocol version + final EciesCryptogram cryptogram = payload.getCryptogram(); + final EciesParameters parameters = payload.getParameters(); + final byte[] macData = EciesUtils.generateMacData(sharedInfo2, cryptogram.getEncryptedData()); + // Validate data MAC value - final byte[] macData = (sharedInfo2 == null ? cryptogram.getEncryptedData() : Bytes.concat(cryptogram.getEncryptedData(), sharedInfo2)); final byte[] mac = hmac.hash(envelopeKey.getMacKey(), macData); if (!SideChannelUtils.constantTimeAreEqual(mac, cryptogram.getMac())) { throw new EciesException("Invalid MAC"); @@ -229,49 +183,15 @@ private byte[] decrypt(EciesCryptogram cryptogram, boolean requireIv) throws Eci // Decrypt the data with AES final byte[] encKeyBytes = envelopeKey.getEncKey(); final SecretKey encKey = keyConvertor.convertBytesToSharedSecretKey(encKeyBytes); - final byte[] iv = requireIv ? envelopeKey.deriveIvForNonce(cryptogram.getNonce()) : new byte[16]; + final byte[] iv = requireIv ? envelopeKey.deriveIvForNonce(parameters.getNonce()) : new byte[16]; - // Invalidate this decryptor for decryption + // Invalidate this decryptor canDecryptData = false; - canEncryptData = true; - ivForEncryption = iv; return aes.decrypt(cryptogram.getEncryptedData(), iv, encKey); } catch (InvalidKeyException | GenericCryptoException | CryptoProviderException ex) { logger.warn(ex.getMessage(), ex); - throw new EciesException("Request decryption failed", ex); - } - } - - /** - * Encrypt data using the same envelope key that was used for previous decryption. Useful when handling the - * "request/response" cycle of the app. - * - * @param data Data to be encrypted. - * @return Encrypted data as ECIES cryptogram. - * @throws EciesException In case AES encryption fails. - */ - private EciesCryptogram encrypt(byte[] data) throws EciesException { - try { - // Encrypt the data with AES using zero IV - final byte[] encKeyBytes = envelopeKey.getEncKey(); - final SecretKey encKey = keyConvertor.convertBytesToSharedSecretKey(encKeyBytes); - final byte[] iv = ivForEncryption; - final byte[] body = aes.encrypt(data, iv, encKey); - - // Compute MAC of the data - final byte[] macData = (sharedInfo2 == null ? body : Bytes.concat(body, sharedInfo2)); - final byte[] mac = hmac.hash(envelopeKey.getMacKey(), macData); - - // Invalidate this decryptor - canEncryptData = false; - ivForEncryption = null; - - // Return encrypted payload - return new EciesCryptogram(mac, body); - } catch (InvalidKeyException | GenericCryptoException | CryptoProviderException ex) { - logger.warn(ex.getMessage(), ex); - throw new EciesException("Response encryption failed", ex); + throw new EciesException("Decryption failed", ex); } } diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEncryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEncryptor.java index df246231b..d17d430a8 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEncryptor.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEncryptor.java @@ -16,16 +16,14 @@ */ package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; -import com.google.common.primitives.Bytes; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesCryptogram; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesParameters; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesPayload; import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; -import io.getlime.security.powerauth.crypto.lib.util.AESEncryptionUtils; -import io.getlime.security.powerauth.crypto.lib.util.HMACHashUtilities; -import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; -import io.getlime.security.powerauth.crypto.lib.util.SideChannelUtils; +import io.getlime.security.powerauth.crypto.lib.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,16 +56,13 @@ public class EciesEncryptor { // Lifecycle management private boolean canEncryptData; - private boolean canDecryptData; - private byte[] ivForDecryption; - /** * Construct a new encryptor with null sharedInfo1 and sharedInfo2. * * @param publicKey Public key used for encryption. */ - public EciesEncryptor(ECPublicKey publicKey) { + public EciesEncryptor(final ECPublicKey publicKey) { this(publicKey, null, null); } @@ -78,69 +73,99 @@ public EciesEncryptor(ECPublicKey publicKey) { * @param sharedInfo1 Additional shared information used during key derivation. * @param sharedInfo2 Additional shared information used during decryption. */ - public EciesEncryptor(ECPublicKey publicKey, byte[] sharedInfo1, byte[] sharedInfo2) { + public EciesEncryptor(final ECPublicKey publicKey, final byte[] sharedInfo1, final byte[] sharedInfo2) { this.publicKey = publicKey; this.sharedInfo1 = sharedInfo1; this.sharedInfo2 = sharedInfo2; this.canEncryptData = true; - this.canDecryptData = false; } /** * Construct an encryptor from existing ECIES envelope key and sharedInfo2 parameter. The derivation of - * envelope key is skipped. The privateKey and sharedInfo1 values are unknown. The encryptor can be only - * used for decrypting the response. + * envelope key is skipped. The privateKey and sharedInfo1 values are unknown. * * @param envelopeKey ECIES envelope key. * @param sharedInfo2 Parameter sharedInfo2 for ECIES. */ - public EciesEncryptor(EciesEnvelopeKey envelopeKey, byte[] sharedInfo2) { + public EciesEncryptor(final EciesEnvelopeKey envelopeKey, final byte[] sharedInfo2) { this.publicKey = null; this.envelopeKey = envelopeKey; this.sharedInfo1 = null; this.sharedInfo2 = sharedInfo2; - // Allow decrypt only to avoid accidentally reusing the same encryptor for encryption, a new envelope key with - // a new ephemeral keypair is always generated for encryption. - this.canEncryptData = false; - this.canDecryptData = true; + this.canEncryptData = true; + } + + /** + * Initialize envelope key for encryptor using provided ephemeral public key. This method is used when the encryptor + * parameters are transported over network and the encryptor is reconstructed on another server using envelope key + * and sharedInfo2 parameter. + * + * @param ephemeralPublicKeyBytes Ephemeral public key for ECIES. + * @throws EciesException In case envelope key initialization fails. + */ + public void initEnvelopeKey(byte[] ephemeralPublicKeyBytes) throws EciesException { + envelopeKey = EciesEnvelopeKey.fromPublicKey(publicKey, sharedInfo1); + // Invalidate this encryptor for encryption + canEncryptData = false; } /** - * Encrypt request data. + * Encrypt data. * * @param data Request data. * @param useIv Controls whether encryption uses non-zero initialization vector for protocol V3.1+. - * @return ECIES cryptogram. - * @throws EciesException In case request encryption fails. + * @param useTimestamp Controls whether encryption uses timestamp for protocol V3.2+. + * @param associatedData Associated data for protocol V3.2+ or null for previous protocol versions. + * @return ECIES payload. + * @throws EciesException In case encryption fails. */ - public EciesCryptogram encryptRequest(byte[] data, boolean useIv) throws EciesException { + public EciesPayload encrypt(final byte[] data, final boolean useIv, final boolean useTimestamp, final byte[] associatedData) throws EciesException { if (data == null) { - throw new EciesException("Parameter data for request encryption is null"); + throw new EciesException("Parameter data for encryption is null"); } - if (!canEncryptRequest()) { - throw new EciesException("Request encryption is not allowed"); + if (!canEncrypt()) { + throw new EciesException("Encryption is not allowed"); } - envelopeKey = EciesEnvelopeKey.fromPublicKey(publicKey, sharedInfo1); - return encrypt(data, useIv); + // Derive envelope key, but only in case it does not exist yet + if (envelopeKey == null) { + envelopeKey = EciesEnvelopeKey.fromPublicKey(publicKey, sharedInfo1); + } + // Generate nonce in case IV is required + final byte[] nonce = generateNonce(useIv); + // Generate timestamp in case it is required + Long timestamp = null; + if (useTimestamp) { + timestamp = EciesUtils.generateTimestamp(); + } + return encryptInternal(data, nonce, timestamp, associatedData); } /** - * Decrypt response data. + * Encrypt data with provided ECIES parameters. * - * @param cryptogram ECIES cryptogram. - * @return Decrypted data. - * @throws EciesException In case response decryption fails. + * @param data Request data. + * @param eciesParameters ECIES parameters. + * @return ECIES payload. + * @throws EciesException In case encryption fails. */ - public byte[] decryptResponse(EciesCryptogram cryptogram) throws EciesException { - if (cryptogram == null || cryptogram.getEncryptedData() == null || cryptogram.getMac() == null) { - throw new EciesException("Parameter cryptogram for response decryption is invalid"); + public EciesPayload encrypt(final byte[] data, final EciesParameters eciesParameters) throws EciesException { + if (data == null) { + throw new EciesException("Parameter data for encryption is null"); + } + if (eciesParameters == null) { + throw new EciesException("Parameter eciesParameters for encryption is null"); + } + if (!canEncrypt()) { + throw new EciesException("Encryption is not allowed"); } - if (!canDecryptResponse()) { - throw new EciesException("Response decryption is not allowed"); + // Derive envelope key, but only in case it does not exist yet + if (envelopeKey == null) { + envelopeKey = EciesEnvelopeKey.fromPublicKey(publicKey, sharedInfo1); } - return decrypt(cryptogram); + final byte[] associatedData = eciesParameters.getAssociatedData(); + final Long timestamp = eciesParameters.getTimestamp(); + return encryptInternal(data, eciesParameters.getNonce(), timestamp, associatedData); } - /** * Get parameter sharedInfo2 for ECIES. * @return Parameter sharedInfo2 for ECIES. @@ -162,93 +187,79 @@ public EciesEnvelopeKey getEnvelopeKey() { * * @return Whether request data can be encrypted. */ - private boolean canEncryptRequest() { - return canEncryptData && publicKey != null; - } - - /** - * Get whether response data can be decrypted. - * - * @return Whether response data can be decrypted. - */ - private boolean canDecryptResponse() { - return canDecryptData && envelopeKey.isValid() && ivForDecryption != null; + private boolean canEncrypt() { + return canEncryptData && (publicKey != null || (envelopeKey != null && envelopeKey.isValid())); } /** - * Encrypt data using ECIES and construct ECIES cryptogram. + * Encrypt data using ECIES and construct ECIES payload. * * @param data Data to be encrypted. - * @param useIv Controls whether encryption uses non-zero initialization vector for protocol V3.1+. - * @return Encrypted data as cryptogram. + * @param nonce Nonce for protocol V3.1+ or null for previous protocol versions. + * @param timestamp Timestamp for protocol V3.2+ or null for previous protocol versions. + * @param associatedData Associated data for protocol V3.2+ or null for previous protocol versions. + * @return ECIES payload. * @throws EciesException In case AES encryption fails. */ - private EciesCryptogram encrypt(byte[] data, boolean useIv) throws EciesException { + private EciesPayload encryptInternal(final byte[] data, final byte[] nonce, final Long timestamp, final byte[] associatedData) throws EciesException { try { - // Prepare nonce & IV - final byte[] nonce; - final byte[] iv; - if (useIv) { - // V3.1+, generate random nonce and calculate IV - nonce = keyGenerator.generateRandomBytes(16); + + // Encrypt the data with + byte[] encKeyBytes = envelopeKey.getEncKey(); + final SecretKey encKey = keyConvertor.convertBytesToSharedSecretKey(encKeyBytes); + byte[] iv; + if (nonce != null) { iv = envelopeKey.deriveIvForNonce(nonce); } else { - // V2.x, V3.0, use zero IV - nonce = null; iv = new byte[16]; } - // Encrypt the data with - byte[] encKeyBytes = envelopeKey.getEncKey(); - final SecretKey encKey = keyConvertor.convertBytesToSharedSecretKey(encKeyBytes); final byte[] encryptedData = aes.encrypt(data, iv, encKey); - // Compute MAC of the data - final byte[] macData = (sharedInfo2 == null ? encryptedData : Bytes.concat(encryptedData, sharedInfo2)); + // Resolve MAC data based on protocol version + final byte[] macData = EciesUtils.generateMacData(sharedInfo2, encryptedData); + + // Compute data MAC final byte[] mac = hmac.hash(envelopeKey.getMacKey(), macData); - // Invalidate this encryptor for encryption + // Invalidate this encryptor canEncryptData = false; - canDecryptData = true; - ivForDecryption = iv; // Return encrypted payload - return new EciesCryptogram(envelopeKey.getEphemeralKeyPublic(), mac, encryptedData, nonce); + final EciesCryptogram cryptogram = EciesCryptogram.builder() + .ephemeralPublicKey(envelopeKey.getEphemeralKeyPublic()) + .mac(mac) + .encryptedData(encryptedData) + .build(); + final EciesParameters parameters = EciesParameters.builder() + .nonce(nonce) + .associatedData(associatedData) + .timestamp(timestamp) + .build(); + return new EciesPayload(cryptogram, parameters); } catch (InvalidKeyException | GenericCryptoException | CryptoProviderException ex) { logger.warn(ex.getMessage(), ex); - throw new EciesException("Request encryption failed", ex); + throw new EciesException("Encryption failed", ex); } } /** - * Decrypt provided payload using ECIES algorithm and the same secret key as in previous encrypt call, useful for - * request-response cycle. - * - * @param cryptogram Cryptogram to be decrypted. - * @return Decrypted data. - * @throws EciesException In case MAC value is invalid or AES decryption fails. + * Generate nonce based on requirement to use non-null IV. + * @param useIv Whether non-null IV should be used. + * @return Nonce. + * @throws EciesException Thrown in case nonce could not be generated. */ - private byte[] decrypt(EciesCryptogram cryptogram) throws EciesException { - try { - // Validate data MAC value - final byte[] macData = (sharedInfo2 == null ? cryptogram.getEncryptedData() : Bytes.concat(cryptogram.getEncryptedData(), sharedInfo2)); - final byte[] mac = hmac.hash(envelopeKey.getMacKey(), macData); - if (!SideChannelUtils.constantTimeAreEqual(mac, cryptogram.getMac())) { - throw new EciesException("Invalid MAC"); + private byte[] generateNonce(boolean useIv) throws EciesException { + if (useIv) { + // V3.1+, generate random nonce and calculate IV + try { + return keyGenerator.generateRandomBytes(16); + } catch (CryptoProviderException ex) { + logger.warn(ex.getMessage(), ex); + throw new EciesException("Encryption failed", ex); } - - // Decrypt the data with AES using zero IV - final byte[] encKeyBytes = envelopeKey.getEncKey(); - final SecretKey encKey = keyConvertor.convertBytesToSharedSecretKey(encKeyBytes); - final byte[] iv = ivForDecryption; - - // Invalidate the encryptor - canDecryptData = false; - ivForDecryption = null; - - return aes.decrypt(cryptogram.getEncryptedData(), iv, encKey); - } catch (InvalidKeyException | GenericCryptoException | CryptoProviderException ex) { - logger.warn(ex.getMessage(), ex); - throw new EciesException("Response decryption failed", ex); } + // V2.x, V3.0, use zero IV + return null; } + } diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEnvelopeKey.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEnvelopeKey.java index 885e18146..db923bd5f 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEnvelopeKey.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesEnvelopeKey.java @@ -16,12 +16,12 @@ */ package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; -import com.google.common.primitives.Bytes; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.kdf.KdfX9_63; import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; +import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; import io.getlime.security.powerauth.crypto.lib.util.HMACHashUtilities; import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; import org.slf4j.Logger; @@ -70,7 +70,7 @@ public class EciesEnvelopeKey { * @param secretKey Derived secret key. * @param ephemeralPublicKey Ephemeral public key. */ - public EciesEnvelopeKey(byte[] secretKey, byte[] ephemeralPublicKey) { + public EciesEnvelopeKey(final byte[] secretKey, final byte[] ephemeralPublicKey) { this.secretKey = secretKey; this.ephemeralKeyPublic = ephemeralPublicKey; } @@ -83,7 +83,7 @@ public EciesEnvelopeKey(byte[] secretKey, byte[] ephemeralPublicKey) { * @return ECIES envelope key. * @throws EciesException Thrown when key derivation fails. */ - static EciesEnvelopeKey fromPublicKey(PublicKey publicKey, byte[] sharedInfo1) throws EciesException { + static EciesEnvelopeKey fromPublicKey(final PublicKey publicKey, final byte[] sharedInfo1) throws EciesException { try { // Generate ephemeral key pair final KeyPair ephemeralKeyPair = keyGenerator.generateKeyPair(); @@ -97,7 +97,7 @@ static EciesEnvelopeKey fromPublicKey(PublicKey publicKey, byte[] sharedInfo1) t final SecretKey ephemeralSecretKey = keyGenerator.computeSharedKey(ephemeralPrivateKey, publicKey, true); // Construct final data for parameter sharedInfo1 - byte[] info1Data = sharedInfo1 == null ? ephemeralPublicKeyBytes : Bytes.concat(sharedInfo1, ephemeralPublicKeyBytes); + byte[] info1Data = sharedInfo1 == null ? ephemeralPublicKeyBytes : ByteUtils.concat(sharedInfo1, ephemeralPublicKeyBytes); // Derive secret key using KDF function byte[] secretKey = KdfX9_63.derive(keyConvertor.convertSharedSecretKeyToBytes(ephemeralSecretKey), info1Data, ENVELOPE_KEY_SIZE); @@ -119,7 +119,7 @@ static EciesEnvelopeKey fromPublicKey(PublicKey publicKey, byte[] sharedInfo1) t * @return ECIES envelope key. * @throws EciesException Thrown when key derivation fails. */ - static EciesEnvelopeKey fromPrivateKey(PrivateKey ephemeralKeyPrivate, byte[] ephemeralPublicKeyBytes, byte[] sharedInfo1) throws EciesException { + static EciesEnvelopeKey fromPrivateKey(final PrivateKey ephemeralKeyPrivate, final byte[] ephemeralPublicKeyBytes, final byte[] sharedInfo1) throws EciesException { try { // Convert public key bytes to public key final PublicKey ephemeralPublicKey = keyConvertor.convertBytesToPublicKey(ephemeralPublicKeyBytes); @@ -128,7 +128,7 @@ static EciesEnvelopeKey fromPrivateKey(PrivateKey ephemeralKeyPrivate, byte[] ep final SecretKey ephemeralSecretKey = keyGenerator.computeSharedKey(ephemeralKeyPrivate, ephemeralPublicKey, true); // Construct final data for parameter sharedInfo1 - byte[] info1Data = sharedInfo1 == null ? ephemeralPublicKeyBytes : Bytes.concat(sharedInfo1, ephemeralPublicKeyBytes); + byte[] info1Data = sharedInfo1 == null ? ephemeralPublicKeyBytes : ByteUtils.concat(sharedInfo1, ephemeralPublicKeyBytes); // Derive secret key using KDF function byte[] secretKey = KdfX9_63.derive(keyConvertor.convertSharedSecretKeyToBytes(ephemeralSecretKey), info1Data, ENVELOPE_KEY_SIZE); @@ -193,7 +193,7 @@ public byte[] getIvKey() throws EciesException { * @return Derived initialization vector. * @throws EciesException In case that nonce is not valid, or HMAC calculation failed. */ - public byte[] deriveIvForNonce(byte[] nonce) throws EciesException { + public byte[] deriveIvForNonce(final byte[] nonce) throws EciesException { if (nonce == null) { throw new EciesException("Nonce for IV derivation is missing"); } diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java index 8d0a178cc..777c84bdc 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java @@ -16,13 +16,17 @@ */ package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesParameters; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesScope; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesSharedInfo1; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; +import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; import io.getlime.security.powerauth.crypto.lib.util.HMACHashUtilities; import io.getlime.security.powerauth.crypto.lib.util.Hash; +import java.nio.ByteBuffer; import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; @@ -41,13 +45,16 @@ public class EciesFactory { * @param publicKey Public key used for ECIES. * @param applicationSecret Application secret. * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. + * @param eciesParameters ECIES parameters for protocol V3.2+. * @return Initialized ECIES encryptor. * @throws GenericCryptoException In case encryptor could not be initialized. * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. + * @throws EciesException In case envelope key could not be derived. */ - public EciesEncryptor getEciesEncryptorForApplication(ECPublicKey publicKey, byte[] applicationSecret, EciesSharedInfo1 sharedInfo1) throws GenericCryptoException, CryptoProviderException { + public EciesEncryptor getEciesEncryptorForApplication(final ECPublicKey publicKey, final byte[] applicationSecret, final EciesSharedInfo1 sharedInfo1, + final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException, EciesException { byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.APPLICATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesEncryptor(EciesScope.APPLICATION_SCOPE, publicKey, applicationSecret, null, sharedInfo1Value); + return getEciesEncryptor(EciesScope.APPLICATION_SCOPE, publicKey, applicationSecret, null, sharedInfo1Value, eciesParameters); } /** @@ -57,13 +64,16 @@ public EciesEncryptor getEciesEncryptorForApplication(ECPublicKey publicKey, byt * @param applicationSecret Application secret. * @param transportKey Transport key. * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. + * @param eciesParameters ECIES parameters for protocol V3.2+. * @return Initialized ECIES encryptor. * @throws GenericCryptoException In case encryptor could not be initialized. * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. + * @throws EciesException In case envelope key could not be derived. */ - public EciesEncryptor getEciesEncryptorForActivation(ECPublicKey publicKey, byte[] applicationSecret, byte[] transportKey, EciesSharedInfo1 sharedInfo1) throws GenericCryptoException, CryptoProviderException { + public EciesEncryptor getEciesEncryptorForActivation(final ECPublicKey publicKey, final byte[] applicationSecret, final byte[] transportKey, + final EciesSharedInfo1 sharedInfo1, final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException, EciesException { byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesEncryptor(EciesScope.ACTIVATION_SCOPE, publicKey, applicationSecret, transportKey, sharedInfo1Value); + return getEciesEncryptor(EciesScope.ACTIVATION_SCOPE, publicKey, applicationSecret, transportKey, sharedInfo1Value, eciesParameters); } /** @@ -73,7 +83,26 @@ public EciesEncryptor getEciesEncryptorForActivation(ECPublicKey publicKey, byte * @param sharedInfo2 Parameter sharedInfo2 for ECIES. * @return Initialized ECIES encryptor. */ - public EciesEncryptor getEciesEncryptor(EciesEnvelopeKey envelopeKey, byte[] sharedInfo2) { + public EciesEncryptor getEciesEncryptor(final EciesEnvelopeKey envelopeKey, final byte[] sharedInfo2) { + return new EciesEncryptor(envelopeKey, sharedInfo2); + } + + /** + * Get ECIES encryptor for existing envelope key and ECIES parameters. + * + * @param eciesScope ECIES scope. + * @param envelopeKey ECIES envelope key. + * @param applicationSecret Application secret. + * @param transportKey Transport key. + * @param eciesParameters ECIES parameters for protocol V3.2+. + * @return Initialized ECIES encryptor. + * @throws GenericCryptoException In case encryptor could not be initialized. + * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. + */ + public EciesEncryptor getEciesEncryptor(final EciesScope eciesScope, final EciesEnvelopeKey envelopeKey, + final byte[] applicationSecret, final byte[] transportKey, + final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException { + final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, envelopeKey.getEphemeralKeyPublic()); return new EciesEncryptor(envelopeKey, sharedInfo2); } @@ -89,20 +118,12 @@ public EciesEncryptor getEciesEncryptor(EciesEnvelopeKey envelopeKey, byte[] sha * @throws GenericCryptoException In case encryptor could not be initialized. * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. */ - private EciesEncryptor getEciesEncryptor(EciesScope eciesScope, ECPublicKey publicKey, byte[] applicationSecret, byte[] transportKey, byte[] sharedInfo1) throws GenericCryptoException, CryptoProviderException { - switch (eciesScope) { - case APPLICATION_SCOPE -> { - // Compute hash from APP_SECRET as sharedInfo2 - byte[] sharedInfo2 = Hash.sha256(applicationSecret); - return new EciesEncryptor(publicKey, sharedInfo1, sharedInfo2); - } - case ACTIVATION_SCOPE -> { - // The sharedInfo2 is defined as HMAC_SHA256(key: KEY_TRANSPORT, data: APP_SECRET) - byte[] sharedInfo2 = hmacHashUtilities.hash(transportKey, applicationSecret); - return new EciesEncryptor(publicKey, sharedInfo1, sharedInfo2); - } - default -> throw new GenericCryptoException("Unsupported ECIES scope: " + eciesScope); - } + private EciesEncryptor getEciesEncryptor(final EciesScope eciesScope, final ECPublicKey publicKey, final byte[] applicationSecret, + final byte[] transportKey, final byte[] sharedInfo1, + final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException, EciesException { + final EciesEnvelopeKey envelopeKey = EciesEnvelopeKey.fromPublicKey(publicKey, sharedInfo1); + final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, envelopeKey.getEphemeralKeyPublic()); + return new EciesEncryptor(envelopeKey, sharedInfo2); } /** @@ -111,14 +132,17 @@ private EciesEncryptor getEciesEncryptor(EciesScope eciesScope, ECPublicKey publ * @param privateKey Private key used for ECIES. * @param applicationSecret Application secret. * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. + * @param eciesParameters ECIES parameters for protocol V3.2+. + * @param ephemeralPublicKey Ephemeral public key. * @return Initialized ECIES decryptor. * @throws GenericCryptoException In case decryptor could not be initialized. * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. + * @throws EciesException In case envelop key could not be derived. */ - public EciesDecryptor getEciesDecryptorForApplication(ECPrivateKey privateKey, byte[] applicationSecret, EciesSharedInfo1 sharedInfo1) throws GenericCryptoException, CryptoProviderException { + public EciesDecryptor getEciesDecryptorForApplication(final ECPrivateKey privateKey, final byte[] applicationSecret, final EciesSharedInfo1 sharedInfo1, + final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException, EciesException { byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.APPLICATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesDecryptor(EciesScope.APPLICATION_SCOPE, privateKey, applicationSecret, null, sharedInfo1Value); - } + return getEciesDecryptor(EciesScope.APPLICATION_SCOPE, privateKey, applicationSecret, null, sharedInfo1Value, eciesParameters, ephemeralPublicKey); } /** * Get ECIES decryptor instance for activation scope. @@ -127,13 +151,16 @@ public EciesDecryptor getEciesDecryptorForApplication(ECPrivateKey privateKey, b * @param applicationSecret Application secret. * @param transportKey Transport key. * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. + * @param eciesParameters ECIES parameters for protocol V3.2+. + * @param ephemeralPublicKey Ephemeral public key. * @return Initialized ECIES decryptor. * @throws GenericCryptoException In case decryptor could not be initialized. * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. */ - public EciesDecryptor getEciesDecryptorForActivation(ECPrivateKey privateKey, byte[] applicationSecret, byte[] transportKey, EciesSharedInfo1 sharedInfo1) throws GenericCryptoException, CryptoProviderException { + public EciesDecryptor getEciesDecryptorForActivation(final ECPrivateKey privateKey, final byte[] applicationSecret, final byte[] transportKey, final EciesSharedInfo1 sharedInfo1, + final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException { byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesDecryptor(EciesScope.ACTIVATION_SCOPE, privateKey, applicationSecret, transportKey, sharedInfo1Value); + return getEciesDecryptor(EciesScope.ACTIVATION_SCOPE, privateKey, applicationSecret, transportKey, sharedInfo1Value, eciesParameters, ephemeralPublicKey); } /** @@ -143,7 +170,27 @@ public EciesDecryptor getEciesDecryptorForActivation(ECPrivateKey privateKey, by * @param sharedInfo2 Parameter sharedInfo2 for ECIES. * @return Initialized ECIES decryptor. */ - public EciesDecryptor getEciesDecryptor(EciesEnvelopeKey envelopeKey, byte[] sharedInfo2) { + public EciesDecryptor getEciesDecryptor(final EciesEnvelopeKey envelopeKey, final byte[] sharedInfo2) { + return new EciesDecryptor(envelopeKey, sharedInfo2); + } + + /** + * Get ECIES decrypto for existing envelope key and ECIES parameters. + * + * @param eciesScope ECIES scope. + * @param envelopeKey ECIES envelope key. + * @param applicationSecret Application secret. + * @param transportKey Transport key. + * @param eciesParameters ECIES parameters for protocol V3.2+. + * @param ephemeralPublicKey Ephemeral public key. + * @return Initialized ECIES encryptor. + * @throws GenericCryptoException In case encryptor could not be initialized. + * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. + */ + public EciesDecryptor getEciesDecryptor(final EciesScope eciesScope, final EciesEnvelopeKey envelopeKey, + final byte[] applicationSecret, final byte[] transportKey, + final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException { + final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, ephemeralPublicKey); return new EciesDecryptor(envelopeKey, sharedInfo2); } @@ -159,20 +206,49 @@ public EciesDecryptor getEciesDecryptor(EciesEnvelopeKey envelopeKey, byte[] sha * @throws GenericCryptoException In case decryptor could not be initialized. * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. */ - private EciesDecryptor getEciesDecryptor(EciesScope eciesScope, ECPrivateKey privateKey, byte[] applicationSecret, byte[] transportKey, byte[] sharedInfo1) throws GenericCryptoException, CryptoProviderException { + private EciesDecryptor getEciesDecryptor(final EciesScope eciesScope, final ECPrivateKey privateKey, final byte[] applicationSecret, + final byte[] transportKey, final byte[] sharedInfo1, final EciesParameters eciesParameters, + final byte[] ephemeralPublickey) throws GenericCryptoException, CryptoProviderException { + + final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, ephemeralPublickey); + return new EciesDecryptor(privateKey, sharedInfo1, sharedInfo2); + } + + /** + * Generate SharedInfo2 parameter for ECIES. + * @param eciesScope ECIES scope. + * @param applicationSecret Application secret. + * @param transportKey Transport key. + * @param eciesParameters ECIES parameters for protocol V3.2+. + * @param ephemeralPublicKey Ephemeral public key. + * @return SharedInfo2 parameter for ECIES. + * @throws GenericCryptoException In case of invalid ECIES scope. + * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. + */ + private byte[] generateSharedInfo2(final EciesScope eciesScope, final byte[] applicationSecret, final byte[] transportKey, + final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException { + byte[] sharedInfo2; switch (eciesScope) { case APPLICATION_SCOPE -> { // Compute hash from APP_SECRET as sharedInfo2 - byte[] sharedInfo2 = Hash.sha256(applicationSecret); - return new EciesDecryptor(privateKey, sharedInfo1, sharedInfo2); + sharedInfo2 = Hash.sha256(applicationSecret); } case ACTIVATION_SCOPE -> { // The sharedInfo2 is defined as HMAC_SHA256(key: KEY_TRANSPORT, data: APP_SECRET) - byte[] sharedInfo2 = hmacHashUtilities.hash(transportKey, applicationSecret); - return new EciesDecryptor(privateKey, sharedInfo1, sharedInfo2); + sharedInfo2 = hmacHashUtilities.hash(transportKey, applicationSecret); } default -> throw new GenericCryptoException("Unsupported ECIES scope: " + eciesScope); } + // For protocol V3.2+, append additional ECIES parameters + // ByteUtils.concatWithSizes(SH2, NONCE, TIMESTAMP_BYTES, KEY_EPH_PUB, ASSOCIATED_DATA) + if (eciesParameters != null && eciesParameters.getTimestamp() != null) { + sharedInfo2 = ByteUtils.concatWithSizes( + sharedInfo2, + eciesParameters.getNonce(), + ByteBuffer.allocate(Long.BYTES).putLong(eciesParameters.getTimestamp()).array(), + ephemeralPublicKey, + eciesParameters.getAssociatedData()); + } + return sharedInfo2; } - } diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/kdf/KdfX9_63.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/kdf/KdfX9_63.java index 867ee7a68..d9928380b 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/kdf/KdfX9_63.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/kdf/KdfX9_63.java @@ -16,8 +16,8 @@ */ package io.getlime.security.powerauth.crypto.lib.encryptor.ecies.kdf; -import com.google.common.primitives.Bytes; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; +import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; import io.getlime.security.powerauth.crypto.lib.util.Hash; import java.nio.ByteBuffer; @@ -64,7 +64,7 @@ public static byte[] derive(byte[] secret, byte[] sharedInfo, int outputBytes) t break; } // Append working batch to result - result = Bytes.concat(result, temp); + result = ByteUtils.concat(result, temp); ++i; } // Trim the array to the desired length diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesCryptogram.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesCryptogram.java index 65f63c35c..a38d37125 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesCryptogram.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesCryptogram.java @@ -16,80 +16,21 @@ */ package io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model; +import lombok.*; + /** * The EciesCryptogram structure represents cryptogram transmitted over the network. * * @author Petr Dvorak, petr@wultra.com * @author Roman Strobl, roman.strobl@wultra.com */ +@Builder +@Value +@AllArgsConstructor public class EciesCryptogram { - private final byte[] ephemeralPublicKey; - private final byte[] mac; - private final byte[] encryptedData; - private final byte[] nonce; - - /** - * Constructor for ECIES cryptogram used in encrypted requests. - * - * @param ephemeralPublicKey Ephemeral public key. - * @param mac MAC computed for key and data. - * @param encryptedData Encrypted data. - * @param nonce Nonce, required for protocol V3.1+ - */ - public EciesCryptogram(byte[] ephemeralPublicKey, byte[] mac, byte[] encryptedData, byte[] nonce) { - this.ephemeralPublicKey = ephemeralPublicKey; - this.mac = mac; - this.encryptedData = encryptedData; - this.nonce = nonce; - } - - /** - * Constructor for ECIES cryptogram used in encrypted responses (ephemeral public key and nonce are omitted). - * - * @param mac MAC computed for key and data. - * @param encryptedData Encrypted data. - */ - public EciesCryptogram(byte[] mac, byte[] encryptedData) { - this.ephemeralPublicKey = null; - this.mac = mac; - this.encryptedData = encryptedData; - this.nonce = null; - } - - /** - * Get ephemeral public key bytes. The value is optional for response data. - * - * @return Ephemeral public key bytes. - */ - public byte[] getEphemeralPublicKey() { - return ephemeralPublicKey; - } - - /** - * Get the MAC computed for key and data. - * - * @return MAC computed for key and data. - */ - public byte[] getMac() { - return mac; - } - - /** - * Get the encrypted data. - * - * @return Encrypted data. - */ - public byte[] getEncryptedData() { - return encryptedData; - } + byte[] ephemeralPublicKey; + byte[] mac; + byte[] encryptedData; - /** - * Get nonce for IV derivation. - * - * @return Nonce for IV derivation. - */ - public byte[] getNonce() { - return nonce; - } } diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesParameters.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesParameters.java new file mode 100644 index 000000000..e6ee3fe30 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesParameters.java @@ -0,0 +1,35 @@ +/* + * PowerAuth Crypto Library + * Copyright 2018 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model; + +import lombok.*; + +/** + * The EciesParameters structure represents additional ECIES parameters transmitted over the network. + * + * @author Roman Strobl, roman.strobl@wultra.com + */ +@Builder +@Value +@AllArgsConstructor +public class EciesParameters { + + byte[] nonce; + byte[] associatedData; + Long timestamp; + +} \ No newline at end of file diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java new file mode 100644 index 000000000..704ce8dec --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java @@ -0,0 +1,60 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model; + +import lombok.AllArgsConstructor; +import lombok.Value; + +/** + * The EciesPayload structure represents ECIES payload transmitted over the network. + * + * @author Roman Strobl, roman.strobl@wultra.com + */ +@Value +@AllArgsConstructor +public class EciesPayload { + + EciesCryptogram cryptogram; + EciesParameters parameters; + + /** + * Constructor for V3.1 protocol version ECIES structure. + * @param ephemeralPublicKey Ephemeral public key. + * @param mac Message authentication code. + * @param encryptedData Encrypted data. + * @param nonce Nonce. + */ + public EciesPayload(byte[] ephemeralPublicKey, byte[] mac, byte[] encryptedData, byte[] nonce) { + cryptogram = new EciesCryptogram(ephemeralPublicKey, mac, encryptedData); + parameters = new EciesParameters(nonce, null, null); + } + + /** + * Constructor for V3.2 protocol version ECIES structure. + * @param ephemeralPublicKey Ephemeral public key. + * @param mac Message authentication code. + * @param encryptedData Encrypted data. + * @param nonce Nonce. + * @param associatedData Associated data for ECIES. + * @param timestamp Unix timestamp in milliseconds. + */ + public EciesPayload(byte[] ephemeralPublicKey, byte[] mac, byte[] encryptedData, byte[] nonce, byte[] associatedData, Long timestamp) { + cryptogram = new EciesCryptogram(ephemeralPublicKey, mac, encryptedData); + parameters = new EciesParameters(nonce, associatedData, timestamp); + } + +} \ No newline at end of file diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/ByteUtils.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/ByteUtils.java new file mode 100644 index 000000000..985ce0d2f --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/ByteUtils.java @@ -0,0 +1,144 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.getlime.security.powerauth.crypto.lib.util; + +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; + +/** + * A utility class for handling byte array transformations. + * + * @author Roman Strobl, roman.strobl@wultra.com + */ +public final class ByteUtils { + + /** + * Private constructor. + */ + private ByteUtils() { + } + + /** + * Concatenate multiple byte arrays. + * @param arrays Byte arrays to concatenate. + * @return Concatenated byte array. + */ + public static byte[] concat(byte[]... arrays) { + return concatInternal(arrays); + } + + /** + * Concatenate multiple byte arrays, including each component size. + * + * Sample output byte array structure: [size1][array1][size2][array2] + * + * In case byte array is empty, each empty component is encoded as: [0] + * + * @param arrays Byte arrays to join. + * @return Joined byte array. + */ + public static byte[] concatWithSizes(byte[]... arrays) { + byte[] result = new byte[0]; + for (byte[] component : arrays) { + if (component != null) { + result = concat(result, encodeInt(component.length), component); + } else { + result = concat(result, encodeInt(0)); + } + } + return result; + } + + /** + * Concatenate multiple strings and convert them into a byte array, include each string length. + * @param strings Strings to join. + * @return Byte array with joined strings. + */ + public static byte[] concatStrings(String... strings) { + byte[] result = new byte[0]; + for (String component : strings) { + if (component != null) { + byte[] componentBytes = encodeString(component); + result = concat(result, encodeInt(componentBytes.length), componentBytes); + } else { + result = concat(result, encodeInt(0)); + } + } + return result; + } + + /** + * Encode a short number into a byte array. + * @param n Short number to encode. + * @return Byte array. + */ + public static byte[] encodeShort(short n) { + return ByteBuffer.allocate(2).putShort(n).array(); + } + + /** + * Encode an int number into a byte array. + * @param n Int number to encode. + * @return Byte array. + */ + public static byte[] encodeInt(int n) { + return ByteBuffer.allocate(4).putInt(n).array(); + } + + /** + * Encode a long number into a byte array. + * @param n Long number to encode. + * @return Byte array. + */ + public static byte[] encodeLong(long n) { + return ByteBuffer.allocate(8).putLong(n).array(); + } + + /** + * Encode a String into a byte array. + * @param s String to encode. + * @return Byte array. + */ + public static byte[] encodeString(String s) { + return s.getBytes(StandardCharsets.UTF_8); + } + + /** + * Returns the values from each provided array combined into a single array. For example, {@code + * concat(new byte[] {a, b}, new byte[] {}, new byte[] {c}} returns the array {@code {a, b, c}}. + * + * @param arrays zero or more {@code byte} arrays + * @return a single array containing all the values from the source arrays, in order + */ + private static byte[] concatInternal(byte[]... arrays) { + int length = 0; + for (byte[] array : arrays) { + if (array != null) { + length += array.length; + } + } + byte[] result = new byte[length]; + int pos = 0; + for (byte[] array : arrays) { + if (array != null) { + System.arraycopy(array, 0, result, pos, array.length); + pos += array.length; + } + } + return result; + } +} \ No newline at end of file diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java new file mode 100644 index 000000000..445247951 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java @@ -0,0 +1,75 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.getlime.security.powerauth.crypto.lib.util; + +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesScope; + +/** + * A utility class for handling ECIES data. + * + * @author Roman Strobl, roman.strobl@wultra.com + */ +public final class EciesUtils { + + /** + * Private constructor. + */ + private EciesUtils() { + } + + /** + * Generate MAC data for ECIES request or response MAC validation. + * + * @param sharedInfo2 Parameter sharedInfo2 for ECIES. + * @param encryptedData Encrypted data + * @return Resolved MAC data. + */ + public static byte[] generateMacData(final byte[] sharedInfo2, final byte[] encryptedData) { + return ByteUtils.concat(encryptedData, sharedInfo2); + } + + /** + * Generate timestamp for ECIES request/response. + * + * @return Timestamp bytes to use for ECIES encryption. + */ + public static long generateTimestamp() { + // Protocol V3.2+ + return System.currentTimeMillis(); + } + + /** + * Derive associated data for ECIES. + * @param eciesScope ECIES scope. + * @param version Protocol version. + * @param applicationKey Application key. + * @param activationId Activation ID. + * @return Derived associated data. + */ + public static byte[] deriveAssociatedData(EciesScope eciesScope, String version, String applicationKey, String activationId) { + if ("3.2".equals(version)) { + if (eciesScope == EciesScope.ACTIVATION_SCOPE) { + return ByteUtils.concatStrings(version, applicationKey, activationId); + } else { + return ByteUtils.concatStrings(version, applicationKey); + } + } else { + return null; + } + } + +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/KeyDerivationUtils.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/KeyDerivationUtils.java index 2811ba7c2..1634b66d7 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/KeyDerivationUtils.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/KeyDerivationUtils.java @@ -16,7 +16,6 @@ */ package io.getlime.security.powerauth.crypto.lib.util; -import com.google.common.primitives.Bytes; import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; @@ -86,7 +85,7 @@ public byte[] deriveIvForStatusBlobEncryption(byte[] challenge, byte[] nonce, Se .array(); final SecretKey transportIv = keyGenerator.deriveSecretKey(transportKey, derivationIndex); // Prepare STATUS_IV_DATA as CHALLENGE || NONCE - final byte[] ivData = Bytes.concat(challenge, nonce); + final byte[] ivData = ByteUtils.concat(challenge, nonce); // Derive IV from KEY_TRANSPORT_IV, CHALLENGE and NONCE final SecretKey ivKey = keyGenerator.deriveSecretKeyHmac(transportIv, ivData); return keyConvertor.convertSharedSecretKeyToBytes(ivKey); diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/TokenUtils.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/TokenUtils.java index fe2fc99e8..9e53650a4 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/TokenUtils.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/TokenUtils.java @@ -16,7 +16,6 @@ */ package io.getlime.security.powerauth.crypto.lib.util; -import com.google.common.primitives.Bytes; import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; @@ -100,7 +99,7 @@ public byte[] convertTokenTimestamp(long timestamp) { */ public byte[] computeTokenDigest(byte[] nonce, byte[] timestamp, byte[] tokenSecret) throws GenericCryptoException, CryptoProviderException { byte[] amp = "&".getBytes(StandardCharsets.UTF_8); - byte[] data = Bytes.concat(nonce, amp, timestamp); + byte[] data = ByteUtils.concat(nonce, amp, timestamp); return hmac.hash(tokenSecret, data); } diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java index b2d9f7fb3..ce71ff51a 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java @@ -16,15 +16,17 @@ */ package io.getlime.security.powerauth.crypto.encryption; -import com.google.common.primitives.Bytes; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesDecryptor; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesEncryptor; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesFactory; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.kdf.KdfX9_63; -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesCryptogram; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.*; import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; +import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; +import io.getlime.security.powerauth.crypto.lib.util.EciesUtils; import io.getlime.security.powerauth.crypto.lib.util.Hash; import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; import org.bouncycastle.jce.provider.BouncyCastleProvider; @@ -34,6 +36,7 @@ import javax.crypto.SecretKey; import java.nio.ByteBuffer; +import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.security.KeyPair; import java.security.PrivateKey; @@ -42,20 +45,22 @@ import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; import java.util.Base64; +import java.util.Date; -import static org.junit.jupiter.api.Assertions.assertArrayEquals; -import static org.junit.jupiter.api.Assertions.fail; +import static org.junit.jupiter.api.Assertions.*; /** * Test to validate functionality of {@link EciesEncryptor} * and {@link EciesDecryptor} classes. * * @author Petr Dvorak, petr@wultra.com + * @author Roman Strobl, roman.strobl@wultra.com */ public class EciesEncryptorTest { private final KeyGenerator keyGenerator = new KeyGenerator(); private final KeyConvertor keyConvertor = new KeyConvertor(); + private final EciesFactory eciesFactory = new EciesFactory(); /** * Add crypto providers. @@ -74,38 +79,78 @@ public static void setUp() { public void testEncryptDecrypt() throws Exception { final KeyPair fixedKeyPair = keyGenerator.generateKeyPair(); - final PrivateKey privateKey = fixedKeyPair.getPrivate(); - final PublicKey publicKey = fixedKeyPair.getPublic(); - - byte[] request = "Hello Alice.".getBytes(StandardCharsets.UTF_8); - byte[] response = "Hello Bob".getBytes(StandardCharsets.UTF_8); + final ECPrivateKey privateKey = (ECPrivateKey) fixedKeyPair.getPrivate(); + final ECPublicKey publicKey = (ECPublicKey) fixedKeyPair.getPublic(); + final byte[] publicKeyBytes = keyConvertor.convertPublicKeyToBytes(publicKey); + final byte[] request = "Hello Alice.".getBytes(StandardCharsets.UTF_8); + final byte[] response = "Hello Bob".getBytes(StandardCharsets.UTF_8); + final byte[] applicationSecret = "test_secret".getBytes(StandardCharsets.UTF_8); for (int i = 0; i < 100; i++) { - final boolean useIV = (i & 1) == 1; - EciesEncryptor encryptor = new EciesEncryptor((ECPublicKey) publicKey); - final EciesCryptogram payloadRequest = encryptor.encryptRequest(request, useIV); + byte[] nonceRequest = null; + Long timestampRequest = null; + byte[] nonceResponse = null; + Long timestampResponse = null; + byte[] associatedData = null; + if ((i & 1) == 1) { + // Protocol V3.1+ + nonceRequest = keyGenerator.generateRandomBytes(16); + nonceResponse = keyGenerator.generateRandomBytes(16); + if ((i & 2) == 2) { + // Protocol V3.2+ + associatedData = ByteUtils.concatStrings("3.2", "test_secret"); + timestampRequest = new Date().getTime(); + timestampResponse = new Date().getTime() + 1; + } + } + + final EciesParameters eciesParametersRequest = EciesParameters.builder() + .nonce(nonceRequest) + .associatedData(associatedData) + .timestamp(timestampRequest) + .build(); + final EciesEncryptor encryptorRequest = eciesFactory.getEciesEncryptorForApplication(publicKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, eciesParametersRequest); + final EciesPayload payloadRequest = encryptorRequest.encrypt(request, eciesParametersRequest); + final EciesCryptogram cryptogram = payloadRequest.getCryptogram(); + final EciesParameters parameters = payloadRequest.getParameters(); System.out.println("# REQUEST"); System.out.println("- Original data: " + Base64.getEncoder().encodeToString(request) + " (" + new String(request, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadRequest.getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadRequest.getMac())); - System.out.println("- NONCE: " + (useIV ? Base64.getEncoder().encodeToString(payloadRequest.getNonce()) : "null")); - System.out.println("- Ephemeral Public Key: " + Base64.getEncoder().encodeToString(payloadRequest.getEphemeralPublicKey())); + System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(cryptogram.getEncryptedData())); + System.out.println("- MAC: " + Base64.getEncoder().encodeToString(cryptogram.getMac())); + System.out.println("- Nonce: " + (nonceRequest != null ? Base64.getEncoder().encodeToString(parameters.getNonce()) : "null")); + System.out.println("- Timestamp: " + (timestampRequest != null ? parameters.getTimestamp() : "null")); + System.out.println("- Associated data: " + (timestampRequest != null ? Base64.getEncoder().encodeToString(parameters.getAssociatedData()) : "null")); + System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(cryptogram.getEphemeralPublicKey())); System.out.println(); - EciesDecryptor decryptor = new EciesDecryptor((ECPrivateKey) privateKey); - final byte[] originalBytesRequest = decryptor.decryptRequest(payloadRequest, useIV); + final EciesDecryptor decryptorRequest = eciesFactory.getEciesDecryptorForApplication(privateKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, + eciesParametersRequest, cryptogram.getEphemeralPublicKey()); + final byte[] originalBytesRequest = decryptorRequest.decrypt(payloadRequest); assertArrayEquals(request, originalBytesRequest); - final EciesCryptogram payloadResponse = decryptor.encryptResponse(response); + final EciesParameters eciesParametersResponse = EciesParameters.builder() + .nonce(nonceResponse) + .associatedData(associatedData) + .timestamp(timestampResponse) + .build(); + final EciesEncryptor encryptorResponse = eciesFactory.getEciesEncryptor(EciesScope.APPLICATION_SCOPE, + decryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse); + + final EciesPayload payloadResponse = encryptorResponse.encrypt(response, eciesParametersResponse); System.out.println("# RESPONSE"); System.out.println("- Original data: " + Base64.getEncoder().encodeToString(response) + " (" + new String(response, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadResponse.getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadResponse.getMac())); + System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEncryptedData())); + System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getMac())); + System.out.println("- Nonce: " + (nonceResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getNonce()) : "null")); + System.out.println("- Timestamp: " + (timestampResponse != null ? payloadResponse.getParameters().getTimestamp() : "null")); + System.out.println("- Associated data: " + (timestampResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getAssociatedData()) : "null")); + System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEphemeralPublicKey())); System.out.println(); - - final byte[] originalBytesResponse = encryptor.decryptResponse(payloadResponse); + final EciesDecryptor decryptorResponse = eciesFactory.getEciesDecryptor(EciesScope.APPLICATION_SCOPE, + encryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse, cryptogram.getEphemeralPublicKey()); + final byte[] originalBytesResponse = decryptorResponse.decrypt(payloadResponse); assertArrayEquals(response, originalBytesResponse); } @@ -119,30 +164,62 @@ public void testEncryptDecrypt() throws Exception { public void testInvalidMacReject() throws Exception { final KeyPair fixedKeyPair = keyGenerator.generateKeyPair(); - final PrivateKey privateKey = fixedKeyPair.getPrivate(); - final PublicKey publicKey = fixedKeyPair.getPublic(); + final ECPrivateKey privateKey = (ECPrivateKey) fixedKeyPair.getPrivate(); + final ECPublicKey publicKey = (ECPublicKey) fixedKeyPair.getPublic(); + final byte[] publicKeyBytes = keyConvertor.convertPublicKeyToBytes(publicKey); - byte[] request = "Hello Alice.".getBytes(StandardCharsets.UTF_8); - byte[] response = "Hello Bob".getBytes(StandardCharsets.UTF_8); + final byte[] request = "Hello Alice.".getBytes(StandardCharsets.UTF_8); + final byte[] response = "Hello Bob".getBytes(StandardCharsets.UTF_8); + final byte[] applicationSecret = "test_secret".getBytes(StandardCharsets.UTF_8); + for (int i = 0; i < 100; i++) { + byte[] nonceRequest = null; + Long timestampRequest = null; + byte[] nonceResponse = null; + Long timestampResponse = null; + byte[] associatedData = null; + if ((i & 1) == 1) { + // Protocol V3.1+ + nonceRequest = keyGenerator.generateRandomBytes(16); + nonceResponse = keyGenerator.generateRandomBytes(16); + if ((i & 2) == 2) { + // Protocol V3.2+ + associatedData = ByteUtils.concatStrings("3.2", "test_secret"); + timestampRequest = new Date().getTime(); + timestampResponse = new Date().getTime() + 1; + } + } - for (int i = 0; i < 10; i++) { - final boolean useIV = (i & 1) == 1; - EciesEncryptor encryptor = new EciesEncryptor((ECPublicKey) publicKey); - final EciesCryptogram payloadRequest = encryptor.encryptRequest(request, useIV); + final EciesParameters eciesParametersRequest = EciesParameters.builder() + .nonce(nonceRequest) + .associatedData(associatedData) + .timestamp(timestampRequest) + .build(); + final EciesEncryptor encryptorRequest = eciesFactory.getEciesEncryptorForApplication(publicKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, eciesParametersRequest); + final EciesPayload payloadRequest = encryptorRequest.encrypt(request, eciesParametersRequest); + final EciesCryptogram cryptogram = payloadRequest.getCryptogram(); + final EciesParameters parameters = payloadRequest.getParameters(); System.out.println("# REQUEST"); System.out.println("- Original data: " + Base64.getEncoder().encodeToString(request) + " (" + new String(request, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadRequest.getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadRequest.getMac())); - System.out.println("- Ephemeral Public Key: " + Base64.getEncoder().encodeToString(payloadRequest.getEphemeralPublicKey())); + System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(cryptogram.getEncryptedData())); + System.out.println("- MAC: " + Base64.getEncoder().encodeToString(cryptogram.getMac())); + System.out.println("- Nonce: " + (nonceRequest != null ? Base64.getEncoder().encodeToString(parameters.getNonce()) : "null")); + System.out.println("- Timestamp: " + (timestampRequest != null ? parameters.getTimestamp() : "null")); + System.out.println("- Associated data: " + (timestampRequest != null ? Base64.getEncoder().encodeToString(parameters.getAssociatedData()) : "null")); + System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(cryptogram.getEphemeralPublicKey())); System.out.println(); - byte[] macBroken = keyGenerator.generateRandomBytes(16); - EciesCryptogram broken = new EciesCryptogram(payloadRequest.getEphemeralPublicKey(), macBroken, payloadRequest.getEncryptedData(), payloadRequest.getNonce()); + final byte[] macBrokenRequest = keyGenerator.generateRandomBytes(16); + final EciesCryptogram cryptogramBrokenRequest = EciesCryptogram.builder() + .ephemeralPublicKey(cryptogram.getEphemeralPublicKey()) + .encryptedData(cryptogram.getEncryptedData()) + .mac(macBrokenRequest) + .build(); + final EciesPayload payloadBrokenRequest = new EciesPayload(cryptogramBrokenRequest, parameters); + final EciesDecryptor decryptorRequest = eciesFactory.getEciesDecryptorForApplication(privateKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, + eciesParametersRequest, publicKeyBytes); - EciesDecryptor decryptor = new EciesDecryptor((ECPrivateKey) privateKey); - byte[] originalBytesRequest; try { - decryptor.decryptRequest(broken, useIV); + decryptorRequest.decrypt(payloadBrokenRequest); fail("Invalid MAC was provided in request and should have been rejected"); } catch (EciesException e) { // OK @@ -150,33 +227,43 @@ public void testInvalidMacReject() throws Exception { System.out.println(); } - originalBytesRequest = decryptor.decryptRequest(payloadRequest, useIV); - - assertArrayEquals(request, originalBytesRequest); + final EciesParameters eciesParametersResponse = EciesParameters.builder() + .nonce(nonceResponse) + .associatedData(associatedData) + .timestamp(timestampResponse) + .build(); + final EciesEncryptor encryptorResponse = eciesFactory.getEciesEncryptor(EciesScope.APPLICATION_SCOPE, + decryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse); - final EciesCryptogram payloadResponse = decryptor.encryptResponse(response); + final EciesPayload payloadResponse = encryptorResponse.encrypt(response, eciesParametersResponse); System.out.println("# RESPONSE"); System.out.println("- Original data: " + Base64.getEncoder().encodeToString(response) + " (" + new String(response, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadResponse.getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadResponse.getMac())); + System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEncryptedData())); + System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getMac())); + System.out.println("- Nonce: " + (nonceResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getNonce()) : "null")); + System.out.println("- Timestamp: " + (timestampResponse != null ? payloadResponse.getParameters().getTimestamp() : "null")); + System.out.println("- Associated data: " + (timestampResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getAssociatedData()) : "null")); + System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEphemeralPublicKey())); System.out.println(); - byte[] macBrokenResponse = keyGenerator.generateRandomBytes(16); - EciesCryptogram brokenResponse = new EciesCryptogram(payloadResponse.getEphemeralPublicKey(), macBrokenResponse, payloadResponse.getEncryptedData(), payloadResponse.getNonce()); - - byte[] originalBytesResponse; + final byte[] macBrokenResponse = keyGenerator.generateRandomBytes(16); + final EciesCryptogram cryptogramBrokenResponse = EciesCryptogram.builder() + .ephemeralPublicKey(cryptogram.getEphemeralPublicKey()) + .encryptedData(cryptogram.getEncryptedData()) + .mac(macBrokenResponse) + .build(); + final EciesPayload payloadBrokenResponse = new EciesPayload(cryptogramBrokenResponse, parameters); + final EciesDecryptor decryptorResponse = eciesFactory.getEciesDecryptor(EciesScope.APPLICATION_SCOPE, + decryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse, publicKeyBytes); try { - encryptor.decryptResponse(brokenResponse); + decryptorResponse.decrypt(payloadBrokenResponse); fail("Invalid MAC was provided in response and should have been rejected"); } catch (EciesException e) { // OK System.out.println("!!! Invalid MAC correctly detected in response"); System.out.println(); } - originalBytesResponse = encryptor.decryptResponse(payloadResponse); - - assertArrayEquals(response, originalBytesResponse); } } @@ -194,7 +281,7 @@ public void testKdf() throws GenericCryptoException, CryptoProviderException { final byte[] kdfRef = KdfX9_63.derive(secretKeyToBytes, null, 32); byte[] data = secretKeyToBytes; - data = Bytes.concat(data, ByteBuffer.allocate(4).putInt(1).array()); + data = ByteUtils.concat(data, ByteBuffer.allocate(4).putInt(1).array()); final byte[] kdfTriv = Hash.sha256(data); @@ -258,7 +345,7 @@ public void testVectorsV3() throws Exception { // This issue happens when the BigInteger representing the exported private key is negative (first byte is over 127), like in this case. // Newer version of mobile SDK test vector generator should add the 0x0 byte automatically to avoid spending hours over broken private key import... byte[] signByte = new byte[1]; - final PrivateKey privateKey = keyConvertor.convertBytesToPrivateKey(Bytes.concat(signByte, Base64.getDecoder().decode("w1l1XbpjTOpHQvE+muGcCajD6qy8h4xwdcHkioxD098="))); + final PrivateKey privateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(signByte, Base64.getDecoder().decode("w1l1XbpjTOpHQvE+muGcCajD6qy8h4xwdcHkioxD098="))); final PublicKey publicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("Am8gztfnuf/yXRoGLZbY3po4QK1+rSqNByvWs51fN0TS")); byte[][] request = { @@ -302,38 +389,38 @@ public void testVectorsV3() throws Exception { Base64.getDecoder().decode("A8OFtFRZcgpQ8xmA8qGCoKFFphTkNpK0x4i2SRy51eRk") }; - EciesCryptogram[] encryptedRequest = { - new EciesCryptogram( + EciesPayload[] encryptedRequest = { + new EciesPayload( ephemeralPublicKey[0], Base64.getDecoder().decode("M1R8d1WtIj7Ch4EY7kfFdEu8+ogX2zfQZmFsQNvLI+k="), Base64.getDecoder().decode("tvhNs0hyb9o4cXxXR8NeHg=="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[1], Base64.getDecoder().decode("SQAniMR93pr3tVHwCB+C7ocMO7Jo4SdIAgG3FbxKMZQ="), Base64.getDecoder().decode("n8BlIA81qdEh4h/Y53rlrfVodJFB2KoiCXWIKt4JAGc="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[2], Base64.getDecoder().decode("gtUyhNxO2mEjcJin/qjSskiPvHuD7zku10o3U5sz3pg="), Base64.getDecoder().decode("+mL/+v8LR07Ih1F1FnPGmqI6Emay6ZDBIndWnsZETB0="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[3], Base64.getDecoder().decode("GOu5tZblRyXGwVNfWioh1UQzpg9Ztq9ysZ29Kkn29f8="), Base64.getDecoder().decode("6DjnlMLj1xDfdnmBGRmFIQ=="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[4], Base64.getDecoder().decode("ZUAk0lEk5jh73oNhvK9I7nOW0jvkSrLN8IiDGXXIbA0="), Base64.getDecoder().decode("JpHpSRHKUcaLk7oDZO1K5A=="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[5], Base64.getDecoder().decode("x6K9y6ggWMbfAgD1CWePGP6sj6JHHKgzXvzQiWNpNJA="), Base64.getDecoder().decode("H/DRpFXS38oah/XOpy6mrw=="), @@ -341,38 +428,38 @@ public void testVectorsV3() throws Exception { ) }; - EciesCryptogram[] encryptedResponse = { - new EciesCryptogram( + EciesPayload[] encryptedResponse = { + new EciesPayload( ephemeralPublicKey[0], Base64.getDecoder().decode("GMSvl+OhGsSnBVjLp8MozL/H+lh+Nm96ssaOpt+xa5s="), Base64.getDecoder().decode("3Bhf8/hDkuObm3ufbUWdNg=="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[1], Base64.getDecoder().decode("X7jagQ+WGqGe5nH2gTEutBBi9jF/D2oHXR+Ywcg28F8="), Base64.getDecoder().decode("i2nsyA7WeUFbWNoPGq1WRQ=="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[2], Base64.getDecoder().decode("Sqb+1Kk5krPJCqDFWK8JNIpvlaIzq3IYW7RBDGgJPdM="), Base64.getDecoder().decode("u9Pz7CL3w7N5oBEvHoOYgheeBjZzSrvBrLgCxIVizqTJjvJ/TLinhnC99uPZM33RTRmU70U/bj2Wx05e9vBUSwxiHW0aHGfBv8li6CeoiPO32W7V6J6wPmjahxyXrECO7GBRz7eGwAXseHnsE5+mw+xQV6fYLBZHHp7062r/NCrnLwZ4UZDvRLS3q9xPf+NZ"), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[3], Base64.getDecoder().decode("GOu5tZblRyXGwVNfWioh1UQzpg9Ztq9ysZ29Kkn29f8="), Base64.getDecoder().decode("6DjnlMLj1xDfdnmBGRmFIQ=="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[4], Base64.getDecoder().decode("ZUAk0lEk5jh73oNhvK9I7nOW0jvkSrLN8IiDGXXIbA0="), Base64.getDecoder().decode("JpHpSRHKUcaLk7oDZO1K5A=="), null ), - new EciesCryptogram( + new EciesPayload( ephemeralPublicKey[5], Base64.getDecoder().decode("zjISViFih5CrRXt0H3CLsH7j305OQvZ29+DC/yevLfs="), Base64.getDecoder().decode("KcyCAzCmVVeH7xlUZcXLXw=="), @@ -384,18 +471,21 @@ public void testVectorsV3() throws Exception { System.out.println("## ECIES test vector: " + i); - EciesCryptogram requestPayload = encryptedRequest[i]; + EciesPayload requestPayload = encryptedRequest[i]; EciesDecryptor decryptor = new EciesDecryptor((ECPrivateKey) privateKey, sharedInfo1[i], sharedInfo2[i]); - final byte[] decryptedRequest = decryptor.decryptRequest(requestPayload, false); + final byte[] decryptedRequest = decryptor.decrypt(requestPayload); assertArrayEquals(decryptedRequest, request[i]); - EciesCryptogram expectedResponsePayload = encryptedResponse[i]; - final EciesCryptogram responsePayload = decryptor.encryptResponse(response[i]); + EciesEncryptor encryptor = new EciesEncryptor(decryptor.getEnvelopeKey(), sharedInfo2[i]); + EciesPayload expectedResponsePayload = encryptedResponse[i]; + // No additional parameters in protocol V3.0, sharedInfo2 is the same for request/response + EciesParameters parameters = EciesParameters.builder().build(); + final EciesPayload responsePayload = encryptor.encrypt(response[i], parameters); - assertArrayEquals(expectedResponsePayload.getEncryptedData(), responsePayload.getEncryptedData()); - assertArrayEquals(expectedResponsePayload.getMac(), responsePayload.getMac()); + assertArrayEquals(expectedResponsePayload.getCryptogram().getEncryptedData(), responsePayload.getCryptogram().getEncryptedData()); + assertArrayEquals(expectedResponsePayload.getCryptogram().getMac(), responsePayload.getCryptogram().getMac()); } } @@ -411,7 +501,7 @@ public void testVectorsV3_1() throws Exception { // This issue happens when the BigInteger representing the exported private key is negative (first byte is over 127), like in this case. // Newer version of mobile SDK test vector generator should add the 0x0 byte automatically to avoid spending hours over broken private key import... byte[] signByte = new byte[1]; - final PrivateKey privateKey = keyConvertor.convertBytesToPrivateKey(Bytes.concat(signByte, Base64.getDecoder().decode("ALr4uyoOk2OY7bN73vzC0DPZerYLhjbFP/T17sn+MwOM"))); + final PrivateKey privateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(signByte, Base64.getDecoder().decode("ALr4uyoOk2OY7bN73vzC0DPZerYLhjbFP/T17sn+MwOM"))); final PublicKey publicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("A8307eCy64gHWt047YeZzPQ6P8ZbC0djHmDr6JGrgJWx")); byte[][] request = { @@ -446,76 +536,77 @@ public void testVectorsV3_1() throws Exception { "".getBytes(StandardCharsets.UTF_8), "".getBytes(StandardCharsets.UTF_8) }; - EciesCryptogram[] encryptedRequest = { - new EciesCryptogram( + EciesPayload[] encryptedRequest = { + new EciesPayload( Base64.getDecoder().decode("A8sRqx/VLwqoVtCzVfe/qk9c3soQ0Qqn7MQa66JEsooQ"), Base64.getDecoder().decode("eLJ+JPk6Tu+XFqPl7faJtdsz4Xifxj1+1dqm320Yd6c="), Base64.getDecoder().decode("E4rq1Ekje1sCWnXHpMfXUQ=="), Base64.getDecoder().decode("/TlSg4ufI5RHlq+Pg+lo7A==") ), - new EciesCryptogram( + new EciesPayload( Base64.getDecoder().decode("A+DPiM1Ax0Re++L9sIJl/5PRs57Kn9+jWC1vfCC6XV22"), Base64.getDecoder().decode("HXLU+J9ngaL4n1CfzqA2gGeR2/ueR2n6q3d6WYZY8yQ="), Base64.getDecoder().decode("d9ClPpIwQk/bNcsIBFHSxaVyv866slbpBwZ4WGxcSr8="), Base64.getDecoder().decode("CxXmHhyF31GeDhiR7GLSVg==") ), - new EciesCryptogram( + new EciesPayload( Base64.getDecoder().decode("A8fRuHXpaa4DXso8SmgHnMMyscjrVAGq1R1Dj59fqSiL"), Base64.getDecoder().decode("AUApQaTjjuGJeCWP8J/qh9ZvWKvncN91DqPJSrDNM0w="), Base64.getDecoder().decode("rufQnCIBL+n5E3YICTrrQZJVjUoH1PovL5BEPQKDENI="), Base64.getDecoder().decode("+CFO8M60gIwDkh9chdQ98w==") ), - new EciesCryptogram( + new EciesPayload( Base64.getDecoder().decode("AuvQMBfzI40VlUVbq1FxXh42R9oRljMeod9cr72/KUe9"), Base64.getDecoder().decode("aUIOblPJPBvdvU1ODwpgh3tq64wf0acVODSn9GV3zy0="), Base64.getDecoder().decode("uvaq0kSsNHmdipjVeHvqpQ=="), Base64.getDecoder().decode("heRzz/F1sVK/aTIX9LJEIA==") ), - new EciesCryptogram( + new EciesPayload( Base64.getDecoder().decode("AnHy5cXlI3PZBDzgkkYWVdccG9oZvVlAKUAdPmOVXFO5"), Base64.getDecoder().decode("ogs4Cj5qw5BNQ/pULEp4gtR/6S++hW7YR3sOTBuRDHY="), Base64.getDecoder().decode("LS8vSt2r3UupkzhskAebPw=="), Base64.getDecoder().decode("F+zQghpwtuxioHA3jWvFoA==") ), - new EciesCryptogram( + new EciesPayload( Base64.getDecoder().decode("AuCjc3K6XDM+xqnwwmZrlOszg95gHgLzwn56Y98kjlGq"), Base64.getDecoder().decode("fqJZ6k2efCCpuAjBiAYQH3IpAtgO6yt7hFfnpt9N604="), Base64.getDecoder().decode("NiE9TJk0VsXxPb/6zxdGBA=="), Base64.getDecoder().decode("9plefnOayDXfiQrqiIdnww==") - ) }; + ) + }; - EciesCryptogram[] encryptedResponse = { - new EciesCryptogram( + EciesPayload[] encryptedResponse = { + new EciesPayload( null, Base64.getDecoder().decode("u2VgJ0Gfz+L3Nf3QHpnmRidczKNX80Nbv9Cs4Bxn4xo="), Base64.getDecoder().decode("4c28lphPgGJIQ87q0BqGNA=="), null ), - new EciesCryptogram( + new EciesPayload( null, Base64.getDecoder().decode("Mk6p7EqUd6chb68b0nTckNKUZ9NmlHTtTCBGBHqiB0I="), Base64.getDecoder().decode("iZ110EAyTSB8NXVEAaeN8Q=="), null ), - new EciesCryptogram( + new EciesPayload( null, Base64.getDecoder().decode("M7k84CSmhvyKG6paPbMOydJp0o2pjUuc863puRhGJD8="), Base64.getDecoder().decode("SclHObcsY8FUFWhuiKjiW5A7jPbtzEqyYOYVRPX7+fD7ehGHfnZWuQMRF1ErtYP4AzzSLF4BEmCzfKd1LyshxjUBFPHoUvRuQVhWYhn+XqXI4nUFx4hhxKFqPDea3DLqNFOKE46LZFbtatW6pKrnmwH2qiRs+NKMy9oHb0BRBnv61lmCQtrgUtAezQKfR8qf"), null ), - new EciesCryptogram( + new EciesPayload( null, Base64.getDecoder().decode("aUIOblPJPBvdvU1ODwpgh3tq64wf0acVODSn9GV3zy0="), Base64.getDecoder().decode("uvaq0kSsNHmdipjVeHvqpQ=="), null ), - new EciesCryptogram( + new EciesPayload( null, Base64.getDecoder().decode("ogs4Cj5qw5BNQ/pULEp4gtR/6S++hW7YR3sOTBuRDHY="), Base64.getDecoder().decode("LS8vSt2r3UupkzhskAebPw=="), null ), - new EciesCryptogram( + new EciesPayload( null, Base64.getDecoder().decode("mUYcNE2UlkGYe9ox+pMvj94yNqUBpR1hNbWhCTl+cbI="), Base64.getDecoder().decode("WuGjDlStpC9f++4vIpSXSQ=="), @@ -525,19 +616,412 @@ public void testVectorsV3_1() throws Exception { for (int i = 0; i < request.length; i++) { - EciesCryptogram requestPayload = encryptedRequest[i]; + EciesPayload requestPayload = encryptedRequest[i]; EciesDecryptor decryptor = new EciesDecryptor((ECPrivateKey) privateKey, sharedInfo1[i], sharedInfo2[i]); - final byte[] decryptedRequest = decryptor.decryptRequest(requestPayload); + final byte[] decryptedRequest = decryptor.decrypt(requestPayload); assertArrayEquals(decryptedRequest, request[i]); - EciesCryptogram expectedResponsePayload = encryptedResponse[i]; - final EciesCryptogram responsePayload = decryptor.encryptResponse(response[i]); + EciesEncryptor encryptor = new EciesEncryptor(decryptor.getEnvelopeKey(), sharedInfo2[i]); + EciesPayload expectedResponsePayload = encryptedResponse[i]; + EciesParameters parameters = EciesParameters.builder().nonce(encryptedRequest[i].getParameters().getNonce()).build(); + final EciesPayload responsePayload = encryptor.encrypt(response[i], parameters); - assertArrayEquals(expectedResponsePayload.getEncryptedData(), responsePayload.getEncryptedData()); - assertArrayEquals(expectedResponsePayload.getMac(), responsePayload.getMac()); + assertArrayEquals(expectedResponsePayload.getCryptogram().getEncryptedData(), responsePayload.getCryptogram().getEncryptedData()); + assertArrayEquals(expectedResponsePayload.getCryptogram().getMac(), responsePayload.getCryptogram().getMac()); } } + /** + * Test for matching client side generated test vectors for ECIES, for protocol V3.2+ + * + * @throws Exception When test fails. + */ + @Test + public void testVectorsV3_2() throws Exception { + // Paste vectors here (generated by iOS unit tests) + // ---------------------------- + // Shared constants + final PrivateKey masterServerPrivateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(new byte[1], Base64.getDecoder().decode("9yGP2WnAbj+yGAHQyVLYoskZnTu5ohAZgILNbtfd1VA="))); + final PublicKey masterServerPublicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("A+5bma2BQdVwIADKdmIrfjla/Mku/rrqRrivVWdSKExF")); + final PrivateKey serverPrivateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(new byte[1], Base64.getDecoder().decode("USng63b1l4Pf5L8As+Ko2l4zbkSRs3ecF6K5N8WQeMc="))); + final PublicKey serverPublicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("Aoz7sxHbYthkiS3KFJusEaoHkjedL7SgXTKMCzpj0uQE")); + final String activationId = "E9AA5687-4764-437F-8FB4-A40D199C096A"; + final String applicationKey = "srRZLHZIyzMaN64GJ0dxtA=="; + final String applicationSecret = "ZlOlwx+gLWHb7QpuzxWzAw=="; + final byte[] transportKey = Base64.getDecoder().decode("BsKjSjlaKQOUHtYG98aY1w=="); + // associated data + final byte[] adApplicationScope = EciesUtils.deriveAssociatedData(EciesScope.APPLICATION_SCOPE, "3.2", applicationKey, null); + final byte[] adActivationScope = EciesUtils.deriveAssociatedData(EciesScope.ACTIVATION_SCOPE, "3.2", applicationKey, activationId); + // Original request data + final byte[][] plainRequestData = { + Base64.getDecoder().decode("YaU82ZVtxeIGpVVmG6Isi0ONK8L+/39cgtMrNvl0wHU1/5UI6f6Q5wf3lAUQ7Anjsp491JrA/3pUnxgoFeYPgCccU6+km7Nk/IFoGCG+Z9xifMyc0LTKe0QQ"), + Base64.getDecoder().decode("kInBVi3d3ZXnfarJEzq5IPGzi3VoOxnw+wk3zTbNMp/J/SNWqaADMHk6sLE7Ye3jKHXZPpBI9OtOx94="), + Base64.getDecoder().decode("yG+hIfLEwOQ5pZ4SlgxtAl5LNj2DUQ+W+PXv1xKTSGe4lPTOBBj3FXhI0ga88dLLeNNFEmc9aU17RoRBwUkQ3p8="), + Base64.getDecoder().decode("TCZdx+2qrEIEKNhDbwpORPiHshlq4/5bD2/6SFO1DAXk2ulP+BusmZqiVdbu+o69sy0="), + Base64.getDecoder().decode("ddOilL/cN9r+mb9TMCkj/JYpH08PCuc8uUaGgfcHuBuZ8/lxSbU8OwmkzvR8fLxWs6UmwnvhmtHXhZR02JAQirz5Ti8CMRQ="), + Base64.getDecoder().decode("/GlPcZzfoI1ouvwyaeb/zDd41ggEUl/tq8BeMQsrQKKqEOw3QZ+kf4DFNez9OW+VFa/UdUSzhXXlRUezBsqO7TwBXyLj9g=="), + Base64.getDecoder().decode("+HWRrh43RA=="), + Base64.getDecoder().decode("mvHK5iYUncLZeg=="), + Base64.getDecoder().decode("HaeoPYvTzpB81Ld2Xqlxc/0vzBMDJvKiFRoO"), + Base64.getDecoder().decode("56eHMGiTKO+qlf4CvrWkNnJRzz3InPma3tobYsTjHokukBQ9UV8ubJelQZAMxNds/YUbKUfd7dGFO9P/1fzZr+ViIwsY9N8U++sy9Qq0aHp3ZGuG8GQbaze/QU58dlvLTxI="), + Base64.getDecoder().decode("qftvQ69NTYy4Av48aP7Ha2OiUjI2IxwNCwx+D8WbryU1gwq4wKO+dHpeF2xe1mGWBuWg2gTTF7ABeDG7uPVVHjcAwz7q0SmKsT4cMvFEBU1Vu7m81Y5uxXTQWJbxL1T+tk3dWD3PMu9uD2MaCwRoxI5Tbe3Y"), + Base64.getDecoder().decode("V016gDqvBDnLLY9pNOHKHrCcBVtiWLpB/iMnVJyFelzWnFCBNz2aH16kB7VVUV9wzGTzUnVcUv+0qtXt9TB+7ru8Be5cBo3ex1owXFHzY9kK3OFPBB7tG4C8OzTOTBG/a9lHQ8HMNBHGEedJWTU7V4d9TyVE"), + Base64.getDecoder().decode("kvGtv3ETuAP/RlVL6V+WDg8mQTji31elmaqs161/8MIhQuOdJuyBQm4YKKzRUteE7PKJ1jxpCxagwavNjzjHtBHcn1tyvzs1MBCzFHcpwdYp0H6nfsMm1OIvq6d/IOv8OXJNe9JbN/GM7+LI9giT"), + Base64.getDecoder().decode("vFrd2MCfb2lfp0T9cG9IYEXETLvqacSkS29C08YQj38QtCb641ZLTrjAr1CJm8Rv65xMkjTg+UMQ8cFoFTCxxyI3C1Nhht9+J02UG7gwjpZ6+JJp"), + Base64.getDecoder().decode("3qk3FhvZsoJZmyIm7IS6cwUvDo0V2g+5GThMfYlsRBFGS3kGp7gaZauDGxhyWwM8B4A70q0T"), + Base64.getDecoder().decode("Ep+nJI2lx/jzXY76zHXShoQcqZjGxaFvEzasI7dnGEj0UOViwA7hRCLKxNBm7cVtqQ=="), + }; + // Original response data + final byte[][] plainResponseData = { + Base64.getDecoder().decode("sIFW/c6fq/ydsSQq16YqpVadYvsr/4Sb44hPlCMmdTWmYry+srLnN0z75dFw7t7Y2oVlWvbBXFIP4hSMlwb00PW86SDzf1r5CoB5yjM0WpoVc+UopIL+754ovToZKNuWPgMsKBdZXq8="), + Base64.getDecoder().decode("Rb7GAMGHbUM2cpPrxBTiPS3FnK+MwtHla+uE98XHxUn8YA9w"), + Base64.getDecoder().decode("AHFix78/UtKb+Bn7RSxY6tFf7nsI3iyrgoVpH9eHhMsj"), + Base64.getDecoder().decode("8B/4nwcOYVP1+dWqKQRxJZLDqvei8udSJbdv35zB4gbA/OVNwSKB47/YMq/EaEstzCC9majElHOtAHWWEw=="), + Base64.getDecoder().decode("jNpzHRkMJxSLUGRVGRfZthDsyXZQQWQfh21YQW7cXiKmFhOMbIhQ4jGB1k2wN6OpeQpC2ICAwuZHUkbgjejPd9BAhhs+NJuqXy8zNmxEyw=="), + Base64.getDecoder().decode("kd+UXlipU5ZD2zWVq4R1+rcWMEEm5E2MJ9V1MvYOdNwu3mOlLe2BiHTxBdL+wWLi0xuTVg=="), + Base64.getDecoder().decode("JwRK0/bCado7Ia41x44h/r8unR8gulBXIKZwdbU="), + Base64.getDecoder().decode("aquPESglL5zHJyQzdVttpFmyY+UYeyV5NMmAhwfl9L1NkhfZKMA7p6/6nxcyrQ4FkNGSzxnfMeJiDZaTNGqF"), + Base64.getDecoder().decode("j2gautpGEjZaQ3jqyin90WAupL2oWzSpagSk8TwZ9ZkXRBGmCnJVe2+sbl4QcO/KLFglY923/sFrqRMFs2l0YhzoLzwo1JbM9x6qNhdxZS58AazApzcZMOUrAOE66ipKlK2Uhhpf2DPkOjs="), + Base64.getDecoder().decode("M57qIU0guWb+481z5haelp1lnwhxWBBetApaBlN5/wxbyi6hXnfe2tj+uA=="), + Base64.getDecoder().decode("YpgkE/2U2+syftMpdVXr0PO6iWWlaJpunZiBMvjG9M1RFj5lEP+buxOwZpbQScolGI+uepg="), + Base64.getDecoder().decode("UFFtPoFH31w7bNbFW9OKpIr4Na6OVB0xQ5AxcNTZRl7Q0EJyaalldNsLXN2/k2ZVIk9yGa8E8mKKNv4d7n5KyzJ2pc1KIOsPFA=="), + Base64.getDecoder().decode("JiaNh2U4lsXEsizpuHvEErW20zxXCTuQDFlDVf38mrN4PWaksoSFZczVrA=="), + Base64.getDecoder().decode("44jXTodR6OrLzqUQ1TxBnOl7xlgGoGem4x9e0DM/kWXf/u0bVctxwwnhy3e494CfqyxzzZAjialo/zxfbp9jC9iLQ0GiC+arCxULj06i2BQ="), + Base64.getDecoder().decode("1JT9CB2D1J+tb2t8scSC4wucgp5thetv5YIOw+6VNABkrmc+mfCTLuOjh46okkIdKNWpyPyfjQVtcsjeCa/f6/wPGl7/LhTLi5dt2D5YGm8IPorKmeFwTQmEY1B5WuBtpZcVZAa8czo1nVavAtDtFw0XpYcH/Q=="), + Base64.getDecoder().decode("Zs8Za1gQyz3oj+BvGmEGwGqgp0yJfMwETIIyI0B/RXjLFWSHMPiM//gDOTbRPwL+/v6qAcCmHJRAtg8qJ7Crkb1vbXLvGI0="), + }; + // SharedInfo1s + final EciesSharedInfo1[] sharedInfo1 = { + EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, + EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC, + EciesSharedInfo1.ACTIVATION_LAYER_2, + EciesSharedInfo1.UPGRADE, + EciesSharedInfo1.VAULT_UNLOCK, + EciesSharedInfo1.CREATE_TOKEN, + EciesSharedInfo1.CONFIRM_RECOVERY_CODE, + EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, + EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC, + EciesSharedInfo1.ACTIVATION_LAYER_2, + EciesSharedInfo1.UPGRADE, + EciesSharedInfo1.VAULT_UNLOCK, + EciesSharedInfo1.CREATE_TOKEN, + EciesSharedInfo1.CONFIRM_RECOVERY_CODE, + EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, + EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC, + }; + // Scopes + final EciesScope[] scopes = { + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + EciesScope.ACTIVATION_SCOPE, + EciesScope.APPLICATION_SCOPE, + }; + // Requests + final EciesPayload[] encryptedRequest = { + new EciesPayload( + Base64.getDecoder().decode("Aga6rckjHaWqSfeEpdeX8cc4ad/eXzt3LJSkQ8MvUfPp"), + Base64.getDecoder().decode("gJT858v1R7bILVhERyUNN9w+EOT7eLW4iOb8+RFJRsA="), + Base64.getDecoder().decode("o2Tn9uAJVLeB3ic7SJW+yWd++Gt9vaGSBVhOVjDz1i/nxQCzONfc/debc1wY9AYpC7bHXcE3UiO9oFzVkNIs32dGWeDtf7R2yfgrSXAREojR7EeQysUqiYZu+2NZ5ovy"), + Base64.getDecoder().decode("CdSWonYj4tw4YzU+vMO20w=="), + adActivationScope, + 1690381157687L + ), + new EciesPayload( + Base64.getDecoder().decode("Ao/CZ4yaBZv6OhJ8uN5qZDiRw1htXMt0/AH9uWbGdi2H"), + Base64.getDecoder().decode("zAH1tT9J+PdB28ru53w6pRw8ypQVidZ27uzXvdfrWqY="), + Base64.getDecoder().decode("+BKAEnrjI1ObBFjPuyQg54bnEH6G96NFdTiH2z/Fr3dl1m+Mmd4OZwe4x6NOCZBi5Jvk2D5UKIGr5QoPOKv/iw=="), + Base64.getDecoder().decode("2Wr3SG2TsSPtBlwEEdkwbw=="), + adApplicationScope, + 1690381157693L + ), + new EciesPayload( + Base64.getDecoder().decode("AgIEqGGgYM42fN4R0b6MRE5jLvLZ2KjkLav5ezwbJ2Hk"), + Base64.getDecoder().decode("eyB43ItFhdbE5ryfvDi5U6npDVpaoFktjoLf4/TbAWE="), + Base64.getDecoder().decode("kEm6SLHMvPtjqPdFMNV6z7anGQhM1ElBci0ykYG0SDwn2Iau9No0XOJR2HjTLoe0InwLDI8LBeNjVc/H2eK5HSjGbrmqY7N5x/YRIf0jxS8="), + Base64.getDecoder().decode("N3zD1mbhpOEih343OpgWuA=="), + adActivationScope, + 1690381157693L + ), + new EciesPayload( + Base64.getDecoder().decode("Ail7ay0PzTo6MzyQd80HhqUBGZxLeT3YU3zPAXzhCUTm"), + Base64.getDecoder().decode("xwEtrkOJfZOwcWs6sf0mKBDliZ+aJH/r4DTLB0h4W/s="), + Base64.getDecoder().decode("cdSesnMHHb3NyKa/5hzf1GfqyslV2UL4ibp2O0Wlbia9URR4vpyTI8pGpXTA/koPZ2eqRihQR33SiQVFzH9CZA=="), + Base64.getDecoder().decode("E9BZmC366C/IzL+NpnXXpA=="), + adApplicationScope, + 1690381157693L + ), + new EciesPayload( + Base64.getDecoder().decode("ApXedOuRHsMGkyHchNof2oYTj3HpZP0NCO1iUDMIenis"), + Base64.getDecoder().decode("DvsD6sNJTMwCwuBpridlATGfiS8fy1S8HIenCoCi4kk="), + Base64.getDecoder().decode("uqEooezE6vlZe4Zuno7ZMSQ3vtjv8fJsMrBj31YPTVv34ldhnIdUHEpqST9l4+TFWE7EVXAX+Kqv4fSPy4v44z4J9F9SlsIx0f3D//ISrio="), + Base64.getDecoder().decode("uPaWIzzG4kk3HhY5ypsOnA=="), + adActivationScope, + 1690381157694L + ), + new EciesPayload( + Base64.getDecoder().decode("AtMwe/j9aw2QeKueOxwO+hc69sEhThxicVSdhBkIVCZG"), + Base64.getDecoder().decode("1TgcjlR3AvPbxfDYcrFyZnWPKHXDcux/5EPRV6nDe2M="), + Base64.getDecoder().decode("eMd+fBIya7WCXRM+34986ju8fu87VnSIa+rAYHwkNaTMUFD4Q/lE9ZNDXFZXJbvgAdUL8PSi4ZjrWgvNhDJVFqxUk4PFcinfCx6Xdb3KiS8="), + Base64.getDecoder().decode("tmN2cCYuIf3OspGH5RPRFA=="), + adApplicationScope, + 1690381157694L + ), + new EciesPayload( + Base64.getDecoder().decode("AxAlsHW08Ne3tAo6099BQflhs6acnjrVN5DAso++fVIe"), + Base64.getDecoder().decode("7DXuZ2iGyULntZLHUAmdA5GyOCIxw3adS+eGT5k68fg="), + Base64.getDecoder().decode("MwvZ/w7SpBc69EFPAxCNcQ=="), + Base64.getDecoder().decode("EgLkH3I0xDLGKmziLlMqMA=="), + adActivationScope, + 1690381157695L + ), + new EciesPayload( + Base64.getDecoder().decode("Awc2xjkKiB8Tk/sHpeL0sctO5/adEGgSrhBLgPZ9AunX"), + Base64.getDecoder().decode("pmzcZQRbBqoEctgSEELtioe5Wl3uyG5JD/cRolsU8UQ="), + Base64.getDecoder().decode("w41V9kdvu6fNyZY55AwW7Q=="), + Base64.getDecoder().decode("e/+I+GxCg2toxhFgJ2nOBA=="), + adApplicationScope, + 1690381157695L + ), + new EciesPayload( + Base64.getDecoder().decode("A+SG4WqpgLHxHwl9Mao4DhjWydhjY2/4vgkeoiZdOw77"), + Base64.getDecoder().decode("tJlrtsvQzIGUiy5X3Ge4kYg9fPrtYOJCCI/nQndyPo4="), + Base64.getDecoder().decode("hBQLCfRNpHIYbvvVXL2d4N3dhM7iiDMC/itjULciFiw="), + Base64.getDecoder().decode("e34gRQOn20tgUMCOemb3uA=="), + adActivationScope, + 1690381157695L + ), + new EciesPayload( + Base64.getDecoder().decode("AlgQH6ZX8DsncUGWjDCdTFKIR01KGDqN5rXhS2+ItXeJ"), + Base64.getDecoder().decode("ZBWa2wP0vaKKBhT/PxlzhHpKmZj41k0S9Cg9Zcso8k8="), + Base64.getDecoder().decode("kiebHEclX9JMB5A2h+d2UsmZN5rMXvWonVfgjK/iFgo7QShStu0Eb5a0BPKD61JopuhwNQ8unrN+w8l3iwaGEf2+sha9qP2Ru8mF+WcYE0QLfrWywvTIksNEXSfp4aDgnM/BjeoAQjT43+vugfpJhg=="), + Base64.getDecoder().decode("JgBGS9Hf9ZSvrKaMTKhsQQ=="), + adApplicationScope, + 1690381157696L + ), + new EciesPayload( + Base64.getDecoder().decode("A24gBzKPxPtT//uKDEiI160TTGhUB7VjTFtR1BcjLhwn"), + Base64.getDecoder().decode("6OWAjWa3x4INPK0Y2iIYOsEFNcd0iS4tWkno9Jh5fCg="), + Base64.getDecoder().decode("nLQM7CASKSsjIRBwyvDQqFdWvk0Z3WoUtMCntHfM0hp1/dnuWqirsKz9l/c18aqF5wmYPZ4fmsOgiJxyRfVOUAfobcwRSeP1EMylBZ7ssnuIPGxzqpquGU+9tst1dwGhd0i6C9R9Cck7CQ6uncHhhqsqnvP3U/mIVgQRZv6WEvA="), + Base64.getDecoder().decode("wNLR9Bc0EEmziXzTavZhhA=="), + adActivationScope, + 1690381157696L + ), + new EciesPayload( + Base64.getDecoder().decode("A/DfHbntszB3ENFcxtGP3xlfm8LFO0dWFa4ercBICbCG"), + Base64.getDecoder().decode("0Ws+8YioBLrZuhVDocDL0aGAHPHlMJtKerIR4GqRKoc="), + Base64.getDecoder().decode("U25ylC3ssuNQBN+8Qh1iCiByQWCGpIgQqv9Mq5g7vqM6aY0BdLMFYHvZPgwgi/GJudO9jnu+RVm4sLOKBpCRm3m4nedUce8D0adoxVSUj+QYsdRAZi/H77NyqFaO7FnQ05MEA2TL+4EhJjZdAgZfwUhaLGwBz6vWcJ8DWX/GMZM="), + Base64.getDecoder().decode("ch+7PDKAM3gpfu58K8IS4w=="), + adApplicationScope, + 1690381157696L + ), + new EciesPayload( + Base64.getDecoder().decode("A1c7kdqAP5VTQxjLNJZ9kmOdfA+Q8gnXuYvfRy47JxCT"), + Base64.getDecoder().decode("XWswqkxS7XhScchyvwpOqyUIdhdO/wDTI0ctHUdbGbg="), + Base64.getDecoder().decode("hhmAfs/qaE2QXh/I3VXpfsdWe0xYQeCKWGrVGp9t5KlRtd7nEqeTwAbRecziy+v7CmGPBvPYJV2oKDjilhprUHkj44R/wmns8beP3+IFhrOiFytnw4U4FFt/63A3b/5qV0gt/d3L83c8AFkE/5Rvqw=="), + Base64.getDecoder().decode("pA+suKUEvjMvuN8MWBt1vg=="), + adActivationScope, + 1690381157697L + ), + new EciesPayload( + Base64.getDecoder().decode("A+ovm/YQ/VNO2ka9dtSVxMzsgU7yB1Bvf0mTm+Bs8h2a"), + Base64.getDecoder().decode("Qvl+f82XWeglQ9pRLvHQGgM4xUvWo3IehchYfjcH4AQ="), + Base64.getDecoder().decode("khEyzkx5RBy08DF+S2nL7sZ/dtMQjNqnu0dxgx5GfzBeXMFQAV/SkObtZIQQx8dwQRekOAz9yxHoxHhMaT7x/8DKRnKa4zhd6lrNDqGTpV0v6UlLJ3eh0TUCq8LMEPiU"), + Base64.getDecoder().decode("xNBFurMWs9Z0HKmSgY1GTw=="), + adApplicationScope, + 1690381157697L + ), + new EciesPayload( + Base64.getDecoder().decode("Apc/A8KReP/zD211szWyOEQ9Eqdz1LCEmJfO1y1HNly8"), + Base64.getDecoder().decode("7pao1xEpccSF4vLQWEtwuVsxuUb41UonDDUEdzX+7sk="), + Base64.getDecoder().decode("ptjUFFTgI2vYTCKCE4Fd45geQqdZmeP0Pv1Lj1ZD7YaGLi0sepvgxga16p97QuPGk4PN0Y7nXoJPjyxAn8m7pg=="), + Base64.getDecoder().decode("133AnnK6YlOJ7USrytCflg=="), + adActivationScope, + 1690381157698L + ), + new EciesPayload( + Base64.getDecoder().decode("Aw2tX6Yc2ktHzGwo5Lon8kmYS2H/Sl27lRf+KCGkc48U"), + Base64.getDecoder().decode("ZgvNtZljQLhF+JaQcO371aslra/UkYnMDnJcjrr5O8o="), + Base64.getDecoder().decode("oEEBsWR2Vx6BFQWLtHlD4QRJ7qy2GMcUyhub+E6gRhiFy+J8MPyIODbuiZM/LmsesH+bTMBEtIRwPwubRhBN9A=="), + Base64.getDecoder().decode("TSCu+xgUquceX7MqfxS5qA=="), + adApplicationScope, + 1690381157698L + ), + }; + // Responses + final EciesPayload[] encryptedResponse = { + new EciesPayload( + Base64.getDecoder().decode("Aga6rckjHaWqSfeEpdeX8cc4ad/eXzt3LJSkQ8MvUfPp"), + Base64.getDecoder().decode("0vlwPBdEBZ8+FQwdpR7zrVF5TWhqwxoPaMybukAzyVs="), + Base64.getDecoder().decode("D51pr69D8BiRrFZw0QFDpeLlFRH314Eb6ZO186jNqNHVQdvqf8JBX9q+jcx414w60NjaI2Pdv2jUXhzDVqDg/VoRU8F+rw59TiWmOrlmowpUucrgWXPqtD+prSzklgMHoBr44fCck86VmQTZNZg4wQ=="), + Base64.getDecoder().decode("/YRyO5KRJHgRsIyubm4P2g=="), + adActivationScope, + 1690381157692L + ), + new EciesPayload( + Base64.getDecoder().decode("Ao/CZ4yaBZv6OhJ8uN5qZDiRw1htXMt0/AH9uWbGdi2H"), + Base64.getDecoder().decode("dkYh8FTRICbx4Sft8Q/j6J6pjIpPJ/BvgzGySUk2i20="), + Base64.getDecoder().decode("D49D74QuRj/O46Zc3iSsjBul0eQR8PRnUfBlUhBW+lE7g3uSmyIblt4D+N+tY+oy"), + Base64.getDecoder().decode("m+GDRcxWm58sFNBYf1Xq2A=="), + adApplicationScope, + 1690381157693L + ), + new EciesPayload( + Base64.getDecoder().decode("AgIEqGGgYM42fN4R0b6MRE5jLvLZ2KjkLav5ezwbJ2Hk"), + Base64.getDecoder().decode("AWimw6w/8u5lFnrfYxN/+vwgNp2EVdd1SELRw0TQ4JM="), + Base64.getDecoder().decode("ii9ddXP9WPau2DA5Zx98xWFQFbcfHrRKe5DGDqF5BxJrdDWnE6m2pTi0QfKl2FVo"), + Base64.getDecoder().decode("9nx9W1k1RJ1535y9mYK7gA=="), + adActivationScope, + 1690381157693L + ), + new EciesPayload( + Base64.getDecoder().decode("Ail7ay0PzTo6MzyQd80HhqUBGZxLeT3YU3zPAXzhCUTm"), + Base64.getDecoder().decode("TX438XtBRcd9TZuo7FUWI0fciA87zfF70z4sF3u+tNU="), + Base64.getDecoder().decode("YKUtWjzFA4oKPaa1k8Uq+1YE/OdQ2BzihjhxjCVehJRHzdfhQOF0JiT2weSM+J9hosX4RAWgvhdVT6t8c8sMMg=="), + Base64.getDecoder().decode("mDAaOxKI3/u5dS6ZmiiAuQ=="), + adApplicationScope, + 1690381157694L + ), + new EciesPayload( + Base64.getDecoder().decode("ApXedOuRHsMGkyHchNof2oYTj3HpZP0NCO1iUDMIenis"), + Base64.getDecoder().decode("2qpYb93ULL00grSXmH3r2M0DpyhREbpKs+mFQbcE00A="), + Base64.getDecoder().decode("MIDViK4JgnIV3dGMNGJDOaCEbDslmh5MUP/VJJMHGDPPzaYkhXtzsixsNWPQr9HYYCF7jCMFbUtF7D+n3wGnDn2m+HIaynrfBAfN9WUR40c="), + Base64.getDecoder().decode("omxDzKPpElTD8eXM7CK9qA=="), + adActivationScope, + 1690381157694L + ), + new EciesPayload( + Base64.getDecoder().decode("AtMwe/j9aw2QeKueOxwO+hc69sEhThxicVSdhBkIVCZG"), + Base64.getDecoder().decode("iLtBG1OEJaqed9gzJTnAkzUDRKKf7mVtWkm/cMg4cgo="), + Base64.getDecoder().decode("TnRTeNVtY9nwTaT/S5+egPuHmTAICYG+6r8HaO2XnvClBFv3yBVhWDOdsVisvTFCfSWpZ17VN+MjKBpSxMatlg=="), + Base64.getDecoder().decode("X8Ofnn1xRt+xfLiHWBef7g=="), + adApplicationScope, + 1690381157694L + ), + new EciesPayload( + Base64.getDecoder().decode("AxAlsHW08Ne3tAo6099BQflhs6acnjrVN5DAso++fVIe"), + Base64.getDecoder().decode("6th5DV26C41vOFya0cRzHRtqG56TYV+q//GdmryOXu0="), + Base64.getDecoder().decode("up57gzrplQZ87M/UpCZHu7IRa13ARV4YoTBNc8QLFTU="), + Base64.getDecoder().decode("VsV+/lmLYRTSmCA+RerYxA=="), + adActivationScope, + 1690381157695L + ), + new EciesPayload( + Base64.getDecoder().decode("Awc2xjkKiB8Tk/sHpeL0sctO5/adEGgSrhBLgPZ9AunX"), + Base64.getDecoder().decode("lr9IH4RHGM8VhIgKswRmAXiHkuJNVhFV8VHfMUR1sG4="), + Base64.getDecoder().decode("CyOpIAj+mCpuL4281GBt4XBqDiminRJgMqZgYBMaoIbgbbbtOo6NcdGiPePM5gnpG2vozYZ0Gkkx15ULEG9ezw=="), + Base64.getDecoder().decode("S/6Xk+J+ZKHsjva/W+QYNg=="), + adApplicationScope, + 1690381157695L + ), + new EciesPayload( + Base64.getDecoder().decode("A+SG4WqpgLHxHwl9Mao4DhjWydhjY2/4vgkeoiZdOw77"), + Base64.getDecoder().decode("8/+zgaSyjPRHYHeOt+I6EAdN4TH5TH1pD63S3GFeGqE="), + Base64.getDecoder().decode("+3BnOO+Q9XEoGHvVjZs2bx0NQlS2wUnYL/4974NNApKlfj+2f+wd/BBuaANi65Tla4X7fDa5VUzgGFBxQDsBGUzMuZ+EmXi2Q0z3KoszzGdjLa/3hXe+d8Qr/2tg7MT2aSUb1OQ/WUMeSJsneBp5xw=="), + Base64.getDecoder().decode("cuBUVF83eioHwlhZtpdVqw=="), + adActivationScope, + 1690381157696L + ), + new EciesPayload( + Base64.getDecoder().decode("AlgQH6ZX8DsncUGWjDCdTFKIR01KGDqN5rXhS2+ItXeJ"), + Base64.getDecoder().decode("N7RCD+eXzg1FJtr8GP5o9ODByrI9ColHWIg1nnQNtxw="), + Base64.getDecoder().decode("rQyVNqz1pgj3dDxEioc42/SMiPeZVc0nqOb49mmUSJIqZOE9ECey9r5e91bdh97l"), + Base64.getDecoder().decode("98TOmmf6o1Xxyu33s1E+oA=="), + adApplicationScope, + 1690381157696L + ), + new EciesPayload( + Base64.getDecoder().decode("A24gBzKPxPtT//uKDEiI160TTGhUB7VjTFtR1BcjLhwn"), + Base64.getDecoder().decode("A313Gx/4OVSBm9CejqCY8raFSL7z6v60wI5tcOU+GdY="), + Base64.getDecoder().decode("lmhaCH1CyAw8eM3gmsNrWj5fu6YP5gKuHYcIuJkTBdisJLoHdxass7Voahn3xpVbVHQye8p3/6BkUrsEH5ma+g=="), + Base64.getDecoder().decode("zH605BoTKrMecRngM65HyA=="), + adActivationScope, + 1690381157696L + ), + new EciesPayload( + Base64.getDecoder().decode("A/DfHbntszB3ENFcxtGP3xlfm8LFO0dWFa4ercBICbCG"), + Base64.getDecoder().decode("AyH27WE+M94hp7rIcZlg+1+xwsaYFNPxB6Z4tnthUJk="), + Base64.getDecoder().decode("44DwIz0Jtbobb+GTWj2dZGmDXaUyVxhJMx52+RZwXdZmrx+V+S4CZtrwfXWWzfm0HpTbBySkXLBpA1gBDZA+M8TRJ1xtYk6vRQYKWf7Udck="), + Base64.getDecoder().decode("HhQrIBZoryQaefXxJW+6DA=="), + adApplicationScope, + 1690381157697L + ), + new EciesPayload( + Base64.getDecoder().decode("A1c7kdqAP5VTQxjLNJZ9kmOdfA+Q8gnXuYvfRy47JxCT"), + Base64.getDecoder().decode("I4gJ2UfOe/REFYwFdN3xiiaolzQ1BdbPXIw8ccm1PB4="), + Base64.getDecoder().decode("x+qPTNRzRUBjKLdb1G+6vPWVGNRd3R0fNlqLty84DlrQUe3JCJrsJjNQ5M3Z9ssL"), + Base64.getDecoder().decode("NhYl5OZYknWpqn+VTtPlvA=="), + adActivationScope, + 1690381157697L + ), + new EciesPayload( + Base64.getDecoder().decode("A+ovm/YQ/VNO2ka9dtSVxMzsgU7yB1Bvf0mTm+Bs8h2a"), + Base64.getDecoder().decode("9gckWLgv8P0aYxhqxr+HIEboYxrqcjDtR7cHDAn+zUc="), + Base64.getDecoder().decode("pX7C4VFCr1KwYbkYKd+NOmuXcp4vxWTBdN8dOqbt7aJtWHC1DvmQdFRAgfIvMdV7bM9upEeSRfzH861PGTO43heHgoQT1QcDdY3tE1Tz8XXAm+7omTJlD2gPynfJQbNu"), + Base64.getDecoder().decode("Zjpn840E4Re6aKXwB8h5fQ=="), + adApplicationScope, + 1690381157697L + ), + new EciesPayload( + Base64.getDecoder().decode("Apc/A8KReP/zD211szWyOEQ9Eqdz1LCEmJfO1y1HNly8"), + Base64.getDecoder().decode("MBTtW5Jewq87G2HzRTfFrKdPoAsEtVbk74if9EXbHNU="), + Base64.getDecoder().decode("uwD7wRrNrPlatTZjyfx/nnFvSY4J9YjqCUr0apJxqpX5BYSXq9hSihgEFEr2z6oAz7WIe9ckzk0NFt1inZbVtd1sCV38daTjYYYNp+kvHibv14gRJRIcW2yARBoOsBeEpq4kBBYnURjasSoo+Ls3iFaPgHOliV6M38AaeZ6W6+c="), + Base64.getDecoder().decode("Oic8pDcxzN7z5pAX9cEMmg=="), + adActivationScope, + 1690381157698L + ), + new EciesPayload( + Base64.getDecoder().decode("Aw2tX6Yc2ktHzGwo5Lon8kmYS2H/Sl27lRf+KCGkc48U"), + Base64.getDecoder().decode("WJpuoz5IPECiyJKqmLSmLt76ATna0q4iErfl0gRlpuw="), + Base64.getDecoder().decode("trDHfV6d5pea9+/y3gqrAsJ0f6Lk2MJLn43HZjzBTc/09Gpv+fErWtvqgW4oxtFywU+SDcPBYI/EveTLF/XsuXgsb4LjAolVleQCstDvndI="), + Base64.getDecoder().decode("cJ0D3LMsXxEQ5xhhlbCeHA=="), + adApplicationScope, + 1690381157698L + ), + }; + + // ---------------------------- + // Start of test + + for (int i = 0; i < encryptedRequest.length; i++) { + // Prepare values for this batch + final EciesPayload request = encryptedRequest[i]; + final EciesPayload response = encryptedResponse[i]; + final EciesScope scope = scopes[i]; + final EciesSharedInfo1 sh1 = sharedInfo1[i]; + final byte[] appSecret = applicationSecret.getBytes(StandardCharsets.UTF_8); + // Construct decryptor + final EciesDecryptor decryptor; + if (scope == EciesScope.APPLICATION_SCOPE) { + decryptor = eciesFactory.getEciesDecryptorForApplication((ECPrivateKey) masterServerPrivateKey, appSecret, sh1, request.getParameters(), request.getCryptogram().getEphemeralPublicKey()); + } else { + decryptor = eciesFactory.getEciesDecryptorForActivation((ECPrivateKey) serverPrivateKey, appSecret, transportKey, sh1, request.getParameters(), request.getCryptogram().getEphemeralPublicKey()); + } + // Decrypt request and compare to the expected value. + final byte[] decryptedRequestData = decryptor.decrypt(request); + assertArrayEquals(plainRequestData[i], decryptedRequestData); + // Construct encryptor from the decryptor + final EciesEncryptor encryptor = eciesFactory.getEciesEncryptor(scope, decryptor.getEnvelopeKey(), appSecret, transportKey, response.getParameters()); + // Encrypt the response. We're using already set parameters. + final EciesPayload encryptedPayload = encryptor.encrypt(plainResponseData[i], response.getParameters()); + // Compare values to expected + assertArrayEquals(response.getCryptogram().getEncryptedData(), encryptedPayload.getCryptogram().getEncryptedData()); + assertArrayEquals(response.getCryptogram().getMac(), encryptedPayload.getCryptogram().getMac()); + assertArrayEquals(response.getParameters().getNonce(), encryptedPayload.getParameters().getNonce()); + assertEquals(response.getParameters().getTimestamp(), encryptedPayload.getParameters().getTimestamp()); + } + } } From f453523920c8a583b2060253fd7455b62e8216ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 05:46:40 +0000 Subject: [PATCH 07/20] Bump org.bouncycastle:bcprov-jdk18on from 1.75 to 1.76 Bumps [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) from 1.75 to 1.76. - [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html) - [Commits](https://github.com/bcgit/bc-java/commits) --- updated-dependencies: - dependency-name: org.bouncycastle:bcprov-jdk18on dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- powerauth-java-crypto/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerauth-java-crypto/pom.xml b/powerauth-java-crypto/pom.xml index c627f6962..4feb80e0e 100644 --- a/powerauth-java-crypto/pom.xml +++ b/powerauth-java-crypto/pom.xml @@ -63,7 +63,7 @@ org.bouncycastle bcprov-jdk18on - 1.75 + 1.76 provided From 83ba50572eacf0429387d86d313f60edf6ce88ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20=C4=8Eurech?= <1719814+hvge@users.noreply.github.com> Date: Mon, 7 Aug 2023 09:21:46 +0200 Subject: [PATCH 08/20] Fix #494: Remove remaining code related to V2 protocol (#495) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix 494: Remove remaining code related to V2 protocol * Update powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java --------- Co-authored-by: Luboš Račanský --- .../activation/PowerAuthClientActivation.java | 111 ------ .../ClientNonPersonalizedEncryptor.java | 83 ---- .../client/vault/PowerAuthClientVault.java | 27 -- .../encryptor/NonPersonalizedEncryptor.java | 230 ----------- .../lib/encryptor/model/EncryptedMessage.java | 137 ------- .../NonPersonalizedEncryptedMessage.java | 52 --- .../model/PersonalizedEncryptedMessage.java | 36 -- .../lib/enums/PowerAuthSignatureFormat.java | 2 - .../activation/PowerAuthServerActivation.java | 143 ------- .../server/vault/PowerAuthServerVault.java | 30 -- .../activation/PowerAuthActivationTest.java | 158 -------- .../lib/util/GenerateVectorDataTest.java | 376 ------------------ .../PowerAuthSignatureFormatTest.java | 2 - .../signature/PowerAuthSignatureTest.java | 134 ------- .../powerauth/crypto/vault/VaultTest.java | 66 --- .../http/validator/ValueTypeValidator.java | 4 +- 16 files changed, 1 insertion(+), 1590 deletions(-) delete mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/encryptor/ClientNonPersonalizedEncryptor.java delete mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/NonPersonalizedEncryptor.java delete mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedMessage.java delete mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/NonPersonalizedEncryptedMessage.java delete mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/PersonalizedEncryptedMessage.java diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java index 7c6f3828e..2b97c1f47 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java @@ -84,64 +84,6 @@ public byte[] generateActivationNonce() throws CryptoProviderException { return keyGenerator.generateRandomBytes(16); } - /** - * Method computes the signature of the activation data in order to prove that a correct - * client application is attempting to complete the activation. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * This method is obsolete for PowerAuth protocol version 3.0 and will be deprecated in a future release. - * - * @param activationIdShort Short activation ID. - * @param activationNonce Client activation nonce. - * @param encryptedDevicePublicKey Encrypted device public key. - * @param applicationKey Application identifier. - * @param applicationSecret Application secret. - * @return Signature bytes. - * @throws GenericCryptoException In case hash computation fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public byte[] computeApplicationSignature(String activationIdShort, byte[] activationNonce, byte[] encryptedDevicePublicKey, byte[] applicationKey, byte[] applicationSecret) throws GenericCryptoException, CryptoProviderException { - String signatureBaseString = activationIdShort + "&" - + Base64.getEncoder().encodeToString(activationNonce) + "&" - + Base64.getEncoder().encodeToString(encryptedDevicePublicKey) + "&" - + Base64.getEncoder().encodeToString(applicationKey); - return new HMACHashUtilities().hash(applicationSecret, signatureBaseString.getBytes(StandardCharsets.UTF_8)); - } - - /** - * Encrypt a device public key using the activation OTP. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param devicePublicKey Device public key to be encrypted. - * @param clientEphemeralPrivateKey Ephemeral private key. - * @param masterPublicKey Master public key. - * @param activationOTP Activation OTP value. - * @param activationIdShort Short activation ID. - * @param activationNonce Activation nonce, used as an initialization vector for AES encryption. - * @return An encrypted device public key. - * @throws InvalidKeyException In case provided public key is invalid. - * @throws GenericCryptoException In case encryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public byte[] encryptDevicePublicKey(PublicKey devicePublicKey, PrivateKey clientEphemeralPrivateKey, PublicKey masterPublicKey, String activationOTP, String activationIdShort, byte[] activationNonce) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - byte[] activationIdShortBytes = activationIdShort.getBytes(StandardCharsets.UTF_8); - SecretKey otpBasedSymmetricKey = keyGenerator.deriveSecretKeyFromPassword(activationOTP, activationIdShortBytes); - byte[] devicePubKeyBytes = keyConvertor.convertPublicKeyToBytes(devicePublicKey); - SecretKey ephemeralKey = keyGenerator.computeSharedKey(clientEphemeralPrivateKey, masterPublicKey); - AESEncryptionUtils aes = new AESEncryptionUtils(); - byte[] tmpData = aes.encrypt(devicePubKeyBytes, activationNonce, otpBasedSymmetricKey); - return aes.encrypt(tmpData, activationNonce, ephemeralKey); - } /** * Verify signature of the encrypted activation ID and server public key @@ -164,59 +106,6 @@ public boolean verifyServerDataSignature(String activationId, byte[] C_serverPub return signatureUtils.validateECDSASignature(result, signature, masterPublicKey); } - /** - * Decrypt server public key using activation OTP and device private key. As a technical component for public key encryption, an ephemeral public key is - * used (in order to deduce ephemeral symmetric key using ECDH). - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param C_serverPublicKey Encrypted server public key. - * @param devicePrivateKey Device private key. - * @param ephemeralPublicKey Ephemeral public key. - * @param activationOTP Activation OTP value. - * @param activationIdShort Short activation OTP. - * @param activationNonce Activation nonce, used as an initialization vector for AES encryption. - * @return Decrypted server public key. - * @throws InvalidKeyException In case some of the provided keys is invalid. - * @throws InvalidKeySpecException In case key spec is invalid. - * @throws GenericCryptoException In case decryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public PublicKey decryptServerPublicKey(byte[] C_serverPublicKey, PrivateKey devicePrivateKey, PublicKey ephemeralPublicKey, String activationOTP, String activationIdShort, byte[] activationNonce) throws InvalidKeyException, InvalidKeySpecException, GenericCryptoException, CryptoProviderException { - SecretKey ephemeralSymmetricKey = keyGenerator.computeSharedKey(devicePrivateKey, ephemeralPublicKey); - - byte[] activationIdShortBytes = activationIdShort.getBytes(StandardCharsets.UTF_8); - SecretKey otpBasedSymmetricKey = keyGenerator.deriveSecretKeyFromPassword(activationOTP, activationIdShortBytes); - - AESEncryptionUtils aes = new AESEncryptionUtils(); - byte[] decryptedTMP = aes.decrypt(C_serverPublicKey, activationNonce, ephemeralSymmetricKey); - byte[] decryptedServerPublicKeyBytes = aes.decrypt(decryptedTMP, activationNonce, otpBasedSymmetricKey); - - return keyConvertor.convertBytesToPublicKey(decryptedServerPublicKeyBytes); - } - - /** - * Compute a fingerprint for the version 2 activation. The fingerprint can be used for visual validation of exchanged device public key. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param devicePublicKey Device public key. - * @return Fingerprint of the public key. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - * @throws GenericCryptoException In case fingerprint could not be calculated. - */ - public String computeActivationFingerprint(PublicKey devicePublicKey) throws GenericCryptoException, CryptoProviderException { - return computeActivationFingerprint(devicePublicKey, null, null, ActivationVersion.VERSION_2); - } - /** * Compute a fingerprint for the version 3 activation. The fingerprint can be used for visual validation of exchanged device public key. * diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/encryptor/ClientNonPersonalizedEncryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/encryptor/ClientNonPersonalizedEncryptor.java deleted file mode 100644 index f48ddad80..000000000 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/encryptor/ClientNonPersonalizedEncryptor.java +++ /dev/null @@ -1,83 +0,0 @@ -package io.getlime.security.powerauth.crypto.client.encryptor; - -import io.getlime.security.powerauth.crypto.lib.encryptor.NonPersonalizedEncryptor; -import io.getlime.security.powerauth.crypto.lib.encryptor.model.NonPersonalizedEncryptedMessage; -import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; -import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; -import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; -import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; - -import javax.crypto.SecretKey; -import java.security.InvalidKeyException; -import java.security.KeyPair; -import java.security.PublicKey; - -/** - * Class that simulates client side encryption steps. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * Warning: this class will be removed in the future, use ECIES encryption for PowerAuth protocol version 3.0 or higher. - * - * @author Petr Dvorak, petr@wultra.com - */ -public class ClientNonPersonalizedEncryptor { - - private final NonPersonalizedEncryptor encryptor; - - private final KeyConvertor keyConvertor = new KeyConvertor(); - - /** - * Create a new client side non-personalized encryptor using provided app key (for reference in encrypted object) - * and master public key. - * - * @param appKey App key. - * @param masterPublicKey Master Server Public Key. - * @throws InvalidKeyException In case an invalid key is provided. - * @throws GenericCryptoException In case of any other cryptography error. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - @SuppressWarnings("deprecation") - public ClientNonPersonalizedEncryptor(byte[] appKey, PublicKey masterPublicKey) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - - final KeyGenerator generator = new KeyGenerator(); - byte[] sessionIndex = generator.generateRandomBytes(16); - KeyPair ephemeralKeyPair = generator.generateKeyPair(); - final SecretKey ephemeralSecretKey = generator.computeSharedKey(ephemeralKeyPair.getPrivate(), masterPublicKey); - final SecretKey sessionRelatedSecretKey = generator.deriveSecretKeyHmacLegacy(ephemeralSecretKey, sessionIndex); - - final byte[] sessionRelatedSecretKeyBytes = keyConvertor.convertSharedSecretKeyToBytes(sessionRelatedSecretKey); - final byte[] ephemeralPublicKeyBytes = keyConvertor.convertPublicKeyToBytes(ephemeralKeyPair.getPublic()); - - this.encryptor = new NonPersonalizedEncryptor(appKey, sessionRelatedSecretKeyBytes, sessionIndex, ephemeralPublicKeyBytes); - } - - /** - * Encrypt data using current encryptor (non-personalized encryption). - * @param data Original data. - * @return Encrypted payload. - * @throws InvalidKeyException In case encryption key is invalid. - * @throws GenericCryptoException In case encryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public NonPersonalizedEncryptedMessage encrypt(byte[] data) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - return this.encryptor.encrypt(data); - } - - /** - * Decrypt original data from encrypted using current encryptor (non-personalized encryption). - * @param message Encrypted payload message. - * @return Original data. - * @throws InvalidKeyException In case decryption key is invalid. - * @throws GenericCryptoException In case decryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public byte[] decrypt(NonPersonalizedEncryptedMessage message) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - return this.encryptor.decrypt(message); - } - -} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java index 6d739d4c8..4e036ef00 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java @@ -37,33 +37,6 @@ public class PowerAuthClientVault { private final KeyConvertor keyConvertor = new KeyConvertor(); - /** - * Decrypts the vault encryption key KEY_ENCRYPTION_VAULT using a transport key - * KEY_ENCRYPTION_VAULT_TRANSPORT. - *

- * PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param cVaultEncryptionKey Encrypted vault encryption key KEY_ENCRYPTION_VAULT. - * @param masterTransportKey Master transport key used for deriving a transport key, used for decrypting vault encryption key. - * @param ctr Counter data used for key derivation. - * @return Original KEY_ENCRYPTION_VAULT - * @throws InvalidKeyException In case invalid key is provided. - * @throws GenericCryptoException In case decryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public SecretKey decryptVaultEncryptionKey(byte[] cVaultEncryptionKey, SecretKey masterTransportKey, byte[] ctr) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - AESEncryptionUtils aes = new AESEncryptionUtils(); - KeyGenerator keyGen = new KeyGenerator(); - SecretKey vaultEncryptionTransportKey = keyGen.deriveSecretKey(masterTransportKey, ctr); - byte[] zeroBytes = new byte[16]; - byte[] keyBytes = aes.decrypt(cVaultEncryptionKey, zeroBytes, vaultEncryptionTransportKey); - return keyConvertor.convertBytesToSharedSecretKey(keyBytes); - } - /** * Decrypts the vault encryption key KEY_ENCRYPTION_VAULT using KEY_TRANSPORT. * diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/NonPersonalizedEncryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/NonPersonalizedEncryptor.java deleted file mode 100644 index 66f467e00..000000000 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/NonPersonalizedEncryptor.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * PowerAuth Crypto Library - * Copyright 2018 Wultra s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.getlime.security.powerauth.crypto.lib.encryptor; - -import io.getlime.security.powerauth.crypto.lib.encryptor.model.NonPersonalizedEncryptedMessage; -import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; -import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; -import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; -import io.getlime.security.powerauth.crypto.lib.util.AESEncryptionUtils; -import io.getlime.security.powerauth.crypto.lib.util.HMACHashUtilities; -import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; - -import javax.crypto.SecretKey; -import java.security.InvalidKeyException; -import java.util.Arrays; - -/** - * Class responsible for encrypting / decrypting data using non-personalized encryption - * as documented in PowerAuth 2.0 E2EE documentation. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * Warning: this class will be removed in the future, use ECIES encryption for PowerAuth protocol version 3.0 or higher. - * - * @author Petr Dvorak, petr@wultra.com - */ -public class NonPersonalizedEncryptor { - - private static final int MAX_ATTEMPT_COUNT = 1000; - - private byte[] applicationKey; - private byte[] sessionIndex; - private byte[] sessionRelatedSecretKey; - private byte[] ephemeralPublicKey; - - // Create new working objects - private final AESEncryptionUtils aes = new AESEncryptionUtils(); - private final KeyGenerator generator = new KeyGenerator(); - private final HMACHashUtilities hmac = new HMACHashUtilities(); - private final KeyConvertor keyConvertor = new KeyConvertor(); - - /** - * Create a new encryptor using provided applicationKey, application master server public key and session index. - * @param applicationKey Application key. - * @param sessionRelatedSecretKey Session related derived key. - * @param sessionIndex Session index used for key derivation. - * @param ephemeralPublicKeyString Ephemeral public key - */ - public NonPersonalizedEncryptor(byte[] applicationKey, byte[] sessionRelatedSecretKey, byte[] sessionIndex, byte[] ephemeralPublicKeyString) { - this.applicationKey = applicationKey; - this.sessionIndex = sessionIndex; - this.sessionRelatedSecretKey = sessionRelatedSecretKey; - this.ephemeralPublicKey = ephemeralPublicKeyString; - } - - /** - * Encrypt original data using components in this encryptor. - * @param originalData Data to be encrypted. - * @return Message object with encrypted data. - * @throws InvalidKeyException In case encryption key is invalid. - * @throws GenericCryptoException In case encryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - @SuppressWarnings("deprecation") - public NonPersonalizedEncryptedMessage encrypt(byte[] originalData) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - byte[] adHocIndex = generator.generateRandomBytes(16); - byte[] macIndex = generator.generateRandomBytes(16); - - // make sure the indexes are different - int attemptCount = 0; - while (Arrays.equals(adHocIndex, macIndex)) { - macIndex = generator.generateRandomBytes(16); - if (attemptCount < MAX_ATTEMPT_COUNT) { // make sure that there is no issue with random data generator - attemptCount++; - } else { - throw new GenericCryptoException("Random byte array generation failed"); - } - } - - byte[] nonce = generator.generateRandomBytes(16); - - SecretKey sessionKey = keyConvertor.convertBytesToSharedSecretKey(this.sessionRelatedSecretKey); - SecretKey encryptionKey = generator.deriveSecretKeyHmacLegacy(sessionKey, adHocIndex); - SecretKey macKey = generator.deriveSecretKeyHmacLegacy(sessionKey, macIndex); - - byte[] encryptedData = aes.encrypt(originalData, nonce, encryptionKey); - byte[] mac = hmac.hash(macKey, encryptedData); - - NonPersonalizedEncryptedMessage message = new NonPersonalizedEncryptedMessage(); - message.setApplicationKey(applicationKey); - message.setEphemeralPublicKey(ephemeralPublicKey); - message.setSessionIndex(sessionIndex); - message.setAdHocIndex(adHocIndex); - message.setMacIndex(macIndex); - message.setNonce(nonce); - message.setEncryptedData(encryptedData); - message.setMac(mac); - - return message; - } - - /** - * Decrypt the encrypted message from the message payload using this encryptor. - * @param message Message object to be decrypted. - * @return Original decrypted bytes. - * @throws InvalidKeyException In case decryption key is invalid. - * @throws GenericCryptoException In case decryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - @SuppressWarnings("deprecation") - public byte[] decrypt(NonPersonalizedEncryptedMessage message) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - - byte[] adHocIndex = message.getAdHocIndex(); - byte[] macIndex = message.getMacIndex(); - byte[] nonce = message.getNonce(); - - // Validate inputs - if (adHocIndex == null || macIndex == null || nonce == null) { - throw new GenericCryptoException("Invalid message"); - } - if (adHocIndex.length != 16 || macIndex.length != 16) { - throw new GenericCryptoException("Invalid index"); - } - if (nonce.length != 16) { - throw new GenericCryptoException("Invalid nonce"); - } - // make sure the indexes are different - if (Arrays.equals(adHocIndex, macIndex)) { - throw new GenericCryptoException("Invalid index"); - } - - SecretKey sessionKey = keyConvertor.convertBytesToSharedSecretKey(this.sessionRelatedSecretKey); - SecretKey encryptionKey = generator.deriveSecretKeyHmacLegacy(sessionKey, adHocIndex); - SecretKey macKey = generator.deriveSecretKeyHmacLegacy(sessionKey, macIndex); - - byte[] encryptedData = message.getEncryptedData(); - - byte[] macExpected = hmac.hash(macKey, encryptedData); - byte[] mac = message.getMac(); - - // make sure the macs are the same - if (!Arrays.equals(mac, macExpected)) { - throw new GenericCryptoException("Invalid mac"); - } - - return aes.decrypt(encryptedData, nonce, encryptionKey); - } - - /** - * Get application key. - * @return Application key. - */ - public byte[] getApplicationKey() { - return applicationKey; - } - - /** - * Set application key. - * @param applicationKey Application key. - */ - public void setApplicationKey(byte[] applicationKey) { - this.applicationKey = applicationKey; - } - - /** - * Get session index. - * @return Session index. - */ - public byte[] getSessionIndex() { - return sessionIndex; - } - - /** - * Set session index. - * @param sessionIndex Session index. - */ - public void setSessionIndex(byte[] sessionIndex) { - this.sessionIndex = sessionIndex; - } - - /** - * Get ephemeral public key. - * @return Ephemeral public key. - */ - public byte[] getEphemeralPublicKey() { - return ephemeralPublicKey; - } - - /** - * Set ephemeral public key. - * @param ephemeralPublicKey Ephemeral public key. - */ - public void setEphemeralPublicKey(byte[] ephemeralPublicKey) { - this.ephemeralPublicKey = ephemeralPublicKey; - } - - /** - * Get session related secret key. - * @return Session related secret key. - */ - public byte[] getSessionRelatedSecretKey() { - return sessionRelatedSecretKey; - } - - /** - * Set session related secret key. - * @param sessionRelatedSecretKey Session related secret key. - */ - public void setSessionRelatedSecretKey(byte[] sessionRelatedSecretKey) { - this.sessionRelatedSecretKey = sessionRelatedSecretKey; - } -} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedMessage.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedMessage.java deleted file mode 100644 index 4ac5c6725..000000000 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedMessage.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * PowerAuth Crypto Library - * Copyright 2018 Wultra s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.getlime.security.powerauth.crypto.lib.encryptor.model; - -/** - * Class representing a base encrypted message, with attributes that are - * required for PowerAuth 2.0 E2EE to work. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * Warning: this class will be removed in the future, use ECIES encryption for PowerAuth protocol version 3.0 or higher. - * - * @author Petr Dvorak, petr@wultra.com - */ -public class EncryptedMessage { - - private byte[] sessionIndex; - private byte[] adHocIndex; - private byte[] macIndex; - private byte[] nonce; - private byte[] encryptedData; - private byte[] mac; - - /** - * Get session index. - * @return Session index. - */ - public byte[] getSessionIndex() { - return sessionIndex; - } - - /** - * Set session index. - * @param sessionIndex Session index. - */ - public void setSessionIndex(byte[] sessionIndex) { - this.sessionIndex = sessionIndex; - } - - /** - * Get ad-hoc index. - * @return Ad-hoc index. - */ - public byte[] getAdHocIndex() { - return adHocIndex; - } - - /** - * Set ad-hoc index. - * @param adHocIndex Ad-hoc index. - */ - public void setAdHocIndex(byte[] adHocIndex) { - this.adHocIndex = adHocIndex; - } - - /** - * Get MAC index. - * @return MAC index. - */ - public byte[] getMacIndex() { - return macIndex; - } - - /** - * Set MAC index. - * @param macIndex MAC index. - */ - public void setMacIndex(byte[] macIndex) { - this.macIndex = macIndex; - } - - /** - * Get nonce. - * @return Nonce. - */ - public byte[] getNonce() { - return nonce; - } - - /** - * Set nonce. - * @param nonce Nonce. - */ - public void setNonce(byte[] nonce) { - this.nonce = nonce; - } - - /** - * Get encrypted data. - * @return Encrypted data. - */ - public byte[] getEncryptedData() { - return encryptedData; - } - - /** - * Set encrypted data. - * @param encryptedData Encrypted data. - */ - public void setEncryptedData(byte[] encryptedData) { - this.encryptedData = encryptedData; - } - - /** - * Get MAC. - * @return MAC. - */ - public byte[] getMac() { - return mac; - } - - /** - * Set MAC. - * @param mac MAC. - */ - public void setMac(byte[] mac) { - this.mac = mac; - } -} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/NonPersonalizedEncryptedMessage.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/NonPersonalizedEncryptedMessage.java deleted file mode 100644 index 936fd0f4a..000000000 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/NonPersonalizedEncryptedMessage.java +++ /dev/null @@ -1,52 +0,0 @@ -package io.getlime.security.powerauth.crypto.lib.encryptor.model; - -/** - * Class representing a non-personalized E2EE encrypted message. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * Warning: this class will be removed in the future, use ECIES encryption for PowerAuth protocol version 3.0 or higher. - * - * @author Petr Dvorak, petr@wultra.com - */ -public class NonPersonalizedEncryptedMessage extends EncryptedMessage { - - private byte[] applicationKey; - private byte[] ephemeralPublicKey; - - /** - * Get application key. - * @return Application key. - */ - public byte[] getApplicationKey() { - return applicationKey; - } - - /** - * Set application key. - * @param applicationKey Application key. - */ - public void setApplicationKey(byte[] applicationKey) { - this.applicationKey = applicationKey; - } - - /** - * Get ephemeral public key. - * @return Ephemeral public key. - */ - public byte[] getEphemeralPublicKey() { - return ephemeralPublicKey; - } - - /** - * Set ephemeral public key. - * @param ephemeralPublicKey Ephemeral public key. - */ - public void setEphemeralPublicKey(byte[] ephemeralPublicKey) { - this.ephemeralPublicKey = ephemeralPublicKey; - } -} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/PersonalizedEncryptedMessage.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/PersonalizedEncryptedMessage.java deleted file mode 100644 index b868eec07..000000000 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/PersonalizedEncryptedMessage.java +++ /dev/null @@ -1,36 +0,0 @@ -package io.getlime.security.powerauth.crypto.lib.encryptor.model; - -/** - * Class representing a personalized E2EE encrypted message. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * Warning: this class will be removed in the future, use ECIES encryption for PowerAuth protocol version 3.0 or higher. - * - * @author Petr Dvorak, petr@wultra.com - */ -public class PersonalizedEncryptedMessage extends EncryptedMessage { - - private String activationId; - - /** - * Get activation identifier. - * @return Activation identifier. - */ - public String getActivationId() { - return activationId; - } - - /** - * Set activation identifier. - * @param activationId Activation identifier. - */ - public void setActivationId(String activationId) { - this.activationId = activationId; - } - -} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java index 5b79e037c..2bdd8cc6a 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java @@ -69,8 +69,6 @@ public enum PowerAuthSignatureFormat { stringToEnumMap.put(format.toString(), format); } // Prepare version to enumeration mapping - versionToEnumMap.put("2.0", DECIMAL); - versionToEnumMap.put("2.1", DECIMAL); versionToEnumMap.put("3.0", DECIMAL); versionToEnumMap.put("3.1", BASE64); } diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java index e75ce656c..c82c83889 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java @@ -113,131 +113,6 @@ public byte[] generateActivationNonce() throws CryptoProviderException { return keyGenerator.generateRandomBytes(16); } - /** - * Method validates the signature of the activation data in order to prove that a correct - * client application is attempting to complete the activation. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * This method is obsolete for PowerAuth protocol version 3.0 and will be deprecated in a future release. - * - * @param activationIdShort Short activation ID. - * @param activationNonce Client activation nonce. - * @param encryptedDevicePublicKey Encrypted device public key. - * @param applicationKey Application identifier. - * @param applicationSecret Application secret. - * @param signature Signature to be checked against. - * @return True if the signature is correct, false otherwise. - * @throws GenericCryptoException In case signature computation fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public boolean validateApplicationSignature(String activationIdShort, byte[] activationNonce, byte[] encryptedDevicePublicKey, byte[] applicationKey, byte[] applicationSecret, byte[] signature) throws GenericCryptoException, CryptoProviderException { - String signatureBaseString = activationIdShort + "&" - + Base64.getEncoder().encodeToString(activationNonce) + "&" - + Base64.getEncoder().encodeToString(encryptedDevicePublicKey) + "&" - + Base64.getEncoder().encodeToString(applicationKey); - byte[] signatureExpected = new HMACHashUtilities().hash(applicationSecret, signatureBaseString.getBytes(StandardCharsets.UTF_8)); - return Arrays.equals(signatureExpected, signature); - } - - /** - * Decrypt the device public key using activation OTP. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param C_devicePublicKey Encrypted device public key. - * @param activationIdShort Short activation ID. - * @param masterPrivateKey Server master private key. - * @param ephemeralPublicKey Ephemeral public key. - * @param activationOTP Activation OTP value. - * @param activationNonce Activation nonce, used as an initialization vector - * for AES encryption. - * @return A decrypted public key. - * @throws GenericCryptoException In case decryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public PublicKey decryptDevicePublicKey(byte[] C_devicePublicKey, String activationIdShort, PrivateKey masterPrivateKey, PublicKey ephemeralPublicKey, String activationOTP, byte[] activationNonce) throws GenericCryptoException, CryptoProviderException { - try { - // Derive longer key from short activation ID and activation OTP - byte[] activationIdShortBytes = activationIdShort.getBytes(StandardCharsets.UTF_8); - SecretKey otpBasedSymmetricKey = keyGenerator.deriveSecretKeyFromPassword(activationOTP, activationIdShortBytes); - - if (ephemeralPublicKey != null) { // is an extra ephemeral key encryption included? - - // Compute ephemeral secret key - SecretKey ephemeralSymmetricKey = keyGenerator.computeSharedKey(masterPrivateKey, ephemeralPublicKey); - - // Decrypt device public key - AESEncryptionUtils aes = new AESEncryptionUtils(); - byte[] decryptedTMP = aes.decrypt(C_devicePublicKey, activationNonce, ephemeralSymmetricKey); - byte[] decryptedPublicKeyBytes = aes.decrypt(decryptedTMP, activationNonce, otpBasedSymmetricKey); - return keyConvertor.convertBytesToPublicKey(decryptedPublicKeyBytes); - - } else { // extra encryption is not present, only OTP based key is used - - // Decrypt device public key - AESEncryptionUtils aes = new AESEncryptionUtils(); - byte[] decryptedPublicKeyBytes = aes.decrypt(C_devicePublicKey, activationNonce, otpBasedSymmetricKey); - return keyConvertor.convertBytesToPublicKey(decryptedPublicKeyBytes); - - } - - } catch (InvalidKeySpecException | InvalidKeyException ex) { - logger.warn(ex.getMessage(), ex); - throw new GenericCryptoException(ex.getMessage(), ex); - } - } - - /** - * Encrypt the server public key using activation OTP and device public key. - * As a technical component for public key encryption, an ephemeral private - * key is used (in order to deduce ephemeral symmetric key using ECDH). - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param serverPublicKey Server public key to be encrypted. - * @param devicePublicKey Device public key used for encryption. - * @param ephemeralPrivateKey Ephemeral private key. - * @param activationOTP Activation OTP value. - * @param activationIdShort Short activation ID. - * @param activationNonce Activation nonce, used as an initialization vector - * for AES encryption. - * @return Encrypted server public key. - * @throws InvalidKeyException In case some of the provided keys is invalid. - * @throws GenericCryptoException In case encryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public byte[] encryptServerPublicKey(PublicKey serverPublicKey, PublicKey devicePublicKey, - PrivateKey ephemeralPrivateKey, String activationOTP, String activationIdShort, byte[] activationNonce) - throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - // Convert public key to bytes - byte[] serverPublicKeyBytes = keyConvertor.convertPublicKeyToBytes(serverPublicKey); - - // Generate symmetric keys - SecretKey ephemeralSymmetricKey = keyGenerator.computeSharedKey(ephemeralPrivateKey, devicePublicKey); - - byte[] activationIdShortBytes = activationIdShort.getBytes(StandardCharsets.UTF_8); - SecretKey otpBasedSymmetricKey = keyGenerator.deriveSecretKeyFromPassword(activationOTP, - activationIdShortBytes); - - // Encrypt the data - AESEncryptionUtils aes = new AESEncryptionUtils(); - byte[] encryptedTmp = aes.encrypt(serverPublicKeyBytes, activationNonce, otpBasedSymmetricKey); - return aes.encrypt(encryptedTmp, activationNonce, ephemeralSymmetricKey); - } - /** * Returns an encrypted status blob as described in PowerAuth Specification. * @@ -341,24 +216,6 @@ public byte[] computeServerDataSignature(String activationId, byte[] C_serverPub return signatureUtils.computeECDSASignature(result, masterPrivateKey); } - /** - * Compute a fingerprint for the version 2 activation. The fingerprint can be used for visual validation of exchanged device public key. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param devicePublicKey Public key for computing fingerprint. - * @return Fingerprint of the public key. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - * @throws GenericCryptoException In case fingerprint could not be calculated. - */ - public String computeActivationFingerprint(PublicKey devicePublicKey) throws GenericCryptoException, CryptoProviderException { - return computeActivationFingerprint(devicePublicKey, null, null, ActivationVersion.VERSION_2); - } - /** * Compute a fingerprint for the version 3 activation. The fingerprint can be used for visual validation of exchanged device public key. * diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java index 02666f31c..6163da2c5 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java @@ -39,36 +39,6 @@ public class PowerAuthServerVault { private final KeyGenerator keyGenerator = new KeyGenerator(); private final KeyConvertor keyConvertor = new KeyConvertor(); - /** - * Return encrypted vault encryption key KEY_ENCRYPTION_VAULT using - * a correct KEY_ENCRYPTION_VAULT_TRANSPORT. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @param serverPrivateKey Server private key KEY_SERVER_PRIVATE - * @param devicePublicKey Device public key KEY_DEVICE_PUBLIC - * @param ctr Counter data. - * @return Encrypted vault encryption key. - * @throws InvalidKeyException In case a provided key is incorrect. - * @throws GenericCryptoException In case encryption fails. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public byte[] encryptVaultEncryptionKey(PrivateKey serverPrivateKey, PublicKey devicePublicKey, byte[] ctr) throws InvalidKeyException, GenericCryptoException, CryptoProviderException { - SecretKey keyMasterSecret = keyGenerator.computeSharedKey(serverPrivateKey, devicePublicKey); - SecretKey keyMasterTransport = keyGenerator.deriveSecretKey(keyMasterSecret, PowerAuthDerivedKey.TRANSPORT.getIndex()); - SecretKey keyVaultEncryptionTransport = keyGenerator.deriveSecretKey(keyMasterTransport, ctr); - SecretKey keyVaultEncryption = keyGenerator.deriveSecretKey(keyMasterSecret, PowerAuthDerivedKey.ENCRYPTED_VAULT.getIndex()); - - byte[] keyVaultEncryptionBytes = keyConvertor.convertSharedSecretKeyToBytes(keyVaultEncryption); - byte[] iv = new byte[16]; - AESEncryptionUtils aes = new AESEncryptionUtils(); - return aes.encrypt(keyVaultEncryptionBytes, iv, keyVaultEncryptionTransport); - } - /** * Return encrypted vault encryption key KEY_ENCRYPTION_VAULT using KEY_TRANSPORT. * diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java index ebbb9eff2..6b83374cd 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java @@ -62,102 +62,6 @@ public void testGenerateKeys() throws CryptoProviderException { System.out.println("Public Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(kp.getPublic()))); } - /** - * Test of the complete activation process, orchestration between client and server. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception In case test fails - */ - @Test - public void testActivationProcessV2() throws Exception { - - System.out.println("TEST: Activation Process"); - - // Prepare test data - KeyGenerator keyGenerator = new KeyGenerator(); - PowerAuthClientActivation clientActivation = new PowerAuthClientActivation(); - PowerAuthServerActivation serverActivation = new PowerAuthServerActivation(); - KeyPair masterKeyPair = keyGenerator.generateKeyPair(); - - // Generate master keypair - PrivateKey masterPrivateKey = masterKeyPair.getPrivate(); - PublicKey masterPublicKey = masterKeyPair.getPublic(); - - for (int i = 0; i < 20; i++) { - - // SERVER: Generate data for activation - String activationId = serverActivation.generateActivationId(); - String activationCode = serverActivation.generateActivationCode(); - String activationIdShort = activationCode.substring(0, 11); - String activationOtp = activationCode.substring(12); - byte[] activationSignature = serverActivation.generateActivationSignature(activationCode, masterPrivateKey); - KeyPair serverKeyPair = serverActivation.generateServerKeyPair(); - PrivateKey serverPrivateKey = serverKeyPair.getPrivate(); - PublicKey serverPublicKey = serverKeyPair.getPublic(); - - // CLIENT: Verify activation signature - boolean activationSignatureOK = clientActivation.verifyActivationCodeSignature(activationCode, activationSignature, masterPublicKey); - assertTrue(activationSignatureOK); - - // CLIENT: Generate and send public key - KeyPair deviceKeyPair = clientActivation.generateDeviceKeyPair(); - KeyPair clientEphemeralKeyPair = keyGenerator.generateKeyPair(); - PrivateKey devicePrivateKey = deviceKeyPair.getPrivate(); - PublicKey devicePublicKey = deviceKeyPair.getPublic(); - byte[] clientNonce = clientActivation.generateActivationNonce(); - byte[] c_devicePublicKey = clientActivation.encryptDevicePublicKey( - devicePublicKey, - clientEphemeralKeyPair.getPrivate(), - masterPublicKey, - activationOtp, - activationIdShort, - clientNonce - ); - - // SERVER: Decrypt device public key - PublicKey decryptedDevicePublicKey = serverActivation.decryptDevicePublicKey( - c_devicePublicKey, - activationIdShort, - masterPrivateKey, - clientEphemeralKeyPair.getPublic(), - activationOtp, - clientNonce - ); - assertEquals(devicePublicKey, decryptedDevicePublicKey); - - // SERVER: Encrypt and send encrypted server public and it's signature - KeyPair ephemeralKeyPair = keyGenerator.generateKeyPair(); - PrivateKey ephemeralPrivateKey = ephemeralKeyPair.getPrivate(); - PublicKey ephemeralPublicKey = ephemeralKeyPair.getPublic(); - byte[] serverNonce = serverActivation.generateActivationNonce(); - byte[] c_serverPublicKey = serverActivation.encryptServerPublicKey(serverPublicKey, devicePublicKey, ephemeralPrivateKey, activationOtp, activationIdShort, serverNonce); - byte[] c_serverPublicKeySignature = serverActivation.computeServerDataSignature(activationId, c_serverPublicKey, masterPrivateKey); - - // CLIENT: Validate server public key signature and decrypt server public key - boolean serverPublicKeySignatureOK = clientActivation.verifyServerDataSignature(activationId, c_serverPublicKey, c_serverPublicKeySignature, masterPublicKey); - assertTrue(serverPublicKeySignatureOK); - - PublicKey decryptedServerPublicKey = clientActivation.decryptServerPublicKey(c_serverPublicKey, devicePrivateKey, ephemeralPublicKey, activationOtp, activationIdShort, serverNonce); - assertEquals(serverPublicKey, decryptedServerPublicKey); - - // CLIENT and SERVER: Compute device public key fingerprint - String devicePublicKeyFingerprintClient = clientActivation.computeActivationFingerprint(devicePublicKey); - String devicePublicKeyFingerprintServer = serverActivation.computeActivationFingerprint(decryptedDevicePublicKey); - assertEquals(devicePublicKeyFingerprintClient, devicePublicKeyFingerprintServer); - - // CLIENT and SERVER: Compute shared master secret - SecretKey sharedMasterSecretDevice = keyGenerator.computeSharedKey(devicePrivateKey, serverPublicKey); - SecretKey sharedMasterSecretServer = keyGenerator.computeSharedKey(serverPrivateKey, devicePublicKey); - assertEquals(sharedMasterSecretDevice, sharedMasterSecretServer); - - } - } - /** * Test of the complete activation process, orchestration between client and server. * @@ -216,68 +120,6 @@ public void testActivationProcessV3() throws Exception { } } - /** - * Test public key encryption. - * - * @throws Exception When test fails. - */ - @Test - public void testActivationGenerate() throws Exception { - String activationOTP = "CKZ2O-OE544"; - String activationIdShort = "IFA6F-3NPAZ"; - byte[] activationNonce = Base64.getDecoder().decode("grDwkvXrgfUdKBsqg0xYYw=="); - byte[] publicKeyBytes = Base64.getDecoder().decode("BJXfJMCANX+T9FzsG6Hi0KTYPN64i7HxMiWoMYPd17DYfBR+IwzOesTh/jj/B3trL9m3O1oODYil+8ssJzDt/QA="); - byte[] ephemeralPrivateKeyBytes = Base64.getDecoder().decode("AKeMTtivK/XRiQPhfJYxAw1L62ah4lGTQ4JKqRrr0fnC"); - byte[] masterPublicKey = Base64.getDecoder().decode("BFOqvpLNi15eHDt8fkFxFe034Buw/i8gR3ax4fKiIQynt5K858oBBYhqLVH8FhNmMnlysnRd2UsPJSQxzoPhEn8="); - - PrivateKey eph = keyConvertor.convertBytesToPrivateKey(ephemeralPrivateKeyBytes); - PublicKey mpk = keyConvertor.convertBytesToPublicKey(masterPublicKey); - - PublicKey publicKey = keyConvertor.convertBytesToPublicKey(publicKeyBytes); - PowerAuthClientActivation activation = new PowerAuthClientActivation(); - - byte[] cDevicePublicKey = activation.encryptDevicePublicKey(publicKey, eph, mpk, activationOTP, activationIdShort, activationNonce); - assertArrayEquals(cDevicePublicKey, Base64.getDecoder().decode("tnAyB0C5I9xblLlFCPONUT4GtABvutPkRvvx2oTeGIuUMAmUYTqJluKn/Zge+vbq+VArIVNYVTd+0yuBZGVtkkd1mTcc2eTDhqZSQJS6mMgmKeCqv64c6E4dm4INOkxh")); - } - - /** - * Test that public key fingerprints are correctly computed. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception When test fails. - */ - @Test - public void testPublicKeyFingerprintV2() throws Exception { - - String[] publicKeysBase64 = { - "BLaTpcUMJU3BYuF8kgeQjYUZp3nHrepNzeOp68bJbdcUtayIWDhLVtX5qFkLoXXsMH6UnxEJXaMbGOCN3i8eDOI", - "BFxZEGvqTOFolI6cvdJLiQZR3vSFfsajfJz6qHiOtDlKp5PcoMkUKlxC7hXUcRnZy9C8e6wHATahy2y5Y5OzOKc=", - "BFUKKJvx/jhAuqvCHWet0mY42ACPT+eKL54kusaDgcoIgN9OcrFbPFS0wuTIMM65YAcUvkcmW9SjHs7QwKjMGQM=" - }; - String[] publicKeyFingerprint = { - "85240323", - "27352787", - "52209841" - }; - - PowerAuthClientActivation clientActivation = new PowerAuthClientActivation(); - PowerAuthServerActivation serverActivation = new PowerAuthServerActivation(); - - for (int i = 0; i < publicKeyFingerprint.length; i++) { - byte[] publicKeyBytes = Base64.getDecoder().decode(publicKeysBase64[i]); - PublicKey publicKey = keyConvertor.convertBytesToPublicKey(publicKeyBytes); - final String fingerprintClient = clientActivation.computeActivationFingerprint(publicKey); - final String fingerprintServer = serverActivation.computeActivationFingerprint(publicKey); - assertEquals(publicKeyFingerprint[i], fingerprintClient); - assertEquals(publicKeyFingerprint[i], fingerprintServer); - } - } - /** * Test that public key fingerprints are correctly computed. * diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java index 3748bac04..28fdfab8c 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java @@ -84,51 +84,6 @@ public static void setUp() { objectMapper.enable(SerializationFeature.INDENT_OUTPUT); } - /** - * Generate test data for activation data signature. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception In case any unknown error occurs. - */ - @Test - public void testVerifyActivationDataV2() throws Exception { - String activationCode; - String activationIdShort; - String activationOtp; - - PowerAuthServerActivation activationServer = new PowerAuthServerActivation(); - - TestSet testSet = new TestSet("verify-activation-data-signature-v2.json", "For \"/pa/activation/prepare\", client needs to be able to verify the signature of the encrypted activation data (version 2 of PowerAuth protocol: short activation ID, activation OTP) using the server master public key, for example when it's stored in the QR code."); - - int max = 20; - for (int i = 0; i < max; i++) { - activationCode = new IdentifierGenerator().generateActivationCode(); - activationIdShort = activationCode.substring(0, 11); - activationOtp = activationCode.substring(12); - - KeyPair kp = activationServer.generateServerKeyPair(); - PrivateKey masterPrivateKey = kp.getPrivate(); - PublicKey masterPublicKey = kp.getPublic(); - - byte[] activationSignature = activationServer.generateActivationSignature(activationCode, masterPrivateKey); - - Map input = new LinkedHashMap<>(); - input.put("activationIdShort", activationIdShort); - input.put("activationOtp", activationOtp); - input.put("masterPrivateKey", Base64.getEncoder().encodeToString(keyConvertor.convertPrivateKeyToBytes(masterPrivateKey))); - input.put("masterPublicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(masterPublicKey))); - Map output = new LinkedHashMap<>(); - output.put("activationSignature", Base64.getEncoder().encodeToString(activationSignature)); - testSet.addData(input, output); - } - writeTestVector(testSet); - } - /** * Generate test data for activation data signature. * @@ -165,57 +120,6 @@ public void testVerifyActivationDataV3() throws Exception { writeTestVector(testSet); } - /** - * Generate test data for public key encryption. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception In case any unknown error occurs. - */ - @Test - public void testEncryptDevicePublicKeyV2() throws Exception { - PowerAuthClientActivation activation = new PowerAuthClientActivation(); - - TestSet testSet = new TestSet("encrypt-device-public-key-v2.json", "For \"/pa/activation/prepare\", client needs to be able to encrypt the public key using activation OTP, activation short ID and activation nonce. (activationIdShort, activationOtp, activationNonce, publicDeviceKey) => cPublicDeviceKey"); - - KeyPair masterKeyPair = new KeyGenerator().generateKeyPair(); - - int max = 20; - for (int i = 0; i < max; i++) { - String activationCode = new IdentifierGenerator().generateActivationCode(); - String activationIdShort = activationCode.substring(0, 11); - String activationOtp = activationCode.substring(12); - byte[] activationNonce = activation.generateActivationNonce(); - PublicKey publicKey = new KeyGenerator().generateKeyPair().getPublic(); - byte[] applicationKey = new KeyGenerator().generateRandomBytes(16); - byte[] applicationSecret = new KeyGenerator().generateRandomBytes(16); - - KeyPair ephemeralKeyPair = new KeyGenerator().generateKeyPair(); - - byte[] cDevicePublicKey = activation.encryptDevicePublicKey(publicKey, ephemeralKeyPair.getPrivate(), masterKeyPair.getPublic(), activationOtp, activationIdShort, activationNonce); - byte[] applicationSignature = activation.computeApplicationSignature(activationIdShort, activationNonce, cDevicePublicKey, applicationKey, applicationSecret); - - Map input = new LinkedHashMap<>(); - input.put("activationIdShort", activationIdShort); - input.put("activationOtp", activationOtp); - input.put("activationNonce", Base64.getEncoder().encodeToString(activationNonce)); - input.put("masterPublicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(masterKeyPair.getPublic()))); - input.put("ephemeralPrivateKey", Base64.getEncoder().encodeToString(keyConvertor.convertPrivateKeyToBytes(ephemeralKeyPair.getPrivate()))); - input.put("applicationKey", Base64.getEncoder().encodeToString(applicationKey)); - input.put("applicationSecret", Base64.getEncoder().encodeToString(applicationSecret)); - input.put("devicePublicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(publicKey))); - Map output = new LinkedHashMap<>(); - output.put("cDevicePublicKey", Base64.getEncoder().encodeToString(cDevicePublicKey)); - output.put("applicationSignature", Base64.getEncoder().encodeToString(applicationSignature)); - testSet.addData(input, output); - } - writeTestVector(testSet); - } - /** * Generate test data for master key derivation. * @@ -296,249 +200,6 @@ public void testDerivedKeyDerivation() throws Exception { writeTestVector(testSet); } - /** - * Generate test data for decrypting server public key. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - *@throws Exception In case any unknown error occurs. - */ - @Test - public void testActivationAcceptV2() throws Exception { - String activationCode; - String activationIdShort; - String activationOtp; - byte[] activationNonce; - PublicKey serverPublicKey; - byte[] cServerPublicKey; - - PublicKey devicePublicKey; - PrivateKey devicePrivateKey; - - PublicKey ephemeralPublicKey; - PrivateKey ephemeralPrivateKey; - - PowerAuthServerActivation activationServer = new PowerAuthServerActivation(); - PowerAuthClientActivation activationClient = new PowerAuthClientActivation(); - - TestSet testSet = new TestSet("decrypt-server-public-key-v2.json", "For \"/pa/activation/prepare\", client needs to be able to decrypt the server public key using activation OTP, activation short ID, activation nonce, ephemeral public key and a device private key."); - - int max = 20; - for (int i = 0; i < max; i++) { - - activationCode = new IdentifierGenerator().generateActivationCode(); - activationIdShort = activationCode.substring(0, 11); - activationOtp = activationCode.substring(12); - activationNonce = activationServer.generateActivationNonce(); - - KeyPair kp = activationClient.generateDeviceKeyPair(); - devicePrivateKey = kp.getPrivate(); - devicePublicKey = kp.getPublic(); - - kp = activationServer.generateServerKeyPair(); - serverPublicKey = kp.getPublic(); - - kp = activationServer.generateServerKeyPair(); - ephemeralPrivateKey = kp.getPrivate(); - ephemeralPublicKey = kp.getPublic(); - - cServerPublicKey = activationServer.encryptServerPublicKey(serverPublicKey, devicePublicKey, ephemeralPrivateKey, activationOtp, activationIdShort, activationNonce); - - Map input = new LinkedHashMap<>(); - input.put("activationIdShort", activationIdShort); - input.put("activationOtp", activationOtp); - input.put("activationNonce", Base64.getEncoder().encodeToString(activationNonce)); - input.put("devicePrivateKey", Base64.getEncoder().encodeToString(keyConvertor.convertPrivateKeyToBytes(devicePrivateKey))); - input.put("devicePublicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(devicePublicKey))); - input.put("encryptedServerPublicKey", Base64.getEncoder().encodeToString(cServerPublicKey)); - input.put("ephemeralPublicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(ephemeralPublicKey))); - Map output = new LinkedHashMap<>(); - output.put("serverPublicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(serverPublicKey))); - testSet.addData(input, output); - } - writeTestVector(testSet); - } - - /** - * Generate test data for verifying server response data. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception In case any unknown error occurs. - */ - @Test - public void testVerifyServerPublicKeySignatureV2() throws Exception { - String activationId; - String activationCode; - String activationOtp; - String activationIdShort; - byte[] activationNonce; - PublicKey serverPublicKey; - byte[] cServerPublicKey; - PublicKey devicePublicKey; - PrivateKey ephemeralPrivateKey; - - PowerAuthServerActivation activationServer = new PowerAuthServerActivation(); - PowerAuthClientActivation activationClient = new PowerAuthClientActivation(); - - TestSet testSet = new TestSet("verify-encrypted-server-public-key-signature-v2.json", "For \"/pa/activation/prepare\", client needs to be able to verify the signature of the encrypted server public key using the server master public key."); - - int max = 20; - for (int i = 0; i < max; i++) { - - activationId = new IdentifierGenerator().generateActivationId(); - activationCode = new IdentifierGenerator().generateActivationCode(); - activationIdShort = activationCode.substring(0, 11); - activationOtp = activationCode.substring(12); - activationNonce = activationServer.generateActivationNonce(); - - KeyPair kp = activationClient.generateDeviceKeyPair(); - devicePublicKey = kp.getPublic(); - - kp = activationServer.generateServerKeyPair(); - serverPublicKey = kp.getPublic(); - - kp = activationServer.generateServerKeyPair(); - ephemeralPrivateKey = kp.getPrivate(); - - kp = activationServer.generateServerKeyPair(); - PrivateKey masterPrivateKey = kp.getPrivate(); - PublicKey masterPublicKey = kp.getPublic(); - - cServerPublicKey = activationServer.encryptServerPublicKey(serverPublicKey, devicePublicKey, ephemeralPrivateKey, activationOtp, activationIdShort, activationNonce); - byte[] cServerPublicKeySignature = activationServer.computeServerDataSignature(activationId, cServerPublicKey, masterPrivateKey); - - Map input = new LinkedHashMap<>(); - input.put("activationId", activationId); - input.put("encryptedServerPublicKey", Base64.getEncoder().encodeToString(cServerPublicKey)); - input.put("masterServerPrivateKey", Base64.getEncoder().encodeToString(keyConvertor.convertPrivateKeyToBytes(masterPrivateKey))); - input.put("masterServerPublicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(masterPublicKey))); - Map output = new LinkedHashMap<>(); - output.put("encryptedServerPublicKeySignature", Base64.getEncoder().encodeToString(cServerPublicKeySignature)); - testSet.addData(input, output); - } - writeTestVector(testSet); - } - - /** - * Generate test data for signature validation - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception In case any unknown error occurs. - */ - @Test - public void testSignatureValidationV2() throws Exception { - - TestSet testSet = new TestSet("signatures-v2.json", "Client must be able to compute PowerAuth signature (using 1FA, 2FA, 3FA signature keys) based on given data, counter and signature type"); - - int max = 5; - int key_max = 2; - int ctr_max = 10; - int data_max = 256; - for (int j = 0; j < max; j++) { - - // Prepare data - KeyGenerator keyGenerator = new KeyGenerator(); - - KeyPair serverKeyPair = keyGenerator.generateKeyPair(); - PublicKey serverPublicKey = serverKeyPair.getPublic(); - - KeyPair deviceKeyPair = keyGenerator.generateKeyPair(); - PrivateKey devicePrivateKey = deviceKeyPair.getPrivate(); - - final PowerAuthSignatureFormat signatureFormat = PowerAuthSignatureFormat.getFormatForSignatureVersion("2.0"); - SignatureConfiguration signatureConfiguration = SignatureConfiguration.forFormat(signatureFormat); - PowerAuthClientSignature clientSignature = new PowerAuthClientSignature(); - PowerAuthClientKeyFactory clientKeyFactory = new PowerAuthClientKeyFactory(); - - for (int i = 0; i < key_max; i++) { - - // compute data signature - SecretKey masterClientKey = clientKeyFactory.generateClientMasterSecretKey(devicePrivateKey, serverPublicKey); - SecretKey signaturePossessionKey = clientKeyFactory.generateClientSignaturePossessionKey(masterClientKey); - SecretKey signatureKnowledgeKey = clientKeyFactory.generateClientSignatureKnowledgeKey(masterClientKey); - SecretKey signatureBiometryKey = clientKeyFactory.generateClientSignatureBiometryKey(masterClientKey); - - for (int ctr = 0; ctr < ctr_max; ctr++) { - - // generate random data - byte[] data = keyGenerator.generateRandomBytes((int) (Math.random() * data_max)); - - byte[] ctrData = ByteBuffer.allocate(16).putLong(8, ctr).array(); - String signature = clientSignature.signatureForData(data, Collections.singletonList(signaturePossessionKey), ctrData, signatureConfiguration); - String signatureType = "possession"; - - Map input = new LinkedHashMap<>(); - input.put("signaturePossessionKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signaturePossessionKey))); - input.put("signatureKnowledgeKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureKnowledgeKey))); - input.put("signatureBiometryKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureBiometryKey))); - input.put("signatureType", signatureType); - input.put("counter", String.valueOf(ctr)); - input.put("data", Base64.getEncoder().encodeToString(data)); - Map output = new LinkedHashMap<>(); - output.put("signature", signature); - testSet.addData(input, output); - } - - for (int ctr = 0; ctr < ctr_max; ctr++) { - - // generate random data - byte[] data = keyGenerator.generateRandomBytes((int) (Math.random() * data_max)); - - byte[] ctrData = ByteBuffer.allocate(16).putLong(8, ctr).array(); - String signature = clientSignature.signatureForData(data, Arrays.asList(signaturePossessionKey, signatureKnowledgeKey), ctrData, signatureConfiguration); - String signatureType = "possession_knowledge"; - - Map input = new LinkedHashMap<>(); - input.put("signaturePossessionKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signaturePossessionKey))); - input.put("signatureKnowledgeKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureKnowledgeKey))); - input.put("signatureBiometryKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureBiometryKey))); - input.put("signatureType", signatureType); - input.put("counter", String.valueOf(ctr)); - input.put("data", Base64.getEncoder().encodeToString(data)); - Map output = new LinkedHashMap<>(); - output.put("signature", signature); - testSet.addData(input, output); - } - - for (int ctr = 0; ctr < ctr_max; ctr++) { - - // generate random data - byte[] data = keyGenerator.generateRandomBytes((int) (Math.random() * data_max)); - - byte[] ctrData = ByteBuffer.allocate(16).putLong(8, ctr).array(); - String signature = clientSignature.signatureForData(data, Arrays.asList(signaturePossessionKey, signatureKnowledgeKey, signatureBiometryKey), ctrData, signatureConfiguration); - String signatureType = "possession_knowledge_biometry"; - - Map input = new LinkedHashMap<>(); - input.put("signaturePossessionKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signaturePossessionKey))); - input.put("signatureKnowledgeKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureKnowledgeKey))); - input.put("signatureBiometryKey", Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureBiometryKey))); - input.put("signatureType", signatureType); - input.put("counter", String.valueOf(ctr)); - input.put("data", Base64.getEncoder().encodeToString(data)); - Map output = new LinkedHashMap<>(); - output.put("signature", signature); - testSet.addData(input, output); - } - } - } - writeTestVector(testSet); - } - /** * Generate test data for signature validation. * @@ -861,43 +522,6 @@ public void testSignatureOfflineValidation() throws Exception { writeTestVector(testSet); } - /** - * Generate test data for public key fingerprint test. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception In case any unknown error occurs. - */ - @Test - public void testPublicKeyFingerprintV2() throws Exception { - - PowerAuthClientActivation activationClient = new PowerAuthClientActivation(); - - TestSet testSet = new TestSet("public-key-fingerprint-v2.json", "Fingerprint values for provided public keys, used for visual verification of the successful and untampered public key exchange."); - - int max = 100; - for (int i = 0; i < max; i++) { - KeyPair kpDevice = activationClient.generateDeviceKeyPair(); - ECPublicKey kpDeviceEC = (ECPublicKey) kpDevice.getPublic(); - - final String fingerprint = ECPublicKeyFingerprint.compute(kpDeviceEC, null, null, ActivationVersion.VERSION_2); - - byte[] devicePublicKeyBytes = toByteArray(kpDeviceEC); - - Map input = new LinkedHashMap<>(); - input.put("publicKey", Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(kpDeviceEC))); - Map output = new LinkedHashMap<>(); - output.put("publicKeyCoordX", Base64.getEncoder().encodeToString(devicePublicKeyBytes)); - output.put("fingerprint", fingerprint); - testSet.addData(input, output); - } - writeTestVector(testSet); - } - /** * Generate test data for public key fingerprint test. * diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureFormatTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureFormatTest.java index c8d684ff4..cb7dfa50a 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureFormatTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureFormatTest.java @@ -31,8 +31,6 @@ public class PowerAuthSignatureFormatTest { @Test public void testValidVersions() throws Exception { // Transformation from version string. - assertEquals(PowerAuthSignatureFormat.DECIMAL, PowerAuthSignatureFormat.getFormatForSignatureVersion("2.0")); - assertEquals(PowerAuthSignatureFormat.DECIMAL, PowerAuthSignatureFormat.getFormatForSignatureVersion("2.1")); assertEquals(PowerAuthSignatureFormat.DECIMAL, PowerAuthSignatureFormat.getFormatForSignatureVersion("3.0")); assertEquals(PowerAuthSignatureFormat.BASE64, PowerAuthSignatureFormat.getFormatForSignatureVersion("3.1")); assertEquals(PowerAuthSignatureFormat.BASE64, PowerAuthSignatureFormat.getFormatForSignatureVersion("3.2")); diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java index 6ad90be04..d1c3e173d 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java @@ -62,140 +62,6 @@ public static void setUp() { Security.addProvider(new BouncyCastleProvider()); } - /** - * Test of signature generation and validation. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws java.lang.Exception If the test fails. - */ - @Test - public void testSignatureForDataV2() throws Exception { - System.out.println("# PowerAuth Signature"); - System.out.println(); - - // Prepare data - KeyGenerator keyGenerator = new KeyGenerator(); - - KeyPair serverKeyPair = keyGenerator.generateKeyPair(); - PrivateKey serverPrivateKey = serverKeyPair.getPrivate(); - PublicKey serverPublicKey = serverKeyPair.getPublic(); - - System.out.println("## Server Private Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertPrivateKeyToBytes(serverPrivateKey))); - System.out.println("## Server Public Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(serverPublicKey))); - - KeyPair deviceKeyPair = keyGenerator.generateKeyPair(); - PrivateKey devicePrivateKey = deviceKeyPair.getPrivate(); - PublicKey devicePublicKey = deviceKeyPair.getPublic(); - - System.out.println("## Device Private Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertPrivateKeyToBytes(devicePrivateKey))); - System.out.println("## Device Public Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertPublicKeyToBytes(devicePublicKey))); - - final PowerAuthSignatureFormat signatureFormat = PowerAuthSignatureFormat.getFormatForSignatureVersion("2.1"); - assertEquals(PowerAuthSignatureFormat.DECIMAL, signatureFormat); - final SignatureConfiguration signatureConfiguration = SignatureConfiguration.forFormat(signatureFormat); - PowerAuthClientSignature clientSignature = new PowerAuthClientSignature(); - PowerAuthServerSignature serverSignature = new PowerAuthServerSignature(); - - PowerAuthClientKeyFactory clientKeyFactory = new PowerAuthClientKeyFactory(); - PowerAuthServerKeyFactory serverKeyFactory = new PowerAuthServerKeyFactory(); - - for (int i = 0; i < 5; i++) { - - System.out.println(); - System.out.println("# PowerAuth Signature Test - Round " + i); - System.out.println("# 1FA ===="); - - for (int ctr = 0; ctr < 20; ctr++) { - - System.out.println(); - System.out.println("## Counter: " + ctr); - - // generate random data - byte[] data = keyGenerator.generateRandomBytes((int) (Math.random() * 1000)); - System.out.println("## Data: " + Base64.getEncoder().encodeToString(data)); - - // compute data signature - System.out.println("## Client Signature Key Derivation"); - SecretKey masterClientKey = clientKeyFactory.generateClientMasterSecretKey(devicePrivateKey, serverPublicKey); - System.out.println("### Client Master Secret Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(masterClientKey))); - SecretKey signatureClientKey = clientKeyFactory.generateClientSignaturePossessionKey(masterClientKey); - System.out.println("### Client Signature Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureClientKey))); - - byte[] ctrData = ByteBuffer.allocate(16).putLong(8, ctr).array(); - String signature = clientSignature.signatureForData(data, Collections.singletonList(signatureClientKey), ctrData, signatureConfiguration); - - System.out.println("## Client Signature: " + signature); - - // validate data signature - System.out.println("## Server Signature Key Derivation"); - - SecretKey masterServerKey = serverKeyFactory.generateServerMasterSecretKey(serverPrivateKey, devicePublicKey); - System.out.println("### Server Master Secret Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(masterServerKey))); - assertEquals(masterClientKey, masterServerKey); - - SecretKey signatureServerKey = serverKeyFactory.generateServerSignaturePossessionKey(masterServerKey); - System.out.println("### Server Signature Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureServerKey))); - assertEquals(signatureClientKey, signatureServerKey); - - ctrData = ByteBuffer.allocate(16).putLong(8, ctr).array(); - boolean isSignatureValid = serverSignature.verifySignatureForData(data, signature, Collections.singletonList(signatureServerKey), ctrData, signatureConfiguration); - System.out.println("## Signature valid: " + (isSignatureValid ? "TRUE" : "FALSE")); - assertTrue(isSignatureValid); - - } - - System.out.println("# 2FA ===="); - for (int ctr = 0; ctr < 20; ctr++) { - - System.out.println(); - System.out.println("## Counter: " + ctr); - - // generate random data - byte[] data = keyGenerator.generateRandomBytes((int) (Math.random() * 1000)); - System.out.println("## Data: " + Base64.getEncoder().encodeToString(data)); - - // compute data signature - System.out.println("## Client Signature Key Derivation"); - SecretKey masterClientKey = clientKeyFactory.generateClientMasterSecretKey(devicePrivateKey, serverPublicKey); - System.out.println("### Client Master Secret Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(masterClientKey))); - SecretKey signatureClientKeyPossession = clientKeyFactory.generateClientSignaturePossessionKey(masterClientKey); - System.out.println("### Client Signature Key - Possession: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureClientKeyPossession))); - SecretKey signatureClientKeyKnowledge = clientKeyFactory.generateClientSignatureKnowledgeKey(masterClientKey); - System.out.println("### Client Signature Key - Knowledge: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureClientKeyKnowledge))); - - byte[] ctrData = ByteBuffer.allocate(16).putLong(8, ctr).array(); - String signature = clientSignature.signatureForData(data, Arrays.asList(signatureClientKeyPossession, signatureClientKeyKnowledge), ctrData, signatureConfiguration); - - System.out.println("## Client Signature: " + signature); - - // validate data signature - System.out.println("## Server Signature Key Derivation"); - - SecretKey masterServerKey = serverKeyFactory.generateServerMasterSecretKey(serverPrivateKey, devicePublicKey); - System.out.println("### Server Master Secret Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(masterServerKey))); - assertEquals(masterClientKey, masterServerKey); - - SecretKey signatureServerKeyPossession = serverKeyFactory.generateServerSignaturePossessionKey(masterServerKey); - System.out.println("### Server Signature Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureServerKeyPossession))); - assertEquals(signatureClientKeyPossession, signatureServerKeyPossession); - SecretKey signatureServerKeyKnowledge = serverKeyFactory.generateServerSignatureKnowledgeKey(masterServerKey); - System.out.println("### Server Signature Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(signatureServerKeyKnowledge))); - assertEquals(signatureClientKeyKnowledge, signatureServerKeyKnowledge); - - ctrData = ByteBuffer.allocate(16).putLong(8, ctr).array(); - boolean isSignatureValid = serverSignature.verifySignatureForData(data, signature, Arrays.asList(signatureServerKeyPossession, signatureClientKeyKnowledge), ctrData, signatureConfiguration); - System.out.println("## Signature valid: " + (isSignatureValid ? "TRUE" : "FALSE")); - assertTrue(isSignatureValid); - - } - } - } - /** * Test of signature generation and validation. * diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java index 2fc45ae14..d7ad46f40 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java @@ -54,72 +54,6 @@ public static void setUp() { Security.addProvider(new BouncyCastleProvider()); } - /** - * Test the secure vault implementation. - * - *

PowerAuth protocol versions: - *

    - *
  • 2.0
  • - *
  • 2.1
  • - *
- * - * @throws Exception In case the test fails. - */ - @Test - public void testVaultV2() throws Exception { - - System.out.println("# PowerAuth Secure Vault"); - System.out.println(); - - PowerAuthClientKeyFactory keyFactory = new PowerAuthClientKeyFactory(); - - // Prepare test data - KeyGenerator keyGenerator = new KeyGenerator(); - PowerAuthClientVault clientVault = new PowerAuthClientVault(); - PowerAuthServerVault serverVault = new PowerAuthServerVault(); - - // Generate fake server and device keys - KeyPair deviceKeyPair = keyGenerator.generateKeyPair(); - KeyPair serverKeyPair = keyGenerator.generateKeyPair(); - - // Deduce shared master secret keys - SecretKey deviceMasterKey = keyGenerator.computeSharedKey(deviceKeyPair.getPrivate(), serverKeyPair.getPublic()); - SecretKey serverMasterKey = keyGenerator.computeSharedKey(serverKeyPair.getPrivate(), deviceKeyPair.getPublic()); - assertEquals(deviceMasterKey, serverMasterKey); - - System.out.println("## Master Secret Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(deviceMasterKey))); - - // Deduce client vault encryption key and client / server master transport key - SecretKey clientVaultEncryptionKey = keyFactory.generateServerEncryptedVaultKey(deviceMasterKey); - System.out.println("## Vault Encryption Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(clientVaultEncryptionKey))); - - SecretKey clientTransportKey = keyGenerator.deriveSecretKey(deviceMasterKey, PowerAuthDerivedKey.TRANSPORT.getIndex()); - SecretKey serverTransportKey = keyGenerator.deriveSecretKey(serverMasterKey, PowerAuthDerivedKey.TRANSPORT.getIndex()); - assertEquals(clientTransportKey, serverTransportKey); - System.out.println("## Master Transport Key: " + Base64.getEncoder().encodeToString(keyConvertor.convertSharedSecretKeyToBytes(clientTransportKey))); - - // Encrypt device private key - byte[] cDevicePrivateKey = clientVault.encryptDevicePrivateKey(deviceKeyPair.getPrivate(), clientVaultEncryptionKey); - - // Get encrypted vault encryption key from the server - for (long ctr = 0; ctr < 50; ctr++) { - - System.out.println(); - System.out.println("## Counter: " + ctr); - - byte[] ctrBytes = ByteBuffer.allocate(16).putLong(0L).putLong(ctr).array(); - byte[] cVaultEncryptionKey = serverVault.encryptVaultEncryptionKey(serverKeyPair.getPrivate(), deviceKeyPair.getPublic(), ctrBytes); - System.out.println("## cVaultEncryptionKey: " + Base64.getEncoder().encodeToString(cVaultEncryptionKey)); - - SecretKey vaultEncryptionKeyLocal = clientVault.decryptVaultEncryptionKey(cVaultEncryptionKey, clientTransportKey, ctrBytes); - assertEquals(clientVaultEncryptionKey, vaultEncryptionKeyLocal); - - PrivateKey devicePrivateKeyLocal = clientVault.decryptDevicePrivateKey(cDevicePrivateKey, vaultEncryptionKeyLocal); - assertEquals(((BCECPrivateKey)deviceKeyPair.getPrivate()).getD(), ((BCECPrivateKey)devicePrivateKeyLocal).getD()); - } - - } - /** * Test the secure vault implementation. * diff --git a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java index 6ec80ba55..bfc7eab66 100644 --- a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java +++ b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java @@ -51,9 +51,7 @@ public class ValueTypeValidator { /** * Admissible protocol versions in the header. */ - private static final Set PROTOCOL_VERSIONS = new HashSet<>(Arrays.asList( - "3.1", "3.0", "2.1", "2.0" - )); + private static final Set PROTOCOL_VERSIONS = Set.of("3.1", "3.0"); /** * Admissible signature types in the header. From 277802e2b206deba97219ed8b5b05f003d75f44c Mon Sep 17 00:00:00 2001 From: Lubos Racansky Date: Wed, 9 Aug 2023 11:58:51 +0200 Subject: [PATCH 09/20] Remove travis config --- .travis.yml | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 087839c33..000000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: java -jdk: - - openjdk11 -env: - global: - - secure: "viR5zGAKet3A94qyZ5fSlOIBDRBX6fmS62Sr7hTu+ztP5yDvh1yXyf0FkE2E9xD0EYjXEG0Fsb7GfPvJ+rL1Q27YLr83uyOiICJmJuEA/EvYW7nL7t4zFxuydfMx/IgjimyP0bRQagVR5QruTjOth4014LQhXy/B9cyBxWiiQmynjgeQZ29a7+EmcneKVJx1LnN3gCzPKGMVV8XubI1oyZpNdkXd3x6G9L4N2/VqT7u7L3+8h34SmqhX31PhJvoVEnf4nreTypzV+UPTZjdEawoFXafes+SVzc3glBgnSVjKXDJGyC6xQVSJELkIs4c+tK/BNaMvW0fx8xlHrE1g5vaogKZL4VR86doGfd/k2bBjuwD4eublHu9jwSZKiyT4II9rnTukiprXhgzDMaX4n9uFRs8FmERuW5ecNKsosCg0iae7/EZR9zrTk6Eo/FIh9aZyS1rnFb/HvTFHIC+6jFjj0RrNR0XuNoIGfCOYKjVgwQiJN+7PMN6uRoFUbS7RVRrdJhdI9YPnBSFwwVKDcTNxYmKMMCJWGTn7c+ncUHs1izqiJYS2eRJyxkS+1YH8KmvDPEf6aHPMP4BjOgeDDmEFp0I1Qwpteg1Zflg7EDPhMLnJ7BbVNJALJAtvsGUDt5UrMECvIyRj2d6YtDgv4xF3CjNn7J1MunRnIKcIKso=" - -before_install: - - echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- - -addons: - coverity_scan: - project: - name: "wultra/powerauth-crypto" - description: Build submitted via Travis CI - notification_email: roman.strobl@wultra.com - build_command_prepend: "mvn clean" - build_command: "mvn -DskipTests=true compile" - branch_pattern: coverity_scan \ No newline at end of file From b3b40b9ed6c64f4ff44137fd1b379223316d6940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Dvo=C5=99=C3=A1k?= Date: Mon, 21 Aug 2023 16:39:41 +0200 Subject: [PATCH 10/20] Fix #393: Improve the documentation structure (#394) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix #393: Improve the documentation structure * Fix formatting and dead links * Explain activation via activation code better * Fixed computation of KEY_MASTER_SECRET in docs * Merge pull request #463 from wultra/issues/kdf-in-documentation Docs: Fixed KDF definition and usage * Added activation via custom credentials * Fix sidebar * Add missing file --------- Co-authored-by: Juraj Ďurech --- docs/Activation-Status.md | 23 +- docs/Activation-via-Activation-Code.md | 145 +++++++ docs/Activation-via-Custom-Credentials.md | 75 ++++ ...ery.md => Activation-via-Recovery-Code.md} | 9 + docs/Activation.md | 174 +++------ docs/Additional-Activation-OTP.md | 68 ++-- docs/Basic-definitions.md | 358 +++++++++++++++--- docs/Computing-and-Validating-Signatures.md | 170 +++++---- docs/Development.md | 6 +- docs/End-To-End-Encryption.md | 30 +- docs/Implementation-notes.md | 32 +- docs/Key-derivation.md | 52 +-- docs/List-of-used-keys.md | 32 +- docs/MAC-Token-Based-Authentication.md | 5 +- docs/PowerAuth-Specification.md | 25 -- docs/Readme.md | 49 +-- docs/Recovery-Postcard.md | 8 +- docs/Standard-RESTful-API.md | 2 +- docs/_Sidebar.md | 32 +- .../images/arch_activation_lifecycle.png | Bin 37973 -> 85734 bytes docs/resources/images/arch_big_picture.png | Bin 94105 -> 77829 bytes .../images/sequence_activation_commit.png | Bin 68305 -> 154906 bytes .../images/sequence_activation_init.png | Bin 31293 -> 72410 bytes .../images/sequence_activation_prepare.png | Bin 97381 -> 198641 bytes .../sequence_activation_prepare_custom.png | Bin 97319 -> 89878 bytes .../images/sequence_activation_status.png | Bin 44199 -> 43471 bytes .../images/ui_custom_credentials.png | Bin 0 -> 167430 bytes .../ui_internetbanking_activation_mobile.png | Bin 338905 -> 329660 bytes .../ui_internetbanking_activation_web.png | Bin 109716 -> 110425 bytes docs/resources/wireframes/powerauth.bmpr | Bin 435200 -> 435200 bytes 30 files changed, 844 insertions(+), 451 deletions(-) create mode 100644 docs/Activation-via-Activation-Code.md create mode 100644 docs/Activation-via-Custom-Credentials.md rename docs/{Activation-Recovery.md => Activation-via-Recovery-Code.md} (97%) delete mode 100644 docs/PowerAuth-Specification.md create mode 100644 docs/resources/images/ui_custom_credentials.png diff --git a/docs/Activation-Status.md b/docs/Activation-Status.md index c50daf483..f133a3efc 100644 --- a/docs/Activation-Status.md +++ b/docs/Activation-Status.md @@ -1,12 +1,12 @@ # Activation Status -PowerAuth Client may need to check for an activation status, so that it can determine if it should display UI for non-activated state (registration form), blocked state (how to unblock tutorial) or active state (login screen). To facilitate this use-case, PowerAuth Standard RESTful API publishes a [/pa/v3/activation/status](./Standard-RESTful-API.md#activation-status) endpoint. +PowerAuth Client may need to check for an activation status, so that it can determine if it should display UI for non-activated state (registration form), blocked state (how to unblock tutorial) or active state (login screen). To facilitate this use-case, PowerAuth Standard RESTful API publishes a [/pa/v3/activation/status](./Standard-RESTful-API#post-pav3activationstatus) endpoint. -## Flow of the Activation Status Check +Checking for an activation status is simple. Client needs to prepare a HTTP request with an activation ID and random `STATUS_CHALLENGE`. Server processes the request and sends back the response with activation status blob and random `STATUS_NONCE`. Activation status blob is an encrypted binary blob that encodes the activation status. Key `KEY_TRANSPORT` and `STATUS_IV` is used to encrypt the activation blob. -Checking for an activation status is simple. Client needs to prepare a HTTP request with an activation ID and random `STATUS_CHALLENGE`. Server processes the request and sends back the response with activation status blob and random `STATUS_NONCE`. Activation status blob is an encrypted binary blob that encodes activation status. Key `KEY_TRANSPORT` and `STATUS_IV` is used to encrypt the activation blob. +## Status Check Sequence -Following sequence diagram shows the activation status check in more detail. +The following sequence diagram shows the activation status check in more detail. ![Check Activation Status](./resources/images/sequence_activation_status.png) @@ -37,19 +37,21 @@ Following sequence diagram shows the activation status check in more detail. byte[] STATUS_IV = KeyConversion.getBytes(KDF_INTERNAL.derive(KEY_TRANSPORT_IV, STATUS_IV_DATA)) byte[] statusBlob = AES.decrypt(encryptedStatusBlob, STATUS_IV, KEY_TRANSPORT, "AES/CBC/NoPadding") ``` - + ## Status Blob Format -When obtaining the activation status, application receives the binary status blob. Structure of the 32B long status blob is following: +When obtaining the activation status, application receives the binary status blob. Structure of the 32B long status blob is the following (without newlines): ``` -0xDEC0DED1 1B:${STATUS} 1B:${CURRENT_VERSION} 1B:${UPGRADE_VERSION} 5B:${RESERVED} 1B:${CTR_BYTE} 1B:${FAIL_COUNT} 1B:${MAX_FAIL_COUNT} 1B:${CTR_LOOK_AHEAD} 16B:${CTR_DATA_HASH} +0xDEC0DED1 1B:${STATUS} 1B:${CURRENT_VERSION} 1B:${UPGRADE_VERSION} +5B:${RESERVED} 1B:${CTR_BYTE} 1B:${FAIL_COUNT} 1B:${MAX_FAIL_COUNT} +1B:${CTR_LOOK_AHEAD} 16B:${CTR_DATA_HASH} ``` where: - The first 4 bytes (`0xDE 0xC0 0xDE 0xD1`) are basically a fixed prefix. - - Note that the last byte of this constant also represents the version of the status blob format. If we decide to change the status blob significantly, then the value will be changed to `0xD2`, `0xD3`, etc... + - Note that the last byte of this constant also represents the version of the status blob format. If we decide to change the status blob significantly, then the value will be changed to `0xD2`, `0xD3`, etc. - `${STATUS}` - A status of the activation record, it can be one of following values: - `0x01 - CREATED` - `0x02 - PENDING_COMMIT` @@ -61,16 +63,15 @@ where: - `0x03` - PowerAuth protocol version `3.x` - `${UPGRADE_VERSION}` - 1 byte representing maximum protocol version supported by the PowerAuth Server. The set of possible values is identical to `${CURRENT_VERSION}` - `${RESERVED}` - 5 bytes reserved for the future use. -- `${CTR_BYTE}` - 1 byte representing least significant byte from current value of counter, calculated as: +- `${CTR_BYTE}` - 1 byte representing the least significant byte from current value of counter, calculated as: ```java byte CTR_BYTE = (byte)(CTR & 0xFF); ``` - `${FAIL_COUNT}` - 1 byte representing information about the number of failed attempts at the moment. - `${MAX_FAIL_COUNT}` - 1 byte representing information about the maximum allowed number of failed attempts. - `${CTR_LOOK_AHEAD}` - 1 byte representing constant for a look ahead window, used on the server to validate the signature. -- `${CTR_DATA_HASH}` - 16 bytes containing hash from current value of hash-based counter: +- `${CTR_DATA_HASH}` - 16 bytes containing hash from current value of a hash-based counter: ```java SecretKey KEY_TRANSPORT_CTR = KDF.derive(KEY_TRANSPORT, 4000); byte[] CTR_DATA_HASH = KeyConversion.getBytes(KDF_INTERNAL.derive(KEY_TRANSPORT_CTR, CTR_DATA)); ``` - diff --git a/docs/Activation-via-Activation-Code.md b/docs/Activation-via-Activation-Code.md new file mode 100644 index 000000000..73202eb12 --- /dev/null +++ b/docs/Activation-via-Activation-Code.md @@ -0,0 +1,145 @@ +# Activation via Activation Code + +The most straight forward activation type is "activation via the activation code". The activation code is a random one-time token value with limited time span associated with the particular user. Typically, the activation code is displayed as a QR code in the Internet banking, at branch kiosk, or ATM, or - as a less secure but more convenient alternative - it can be sent via SMS message or e-mail. + +## Example User Flow + +From the user perspective, activation via activation code is performed as a sequence of steps in the mobile app and Activation Code Delivery Application (i.e., in web Internet banking). The following steps (with possible user interface alterations) should be performed: + +### Activation Code Delivery Application + +The following diagram shows example steps in the Internet banking as an example application. You can apply similar principles to other Activation Code Delivery Applications, such as branch kiosk. + +![Activation - Web UI Flow](./resources/images/ui_internetbanking_activation_web.png) + + +### Mobile Application + +The following diagram shows example steps in the mobile banking app. + +![Activation - Mobile UI Flow](./resources/images/ui_internetbanking_activation_mobile.png) + +## Sequence Diagrams + +The sequence diagrams below explain the PowerAuth key exchange during the activation via activation code. It shows how an app with PowerAuth Mobile SDK, Enrollment Server, Activation Code Delivery Application and PowerAuth Server play together in order to establish a shared secret between the client mobile application and the PowerAuth Server. + +For the sake of the simplicity, we have split the process into three diagrams. + +### Activation Initialization + +This diagram shows how the Activation Code Delivery Application requests the activation data from the PowerAuth Server. The process is initiated by the Activation Code Delivery Application (for example, the Internet banking in the web browser) and it also ends here: by displaying the activation data so that they can be entered in the mobile app and passed to the PowerAuth Mobile SDK. + +![Activation Initialization](./resources/images/sequence_activation_init.png) + +#### Process Description + +1. The Activation Code Delivery Application requests a new activation for a given user. + +1. PowerAuth Server generates an `ACTIVATION_ID`, `ACTIVATION_CODE`, `CTR_DATA` - an initial value for hash based counter, and a key pair `(KEY_SERVER_PRIVATE, KEY_SERVER_PUBLIC)`. Server also computes a signature `ACTIVATION_SIGNATURE` of `ACTIVATION_CODE` using servers master private key `KEY_SERVER_MASTER_PRIVATE`. + ```java + String ACTIVATION_ID = Generator.randomUUID() + String ACTIVATION_CODE = Generator.randomActivationCode() // must be unique among records in CREATED and PENDING_COMMIT states + byte[] CTR_DATA = Generator.randomBytes(16) + KeyPair keyPair = KeyGenerator.randomKeyPair() + PrivateKey KEY_SERVER_PRIVATE = keyPair.getPrivate() + PublicKey KEY_SERVER_PUBLIC = keyPair.getPublic() + byte[] DATA = ACTIVATION_CODE.getBytes("UTF-8") + byte[] ACTIVATION_SIGNATURE = ECDSA.sign(DATA, KEY_SERVER_MASTER_PRIVATE) + ``` + +1. Record associated with given `ACTIVATION_ID` is now in `CREATED` state. + +1. Activation Code Delivery Application receives an `ACTIVATION_CODE` and `ACTIVATION_SIGNATURE` (optional) and displays these information visually in the front-end so that a user can rewrite them in a mobile app with PowerAuth Mobile SDK. + +### Key Exchange + +This diagram shows how public keys are exchanged between the PowerAuth Mobile SDK and PowerAuth Server, and how the master shared secret and PowerAuth Standard Keys are derived. + + +The Activation Code Delivery Application plays no active role in the process of a key exchange. + + +![Activation Key Exchange](./resources/images/sequence_activation_prepare.png) + +#### Process Description + +1. User enters the `ACTIVATION_CODE` and `ACTIVATION_SIGNATURE` (optional) in the app with PowerAuth Mobile SDK. The entry can be manual or using a QR code with activation data. + +1. PowerAuth Mobile SDK verifies the `ACTIVATION_SIGNATURE` against `ACTIVATION_CODE` using `KEY_SERVER_MASTER_PUBLIC` and if the signature matches, it proceeds. + ```java + byte[] DATA = ACTIVATION_CODE.getBytes("UTF-8") + boolean isOK = ECDSA.verify(DATA, ACTIVATION_SIGNATURE, KEY_SERVER_MASTER_PUBLIC) + ``` + +1. PowerAuth Mobile SDK generates its key pair `(KEY_DEVICE_PRIVATE, KEY_DEVICE_PUBLIC)`. + ```java + KeyPair keyPair = KeyGenerator.randomKeyPair() + PrivateKey KEY_DEVICE_PRIVATE = keyPair.getPrivate() + PublicKey KEY_DEVICE_PUBLIC = keyPair.getPublic() + ``` + +1. PowerAuth Mobile SDK encrypts the payload containing `KEY_DEVICE_PUBLIC` with an application scoped ECIES (level 2, `sh1="/pa/activation"`). Let's call the result of this step as `ACTIVATION_DATA`. + +1. PowerAuth Mobile SDK encrypts payload containing `ACTIVATION_DATA` and `ACTIVATION_CODE` with an application scoped ECIES (level 1, `sh1="/pa/generic/application"`) and sends HTTPS request to the `/pa/v3/activation/create` endpoint. + +1. Enrollment Server decrypts the ECIES envelope, with an application scoped ECIES (level 1, `sh1="/pa/generic/application"`) and calls PowerAuth Server with `ACTIVATION_DATA`. At this step, the `ACTIVATION_CODE` is be used to identify the pending activation. + +1. PowerAuth Server receives `ACTIVATION_CODE` and `ACTIVATION_DATA` from Enrollment Server. The `ACTIVATION_CODE` identifies the record for a pending activation. If the record is unknown, then server returns a generic error. + +1. PowerAuth Server decrypts `ACTIVATION_DATA` using an application scoped ECIES (level 2, `sh1="/pa/activation"`) and stores `KEY_DEVICE_PUBLIC` at given record. + +1. PowerAuth Server generates its key pair `(KEY_SERVER_PRIVATE, KEY_SERVER_PUBLIC)`. + ```java + KeyPair keyPair = KeyGenerator.randomKeyPair() + PrivateKey KEY_SERVER_PRIVATE = keyPair.getPrivate() + PublicKey KEY_SERVER_PUBLIC = keyPair.getPublic() + ``` + +1. PowerAuth Server uses `KEY_DEVICE_PUBLIC` and `KEY_SERVER_PRIVATE` to deduce `KEY_MASTER_SECRET` using ECDH. + ```java + KEY_MASTER_SECRET = ByteUtils.convert32Bto16B(ECDH.phase(KEY_SERVER_PRIVATE, KEY_DEVICE_PUBLIC)) + ``` + +1. PowerAuth Server changes the record status to `PENDING_COMMIT`. + +1. PowerAuth Server encrypts response, containing `ACTIVATION_ID`, `CTR_DATA`, `KEY_SERVER_PUBLIC` with the same key as was used for ECIES level 2 decryption. This data is one more time encrypted by Enrollment Server, with the same key from ECIES level 1, and the response is sent to the PowerAuth Client. + +1. PowerAuth Mobile SDK decrypts the response with both levels of ECIES, in the right order and receives `ACTIVATION_ID`, `KEY_SERVER_PUBLIC`, `CTR_DATA` and stores all that values locally in the volatile memory on the device. + +1. PowerAuth Mobile SDK uses `KEY_DEVICE_PRIVATE` and `KEY_SERVER_PUBLIC` to deduce `KEY_MASTER_SECRET` using ECDH. + ```java + KEY_MASTER_SECRET = ByteUtils.convert32Bto16B(ECDH.phase(KEY_DEVICE_PRIVATE, KEY_SERVER_PUBLIC)) + ``` + +### Activation Commit + +Finally, the last diagram shows how the Activation Code Delivery Application proactively checks the status of the activation and allows its completion by committing the activation record. A PowerAuth Mobile SDK plays a very little role in this step. It only allows showing a public key fingerprint in the mobile app to the user so that the key exchange can be visually confirmed before committing the activation. + +![Activation Commit](./resources/images/sequence_activation_commit.png) + +#### Process Description + +1. PowerAuth Mobile SDK displays `H_K_DEVICE_PUBLIC`, so that a user can visually verify the device public key correctness by comparing the `H_K_DEVICE_PUBLIC` value displayed in the Master Front-End Application. + ```java + byte[] activationIdBytes = ACTIVATION_ID.getBytes("UTF-8") + byte[] fingerprintBytes = ByteUtils.concat(K_DEVICE_PUBLIC_BYTES, ByteUtils.concat(activationIdBytes, K_SERVER_PUBLIC_BYTES)) + byte[] truncatedBytes = ByteUtils.truncate(Hash.sha256(KeyConversion.getBytes(fingerprintBytes), 4) + int H_K_DEVICE_PUBLIC = ByteUtils.getInt(truncatedBytes) & 0x7FFFFFFF) % (10 ^ 8) + ``` + + Note: Client and server should allow checking the public key fingerprint before committing the activation. This is necessary so that user can verify the exchanged information in order to detect the MITM attack. + + +1. Activation Code Delivery Application allows completion of the activation. For example, it may ask the user to enter an OTP code delivered via an SMS message. Activation Code Delivery Application commits the activation by calling the `/pa/v3/activation/commit` service on PowerAuth Server. + +1. Record associated with given `ACTIVATION_ID` is now in `ACTIVE` state. + +## Related Topics + +- [Activation Code Format](Activation-Code.md) +- [Activation via Recovery Code](./Activation-via-Recovery-Code.md) +- [Activation via Custom Credentials](./Activation-via-Custom-Credentials.md) +- [Checking Activation Status](./Activation-Status.md) +- [Key Derivation](./Key-derivation.md) +- [Additional Activation OTP](Additional-Activation-OTP.md) + diff --git a/docs/Activation-via-Custom-Credentials.md b/docs/Activation-via-Custom-Credentials.md new file mode 100644 index 000000000..c9a9ae4fb --- /dev/null +++ b/docs/Activation-via-Custom-Credentials.md @@ -0,0 +1,75 @@ +# Activation via Custom Credentials + +The most flexible type of activation is "activation via the custom credentials". In this flow, the credentials is provided as a key-value map. Enrollment Server is then responsible for verifying the credentials with an external service that returns a user ID in response. + +## Example User Flow + +From the user perspective, activation via custom credentials is performed as a sequence of steps in the mobile app. The following diagram shows example steps in the mobile banking app. + +![Activation - Mobile UI Flow](./resources/images/ui_custom_credentials.png) + +## Sequence Diagrams + +The sequence diagrams below explain the PowerAuth key exchange during activation with custom credentials. It shows how an app with PowerAuth Mobile SDK, Enrollment Server and PowerAuth Server play together in order to establish a shared secret between the client mobile application and the PowerAuth Server. + +![Activation Initialization](./resources/images/sequence_activation_prepare_custom.png) + +#### Process Description + +1. User enters the credentials identity attributes `IDENTITY_ATTRIBUTES` in the app with PowerAuth Mobile SDK. The entry can be manual or fully/partially handled using other mechanism, such as deeplink. + +1. PowerAuth Mobile SDK generates its key pair `(KEY_DEVICE_PRIVATE, KEY_DEVICE_PUBLIC)`. + ```java + KeyPair keyPair = KeyGenerator.randomKeyPair() + PrivateKey KEY_DEVICE_PRIVATE = keyPair.getPrivate() + PublicKey KEY_DEVICE_PUBLIC = keyPair.getPublic() + ``` + +1. PowerAuth Mobile SDK encrypts the payload containing `KEY_DEVICE_PUBLIC` with an application scoped ECIES (level 2, `sh1="/pa/activation"`). Let's call the result of this step as `ACTIVATION_DATA`. + +1. PowerAuth Mobile SDK encrypts payload containing `ACTIVATION_DATA` and `IDENTITY_ATTRIBUTES` with an application scoped ECIES (level 1, `sh1="/pa/generic/application"`) and sends HTTPS request to the `/pa/v3/activation/create` endpoint. + +1. Enrollment Server decrypts the ECIES envelope, with an application scoped ECIES (level 1, `sh1="/pa/generic/application"`). + +1. Enrollment Server obtains `IDENTITY_ATTRIBUTES` and verifies the identity attributes using own custom processing logic. As a result of this processing, Enrollment Server obtains a `USER_ID` value representing a unique identifier of the user with provided credentials. + +1. Enrollment Server calls PowerAuth Server with `ACTIVATION_DATA` and `USER_ID` value. + +1. PowerAuth Server receives `USER_ID` and `ACTIVATION_DATA` from Enrollment Server. + +1. PowerAuth Server decrypts `ACTIVATION_DATA` using an application scoped ECIES (level 2, `sh1="/pa/activation"`), creates a new activation in `PENDING_COMMIT` status for the user with provided `USER_ID` and stores `KEY_DEVICE_PUBLIC`. + +1. PowerAuth Server generates its key pair `(KEY_SERVER_PRIVATE, KEY_SERVER_PUBLIC)`. + ```java + KeyPair keyPair = KeyGenerator.randomKeyPair() + PrivateKey KEY_SERVER_PRIVATE = keyPair.getPrivate() + PublicKey KEY_SERVER_PUBLIC = keyPair.getPublic() + ``` + +1. PowerAuth Server uses `KEY_DEVICE_PUBLIC` and `KEY_SERVER_PRIVATE` to deduce `KEY_MASTER_SECRET` using ECDH. + ```java + KEY_MASTER_SECRET = ByteUtils.convert32Bto16B(ECDH.phase(KEY_SERVER_PRIVATE, KEY_DEVICE_PUBLIC)) + ``` + +1. PowerAuth Server encrypts response, containing `ACTIVATION_ID`, `CTR_DATA`, `KEY_SERVER_PUBLIC` with the same key as was used for ECIES level 2 decryption. This data is one more time encrypted by Enrollment Server, with the same key from ECIES level 1, and the response is sent to the PowerAuth Client. + +1. PowerAuth Mobile SDK decrypts the response with both levels of ECIES, in the right order and receives `ACTIVATION_ID`, `KEY_SERVER_PUBLIC`, `CTR_DATA` and stores all that values locally in the volatile memory on the device. + +1. PowerAuth Mobile SDK uses `KEY_DEVICE_PRIVATE` and `KEY_SERVER_PUBLIC` to deduce `KEY_MASTER_SECRET` using ECDH. + ```java + KEY_MASTER_SECRET = ByteUtils.convert32Bto16B(ECDH.phase(KEY_DEVICE_PRIVATE, KEY_SERVER_PUBLIC)) + ``` + +### Implicit Activation Commit + +Enrollment Server may automatically commit activations via custom credentials - typically, this is the desired behavior. As a result, the activation will immediately switch to the `ACTIVE` status. + +However, if the particular use case requires different handling, the enrollment server behavior may be customized and activation can remain in `PENDING_COMMIT` state until it is committed by calling the commit service. + +## Related Topics + +- [Activation via Activation Code](./Activation-via-Activation-Code.md) +- [Activation via Recovery Code](./Activation-via-Recovery-Code.md) +- [Checking Activation Status](./Activation-Status.md) +- [Key Derivation](./Key-derivation.md) +- [Additional Activation OTP](Additional-Activation-OTP.md) \ No newline at end of file diff --git a/docs/Activation-Recovery.md b/docs/Activation-via-Recovery-Code.md similarity index 97% rename from docs/Activation-Recovery.md rename to docs/Activation-via-Recovery-Code.md index 114154e8d..030a3c3bc 100644 --- a/docs/Activation-Recovery.md +++ b/docs/Activation-via-Recovery-Code.md @@ -240,3 +240,12 @@ The format of Recovery PUK is very simple: - 10 digits long number, for example `1234567890`. - Zero padded, when number is less than 109. For example `0123456789`. - Printed or displayed PUK can be split into two block, five digits long each, with dash as a separator. For example `12345-67890` + +## Related Topics + +- [Recovery Postcard](./Recovery-Postcard.md) +- [Activation via Activation Code](./Activation-via-Activation-Code.md) +- [Activation via Custom Credentials](./Activation-via-Custom-Credentials.md) +- [Checking Activation Status](./Activation-Status.md) +- [Key Derivation](./Key-derivation.md) +- [Additional Activation OTP](Additional-Activation-OTP.md) diff --git a/docs/Activation.md b/docs/Activation.md index c6147c6aa..33450de1a 100644 --- a/docs/Activation.md +++ b/docs/Activation.md @@ -1,157 +1,85 @@ # Activation -In PowerAuth, both client and server must first share the same shared master secret `KEY_MASTER_SECRET`. The `KEY_MASTER_SECRET` is a symmetric key that is used as a base for deriving the further purpose specific shared secret keys. These derived keys are then used for an HTTP request signing. In order to establish this shared master secret, a secure key exchange (or "activation") must take a place. +Before a mobile app can perform authentication and transaction signing, it must first register with the server. In order to establish strong device binding, a key exchange must take a place first. We call this key exchange process "the activation". During the activation, user needs to enter some credential to the mobile app to authenticate the key exchange. -## Activation Actors +The following components typically play role in the process of activation via activation code: -Following components play role in activation: - -- **PowerAuth Client** - A client "to be activated" application, that implements PowerAuth protocol. A good example of a typical PowerAuth Client can be a mobile banking application. -- **Master Front-End Application** - An application that initiates the activation process and helps the PowerAuth Client start the key exchange algorithm. Example of Master Front-End Application can be an Internet banking. -- **Intermediate Server Application** - A front-end facing server application (or a set of applications, that we currently view as a single unified system, for the sake of simplicity) that is deployed in demilitarized zone in order to accommodate a communication between PowerAuth Client, Master Front-End Application and PowerAuth Server. A good example of Intermediate Server Application is a mobile banking RESTful API server. -- **PowerAuth Server** - A server application hidden deep in secure infrastructure, stores activation records, or verifies the request signatures. This application provides services for Intermediate Server Application to implement the PowerAuth protocol. An example of a PowerAuth Server is a bank identity management system. +- **PowerAuth Mobile SDK** - An SDK embedded in the mobile client application. +- **Enrollment Server** - A front-end facing server application that is deployed in demilitarized zone (DMZ) in order to accommodate a communication between the PowerAuth Mobile SDK and PowerAuth Server. +- **Activation Code Delivery Application** - An application (for example Internet banking) that initiates the activation process by requesting and then displaying or sending the activation code for the use in the PowerAuth Mobile SDK. +- **PowerAuth Server** - A server application hidden deep in the secure infrastructure. It stores activation records and verifies the request signatures. ![Architecture Overview](./resources/images/arch_big_picture.png) +Specific role of each component depends on a particular activation pattern, as explained in the [Activation Types](#activation-types) chapter. -## Activation States - -Record associated with given PowerAuth keys transits between following states during it's lifecycle: - -- **CREATED** - The activation record is created but it was not activated yet. -- **PENDING_COMMIT** - The activation record is created and activation code was already used, but the activation record was not activated yet. -- **ACTIVE** - The activation record is created and active, ready to be used for generating signatures. -- **BLOCKED** - The activation record is blocked and cannot be used for generating signatures. It can be renewed and activated again. -- **REMOVED** - The activation record is permanently blocked - cannot be used for generating signatures or renewed. - -After the key exchange is initiated, an activation record is created in the database in the CREATED state. In subsequent requests, client application must complete the activation. The system that initiated the activation (such as the web interface) must push the status of the token to the ACTIVE state before it can be used. - -Following diagram shows transitions between activation states in more detail: - -![Activation Lifecycle](./resources/images/arch_activation_lifecycle.png) - -## Activation User Flow - -From the user perspective, PowerAuth activation is performed as a sequence of steps in PowerAuth Client and Master Front-End Application. Following steps (with possible UI / UX alterations) must be performed: - -### Master Front-End Application - -Following diagram shows example steps in Master Front-End Application - imagine the Internet banking as an example application. - - -![Activation - Web UI Flow](./resources/images/ui_internetbanking_activation_web.png) - - -### PowerAuth Client +## Activation Principle -Following diagram shows example steps in PowerAuth Client - imagine the Mobile banking as an example application. +The basic underlying principle of the activation process is simple: The mobile application sends its public key to the server and in return, it receives the server's public key, initial counter value, and activation ID from the server. -![Activation - Mobile UI Flow](./resources/images/ui_internetbanking_activation_mobile.png) +Of course, to make this process work in a secure manner, several additional items must be present during the flow. -## Activation Flow - Sequence Diagram +## Activation Types -The sequence diagrams below explain the PowerAuth key exchange. It shows how PowerAuth Client, Intermediate Server Application, Master Front-End Application and PowerAuth Server play together in order to establish a shared secret between the client application and PowerAuth Server. +Each activation request generated by the mobile application uses some type of activation credentials that uniquely identify a specific user. -For the sake of the simplicity, we have split the process into three diagrams. The details of individual steps can be found in the chapter below ("Activation Flow - Description"). +The activation credentials may be arbitrary and selected by a customer. We call activation type an **activation via custom credentials**. Such credentials can be essentially anything - username and password, phone number and SMS OTP, anything that uniquely identifies the user technically works. The design goal is to find such credentials that have sufficient quality of user verification. The custom credentials are verified against an existing service during the activation process. -### Activation Initialization +More commonly, the activation credentials are managed by our systems. The typical activation type uses an **activation code**. An activation code is a temporary, single use token that is strongly connected to specific user and to pre-initialized activation record. Activation code is issued for a given user via an application where the user already is authenticated, such as the Internet banking. -This diagram shows how Master Front-End Application requests the activation data from the PowerAuth Server. The process is initiated by the Master Front-End Application (for example, the Internet banking in the web browser) and it also ends here: by displaying the activation data so that they can be entered in the PowerAuth Client. +Another type of credentials our systems manage are **recovery codes**. When enabled, our systems generate recovery codes during a successful activation. The mobile device then store them on the mobile device, protected by a secure vault mechanism (the secure vault requires the PIN code to unlock). -![Activation Initialization](./resources/images/sequence_activation_init.png) +You can read more about specific activation types in dedicated chapters: -### Key Exchange +- [Activation via Activation Code](./Activation-via-Activation-Code.md) +- [Activation via Recovery Code](./Activation-via-Recovery-Code.md) +- [Activation via Custom Credentials](./Activation-via-Custom-Credentials.md) -This diagram shows how public keys are exchanged between PowerAuth Client and PowerAuth Server, and how master shared secret and PowerAuth Standard Keys are derived. The Master Front-End Application plays no active role in the process of a key exchange. +## Application-Level Encryption -![Activation Key Exchange](./resources/images/sequence_activation_prepare.png) +Since the activation process transfers extremely sensitive data payloads and user credentials between the mobile app and the server, additional application level encryption is used during the process. -### Activation Commit +The end-to-end application-level encryption is actually performed twice on a single payload. -Finally, the last diagram shows how Master Front-End Application proactively checks the status of the activation and allows it's completion by committing the activation record. A PowerAuth Client plays a very little role in this step - it only shows a public key fingerprint so that the key exchange can be confirmed before committing the activation. +The first layer of encryption protects the data transfer between the mobile app and intermediate Enrollment Server component (accessible from the Internet). After unwrapping the first encryption layer, the Enrollment Server gains access to the activation type and activation specific credentials. However, the Enrollment Server cannot unwrap the second encryption layer. Instead, the Enrollment Server passes the encrypted activation data to PowerAuth Server alongside either the user ID (for custom credentials), activation code (for activation via activation code) or recovery code (for activation via recovery code). The PowerAuth Server then decrypts the second encryption layer and it stores the activation data from the client. In response, it sends an encrypted server-side activation payload (again, the Enrollment Server cannot decrypt this payload). The Enrollment server finally re-encrypts the response and sends it to the mobile app. -![Activation Commit](./resources/images/sequence_activation_commit.png) +Detailed documentation of [End-to-End Encryption](./End-To-End-Encryption.md) is available in a dedicated chapter. -## Activation Flow - Description +A good place to review the exact request and response payload structure is in the [PowerAuth Standard RESTful API documentation](./Standard-RESTful-API.md#post-pav3activationcreate). -To describe the steps more precisely, the activation process is performed in following steps: +## Key Derivation -1. Master Front-End Application requests a new activation for a given user. +After completing the activation flow, the mobile app and PowerAuth Server must derive additional factor specific signing keys that are based on a shared secret established during the activation. -1. PowerAuth Server generates an `ACTIVATION_ID`, `ACTIVATION_CODE`, `CTR_DATA` - an initial value for hash based counter, and a key pair `(KEY_SERVER_PRIVATE, KEY_SERVER_PUBLIC)`. Server also optionally computes a signature `ACTIVATION_SIGNATURE` of `ACTIVATION_CODE` using servers master private key `KEY_SERVER_MASTER_PRIVATE`. - ```java - String ACTIVATION_ID = Generator.randomUUID() - String ACTIVATION_CODE = Generator.randomActivationCode() // must be unique among records in CREATED and PENDING_COMMIT states - byte[] CTR_DATA = Generator.randomBytes(16) - KeyPair keyPair = KeyGenerator.randomKeyPair() - PrivateKey KEY_SERVER_PRIVATE = keyPair.getPrivate() - PublicKey KEY_SERVER_PUBLIC = keyPair.getPublic() - byte[] DATA = ACTIVATION_CODE.getBytes("UTF-8") - byte[] ACTIVATION_SIGNATURE = ECDSA.sign(DATA, KEY_SERVER_MASTER_PRIVATE) - ``` +The mobile app then stores these derived keys and throws away the unencrypted device private key and any intermediate products of the activation process. Only the derived keys are stored on the mobile app using a method appropriate for the particular key. -1. Record associated with given `ACTIVATION_ID` is now in `CREATED` state. +For example, a signature key related to the "knowledge factor" is stored encrypted using a key derived from a PIN code, a signature key related to the "biometry factor" is stored encrypted with a key that is retrieved from the biometric module of the device, etc. -1. Master Front-End Application receives an `ACTIVATION_CODE` and `ACTIVATION_SIGNATURE` (optional) and displays these information visually in the front-end so that a user can rewrite them in PowerAuth Client. +The detailed description of the [Key Derivation](./Key-derivation.md) is available in a separate chapter. -1. User enters `ACTIVATION_CODE`, and `ACTIVATION_SIGNATURE` (optional) in the PowerAuth Client, for example using manual entry or by scanning a QR code with activation data. +## Low-Level Implementation -1. (optional) PowerAuth Client verifies `ACTIVATION_SIGNATURE` against `ACTIVATION_CODE` using `KEY_SERVER_MASTER_PUBLIC` and if the signature matches, it proceeds. - ```java - byte[] DATA = ACTIVATION_CODE.getBytes("UTF-8") - boolean isOK = ECDSA.verify(DATA, ACTIVATION_SIGNATURE, KEY_SERVER_MASTER_PUBLIC) - ``` +To assure the best resilience of the process and to make sure that no sensitive cryptographic data remains allocated in the memory, the core of the mobile app component is implemented in C/C++. -1. PowerAuth Client generates its key pair `(KEY_DEVICE_PRIVATE, KEY_DEVICE_PUBLIC)`. - ```java - KeyPair keyPair = KeyGenerator.randomKeyPair() - PrivateKey KEY_DEVICE_PRIVATE = keyPair.getPrivate() - PublicKey KEY_DEVICE_PUBLIC = keyPair.getPublic() - ``` - -1. PowerAuth Client encrypts payload containing `KEY_DEVICE_PUBLIC` with an application scoped ECIES (level 2, `sh1="/pa/activation"`). Let's call the result of this step as `ACTIVATION_DATA`. - -1. PowerAuth Client encrypts payload containing `ACTIVATION_DATA` and `ACTIVATION_CODE` with an application scoped ECIES (level 1, `sh1="/pa/generic/application"`) and sends HTTPS request to the `/pa/v3/activation/create` endpoint. - -1. Intermediate Server Application decrypts ECIES envelope, with an application scoped ECIES (level 1, `sh1="/pa/generic/application"`) and asks PowerAuth Server to move activation to the next step. At this step, the `ACTIVATION_CODE` can be used to identify the pending activation. - -1. PowerAuth Server receives `ACTIVATION_CODE` and `ACTIVATION_DATA` from Intermediate Server Application. The `ACTIVATION_CODE` identifies the record for a pending activation. If the record is unknown, then server returns a generic error. - -1. PowerAuth Server decrypts `ACTIVATION_DATA` with using an application scoped ECIES (level 2, `sh1="/pa/activation"`) and stores `KEY_DEVICE_PUBLIC` at given record. - -1. PowerAuth Server changes the record status to `PENDING_COMMIT`. - -1. PowerAuth Server encrypts response, containing `ACTIVATION_ID`, `CTR_DATA`, `KEY_SERVER_PUBLIC` with the same key as was used for ECIES level 2 decryption. This data is once more time encrypted by Intermediate Server Application, with the same key from ECIES level 1, and the response is sent to the PowerAuth Client. - -1. PowerAuth Client decrypts the response with both levels of ECIES, in the right order and receives `ACTIVATION_ID`, `KEY_SERVER_PUBLIC`, `CTR_DATA` and stores all that values locally on the device. - -1. (optional) PowerAuth Client displays `H_K_DEVICE_PUBLIC`, so that a user can verify the device public key correctness by entering `H_K_DEVICE_PUBLIC` in the Master Front-End Application (Master Front-End Application sends `H_K_DEVICE_PUBLIC` for verification to PowerAuth Server via Intermediate Server Application). - ```java - byte[] activationIdBytes = ACTIVATION_ID.getBytes("UTF-8") - byte[] fingerprintBytes = ByteUtils.concat(K_DEVICE_PUBLIC_BYTES, ByteUtils.concat(activationIdBytes, K_SERVER_PUBLIC_BYTES)) - byte[] truncatedBytes = ByteUtils.truncate(Hash.sha256(KeyConversion.getBytes(fingerprintBytes), 4) - int H_K_DEVICE_PUBLIC = ByteUtils.getInt(truncatedBytes) & 0x7FFFFFFF) % (10 ^ 8) - ``` - _Note: Client and server should check the client's public key fingerprint before the shared secret established by the key exchange is considered active. This is necessary so that user can verify the exchanged information in order to detect the MITM attack._ - -1. PowerAuth Client uses `KEY_DEVICE_PRIVATE` and `KEY_SERVER_PUBLIC` to deduce `KEY_MASTER_SECRET` using ECDH. - ```java - KEY_MASTER_SECRET = ByteUtils.convert32Bto16B(ECDH.phase(KEY_DEVICE_PRIVATE, KEY_SERVER_PUBLIC)) - ``` - -1. PowerAuth Server uses `KEY_DEVICE_PUBLIC` and `KEY_SERVER_PRIVATE` to deduce `KEY_MASTER_SECRET` using ECDH. - ```java - KEY_MASTER_SECRET = ByteUtils.convert32Bto16B(ECDH.phase(KEY_SERVER_PRIVATE, KEY_DEVICE_PUBLIC)) - ``` - -1. Master Front-End Application allows completion of the activation - for example, it may ask user to enter a code delivered via an SMS message. Master Front-End Application technically commits the activation by calling PowerAuth Server (via Intermediate Server Application). - -1. Record associated with given `ACTIVATION_ID` is now in `ACTIVE` state. +## Activation States -After completing the activation, client must store derived keys and throw away unencrypted device private key and key master secret. Only the derived keys should be stored on the device according to the description in "PowerAuth Key Derivation" chapter. +The following diagram shows transitions between activation states: -## Related topics +![Activation Lifecycle](./resources/images/arch_activation_lifecycle.png) -- [Activation Code Format](Activation-Code.md) -- [Activation Recovery](Activation-Recovery.md) -- [Additional Activation OTP](Additional-Activation-OTP.md) \ No newline at end of file +| State | Description | +|--------------------|-------------| +| `CREATED` | The activation record is created using an external channel, such as the Internet banking, but the key exchange between the client and server did not happen yet. | +| `PENDING_COMMIT` | The activation record is created and key exchange between the client and server already took place, but the activation record needs additional approval before it can be used. | +| `ACTIVE` | The activation record is created and active. It is ready to be used for typical use-cases, such as generating signatures. | +| `BLOCKED` | The activation record is blocked and cannot be used for most of the use-cases, such as generating signatures. It can be unblocked and activated again. | +| `REMOVED` | The activation record is removed and permanently blocked. It cannot be used for generating signatures or ever unblocked. | + +## Related Topics + +- [Activation via Activation Code](./Activation-via-Activation-Code.md) +- [Activation via Recovery Code](./Activation-via-Recovery-Code.md) +- [Activation via Custom Credentials](./Activation-via-Custom-Credentials.md) +- [Checking Activation Status](./Activation-Status.md) +- [Key Derivation](./Key-derivation.md) +- [Additional Activation OTP](Additional-Activation-OTP.md) diff --git a/docs/Additional-Activation-OTP.md b/docs/Additional-Activation-OTP.md index 090eb81ab..2528ea8a7 100644 --- a/docs/Additional-Activation-OTP.md +++ b/docs/Additional-Activation-OTP.md @@ -1,4 +1,8 @@ -# Additional activation OTP +# Additional Activation OTP + + +This part of the documentation describes in detail how usage of additional activation OTP changes the activation process. So, before you start, you should be familiar with actors and processes defined for the [regular activation](Activation.md). + The purpose of additional activation OTP is to help with the user authentication, or with the activation confirmation. The additional OTP can be used either in the early stages of the activation or later when the activation is created and waits for the confirmation in the PENDING_COMMIT state. @@ -12,15 +16,11 @@ We will describe each situation in detail in the separate chapters: - [Confirm custom activation with OTP](#confirm-custom-activation-with-otp) - [Confirm activation recovery with OTP](#confirm-activation-recovery-with-otp) - -> Notes: -> 1. This part of the documentation describes in detail how usage of additional activation OTP changes the activation process. So, before you start, you should be familiar with actors and processes defined for the [regular activation](Activation.md). - -## Additional user authentication +## Additional User Authentication In this common scenario, it's expected that the PowerAuth activation is not yet created so that the additional activation OTP can be used in the time of the activation creation as additional user authentication. -### Regular activation with OTP +### Regular Activation With OTP 1. User is authenticated in Master Front-End Application and initiates the activation creation process: @@ -28,24 +28,24 @@ In this common scenario, it's expected that the PowerAuth activation is not yet 1. Master Front-End Application then asks PowerAuth server to create an activation, with using this OTP ([`initActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-initactivation) method, OTP validation set to ON_KEY_EXCHANGE). 1. Master Front-End Application then displays QR code, containing an activation code. 1. At the same time, Master Front-End Application initiates the delivery of activation OTP. It's recommended to deliver such code via a dedicated out-of-band channel, for example, via SMS. - -1. In the mobile application: + +1. In the mobile application: 1. The user scans QR code or retypes the activation code manually. 1. The user waits for OTP delivery via the out-of-band channel. 1. The user retypes OTP to the mobile application. - 1. Mobile application then initializes the activation, using activation code and OTP. + 1. Mobile application then initializes the activation, using activation code and OTP. 1. Intermediate Server Application receives activation with activation code and OTP: - - 1. The activation code and OTP are verified by the PowerAuth server in the [`prepareActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-prepareactivation) method. + + 1. The activation code and OTP are verified by the PowerAuth server in the [`prepareActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-prepareactivation) method. 1. If the method call succeeds, the activation is set to the ACTIVE state. There's no need to wait for the confirmation. - 1. In case that received OTP is wrong, the user has a limited number of retry attempts. The activation will be removed after too many failures. + 1. In case that received OTP is wrong, the user has a limited number of retry attempts. The activation will be removed after too many failures. 1. The mobile application receives the response from the server and completes the activation on the mobile side. -### Custom activation with OTP +### Custom Activation With OTP There are multiple ways how to implement custom activation with an additional authentication OTP so that we will discuss only one particular case. What they have all common and what you need to know is that OTP is, in this case, not verified by PowerAuth Server. It's more practical to validate it before the actual activation creation. @@ -54,7 +54,7 @@ There are multiple ways how to implement custom activation with an additional au 1. Master Front-End Application generates random activation OTP and keeps it temporarily in the database. 1. At the same time, Master Front-End Application initiates the delivery of activation OTP. It's recommended to deliver such code via a dedicated out-of-band channel, for example, via SMS. 1. Master Front-End Application instructs the user to start the mobile application and type the username, password, and OTP to the mobile app. - + 1. In the mobile application: 1. The user enters username and password. @@ -69,13 +69,11 @@ There are multiple ways how to implement custom activation with an additional au 1. The mobile application receives the response from the server and completes the activation on the mobile side. +## Activation Confirmation +In this common scenario, an additional activation OTP helps with the final activation confirmation, so the OTP is required in the later stages of the activation process (during the commit). In this case, it doesn't matter how the activation process was initiated. You can confirm regular, custom and also recovery activations with the OTP. -## Activation confirmation - -In this common scenario, an additional activation OTP helps with the final activation confirmation, so the OTP is required in the later stages of the activation process (during the commit). In this case, it doesn't matter how the activation process was initiated. You can confirm regular, custom and also recovery activations with the OTP. - -### Confirm regular activation with OTP +### Confirm Regular Activation With OTP 1. User is authenticated in Master Front-End Application and initiates the activation creation process: @@ -83,35 +81,35 @@ In this common scenario, an additional activation OTP helps with the final activ 1. Master Front-End Application then asks PowerAuth server to create an activation, with using this OTP ([`initActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-initactivation) method, OTP validation set to ON_COMMIT). 1. Master Front-End Application then displays QR code, containing an activation code. -1. In the mobile application: +1. In the mobile application: 1. The user scans QR code or retypes the activation code manually. 1. Mobile application then initializes the activation, using activation code. 1. Intermediate Server Application receives a regular activation request, with activation code: - - 1. The activation code is verified by the PowerAuth server in the [`prepareActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-prepareactivation) method. + + 1. The activation code is verified by the PowerAuth server in the [`prepareActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-prepareactivation) method. 1. If the method call succeeds, the activation is set to the PENDING_COMMIT state. 1. At the same time, Intermediate Server Application initiates the delivery of activation OTP. It's recommended to deliver such code via a dedicated out-of-band channel, for example, via SMS. 1. The mobile application receives the response from the server and completes the keys-exchange on the mobile side. - + Now it depends whether the user has to retype OTP back to the Master Front-End Application, or the mobile application. - + 1. For the first case, the implementation is straightforward. Once the user retypes OTP back to Master Front-End Application, the activation can be completed on PowerAuth Server by calling [`commitActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-commitactivation) method. In case the commit fails, the number of commit attempts is limited to the [`MAX_FAILED_ATTEMPTS`](Computing-and-Validating-Signatures.md#constants-and-variables). -2. In case the OTP is retyped in the mobile application, the additional RESTful endpoint has to be implemented on the Intermediate Server Application. We recommend to use our [ECIES encryption](End-To-End-Encryption.md) to protect such endpoint. In case the commit fails, the number of commit attempts is limited to the [`MAX_FAILED_ATTEMPTS`](Computing-and-Validating-Signatures.md#constants-and-variables). +2. In case the OTP is retyped in the mobile application, the additional RESTful endpoint has to be implemented on the Intermediate Server Application. We recommend to use our [ECIES encryption](End-To-End-Encryption.md) to protect such endpoint. In case the commit fails, the number of commit attempts is limited to the [`MAX_FAILED_ATTEMPTS`](Computing-and-Validating-Signatures.md#constants-and-variables). For both cases, it's recommended to generate a new OTP in case that delivery failed (e.g. user did not receive SMS). You can use [`updateActivationOtp`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-updateactivationotp) method to set a new OTP to the PowerAuth Server. -You can also slightly alter this whole sequence, and generate the first OTP later, in the step 3. In this case, you have to use [`updateActivationOtp`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-updateactivationotp) in the same step, to set the OTP. +You can also slightly alter this whole sequence, and generate the first OTP later, in the step 3. In this case, you have to use [`updateActivationOtp`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-updateactivationotp) in the same step, to set the OTP. -### Confirm custom activation with OTP +### Confirm Custom Activation With OTP -There are multiple ways how to implement custom activation and confirm it with an additional authentication OTP so that we will discuss only one particular case. In this scenario, we don't involve the Master Front-End Application in the process, but we expect that the user has already issued some valid credentials to the system. +There are multiple ways how to implement custom activation and confirm it with an additional authentication OTP so that we will discuss only one particular case. In this scenario, we don't involve the Master Front-End Application in the process, but we expect that the user has already issued some valid credentials to the system. 1. In the mobile application: - + 1. The user enters username and password. 1. Mobile application then initializes the custom activation with provided username and password. @@ -121,7 +119,7 @@ There are multiple ways how to implement custom activation and confirm it with a 1. If everything's right, then Intermediate Server Application creates activation by calling [`createActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-createactivation). The activation must be set to the PENDING_COMMIT state. 1. Intermediate Server Application generates random activation OTP and update the activation record, by calling [`updateActivationOtp`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-updateactivationotp) method. 1. At the same time, Intermediate Server Application initiates the delivery of activation OTP. - + 1. Back in the mobile application: 1. The mobile application receives the response from the server and completes the key exchange on the mobile side. @@ -136,12 +134,12 @@ There are multiple ways how to implement custom activation and confirm it with a After the response from the commit is received on the mobile side, the application can check whether the activation's state is ACTIVE. -### Confirm activation recovery with OTP +### Confirm Activation Recovery With OTP The confirmation of activation recovery is very similar to custom activation confirmation. 1. In the mobile application: - + 1. The user enters recovery code and PUK. 1. Mobile application then initializes the recovery activation with provided code and PUK. @@ -150,7 +148,7 @@ The confirmation of activation recovery is very similar to custom activation con 1. The recovery code and PUK is verified by the PowerAuth Server, by calling [`recoveryCodeActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-recoverycodeactivation). 1. Intermediate Server Application generates random activation OTP and update the activation record, by calling [`updateActivationOtp`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-updateactivationotp) method. 1. At the same time, Intermediate Server Application initiates the delivery of activation OTP. - + 1. Back in the mobile application: 1. The mobile application receives the response from the server and completes the keys-exchange on the mobile side. @@ -163,4 +161,4 @@ The confirmation of activation recovery is very similar to custom activation con 1. Decrypts OTP from the request. 1. Commits the activation by calling PowerAuth Server's [`commitActivation`](https://github.com/wultra/powerauth-server/blob/develop/docs/WebServices-Methods.md#method-commitactivation) method. -After the response from the commit is received on the mobile side, the application can check whether the activation's state is ACTIVE. \ No newline at end of file +After the response from the commit is received on the mobile side, the application can check whether the activation's state is ACTIVE. diff --git a/docs/Basic-definitions.md b/docs/Basic-definitions.md index 0651bdccc..eb50db27f 100644 --- a/docs/Basic-definitions.md +++ b/docs/Basic-definitions.md @@ -4,69 +4,319 @@ The goal of this chapter is to define used functions related to cryptography and ## Cryptographic Functions -Following basic cryptography algorithms and parameters are used in the PowerAuth cryptography description: +The following basic cryptography algorithms and parameters are used in the PowerAuth cryptography description: -- **AES** - A symmetric key encryption algorithm, uses CBC mode of operation. It defines four methods: - - `byte[] encrypted = AES.encrypt(byte[] original, byte[] iv, SecretKey key)` - encrypt bytes using symmetric key with given initialization vector and `AES/CBC/PKCS7Padding` transformation. - - `byte[] original = AES.decrypt(byte[] encrypted, byte[] iv, SecretKey key)` - decrypt bytes using symmetric key with given initialization vector and `AES/CBC/PKCS7Padding` transformation. - - `byte[] encrypted = AES.encrypt(byte[] original, byte[] iv, SecretKey key, String transformation)` - encrypt bytes using symmetric key with given initialization vector and given cipher transformation. - - `byte[] original = AES.decrypt(byte[] encrypted, byte[] iv, SecretKey key, String transformation)` - decrypt bytes using symmetric key with given initialization vector and given cipher transformation. +### AES Symmetric Encryption -- **PBKDF2** - An algorithm for key stretching, converts a short password into long key by performing repeated hash iteration on the original data, HMAC-SHA1 algorithm is used for a pseudo-random function. Implementations must make sure resulting key is converted in format usable by AES algorithm. One method is defined for this algorithm: - - `SecretKey expandedKey = PBKDF2.expand(char[] password, byte[] salt, long iterations, long lengthInBits)` - stretch the password using given number of iterations to achieve key of given length in bits, use given salt. +A symmetric key encryption algorithm, uses CBC mode of operation. It defines the following methods: -- **X9.63 (with SHA256)** - A standard KDF function based on X9.63, with SHA256 as an internal hash function. It uses iterations of SHA256 hash function to derive a key of expected `length` of bytes. - - `byte[] bytes = KDF_X9_63_SHA256.derive(byte[] secret, byte[] info, int length)` +#### Encryption -- **ECDSA** - An algorithm for elliptic curve based signatures, uses SHA256 hash algorithm and P256r1 EC curve. It defines two operations: - - `byte[] signature = ECDSA.sign(byte[] data, PrivateKey privateKey)` - compute signature of given data and private key. - - `boolean isValid = ECDSA.verify(byte[] data, byte[] signature, PublicKey publicKey)` - verify the signature for given data using a given public key. +Encrypt bytes using symmetric key with given initialization vector and `AES/CBC/PKCS7Padding` transformation: -- **ECDH** - An algorithm for elliptic curve with Diffie-Hellman key exchange, uses P256r1 curve. We define single operation on ECDH, a symmetric key deduction between parties A and B: - - `SecretKey secretKey = ECDH.phase(PrivateKey privateKeyA, PublicKey publicKeyB)` +```java +byte[] encrypted = AES.encrypt(byte[] original, byte[] iv, SecretKey key); +``` -- **KDF** - A key derivation function used to derive a symmetric key with specific "index" from a given master key. Uses AES algorithm with zero initialization vector to derive the new key in following way: `index` is converted to bytes, XORed with a 16 byte long zero array (to get 16 byte long array with bytes from the index) and AES encrypted using provided symmetric key `masterKey`. - - `SecretKey derivedKey = KDF.derive(SecretKey masterKey, long index)` +Encrypt bytes using symmetric key with given initialization vector and given cipher transformation. -- **KDF_INTERNAL** - A second key derivation function for the algorithm internal purposes used to derive a symmetric key with specific "index" (in this case, byte[16]) from a given master key. Uses HMAC-SHA256 to derive the new key in following way: `index` used as HMAC-SHA256 key, provided symmetric key `masterKey` is converted to key bytes used as HMAC-SHA256 data, resulting 32B long byte array is then XORed on per-byte basis to obtain 16B ling byte array (0th with 16th, 1st with 17th, etc.). - - `SecretKey derivedKey = KDF_INTERNAL.derive(SecretKey masterKey, byte[] index)` +```java +byte[] encrypted = AES.encrypt(byte[] original, byte[] iv, SecretKey key, String transformation); +``` + +#### Decryption + +Decrypt bytes using symmetric key with given initialization vector and `AES/CBC/PKCS7Padding` transformation: + +```java +byte[] original = AES.decrypt(byte[] encrypted, byte[] iv, SecretKey key); +``` + +Decrypt bytes using symmetric key with given initialization vector and given cipher transformation. + +```java +byte[] original = AES.decrypt(byte[] encrypted, byte[] iv, SecretKey key, String transformation); +``` + +### PBKDF2 + +An algorithm for key stretching, converts a short password into long key by performing repeated hash iteration on the original data. HMAC-SHA1 algorithm is used for a pseudo-random function. Implementations must make sure resulting key is converted into a format usable by the AES algorithm. + +The following method will stretch the password using given number of iterations to achieve key of given length in bits. Use a provided salt value. + +```java +SecretKey expandedKey = PBKDF2.expand(char[] password, byte[] salt, long iterations, long lengthInBits); +``` + + +### X9.63 KDF with SHA256 + +A standard KDF function based on X9.63, with SHA256 as an internal hash function. It uses iterations of SHA256 hash function to derive a key of expected `length` of bytes. + +Use the following method to derive a key of expected length from original secret value, using additional info byte value. + +```java +byte[] bytes = KDF_X9_63_SHA256.derive(byte[] secret, byte[] info, int length); +``` + +### ECDSA Signatures + +An algorithm for elliptic curve based signatures, uses SHA256 hash algorithm and P256r1 EC curve. It defines the following operations: + +#### Data Signing + +Compute signature of given data with a private key. + +```java +byte[] signature = ECDSA.sign(byte[] data, PrivateKey privateKey); +``` + +#### Signature Verification + +Verify the signature for given data using a given public key. + +```java +boolean isValid = ECDSA.verify(byte[] data, byte[] signature, PublicKey publicKey); +``` + +### ECDH Key Agreement + +An algorithm for elliptic curve Diffie-Hellman, uses P256r1 curve. We define a single operation on ECDH, a symmetric key deduction between parties A and B: + +Derive a shared secret using a private key of party A and a public key of party B using the follwing method. + +```java +SecretKey secretKey = ECDH.phase(PrivateKey privateKeyA, PublicKey publicKeyB); +``` + +### KDF + +A key derivation function used to derive a symmetric key with specific "index" from a given master key. Uses `AES` algorithm with the zero initialization vector to derive the new key in following way: `index` is converted to bytes, XORed with a 16 byte long zero array (to get 16 byte long array with bytes from the index) and AES encrypted using provided symmetric key `masterKey`. + +To obtain a key derived from a master key using a provided index, use: + +```java +SecretKey derivedKey = KDF.derive(SecretKey masterKey, long index); +``` + +### KDF_INTERNAL + +A second key derivation function for the algorithm internal purposes used to derive a symmetric key with specific "index" (in this case, `byte[16]`) from a given master key. Uses `HMAC-SHA256` to derive the new key in following way: + +The `index` used as `HMAC-SHA256` key, provided symmetric key `masterKey` is converted to key bytes used as `HMAC-SHA256` data, resulting 32B long byte array is then XORed on per-byte basis (0th with 16th, 1st with 17th, etc.) to obtain 16B long byte array. + +To obtain a key derived from a master key using a provided index, use: + +```java +SecretKey derivedKey = KDF_INTERNAL.derive(SecretKey masterKey, byte[] index); +``` ## Helper Functions These functions are used in the pseudo-codes: -- Key generators. - - `KeyPair keyPair = KeyGenerator.randomKeyPair()` - Generate a new ECDH key pair using P256r1 elliptic curve. - -- Key conversion utilities. - - `byte[] privateKeyBytes = KeyConversion.getBytes(PrivateKey privKey)` - Get bytes from the ECDH key pair private key by encoding the D value (the number defining the ECDH private key). - - `byte[] publicKeyBytes = KeyConversion.getBytes(PublicKey pubKey)` - Get bytes from the ECDH key pair public key by encoding the Q value (the point defining the ECDH public key). - - `byte[] secretKeyBytes = KeyConversion.getBytes(SecretKey secretKey)` - Get bytes from the symmetric key (using getEncoded). - - `PrivateKey privateKey = KeyConversion.privateKeyFromBytes(byte[] privKeyBytes)` - Get ECDH key pair private key by decoding the bytes into the original D value (the number defining the ECDH private key). - - `PublicKey publicKey = KeyConversion.publicKeyFromBytes(byte[] pubKeyBytes)` - Get ECDH key pair public key by decoding the bytes into the original Q value (the point defining the ECDH public key). - - `SecretKey secretKey = KeyConversion.secretKeyFromBytes(byte[] secretKeyBytes)` - Create a symmetric key using provided bytes. - -- Random data generators. - - `byte[] randomBytes = Generator.randomBytes(int N)` - Generate N random bytes using a secure random generator. - - `String randomBase32 Generator.randomBase32String(int N)` - Generate string in Base32 encoding with N characters using a secure random generator. - - `String uuid = Generator.randomUUID()` - Generate a new UUID level 4 and return it in string representation. - - `String code = Generator.randomActivationCode()` - Generate a new `ACTIVATION_CODE`. See [Activation Code](./Activation-Code.md) for more details. - - `String code = Generator.buildActivationCode(byte[10] randomBytes)` - Function return an activation code from given random data. - -- Hashing and MAC functions. - - `byte[] signature = Mac.hmacSha256(SecretKey key, byte[] message)` - Compute HMAC-SHA256 signature for given message using provided symmetric key. - - `byte[] hash = Hash.sha256(byte[] original)` - Compute SHA256 hash of a given input. - -- Password hashing. - - `String hash = PasswordHash.hash(byte[] password)` - Compute Argon2 hash for given password. Hash is stored in Modular Crypt Format. - - `boolean matches = PasswordHash.verify(byte[] password, String hash)` - Verify password against Argon2 hash stored in Modular Crypt Format. - -- Utility functions. - - `byte[] zeroBytes = ByteUtils.zeroBytes(int N)` - Generate buffer with N zero bytes. - - `byte[] truncatedBytes = ByteUtils.truncate(byte[] bytes, int N)` - Get last N bytes of given byte array. - - `int integer = ByteUtils.getInt(byte[4] bytes)` - Get integer from 4 byte long byte array. - - `long value = ByteUtils.getLong(byte[8] bytes)` - Get long value from 8 byte long byte array. - - `byte[] result = ByteUtils.concat(byte[] a, byte[] b)` - Concatenate two byte arrays - append `b` after `a`. - - `byte[] result = ByteUtils.convert32Bto16B(byte[] bytes32)` - Converts 32b long byte array to 16b long array by xor-ing the first 16b with the second 16b, byte-by-byte. - - `byte[] result = ByteUtils.subarray(byte[] bytes, int startIndex, int length)` - Obtain subarray of a byte array, starting with index `startIndex` with a given length. - - `ByteUtils.copy(byte[] source, int sourcePosition, byte[] destination, int destinationPosition, int length)` - Copies `length` of bytes from the specified source array of bytes, beginning at the specified position, to the specified position of the destination array. +### Key Generators. + +#### Generate Random Key Pair + +Generate a new EC key pair for the P256r1 elliptic curve. + +```java +KeyPair keyPair = KeyGenerator.randomKeyPair(); +``` + +### Key Conversion Utilities. + +#### Convert Private Key to Bytes + +Get bytes from the EC private key by encoding the D value (the number defining the EC private key). + +```java +byte[] privateKeyBytes = KeyConversion.getBytes(PrivateKey privKey) +``` + +#### Convert Bytes to Private Key + +Get EC key pair private key by decoding the bytes into the original D value (the number defining the EC private key). + +```java +PrivateKey privateKey = KeyConversion.privateKeyFromBytes(byte[] privKeyBytes); +``` + +#### Convert Public Key to Bytes + +Get bytes from the EC public key by encoding the Q value (the point defining the EC public key). + +```java +byte[] publicKeyBytes = KeyConversion.getBytes(PublicKey pubKey); +``` + +#### Convert Bytes to Public Key + +Get EC public key by decoding the bytes into the original Q value (the point defining the EC public key). + +```java +PublicKey publicKey = KeyConversion.publicKeyFromBytes(byte[] pubKeyBytes); +``` + +#### Convert Secret Key to Bytes + +Get bytes from the symmetric key (using the `getEncoded` method). + +```java +byte[] secretKeyBytes = KeyConversion.getBytes(SecretKey secretKey); +``` + +#### Convert Bytes to Secret Key + +Create a symmetric key using provided bytes. + +```java +SecretKey secretKey = KeyConversion.secretKeyFromBytes(byte[] secretKeyBytes); +``` + +### Random Data Generators. + +#### Generate Random Data + +Generate N random bytes using a secure random generator. + +```java +byte[] randomBytes = Generator.randomBytes(int N); +``` + +#### Generate Random Base32 String + +Generate string in Base32 encoding with N characters using a secure random generator. + +```java +String randomBase32 = Generator.randomBase32String(int N); +``` + +#### Generate Random UUID + +Generate a new UUID level 4 and return it in string representation. + +```java +String uuid = Generator.randomUUID(); +``` + +#### Generate Random Activation Code + +Generate a new `ACTIVATION_CODE`. See [Activation Code](./Activation-Code.md) for more details. + +```java +String code = Generator.randomActivationCode(); +``` + +#### Build Activation Code With Random Bytes + +Function return an activation code from given random data. + +```java +String code = Generator.buildActivationCode(byte[10] randomBytes) +``` + +### MAC Functions + +#### HMAC-SHA256 + +Compute HMAC-SHA256 signature for given message using provided symmetric key. + +```java +byte[] signature = Mac.hmacSha256(SecretKey key, byte[] message); +``` + +### Hashing Functions. + +#### SHA256 + +Compute SHA256 hash of a given input. + +```java +byte[] hash = Hash.sha256(byte[] original); +``` + +### Password Hashing + +#### Compute Password Hash + +Compute Argon2 hash for given password. Hash is stored in Modular Crypt Format. + +```java +String hash = PasswordHash.hash(byte[] password); +``` + +#### Verify Password Hash + +Verify password against Argon2 hash stored in Modular Crypt Format. + +```java +boolean matches = PasswordHash.verify(byte[] password, String hash); +``` + +### Utility Functions. + +#### Obtain Zero Byte Array + +Generate buffer with N zero bytes. + +```java +byte[] zeroBytes = ByteUtils.zeroBytes(int N); +``` + +#### Truncate Array + +Get last N bytes of given byte array. + +```java +byte[] truncatedBytes = ByteUtils.truncate(byte[] bytes, int N); +``` + +#### Get Int From Byte Array + +Get integer from 4 byte long byte array. + +```java +int integer = ByteUtils.getInt(byte[4] bytes); +``` + +#### Get Long From Byte Array + +Get long value from 8 byte long byte array. + +```java +long value = ByteUtils.getLong(byte[8] bytes); +``` + +#### Concatenate Arrays + +Concatenate two byte arrays - append `b` after `a`. + +```java +byte[] result = ByteUtils.concat(byte[] a, byte[] b); +``` + +#### Convert 32b Array to 16b + +Converts 32b long byte array to 16b long array by xor-ing the first 16b with the second 16b, byte-by-byte. + +```java +byte[] result = ByteUtils.convert32Bto16B(byte[] bytes32); +``` + +#### Obtain Sub-Array + +Obtain subarray of a byte array, starting with index `startIndex` with a given length. + +```java +byte[] result = ByteUtils.subarray(byte[] bytes, int startIndex, int length); +``` + +#### Copy Arrays + +Copies `length` of bytes from the specified source array of bytes, beginning at the specified position, to the specified position of the destination array. + +```java +ByteUtils.copy(byte[] source, int sourcePosition, byte[] destination, int destinationPosition, int length); +``` diff --git a/docs/Computing-and-Validating-Signatures.md b/docs/Computing-and-Validating-Signatures.md index 372c028b7..070899cff 100644 --- a/docs/Computing-and-Validating-Signatures.md +++ b/docs/Computing-and-Validating-Signatures.md @@ -2,11 +2,46 @@ While PowerAuth can be used for signing any type of data, the main objective of the protocol is to allow signing of HTTP requests sent to the server in order to prove consistency, authenticity and integrity (CIA) of the data that were sent in the request. -In practical deployment, Intermediate Server Application is responsible for building the normalized data for the purpose of computing the signature and passing it to PowerAuth Server, since it knows details about the networking operation (for example, it knows what endpoint is being signed, what HTTP method it uses, etc.). PowerAuth Server can then just simply accept any data and signature and perform signature validation - in ideal world, PowerAuth Server should know nothing about the business domain it is used in. +In practical deployment, Intermediate Server Application is responsible for building the normalized data for the purpose of computing the signature and passing it to PowerAuth Server, since it knows details about the networking operation (for example, it knows what endpoint is being signed, what HTTP method it uses, etc.). PowerAuth Server can then just simply accept any data and signature and perform signature validation. In an ideal world, PowerAuth Server should know nothing about the business domain it is used in. + +## Normalized Data for HTTP Requests + +Normalized data to be signed are built using the following procedure: + +``` +REQUEST_DATA = ${REQUEST_METHOD}&${REQUEST_URI_IDENTIFIER}&${NONCE}&${REQUEST_BODY} +DATA = ${REQUEST_DATA}&${APPLICATION_SECRET} +``` + + +Note that the `APPLICATION_SECRET` is technically outside the request data and is appended after the `REQUEST_DATA` normalization. This is because Intermediate Server Application does not know the `APPLICATION_SECRET` but must be able to forward normalized `REQUEST_DATA` to the PowerAuth Server. + + +The components of the string above are the following: + +- `${REQUEST_METHOD}` - HTTP method written in upper-case, such as GET or POST. +- `${REQUEST_URI_IDENTIFIER}` - identifier of given URI of the resource encoded as Base64 with UTF-8 encoding, for example `Base64.encode("/api/payment".getBytes("UTF-8"))`. The hashed value (in the example before, the `/api/payment` string) should be uniquely chosen for each URI, but can be of an arbitrary format (if not specified otherwise). +- `${APPLICATION_SECRET}` - An application secret key, used to bind an application identification in the signature explicitly. This value is 16B encoded as Base64 using UTF-8 encoding (see implementation notes). +- `${NONCE}` - Random 16 bytes (suggested length) encoded as Base64 using UTF-8 encoding, serving as a cryptographic nonce. +- `${REQUEST_BODY}` - Request body from the HTTP request + - In case of request without body (such as GET and DELETE requests), the request data is constructed from the URL query parameters (for example, GET request parameters) in a following way: + 1. Take all URL query parameters as key-value pairs: + - `PARAM[i] = (KEY[i], VALUE[i]), i = 0 .. N` + 1. Sort all these key-value pairs according to `KEY[i]` first, then sort duplicate keys according to the `VALUE[i]` + 1. Construct data as concatenation of the sorted key-value pairs, key is separated from value using "=" character, individual key-value pairs are separated using "&" character: + - `REQUEST_DATA = BASE64.encode(CONCAT_ALL(CONCAT(KEY[j], VALUE[j], "="), "&", j = 0 .. N))` (let's assume that `j` are sorted indexes) + 1. _Note: The GET request normalization is inspired by the OAuth 1.0a request normalization._ + - In case of request with body (such as POST and PUT requests), data from the resource body (bytes) are encoded using Base64 with UTF-8 encoding and appended: + - `REQUEST_DATA = BASE64.encode(ByteUtils.getBytes(HTTP['body']))` + +In case the data for offline signature is being normalized, then the following rules are applied: + +- `${REQUEST_METHOD}` is always set to `POST`. +- `${APPLICATION_SECRET}` is always set to the string constant `offline`. ## Computing the Signature -PowerAuth signature is in principle multi-factor - it uses all keys as defined in "PowerAuth Key Derivation" chapter. The signature may include one, two or three factors, therefore achieving 1FA, 2FA or 3FA. In order to determine the type of the signature, following constants are used: +PowerAuth signature is in principle multi-factor. It uses all keys as defined in the [Key Derivation](./Key-derivation.md) chapter. The signature may include one, two or three factors, therefore achieving 1FA, 2FA or 3FA. In order to determine the type of the signature, following constants are used: - **1FA** - only a single factor is used - `possession` - Signature uses only possession related key `KEY_SIGNATURE_POSSESSION`. @@ -18,16 +53,21 @@ PowerAuth signature is in principle multi-factor - it uses all keys as defined i - **3FA** - all three factors are used - `possession_knowledge_biometry` - Signature uses three keys: a possession related key `KEY_SIGNATURE_POSSESSION`, then knowledge related key `KEY_SIGNATURE_KNOWLEDGE`, and finally biometry related key `KEY_SIGNATURE_BIOMETRY`. -When using more than one factor / key, the keys are added additively in the signature algorithm, so that the factors can be validated individually. The resulting PowerAuth signature can be then represented in two different formats: + +While all values are possible to use, only the values `possession`, `possession_knowledge` and `possession_biometry` are used in any practical setup. + + +When using more than one factor key, the keys are added additively in the signature algorithm, so that the factors can be validated individually. The resulting PowerAuth signature can be then represented in two different formats: -1. For online validation, PowerAuth signature is one Base64 string, which length depends on the number of factors involved in the calculation (16, 32 or 48 bytes encoded in Base64) -1. For offline validation purposes, PowerAuth signature is a sequence of one to three numeric strings with 8 digits (each sequence is separated by “-“ character) +1. For online validation, the PowerAuth signature is one Base64 string. The length depends on the number of factors involved in the calculation (16, 32 or 48 bytes encoded in Base64). +1. For offline validation purposes, the PowerAuth signature is a sequence of one to three numeric strings with 8 digits, each sequence is separated by "-" character. Both formats share the same core algorithm to calculate the signature components: ```java /** - * Compute the signature components for given data using provided keys and current counter. + * Compute the signature components for given data using provided keys + * and current counter. * @param data - data to be signed * @param signatureKey - array of symmetric keys used for signature * @param CTR_DATA - hash based counter @@ -39,7 +79,8 @@ List computeSignatureComponents(byte[] data, List signatureKe byte[] KEY_SIGNATURE = KeyConversion.secretKeyFromBytes(signatureKey.get(0)); byte[] KEY_DERIVED = Mac.hmacSha256(KEY_SIGNATURE, CTR_DATA); - // ... compute signature key using more than one keys, at most 2 extra keys + // ... compute signature key using more than one keys, + // at most 2 extra keys // ... this skips the key with index 0 when i == 0 for (int j = 0; j < i; j++) { KEY_SIGNATURE = KeyConversion.secretKeyFromBytes(signatureKey.get(j + 1)); @@ -55,9 +96,9 @@ List computeSignatureComponents(byte[] data, List signatureKe } ``` -### Signing HTTP requests +### Signing HTTP Requests -PowerAuth signature for online purposes can be obtained in following manner: +PowerAuth signature for online purposes can be obtained in the following manner: ```java /** @@ -69,7 +110,7 @@ PowerAuth signature for online purposes can be obtained in following manner: String computeOnlineSignature(byte[] data, List signatureKeys, byte[] CTR_DATA) { // ... at first, calculate signature components List signatureBinaryComponents = computeSignatureComponents(data, signatureKeys, CTR_DATA); - + // ... now convert components into one Base64 string byte[] signatureBytes = new byte[signatureKeys.size() * 16]; for (int i = 0; i < signatureComponents.size(); i++) { @@ -82,7 +123,7 @@ String computeOnlineSignature(byte[] data, List signatureKeys, byte[] } ``` -PowerAuth Client sends the signature in the HTTP `X-PowerAuth-Authorization` header: +PowerAuth Client sends the signature value in the HTTP `X-PowerAuth-Authorization` header: ``` X-PowerAuth-Authorization: PowerAuth @@ -94,13 +135,23 @@ X-PowerAuth-Authorization: PowerAuth pa_version="3.1" ``` -### Offline signature +### Offline Signature + +Offline signatures are used in case when the mobile device is not connected to the internet. The computation of such signature is similar to signing HTTP requests, but the final string is more human readable and can be easily manually retyped. Also, some of the attributes that would otherwise be present in the HTTP header need to have static value: -Offline signatures are used in case when the mobile device is not connected to the internet. The computation of such signature is similar to signing HTTP requests, but the final string is more human readable and can be easily manually retyped: +| Parameter | Value | +|--------------------------|----------------------------------------------| +| `REQUEST_METHOD` | `POST` (recommended) | +| `REQUEST_URI_IDENTIFIER` | `/operation/authorize/offline` (recommended) | +| `APPLICATION_KEY` | _not used_ | +| `APPLICATION_SECRET` | `offline` | + +The following algorithm produces a short decimal signature value: ```java /** - * Compute the offline signature for given data using provided keys and current counter. + * Compute the offline signature for given data using provided keys + * and current counter. * @param data - data to be signed * @param signatureKey - array of symmetric keys used for signature * @param CTR_DATA - hash based counter @@ -108,7 +159,7 @@ Offline signatures are used in case when the mobile device is not connected to t String computeOfflineSignature(byte[] data, List signatureKeys, byte[] CTR_DATA) { // ... at first, calculate signature components List signatureBinaryComponents = computeSignatureComponents(data, signatureKeys, CTR_DATA); - + // ... compute signature components String[] signatureComponents = new String[signatureKeys.size()]; for (int i = 0; i < signatureComponents.size(); i++) { @@ -124,53 +175,19 @@ String computeOfflineSignature(byte[] data, List signatureKeys, byte[ PowerAuth Client displays the signature on the screen and then the user has to manually retype that string into another PowerAuth powered application (e.g. typically to web application, connected to PowerAuth Server). You can read more about the offline signatures in PowerAuth Server's [Offline Signatures](https://github.com/wultra/powerauth-server/blob/develop/docs/Offline-Signatures.md) documentation. -## Normalized Data for HTTP Requests - -Normalized data to be signed are built using the following procedure: - -``` -REQUEST_DATA = ${REQUEST_METHOD}&${REQUEST_URI_IDENTIFIER}&${NONCE}&${REQUEST_BODY} -DATA = ${REQUEST_DATA}&${APPLICATION_SECRET} -``` - -_Note: Note that the `APPLICATION_SECRET` is technically outside the request data and is appended after the `REQUEST_DATA` normalization. This is because Intermediate Server Application does not know the `APPLICATION_SECRET` but must be able to forward normalized `REQUEST_DATA` to the PowerAuth Server._ - -... where: - -- `${REQUEST_METHOD}` - HTTP method written in upper-case, such as GET or POST. -- `${REQUEST_URI_IDENTIFIER}` - identifier of given URI of the resource encoded as Base64 with UTF-8 encoding, for example `Base64.encode("/api/payment".getBytes("UTF-8"))`. The hashed value (in the example before, the "/api/payment" string) should be uniquely chosen for each URI, but can be of an arbitrary format (if not specified otherwise). -- `${APPLICATION_SECRET}` - An application secret key, used to bind an application identification in the signature explicitly. This value is 16B encoded as Base64 using UTF-8 encoding (see implementation notes). -- `${NONCE}` - Random 16 bytes (suggested length) encoded as Base64 using UTF-8 encoding, serving as a cryptographic nonce. -- `${REQUEST_BODY}` - Request body from the HTTP request - - In case of request without body (such as GET and DELETE requests), the request data is constructed from the URL query parameters (for example, GET request parameters) in a following way: - 1. Take all URL query parameters as key-value pairs: - - `PARAM[i] = (KEY[i], VALUE[i]), i = 0 .. N` - 1. Sort all these key-value pairs according to `KEY[i]` first, then sort duplicate keys according to the `VALUE[i]` - 1. Construct data as concatenation of the sorted key-value pairs, key is separated from value using "=" character, individual key-value pairs are separated using "&" character: - - `REQUEST_DATA = BASE64.encode(CONCAT_ALL(CONCAT(KEY[j], VALUE[j], "="), "&", j = 0 .. N))` (let's assume that `j` are sorted indexes) - 1. _Note: The GET request normalization is inspired by the OAuth 1.0a request normalization._ - - In case of request with body (such as POST and PUT requests), data from the resource body (bytes) are encoded using Base64 with UTF-8 encoding and appended: - - `REQUEST_DATA = BASE64.encode(ByteUtils.getBytes(HTTP['body']))` - -In case the data for offline signature is being normalized, then the following rules are applied: - -- `${REQUEST_METHOD}` is always set to `POST`. -- `${APPLICATION_SECRET}` is always set to the string constant `offline`. - ## Validating the Signature ### Constants and variables -Following constants and variables are involved in the signature validation: +The following constants and variables are involved in the signature validation: - `CTR`, signature counter - Is a representation of logical time. Each parts in the scheme (client and server) increments the counter independently. - - In protocol version `2`, the counter was involved in the signature calculation. - - In protocol version `3`, the counter has only informational value and is no longer involved in the signature calculation. + - _Note: In protocols version `3` and above, the counter has only informational value and is no longer involved in the signature calculation. In protocol version `2`, the counter was directly involved in the signature calculation._ - `CTR_DATA`, hash based signature counter - - Introduced in the protocol version `3`, now is involved in the signature calculation. + - Introduced in the protocol version `3`, now is used in the signature calculation. - It's randomly initialized and exchanged during the activation, or in the protocol upgrade process. - - In protocol version `3.1`, the client can synchronize its counter with the server. + - In protocol version `3.1`, the client can synchronize its counter with the server. - `CTR_LOOK_AHEAD`, tolerance set on server to overcome ahead clients - Server is trying to calculate and validate the signature ahead in time, in half-closed interval defined by this tolerance: `[CTR, CTR + CTR_LOOK_AHEAD)`. - Default value is `20` @@ -178,53 +195,54 @@ Following constants and variables are involved in the signature validation: - Initial value is `0`. - If value reaches value defined in `MAX_FAILED_ATTEMPTS`, then activation is set to `BLOCKED` state. - Value is increased in case that signature validation fails (see description below) -- `MAX_FAILED_ATTEMPTS`, how many maximum failed attempts in a row result in blocked activation. +- `MAX_FAILED_ATTEMPTS`, how many maximum failed attempts in a row result in blocked activation. - If `FAILED_ATTEMPTS` reaches this value, then activation is set to `BLOCKED` state. ### Algorithm -PowerAuth Server can validate the signature using the following mechanism: +PowerAuth Server validates the signature using the following mechanism: -1. Find the activation record using activation ID -1. Check the record state - if it is other than `ACTIVE`, terminate the validation. +1. Find the activation record using activation ID. +1. Check the record state. If it is other than `ACTIVE`, or if a declared application version is unsupported, terminate the validation and report error. 1. Obtain `KEY_SERVER_PRIV` and `KEY_DEVICE_PUB` from the record. 1. Compute `KEY_MASTER_SECRET`. - `KEY_MASTER_SECRET = ByteUtils.convert32Bto16B(ECDH.phase(KEY_SERVER_PRIV, KEY_DEVICE_PUB))` 1. Compute required signature keys (`KEY_SIGNATURE_POSSESSION`, `KEY_SIGNATURE_KNOWLEDGE` or `KEY_SIGNATURE_BIOMETRY`). - - see "PowerAuth Key Derivation" section. + - see [Key Derivation](./Key-derivation.md) section. 1. Compute the expected signature for obtained data and check if the expected signature matches the one sent with the client. Since the PowerAuth Client may be ahead with counter from PowerAuth Server, server should try couple extra indexes ahead: ```java -// input: CTR, CTR_DATA, CTR_LOOK_AHEAD, data and signatureKeys -boolean VERIFIED = false -byte[] CTR_DATA_ITER = CTR_DATA -for (CTR_ITER = CTR; CTR_ITER++; CTR_ITER < CRT + CTR_LOOK_AHEAD) { - //... compute signature for given CTR_DATA_ITER, data and signature keys (see the algorithm above) - String SIGNATURE = computeSignature(data, signatureKeys, CTR_DATA_ITER); - if (SIGNATURE.equals(SIGNATURE_PROVIDED) && !VERIFIED) { - VERIFIED = true - CTR_DATA = CTR_DATA_ITER - break +boolean verifySignature(byte[] data, List signatureKeys, int CTR, byte[] CTR_DATA, int CTR_LOOK_AHEAD) { + boolean verified = false; + byte[] CTR_DATA_ITER = CTR_DATA; + for (int CTR_ITER = CTR; CTR_ITER++; CTR_ITER < CRT + CTR_LOOK_AHEAD) { + //... compute signature for given CTR_DATA_ITER, data and + // signature keys (see the algorithm above) + String SIGNATURE = computeSignature(data, signatureKeys, CTR_DATA_ITER); + if (SIGNATURE.equals(SIGNATURE_PROVIDED) && !VERIFIED) { + verified = true; + CTR_DATA = CTR_DATA_ITER; // ... also, persist CTR_DATA + break; + } + // Move to the next hash-based counter's value + CTR_DATA_ITER = ByteUtils.convert32Bto16B(Hash.sha256(CTR_DATA_ITER)); } - // Move to the next hash-based counter's value - CTR_DATA_ITER = ByteUtils.convert32Bto16B(Hash.sha256(CTR_DATA_ITER)) + return verified; } -return VERIFIED; ``` #### Success In case that signature is successfully verified, then: -- Set `FAILED_ATTEMPTS` to `0`, but only if the signature factor is not `possession`. -- In case that signature with `possession` factor only is validated, then do not reset `FAILED_ATTEMPTS`. -- Move signature counter in database forward. That means that set `CTR` to `CTR_ITER` and `CTR_DATA` to `CTR_DATA_ITER`. +- If signature is of a type `possession`, do NOT reset `FAILED_ATTEMPTS`. +- For other signature types than `possession`, reset the `FAILED_ATTEMPTS` to `0`. +- Move signature counter in database forward by setting `CTR` to `CTR_ITER` and `CTR_DATA` to `CTR_DATA_ITER`. #### Failure In case of failure: -- Increase `FAILED_ATTEMPTS` by `1`, but only if the signature factor is not `possession`. -- In case that signature with `possession` factory only is validated, then do not increase `FAILED_ATTEMPTS`. +- Increase the `FAILED_ATTEMPTS` value by `1`. - If `FAILED_ATTEMPTS` is equal or greater than `MAX_FAILED_ATTEMPTS`, then set activation state to `BLOCKED`. diff --git a/docs/Development.md b/docs/Development.md index ae2a8d2a9..e8bfdfedb 100644 --- a/docs/Development.md +++ b/docs/Development.md @@ -1,6 +1,6 @@ # Development -PowerAuth projects can be easily build using Maven with JDK 8 or higher (Java LTS release recommended). +PowerAuth projects can be easily build using Maven with JDK 17 or higher (Java LTS release recommended). To build PowerAuth server, use the following shell commands: @@ -26,6 +26,8 @@ You can build all PowerAuth Java projects using similar steps: - [PowerAuth Web Flow](https://github.com/wultra/powerauth-webflow) - [SDK for RESTful APIs](https://github.com/wultra/powerauth-restful-integration) -_Note: Make sure you are creating a new Maven project in your IDE, not just a freeform project from existing sources. Maven is required for dependency management and for proper project building (for example, `powerauth-server` project uses [`jaxb2-maven-plugin`](http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/) to generate SOAP/REST transport object from an XSD file, etc.)._ + +Note: Make sure you are creating a new Maven project in your IDE, not just a freeform project from existing sources. Maven is required for dependency management and for proper project building (for example, `powerauth-server` project uses [`jaxb2-maven-plugin`](http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/) to generate SOAP/REST transport object from an XSD file, etc.). + Read more about how Maven dependencies are organized at [Maven modules](./Maven-Modules.md) documentation. diff --git a/docs/End-To-End-Encryption.md b/docs/End-To-End-Encryption.md index 189de0921..dc7662c51 100644 --- a/docs/End-To-End-Encryption.md +++ b/docs/End-To-End-Encryption.md @@ -93,7 +93,7 @@ Since the client and server use the same encryption context, the ephemeral publi Each encryption context can only be used once, for a single request-response cycle. -### Structure of EciesPayload +### Structure of `EciesPayload` The structure of the `EciesPayload` is following: @@ -133,9 +133,9 @@ PowerAuth protocol defines two basic usage scopes for ECIES encryption: - In "application scope", ECIES encryption is available for a whole PowerAuth Client lifetime. In other words, your application can use this mode anytime in its lifetime. - In "activation scope", ECIES encryption is available once the PowerAuth Client has a valid activation. In this mode, the encryptor is cryptographically bound to keys exchanged during the activation process. -### Application scope +### Application Scope -ECIES in application scope has following configuration of parameters: +ECIES in application scope has the following configuration of parameters: - `KEY_ENC_PUB` is `KEY_SERVER_MASTER_PUBLIC` - `SHARED_INFO_1` is a pre-shared constant and is different for each endpoint (see [Pre-shared constants](#pre-shared-constants)) @@ -144,16 +144,20 @@ ECIES in application scope has following configuration of parameters: byte[] SHARED_INFO_2 = Hash.sha256(APPLICATION_SECRET); ``` -*Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes.* + +Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes. + HTTP header example: + ``` -X-PowerAuth-Encryption: PowerAuth version="3.1", application_key="UNfS0VZX3JhbmRvbQ==" +X-PowerAuth-Encryption: PowerAuth version="3.1", + application_key="UNfS0VZX3JhbmRvbQ==" ``` -### Activation scope +### Activation Scope -ECIES in activation scope has following configuration of parameters: +ECIES in activation scope has the following configuration of parameters: - `KEY_ENC_PUB` is `KEY_SERVER_PUBLIC` (e.g. key which is unique for each activation) - `SHARED_INFO_1` is a pre-shared constant and is different for each endpoint (see [Pre-shared constants](#pre-shared-constants)) @@ -162,15 +166,21 @@ ECIES in activation scope has following configuration of parameters: byte[] SHARED_INFO_2 = Mac.hmacSha256(KEY_TRANSPORT, APPLICATION_SECRET); ``` -*Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes.* + +Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes. + HTTP header example: + ``` -X-PowerAuth-Encryption: PowerAuth version="3.1", application_key="UNfS0VZX3JhbmRvbQ==", activation_id="c564e700-7e86-4a87-b6c8-a5a0cc89683f" +X-PowerAuth-Encryption: PowerAuth version="3.1", + application_key="UNfS0VZX3JhbmRvbQ==", + activation_id="c564e700-7e86-4a87-b6c8-a5a0cc89683f" ``` + Note, that the header must not be added to the request, when ECIES encryption is combined with [PowerAuth Signature](./Computing-and-Validating-Signatures.md). -### Pre-shared constants +### Pre-Shared Constants PowerAuth protocol defines following `SHARED_INFO_1` (also called as `sh1` or `sharedInfo1`) constants for its own internal purposes: diff --git a/docs/Implementation-notes.md b/docs/Implementation-notes.md index 4ace2e4ec..d7b6bc626 100644 --- a/docs/Implementation-notes.md +++ b/docs/Implementation-notes.md @@ -67,16 +67,16 @@ Example of activation ID: c564e700-7e86-4a87-b6c8-a5a0cc89683f ``` -_Note: A single UUID for an activation in CREATED state must be valid only for a limited period of time (activation time window), that should be rather short (in minutes at most)._ - -Since the UUID is too long and inconvenient for practical applications, `ACTIVATION_ID` is exchanged between client and server automatically, using `ACTIVATION_CODE` - a shorter and more convenient identifier of an activation. This is the identifier user can rewrite or scan via the QR code. The next chapter explains more details about the code. + +A single UUID for an activation in `CREATED` or `PENDING_COMMIT` state must be valid only for a limited period of time (activation time window), that should be rather short (in minutes at most). + ## Activation Code -The `ACTIVATION_CODE` is a Base32 string 4 x 5 characters. The code is randomly generated and contains CRC-16 checksum which can detect a few typing errors in the code. For more details, check a [dedicated document](./Activation-Code.md) about the code construction and validation. +The `ACTIVATION_CODE` is a Base32 string of 4 x 5 characters. The code is randomly generated and contains CRC-16 checksum which can detect a few typing errors in the code. For more details, check a [dedicated document](./Activation-Code.md) about the code construction and validation. -A single `ACTIVATION_CODE` must be valid only for a limited period of time (activation time window), that should be rather short (in minutes at most). Also, the activation code can be used only once - the moment client application sends and receives the encrypted public keys, it must be marked as "already used". +A single `ACTIVATION_CODE` must be valid only for a limited period of time (activation time window), that should be rather short (in minutes at most). Also, the activation code can be used only once. The moment a client application sends and receives the encrypted public keys, it must be marked as already used. ```sql DO { @@ -91,15 +91,15 @@ Example of activation code: MMMMM-MMMMM-MMMMM-MUTOA ``` -## Application ID and Application Secret +## Application Key and Application Secret -In order to explicitly bind a client application with the cryptography, an application ID and application secret are introduced. Both values follow the same format - 16B encoded as Base64, application ID must be unique. +In order to explicitly bind a client application with the cryptography, an application key and application secret are introduced. Both values follow the same format - 16B encoded as Base64, application ID must be unique. Both identifiers are embedded in the PowerAuth Client application (for example, defined as a constants in the source code). -Application ID is sent with every PowerAuth Signature as `pa_applicationId`. +Application key is sent with every PowerAuth Signature as `pa_application_key`. -Application secret is a part of the PowerAuth signature (sent in `pa_signature`), it enters the algorithm in final HMAC_SHA256 as a part of the DATA. +Application secret enters the signature algorithm in final HMAC_SHA256 as a part of the `DATA` and hence it is a part of the PowerAuth signature (sent implicitly in `pa_signature`). It never travels from the application in plain text format. ## Entering Values in Client Application @@ -115,7 +115,9 @@ Example concatenated string: MMMMM-MMMMM-MMMMM-MUTOA#1234567890 ``` -*You can also check [Activation Code](./Activation-Code.md) document to get a more details about an activation code.* + +You can also check [Activation Code](./Activation-Code.md) document to get a more details about an activation code. + ## Generating Key Pairs @@ -131,7 +133,7 @@ public KeyPair generateKeyPair() { ``` ## Shared Key Derivation (ECDH) -Shared key `KEY_MASTER_SECRET` is generated using following algorithm (ECDH): +Shared key `KEY_MASTER_SECRET` is generated using the following algorithm (ECDH): ```java public SecretKey generateSharedKey(PrivateKey privateKey, PublicKey publicKey) throws InvalidKeyException { @@ -151,13 +153,13 @@ public SecretKey generateSharedKey(PrivateKey privateKey, PublicKey publicKey) t All communication should be carried over a properly secured channel, such as HTTPS with correct server configuration and certificate issued with a trusted certificate authority. Client may implement certificate pinning to achieve better transport level security. -## Lifecycle of the "Master key pair" +## Lifecycle of the "Master Server Key Pair" -Server sends it's encrypted public key `C_KEY_SERVER_PUBLIC` to the client with a signature `SERVER_DATA_SIGNATURE`. This signature is created using the server's "Master Private Key" `KEY_SERVER_MASTER_PRIVATE`. Since the same key is used for all activations, the "latent private key fingerprints" may accumulate over the time, making it simpler to attack the private key. Therefore, it is important to select the proper trusted certification authority to issue the keys and renew the key after certain time period. Usually, this also requires timely update of the clients that bundle the "Master Public Key". +Since the same `KEY_SERVER_MASTER_PRIVATE` key is used for all activations, the "latent private key fingerprints" may accumulate over the time, providing hints to attack the private key. While these hints are impractical from the attacker's perspective, it is recommended to renew the key after certain time period. Usually, this also requires timely update of the clients that bundle the "Master Server Public Key". -## Signing Data Using Master Private Key +## Signing Data Using Master Server Private Key -The master key pair is generated using the same algorithm as normal key pair, see above (with P256 curve). +The master server key pair is generated using the same algorithm as a normal key pair, see above (with P256 curve). In order to generate the signature for given bytes (obtained from string by conversion using UTF-8 encoding), following code is used: diff --git a/docs/Key-derivation.md b/docs/Key-derivation.md index 56a2c57ef..70b7167ec 100644 --- a/docs/Key-derivation.md +++ b/docs/Key-derivation.md @@ -1,34 +1,32 @@ # Key Derivation -As an outcome of the previous activation steps, a single shared secret `KEY_MASTER_SECRET` is established for PowerAuth Client and PowerAuth Server. While additional shared secrets could be established by repeating the activation process, this may not be very handy in all situations, since the activation process is quite complex and not very user-friendly. +As an outcome of the [Activation](./Activation.md) process, a single shared secret `KEY_MASTER_SECRET` is established between the PowerAuth Client and PowerAuth Server. While additional shared secrets could be established by repeating the activation process, this may not be very practical, since the activation process is quite complex and several server-side calls would be required. -For this reason, PowerAuth establishes the concept of derived keys. Each derived key is computed using the KDF algorithm (see "Implementation details" section for the definition): +For this reason, PowerAuth establishes the concept of "derived keys". Each derived key is computed using the KDF algorithm (see [Implementation notes](./Implementation-notes.md) section for the definition): ```java SecretKey KEY_DERIVED = KDF.derive(KEY_MASTER_SECRET, INDEX); ``` -PowerAuth Client is supposed to store only these derived keys and a server public key. Saying the same information more explicitly, PowerAuth Client must not store `KEY_MASTER_SECRET` or `KEY_DEVICE_PRIVATE` unencrypted. The `KEY_DEVICE_PRIVATE` is stored in encrypted vault - see the "Encrypted vault" section of this chapter. As a result, storing `KEY_MASTER_SECRET` is not necessary. +PowerAuth Client is supposed to store only these derived keys and a server's public key. Saying the same information more explicitly, PowerAuth Client must not store `KEY_MASTER_SECRET` or `KEY_DEVICE_PRIVATE` unencrypted. The `KEY_DEVICE_PRIVATE` is stored in encrypted vault. See the [Secure Vault](#secure-vault) section of this chapter. As a result, storing `KEY_MASTER_SECRET` is not necessary. -## Reserved Derived Keys +Several specific derived keys are reserved for the PowerAuth protocol. -Following specific derived keys are reserved for the PowerAuth: +## Request Signing Keys -### Request Signing Keys +### Related to "Possession Factor" -#### Related to "Possession Factor" - -First key used for signature computing, related to the "possession factor" in M-FA, deduced as: +The key related to the "possession factor" is deduced as: ```java SecretKey KEY_SIGNATURE_POSSESSION = KDF.derive(KEY_MASTER_SECRET, 1); ``` -This key should be stored encrypted using a key derived using PowerAuth Client device fingerprint, for example unique device ID, Wi-Fi MAC address, etc. The way of deriving encryption key is not defined in PowerAuth specification. +This key should be stored encrypted using a key derived using a PowerAuth Client device fingerprint, for example, from a unique device ID, Wi-Fi MAC address, etc. The way of deriving the encryption key is not defined in the PowerAuth specification and should follow the best practices available on specific platforms (i.e., iOS or Android). -#### Related to "Knowledge Factor" +### Related to "Knowledge Factor" -Second key used for signature computing, related to the "knowledge factor" in M-FA, deduced as: +The related to the "knowledge factor" is deduced as: ```java SecretKey KEY_SIGNATURE_KNOWLEDGE = KDF.derive(KEY_MASTER_SECRET, 2); @@ -49,21 +47,25 @@ byte[] C_KEY_SIGNATURE_KNOWLEDGE = AES.encrypt(keyKnowledgeBytes, iv, encryption // Store `C_KEY_SIGNATURE_KNOWLEDGE` and `salt`. ``` -The key `KEY_SIGNATURE_KNOWLEDGE` is then decrypted using the inverse algorithm - stored salt end entered password is used to decrypt the encrypted `C_KEY_SIGNATURE_KNOWLEDGE`. +The key `KEY_SIGNATURE_KNOWLEDGE` is then decrypted using the inverse algorithm - the stored salt end entered password is used to decrypt the encrypted `C_KEY_SIGNATURE_KNOWLEDGE`. + + +Because of the `AES/CBC/NoPadding` mode, the decryption succeeds even when the PIN code or password is incorrect (i.e., attacker guessing a PIN code on a stolen device), resulting in an invalid knowledge factor-related key. This is a correct and desired behavior. The PIN code cannot be brute-forced locally because of it, the invalid key will enter the signature algorithm, which will produce an invalid signature value, and validation of such signature will then fail on the server side. + -#### Related to "Biometry Factor" +### Related to "Biometry Factor" -First key used for signature computing, related to the "inherence factor" in M-FA, deduced as: +The key related to the "inherence factor" is deduced as: ```java SecretKey KEY_SIGNATURE_BIOMETRY = KDF.derive(KEY_MASTER_SECRET, 3); ``` -This key should be stored encrypted using a biometric storage, if it is available. Usually, the biometric storage is provided as a transparent mechanism and therefore, it should be used as provided. +This key should be stored encrypted using a biometric storage, if it is available. Usually, the biometric storage is provided as a transparent mechanism on a specific platform (i.e., the [Secure Enclave](https://support.apple.com/cs-cz/guide/security/sec59b0b31ff/web) on iOS, or [StrongBox](https://developer.android.com/training/articles/keystore#HardwareSecurityModule) on Android) and therefore, it should be used as provided. -### Master Transport Key +## Master Transport Key -Key used for transferring an activation record status blob, deduced as: +Key used for transferring an activation record status blob is deduced as: ```java SecretKey KEY_TRANSPORT = KDF.derive(KEY_MASTER_SECRET, 1000); @@ -71,21 +73,21 @@ SecretKey KEY_TRANSPORT = KDF.derive(KEY_MASTER_SECRET, 1000); This key should be stored encrypted using a key derived using PowerAuth Client device fingerprint, for example unique device ID, Wi-Fi MAC address, etc. - generally the same way as `KEY_SIGNATURE_POSSESSION`. The way of deriving encryption key is not defined in PowerAuth specification. -### Encrypted Vault +## Secure Vault #### Vault Encryption Key -An encryption key used for storing the original private key `KEY_DEVICE_PRIVATE`, deduced as: +An encryption key used for storing the original private key `KEY_DEVICE_PRIVATE` is deduced as: ```java SecretKey KEY_ENCRYPTION_VAULT = KDF.derive(KEY_MASTER_SECRET, 2000); ``` -This key **MUST NOT** be stored on the PowerAuth Client at all. It must be sent upon successful 2FA authentication from PowerAuth Server. The `KEY_ENCRYPTION_VAULT` is sent from the server encrypted using they `KEY_TRANSPORT` key (see above): + +This key **MUST NOT** be stored on the PowerAuth Client at all. It must be sent upon successful 2FA authentication from the PowerAuth Server. + -```java -byte[] C_KEY_ENCRYPTION_VAULT = AES.encrypt(KEY_ENCRYPTION_VAULT, ByteUtils.zeroBytes(16), KEY_TRANSPORT); -``` +The `KEY_ENCRYPTION_VAULT` is sent from the server encrypted using the [End-To-End Encryption](End-To-End-Encryption.md) with the `KEY_TRANSPORT` key (see above) for additional authentication. The primary use-case for having an encrypted vault is storage of the original device primary key `KEY_DEVICE_PRIVATE`. This key should be stored on the device in a following way just after the activation: @@ -93,4 +95,4 @@ The primary use-case for having an encrypted vault is storage of the original de byte[] C_KEY_DEVICE_PRIVATE = AES.encrypt(KEY_DEVICE_PRIVATE, ByteUtils.zeroBytes(16), KEY_ENCRYPTION_VAULT); ``` -Since `KEY_ENCRYPTION_VAULT` is not stored on the client side, it must be fetched using authenticated request on server for decryption. Once server verifies the authentication status (signature matches) and returns encrypted `C_KEY_ENCRYPTION_VAULT` key, client can decrypt it using `KEY_ENCRYPTION_VAULT_TRANSPORT` and then decrypt `KEY_DEVICE_PRIVATE`. The whole request and response protection is based on our ECIES scheme. +Since `KEY_ENCRYPTION_VAULT` is not stored on the client side, it must be fetched using authenticated request on server for decryption. Once the server verifies the authentication status (signature matches) and returns encrypted `KEY_ENCRYPTION_VAULT` key, client can decrypt it and then decrypt `KEY_DEVICE_PRIVATE`. The whole request and response protection is based on our ECIES scheme. diff --git a/docs/List-of-used-keys.md b/docs/List-of-used-keys.md index 65642a392..21d63e49c 100644 --- a/docs/List-of-used-keys.md +++ b/docs/List-of-used-keys.md @@ -1,20 +1,20 @@ # List of Used Keys -Following keys are used in the PowerAuth cryptography scheme. +The following keys are used in the PowerAuth cryptography scheme. -| name | created as | purpose | -|---|---|---| -| `KEY_DEVICE_PRIVATE` | ECDH - private key | Generated on client to allow construction of `KEY_MASTER_SECRET` | -| `KEY_DEVICE_PUBLIC` | ECDH - public key | Generated on client to allow construction of `KEY_MASTER_SECRET` | -| `KEY_SERVER_PRIVATE` | ECDH - private key | Generated on server to allow construction of `KEY_MASTER_SECRET` | -| `KEY_SERVER_PUBLIC` | ECDH - public key | Generated on server to allow construction of `KEY_MASTER_SECRET` | -| `KEY_SERVER_MASTER_PRIVATE` | ECDH - private key | Stored on server, used to assure authenticity of `KEY_DEVICE_PUBLIC` while transferring from server to client | -| `KEY_SERVER_MASTER_PUBLIC` | ECDH - public key | Stored on client, used to assure authenticity of `KEY_DEVICE_PUBLIC` while transferring from server to client | -| `KEY_MASTER_SECRET` | ECDH - pre-shared | A key deduced using ECDH derivation, `KEY_MASTER_SECRET = ECDH.phase(KEY_DEVICE_PRIVATE, KEY_SERVER_PUBLIC) = ECDH.phase(KEY_SERVER_PRIVATE, KEY_DEVICE_PUBLIC)` and then reduced with ByteUtils.convert32Bto16B() | -| `KEY_SIGNATURE_POSSESSION` | KDF derived key from `KEY_MASTER_SECRET` | A signing key associated with the possession, factor deduced using KDF derivation with `INDEX = 1`, `KEY_SIGNATURE_POSSESSION = KDF.derive(KEY_MASTER_SECRET, 1)`, used for subsequent request signing | -| `KEY_SIGNATURE_KNOWLEDGE` | KDF derived key from `KEY_MASTER_SECRET` | A key associated with the knowledge factor, deduced using KDF derivation with `INDEX = 2`, `KEY_SIGNATURE_KNOWLEDGE = KDF.derive(KEY_MASTER_SECRET, 2)`, used for subsequent request signing | -| `KEY_SIGNATURE_BIOMETRY` | KDF derived key from `KEY_MASTER_SECRET` | A key associated with the biometry factor, deduced using KDF derivation with `INDEX = 3`, `KEY_SIGNATURE_BIOMETRY = KDF.derive(KEY_MASTER_SECRET, 3)`, used for subsequent request signing | +| name | created as | purpose | +|-----------------------------|------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `KEY_DEVICE_PRIVATE` | ECDH - private key | Generated on client to allow construction of `KEY_MASTER_SECRET`. | +| `KEY_DEVICE_PUBLIC` | ECDH - public key | Generated on client to allow construction of `KEY_MASTER_SECRET`. | +| `KEY_SERVER_PRIVATE` | ECDH - private key | Generated on server to allow construction of `KEY_MASTER_SECRET`. | +| `KEY_SERVER_PUBLIC` | ECDH - public key | Generated on server to allow construction of `KEY_MASTER_SECRET`. | +| `KEY_SERVER_MASTER_PRIVATE` | ECDH - private key | Stored on server, used to assure authenticity of `KEY_DEVICE_PUBLIC` while transferring from server to client | +| `KEY_SERVER_MASTER_PUBLIC` | ECDH - public key | Stored on client, used to assure authenticity of `KEY_DEVICE_PUBLIC` while transferring from server to client | +| `KEY_MASTER_SECRET` | ECDH - pre-shared | A key deduced using ECDH derivation, `KEY_MASTER_SECRET = ECDH.phase(KEY_DEVICE_PRIVATE, KEY_SERVER_PUBLIC) = ECDH.phase(KEY_SERVER_PRIVATE, KEY_DEVICE_PUBLIC)` and then reduced with `ByteUtils.convert32Bto16B()`. | +| `KEY_SIGNATURE_POSSESSION` | KDF derived key from `KEY_MASTER_SECRET` | A signing key associated with the possession, factor deduced using KDF derivation with `INDEX = 1`, `KEY_SIGNATURE_POSSESSION = KDF.derive(KEY_MASTER_SECRET, 1)`, used for subsequent request signing. | +| `KEY_SIGNATURE_KNOWLEDGE` | KDF derived key from `KEY_MASTER_SECRET` | A key associated with the knowledge factor, deduced using KDF derivation with `INDEX = 2`, `KEY_SIGNATURE_KNOWLEDGE = KDF.derive(KEY_MASTER_SECRET, 2)`, used for subsequent request signing. | +| `KEY_SIGNATURE_BIOMETRY` | KDF derived key from `KEY_MASTER_SECRET` | A key associated with the biometry factor, deduced using KDF derivation with `INDEX = 3`, `KEY_SIGNATURE_BIOMETRY = KDF.derive(KEY_MASTER_SECRET, 3)`, used for subsequent request signing. | | `KEY_TRANSPORT` | KDF derived key from `KEY_MASTER_SECRET` | A key deduced using KDF derivation with `INDEX = 1000`, `KEY_TRANSPORT = KDF.derive(KEY_MASTER_SECRET, 1000)`, used for encrypted data transport. This key is used as master transport key for end-to-end encryption key derivation. | -| `KEY_ENCRYPTION_VAULT` | KDF derived key from `KEY_MASTER_SECRET` | A key deduced using KDF derivation with `INDEX = 2000`, `KEY_ENCRYPTION_VAULT = KDF.derive(KEY_MASTER_SECRET, 2000)`, used for encrypting a vault that stores the secret data, such as `KEY_DEVICE_PRIVATE`. | -| `KEY_TRANSPORT_IV` | KDF derived key from `KEY_TRANSPORT` | A key deduced using KDF derivation with `INDEX = 3000`, `KEY_ENCRYPTION_IV = KDF.derive(KEY_TRANSPORT, 3000)`, used for derivation of initial vector, that encrypts activation status blob. | -| `KEY_TRANSPORT_CTR` | KDF derived key from `KEY_TRANSPORT` | A key deduced using KDF derivation with `INDEX = 4000`, `KEY_TRANSPORT_CTR = KDF.derive(KEY_TRANSPORT, 4000)`, used for computing hash from current value of hash-based counter. | +| `KEY_ENCRYPTION_VAULT` | KDF derived key from `KEY_MASTER_SECRET` | A key deduced using KDF derivation with `INDEX = 2000`, `KEY_ENCRYPTION_VAULT = KDF.derive(KEY_MASTER_SECRET, 2000)`, used for encrypting a vault that stores the secret data, such as `KEY_DEVICE_PRIVATE`. | +| `KEY_TRANSPORT_IV` | KDF derived key from `KEY_TRANSPORT` | A key deduced using KDF derivation with `INDEX = 3000`, `KEY_ENCRYPTION_IV = KDF.derive(KEY_TRANSPORT, 3000)`, used for derivation of initial vector, that encrypts activation status blob. | +| `KEY_TRANSPORT_CTR` | KDF derived key from `KEY_TRANSPORT` | A key deduced using KDF derivation with `INDEX = 4000`, `KEY_TRANSPORT_CTR = KDF.derive(KEY_TRANSPORT, 4000)`, used for computing hash from current value of hash-based counter. | \ No newline at end of file diff --git a/docs/MAC-Token-Based-Authentication.md b/docs/MAC-Token-Based-Authentication.md index 7c4a54085..668435ff9 100644 --- a/docs/MAC-Token-Based-Authentication.md +++ b/docs/MAC-Token-Based-Authentication.md @@ -25,9 +25,9 @@ In order to create a new token, the client application must call a PowerAuth Sta This endpoint must be called with a standard PowerAuth signature. It can be any type of a signature - 1FA, 2FA or 3FA. The token then implicitly carries the information about the signature it was issued with. Using the PowerAuth signature assures authenticity and integrity of the request data. -The endpoint then uses the same request and response encryption principles as described in a dedicated chapter for [End-to-End Encryption](./End-To-End-Encryption.md). +The endpoint then uses the same request and response encryption principles as described in a dedicated chapter for [End-to-End Encryption](./End-To-End-Encryption.md). -Upon receiving and successfully validating a request authenticated using PowerAuth signature, server generates a new token for given activation ID. Information about used signature type and factors are stored with the token. Then, the server takes the token ID and secret and sends them in an ECIES encrypted response to the client. +Upon receiving and successfully validating a request authenticated using PowerAuth signature, server generates a new token for given activation ID. Information about used signature type and factors are stored with the token. Then, the server takes the token ID and secret and sends them in an ECIES encrypted response to the client. The decrypted response data payload contains following raw response format: @@ -110,4 +110,3 @@ In case the signature validation is successful and after validating that the tok } } ``` - diff --git a/docs/PowerAuth-Specification.md b/docs/PowerAuth-Specification.md deleted file mode 100644 index f6d1b6164..000000000 --- a/docs/PowerAuth-Specification.md +++ /dev/null @@ -1,25 +0,0 @@ -# PowerAuth Specification - -PowerAuth is a protocol for a key exchange and for subsequent request signing designed specifically for the purposes of applications with high security demands, such as banking applications or identity management applications. It defines all items that are required for a complete security solution: a used cryptography, a security scheme and standard RESTful API end-points. - -A typical use-case for PowerAuth protocol would be assuring the security of a mobile banking application. User usually downloads a "blank" (non-personalized) mobile banking app from the mobile application market. Then, user activates (personalizes, using a key-exchange algorithm) the mobile banking using some application that is assumed secure, for example via the internet banking or via the branch kiosk system. Finally, user can use activated mobile banking application to create signed requests - to log in to mobile banking, send a payment, certify contracts, etc. - -The protocol also supports end-to-end encryption and secure storage. Unlike the authentication, these features are currently experimental and require better validation by the cryptography experts and market. - -Following chapters describe the cryptography that is used in PowerAuth. - -- [Basic Definitions](./Basic-definitions.md) - Explains the basic terminology used in the documentation. -- [Activation](./Activation.md) - Describes the activation ("personalization") process. -- [Key Derivation](./Key-derivation.md) - Explains what keys are derived after the base activation key exchange. -- [Checking Activation Status](./Activation-Status.md) - Explains how client can fetch information about given activation. -- [Computing and Validating Signatures](./Computing-and-Validating-Signatures.md) - Shows how signatures are computed and validated. -- [End-To-End Encryption](./End-To-End-Encryption.md) - Explains personalized and non-personalized encryption. -- [Activation Recovery](Activation-Recovery.md) - Describes the activation recovery process. -- [List of Used Keys](./List-of-used-keys.md) - Lists all keys that are used in the PowerAuth protocol. - -These additional chapters provide additional insight in the practical protocol implementation. - -- [Standard RESTful API](./Standard-RESTful-API.md) -- [Implementation Details](./Implementation-notes.md) - -For any questions related to the protocol, please write to [hello@wultra.com](mailto:hello@wultra.com). If you believe you have identified a security vulnerability with PowerAuth, you should report it as soon as possible via email to [support@wultra.com](mailto:support@wultra.com). Please do not post it to a public issue tracker. diff --git a/docs/Readme.md b/docs/Readme.md index b58c912ec..3c1bddd53 100644 --- a/docs/Readme.md +++ b/docs/Readme.md @@ -1,48 +1,11 @@ # PowerAuth -PowerAuth is a protocol for a key exchange and for subsequent request signing designed specifically for the purposes of applications with high security demands, such as banking applications or identity management applications. It defines all items that are required for a complete security solution: a used cryptography, a security scheme and standard RESTful API end-points. +PowerAuth is a protocol for a key exchange and for subsequent request signing designed specifically for the purposes of applications with high security demands, such as banking applications or mobile identity applications. It defines all items that are required for a complete security solution: a used cryptography, associated processes, and standard RESTful API end-points. -A typical use-case for PowerAuth protocol would be assuring the security of a mobile banking application. User usually downloads a "blank" (non-personalized) mobile banking app from the mobile application market. Then, user activates (personalizes, using a key-exchange algorithm) the mobile banking using some application that is assumed secure, for example via the internet banking or via the branch kiosk system. Finally, user can use activated mobile banking application to create signed requests - to log in to mobile banking, send a payment, certify contracts, etc. +A typical use-case for PowerAuth protocol would be assuring the security of mobile banking application. Users usually download a "blank" (non-personalized) mobile banking app from the mobile application markets, such as Google Play or App Store. Then, they activate (personalize, register, ...) the mobile banking app using credentials that are assumed sufficient for this purpose, for example via the QR code displayed in the internet banking, the branch kiosk system, ATM, or hardware authenticator. Only after this process is completed, users can use activated mobile banking app to create signed requests - to log in to mobile banking, send payments, certify contracts, etc. -## PowerAuth Specification +The PowerAuth protocol also defines additional features, such as end-to-end encryption or secure storage through the secure vault. Unlike the authentication, these features do not constitute the protocol primary use-case and they mostly play a supportive role. -- [Basic Definitions](./Basic-definitions.md) -- [Activation](./Activation.md) -- [Key Derivation](./Key-derivation.md) -- [Checking Activation Status](./Activation-Status.md) -- [Computing and Validating Signatures](./Computing-and-Validating-Signatures.md) -- [MAC Token Based Authentication](./MAC-Token-Based-Authentication.md) -- [End-To-End Encryption](./End-To-End-Encryption.md) -- [Activation Recovery](Activation-Recovery.md) -- [Additional Activation OTP](Additional-Activation-OTP.md) -- [Standard RESTful API](./Standard-RESTful-API.md) -- [Implementation Details](./Implementation-notes.md) - - [Activation Code](./Activation-Code.md) - - [Activation Upgrade](./Activation-Upgrade.md) -- [List of Used Keys](./List-of-used-keys.md) - -## Tutorials -- [Authentication in Mobile Banking Apps (SCA)](https://developers.wultra.com/products/mobile-security-suite/develop/tutorials/Authentication-in-Mobile-Apps) -- [Verifying PowerAuth Signatures On The Server](https://developers.wultra.com/products/mobile-security-suite/develop/tutorials/Manual-Signature-Verification) - -## Deployment - -- [Deployment Checklist](./Deployment-Checklist.md) -- [Architecture Overview](./Architecture-Overview.md) - -## Applications - -- [PowerAuth Server](https://github.com/wultra/powerauth-server) -- [PowerAuth Admin](https://github.com/wultra/powerauth-admin) -- [PowerAuth Push Server](https://github.com/wultra/powerauth-push-server) -- [PowerAuth Command-Line Tool](https://github.com/wultra/powerauth-cmd-tool) -- [PowerAuth Mobile SDK for iOS and Android](https://github.com/wultra/powerauth-mobile-sdk) -- [Integration Libraries for RESTful APIs](https://github.com/wultra/powerauth-restful-integration) - -## Releases - -- [List of Releases](./Releases.md) - -# Development - -In order to start developing PowerAuth, read our [Developer documentation](./Development.md). + +For any questions related to the protocol, please write to [hello@wultra.com](mailto:hello@wultra.com). If you believe you have identified a security vulnerability with PowerAuth, you should report it as soon as possible via email to [support@wultra.com](mailto:support@wultra.com). Please do not post it to a public issue tracker. + diff --git a/docs/Recovery-Postcard.md b/docs/Recovery-Postcard.md index 047123223..2c1b8fe6c 100644 --- a/docs/Recovery-Postcard.md +++ b/docs/Recovery-Postcard.md @@ -1,8 +1,8 @@ # Recovery Postcard -The Recovery Postcard is a postcard delivered via OOB channel (typically via the courier service) which contains information needed for the PowerAuth Client's [activation recovery](Activation-Recovery.md). This document describes, in brief, the format of the postcard and the process required for its construction. +The Recovery Postcard is a postcard delivered via OOB channel (typically via the courier service) which contains information needed for the PowerAuth Client's [activation recovery](Activation-via-Recovery-Code.md). This document describes, in brief, the format of the postcard and the process required for its construction. -## Information printed on the postcard +## Information Printed on the Postcard The Recovery Postcard typically contains the following information: @@ -25,7 +25,7 @@ The purpose of this section is to describe how the postcard is securely exchange ![Recovery Postcard Construction - Architecture](resources/images/arch_cloud_printing_center.png) -### Introduction to the problem +### Introduction to the Problem 1. The PowerAuth Server is typically located in a controlled and very secure environment in the bank 2. On opposite to that, the Printing Service responsible for Recovery Postcard manufacturing, is typically located outside of the bank. @@ -33,7 +33,7 @@ The purpose of this section is to describe how the postcard is securely exchange 3. We don't want to transmit recovery codes in plaintext (or even encrypted with the pre-shared key) -### Printing order +### Printing Order 1. PAS and RPPS must have pre-shared asymmetric EC keys (P256r1), leading to 32bytes long shared secret (ECDH). Let's call this as `RPPS_MASTER_SHARED_SECRET`. diff --git a/docs/Standard-RESTful-API.md b/docs/Standard-RESTful-API.md index e1a2d7aa9..f9d0488ea 100644 --- a/docs/Standard-RESTful-API.md +++ b/docs/Standard-RESTful-API.md @@ -199,7 +199,7 @@ The `activationData` contains an encrypted level 2 response. So, the JSON respon ``` -The `activationRecovery` response element is optional and depends on whether the [Activation Recovery](Activation-Recovery.md) feature is enabled on the PowerAuth Server or not. +The `activationRecovery` response element is optional and depends on whether the [Activation Recovery](Activation-via-Recovery-Code.md) feature is enabled on the PowerAuth Server or not. diff --git a/docs/_Sidebar.md b/docs/_Sidebar.md index b9821b0b9..9f33fca23 100644 --- a/docs/_Sidebar.md +++ b/docs/_Sidebar.md @@ -1,15 +1,30 @@ **PowerAuth Specification** -- [Overview](./PowerAuth-Specification.md) -- [Basic Definitions](./Basic-definitions.md) -- [Activation](./Activation.md) +- [Overview](./Readme.md) + +**Activation** + +- [Activation Principles](./Activation.md) +- [Activation via Activation Code](./Activation-via-Activation-Code.md) +- [Activation via Recovery Code](./Activation-via-Recovery-Code.md) +- [Activation via Custom Credentials](./Activation-via-Custom-Credentials.md) - [Key Derivation](./Key-derivation.md) -- [Checking Status](./Activation-Status.md) +- [Checking Activation Status](./Activation-Status.md) + +**Signatures** + - [Signatures](./Computing-and-Validating-Signatures.md) - [MAC Token Based Authentication](./MAC-Token-Based-Authentication.md) + +**Encryption** + - [End-To-End Encryption](./End-To-End-Encryption.md) -- [Activation Recovery](Activation-Recovery.md) -- [Additional Activation OTP](Additional-Activation-OTP.md) + +**Other Chapters** + +- [Basic Definitions](./Basic-definitions.md) +- [Activation Code Format](./Activation-Code.md) +- [Additional Activation OTP](./Additional-Activation-OTP.md) - [Implementation Details](./Implementation-notes.md) - [List of Used Keys](./List-of-used-keys.md) @@ -24,17 +39,18 @@ **Deployment** -- [Deployment Checklist](./Deployment-Checklist.md) - [Architecture Overview](./Architecture-Overview.md) +- [Deployment Checklist](./Deployment-Checklist.md) **Applications** - [PowerAuth Server](https://github.com/wultra/powerauth-server) +- [Enrollment Server](https://github.com/wultra/enrollment-server) - [PowerAuth Admin](https://github.com/wultra/powerauth-admin) - [PowerAuth Push Server](https://github.com/wultra/powerauth-push-server) - [PowerAuth CMD Tool](https://github.com/wultra/powerauth-cmd-tool) - [PowerAuth Mobile SDK](https://github.com/wultra/powerauth-mobile-sdk) -- [SDK for RESTful APIs](https://github.com/wultra/powerauth-restful-integration) +- [PowerAuth RESTful API SDK](https://github.com/wultra/powerauth-restful-integration) - [PowerAuth Web Flow](https://github.com/wultra/powerauth-webflow) **Development** diff --git a/docs/resources/images/arch_activation_lifecycle.png b/docs/resources/images/arch_activation_lifecycle.png index 5ceda109f76d06b81ec72a6f2baa20761ecbfe4e..a6b7f37338d56e090625e2beb41f602ace921e81 100644 GIT binary patch literal 85734 zcmb@uWmFtp(=MFg1RVklE;9so53Yj-PaweH?iw6|yIX<=h9C(VoZv3OH9&BJLvV+0 zAou;e&w0=J`Sn_?#p>O=ySjSss;jQ5ns5~*8LVd{&z?Maf+Z&_rS{|rA{73IjfMh0 zvu%q)?NRA{}b77bs0 zufN!(i6iZg0?60T zguy2bs`QDXqPo$}%kgz5H@Cyj0f0w|MFQs2g4s*JXTn6Dq79x$6|c)W@^$Q~j@iQz zj|fc*YQYs3Jh7;NNBwOMS8@{ps9u6AymxQAi9Fv^l2?cI+8LW@;b@Sn0p%P-Rnd{!9Zrr7oR%f^z^M-cR%0^*@1*^F5vPtIgx4$Z7sFtjiSap zMX}EIQ@R6|x=CK1XC_tac9JR@WM{=X&v5AMZR#gc1{ANWgh7gXFZgS1Ul3lELFR)c z@H2EmtGl(Mv}U`ES$kp{-{~+j!V16R$0Um;8@FC%gp8j)M$+v!5P$_^kkEqZ0VCDq`U$fW~Bd{Z@rF;5?vIi$*kK% zYQE2FWRdcv;$(6KqJ|l8+gRb^1G1Yq^&_fUsbEx-!1Y`+&!db8Xi3NL?!cxlaC8^? zfFI>L4Z2suJ3EMw%;lhbO%7hEB;+)*m$e0EuP)ohdHp)J%-dyQIxX~ zQv>uu1vT0l?JQfVyOhdYR)kKKM_}E(x6IKwaOldD<^YX`ND0iUB6PnrV1dWhJN7!r zr+MX6;L7Or1j$9@bg5(X`-*qC!frL7WAj2Lb8m`?U=q}9is!_zziW&wHq4V8P}OV#F< z78$W}@AzDm+dM?i^_1^bsuNU|gL-vhJ!uV;1&I~qvISHaK@cYLp`U#ED)x|Wfl+cY+PjMYb*;(`mX3*wW@R}qUdDs zsGP+6iZ()LCpxEG*AZlj*5vlZKaKUo$_KjAzR>$n^@~pDLdCPtHL{pv9>l5mf@Uwl zoavID=oki6Gw+tMh-{T9+Zu}4{W*>mFW8@*uOa~D6)lh5Ru;!y0!JHWpJaYgMm_yc z09RYS3h@F-jd#dSyxX=1Yz3M0o5kIh`hc|X^+X6pc-Vtg?A*Kp{Qz+boy(?I5coPkyP}=x|&p}P^wKTzgcm2DN<+EC!{hx zR;!cW7NMyNrOEx1ycM{qwvfCWmLBxNJiAS#+|<_zlXc7}Z}QbkPA8z9Eq>VxNMnlJ z;tn%%tCnUszWrd;@S->=1E>mX8YWfFq8IW4#Hwkx7-O0M<|S9|lrMR{5^?4J>hH!5 z8$JEZ@XM|IRdmviRQ8``qa+^wQL-|!cLj$U8gSzsEqktF!uyeZcG^FL6Pycm39Flm zx{4g2mWwRk@#ZZxg^HV*<dnqYQV)mA@2+-fuEA;-D=|BOYW)`B z!pxV$*wNl@PhDMBaqTLMjmk3W9r^sd850vKrWV2`LgKv@9<2^FZ$C)jg)oY>?E%*> zlr)xaiA=gfo!Ou@T+TPq zZLpDY+I?0h+suDchx0pTE{uRjHD@ZGzF7o;>8}Q~>j%wPUwtz((KpTiDmL zC^nkm#6pUD+5wwu4Pd#&kVFs+WncWe!^*C5*juCTDDo}0teynK&|2fp<70^l0HTtO zKC8sQ(}rIC(S>__^T3l4wwSi9Vj=uwA+feeF8-`5+%lGDSCqSf=~cMt32e*XIEX7& z_+^_z59^dGqQz{T@GF3bl6EXtiqTU$^BJ0ZGPCP08G?0$7*#Q7-;a(uCb5$BlF0sq ztW{y^Bn~aRc=I<-j&ek^4NWM$GaMYR> z2z0Dm5|NK^c4T--JiTM1a5rE(jho~8zI*z88V81UX^_O%<~uCD!?eMNJ^N@6Kkt+5 zKqjlDq)^>k`;1@u%F0UHxt@1!2dQ-S-NBq^NH)=%V5lil`=J$iuHI5IZL(g(-x5~K zm2Mi9V8Q8rNO(?q1~W$_ZmVyMtoLmOh6dby_^_F3f3L&_W10UfFv6%_NYi)pR>vi* z^D^%0&eST1ap@wM%SY&MD!lLzOsQ`$>ci=A0NK4vp-VPaQPspPmhqhx?+m(Vf19wh zNgnpW*>p2yGWDmw%tj4pL>)&a_C?sdy_DR}_wd(Z*V5gioSW*AQSfi)HDnPf3mFpy(xM~PS&+Utg4+Nu=w~W~*-gmq**UG{`X+yie z=#2<^qSKgW%}vlf(y5s_G2bX^vz$EvLfUD|{-4}VK)n16>cCmFM%N~!sb2JZjhh!6_B9mDp#@v6$HLrjw6h)LkSZhBfXwy&06u!%gptIYNsQypbQB_lRss6sii zv?8^x!VSo2WqaPEhC-r}q3=J$@vodjP_EMy4@|QG>-l-ATx*%93%<&?21SzFAoP7Y zM$v(9NAmVhjZOt@dbctTyN4r~CCvi=L9wHzTSXGT7n1*s2#7fyh7=^CT-jc3ss@Tv zNGNRaWV|E`g`z4gTgid1n72zRo>j0}aFz1SJ%_aY8Rrfv6Y@V2$Ix~*!fhLM$ma#GZE1)Yf;zhf^=OyY5W!C^nHl-A$FqUl2F81`bA zqFWGywg^>}SyIXnOPI<(IoUp(;s?)Yg{mqrIdzJh5lrM7=;QM0+h>Jwm|if9wQH_O zT~gsIP+Hm3P}9!fEGSHa4?YKw ztRxmEdT22UGMA*4ryd%4K~yKb!?L3I$bNjlix6@NrB(JBGbyQu=;lffHZULXRdpy% zNTOmf4n@+NNQeh}#I{ee)|AM#o1Ooq>>so+F^xDr7i?|jS^coH+RyxJ42H{nj8R&v z#n0`iUFb< zHN5DxJJ&fMm>lM%+sBRx++BK~kF_Tjerv*Y`E3^j<3;PfvIAKAk67vgzTI;txFNT_ zJ!T;};RdCE%h`Q?uEf;f=wzzqjA)5FejSWzdvt>cF zRUQNS(&F4Fh=3k49)^M6!+gP+#(Z-v_P8^04>%hXCkvLq5}*p3Ufx-d8`!=QyCJ%M z)8a=fV+o;nh}B7?yIPWJ)%+|=^CE$xbY`JQ6I#LsbrLosJ72!>=P7{B(L$IF2TW)b zUF|&p3pC%4*F<$m(b=KrD%BrQ>ncrOyyxFF78Lbb8(@W^ajw&OM-Wvr-)={VUh3FI zsc5ee!W6&D*7ov7$O>fwP%JV(R}^Y@i{fa^ z$Uc(d>Q((J%==kLf1=bUkChAilHTwsaqYwB{SAXtWv+`c{(8V*{W;USV5-OcK6(y> zuH=d83vVrk&6ge~`hEr?SAa}-=f!OIX*avGS0@H}D#$vpQgQQKyN3d>H9m(uIS%Uq zS1TE`+sjD1Am2p+^GPz!QkHzakQkqZCWnsx62?4E7qS_9)#8UbEtQnM;8%LkAJh6u zJD_qH(o?Yd@o?<}MqZa?VfwmbaoLX((wK-|ZC^*BhHg>pn@eQo-zd7z#@ap1p9*|Y zlX~w#b*BoHkF68eb|QpN-x-F-KDso_N?$v)=3WOyZqBL;S@^K#FUCY{!h@sJ;kX7_ zj76^MavVK|CbtS`=WKU|_L|LvIAvn&emImOu#&_Yi){PBxxr}!H)1Gky=RH~a>f1f z!d3d4Ej5w>ku!EC>)I|leiT*9JCMQ??$B+I|KX%;b1rVg|I;znQo0!0WecHBR zkx3O|=`Csil!*=2cY+{_YPC#wj}{oQ$APMV-8#uYcsbZLv%2=A=Z|r3e{+O>Y2o#- z6a+$BDr#4~XFcY;#}*R^<3)H|QX{6?Ef5dfL5PlhI&9{V@qN3?@&R7qwIykrM^l?t z;fG4Olr+xMh@_0ZV?hx3B`*~cIdUWz{>9CQKE^qS7lct0s?I+3F;okP<&8OPu;1SW z$)pfGC{h@TT-EZFm712EC?d65kp6vMPoI@$wH;1`x(ic)gpmc8bDOb$k?301%(z92A)RV}R%}cfw5TUUri&&; zaHCmOgD|cjoW>yxt^Dkz%F4nD&}$*$D5#9n)CfRD)^z;s&PdUG=ddQT#nSfF9$jgm z2DCMA*%|63sRpe4BOItbU=s^ok=buAdA0H~eA=kDM0(MI0gtR2ZOGe_99`Y>S^2p1 zt}{eAOJH7|7D5f?(f%V!msVfIli4tf<^bJj3m65nI+ms1#vkx`bTWD zqxp}>fM5jNOufLIaINxB9M-}CILT3E?`J|A=1pv{jsg+pueyM*TnNEP;MWO zJE(MqmsKM5jgtCvY^Y4JC|~P_rbjxw+j-{x-P53NmNMSkT^ONez0Ff@!X_3L!&r^K z;-dIO==Qnl>@mXIoj}LJyq+^xK*TT`go;XloaYRfiwUdWWUeXw6Y{kOulSaOICL7- zKu7O88V_;PYfY((%T_KB1{=w@a*+#Mc~6_KFL>8zL1V+nN_tEca~Ei~2lzY26M4bZ z6Dl0O#rT-7^QgFY1JEQfW}Rw57h%>CyS1UM*aYHB()Xu-X*)|W_G zZE9|=d~?&<`UHpeFJ2mzK29W&LPkcOQqiupBPV3j6LQ2mujgZ9V=LCK?!VHq>gDKt z1X}QiT-kw{czLHt#QkVfCUDh_w~T8GJ~nq|e~w-ZEZ zEXDBaI%J|bd3;5H*W8lV6CI+@O}D3??d868h~8kqwQuGI4S&b+Ao-JiF^e%u~oeY8%Z^DVtW4 zDbJ5VDvCc6hJ;Bj2(|-`~50A3_Bc63uns;;p2`1UEtDT8aHrFKU?M+|-1>Qdk=QvDY?^X1ZYxHCi^pnfj z3eUaiwN;yJ&)!j~e{QfN82j`ZgqxvsVOj{*<>~^KUH>a~GkE(%{M2NTLib^`NFAqu zRj}-iqHYuApA~nSiIjRP0On~V($yDjrqw_1y7_4M9&%LgBbTLcq>6#}N2{Z+19xyU|AvfnNsVQ#~>-ya01bzwp4z|d2b5#61>R`depovbXd(j5xpy&>}J$+jh1wMlP6 z2ku;(r{PHhBIu&BM)iFV9IYS^tOzRRpi#&>VD1vr2cp|}Cttocr?lgXTLD!a4J zVM-cuP59HB7UD5H_1tOZ8ERvnif$iE3;eL;Q#btv!}x+RgMKG{Cie3x_R5=^_xd_g z+|i8^;f|EKDJ<^~zGTXJ&BVCb*3ayI23(JeZB(KL+cOh+Cj?Adv#nefhLyB=njE0N zk3^Gf(qvy58#wGP7Kwe97ZkM8JG{k@zmCHP)DI%>7hnB@X_+6D^PQJ6HQ~%yQx_C< z`FgV)l8+qyFamzYj2-iE}|6TyDEKZ^*Cj@%r~Wfuh8y80nF?fig)v@kUQhosYCq}Y!9Uy>T2+)lYUK6|%I7o4 zTczdQBr8@2H-YgC_{l@XWLN^&_`;*o`U6UHef~`Hw~o3I^9RtW@7&uX4%>g%DzN8fUx`jAG|Q$2cQ|=`=QnPv16@^YLvK z4|kdW0%SC~JfDP;)6Z^TLmy7@y^BhZXlLhv!t#sWXR*4O+32thOic~)yB z=yI5=GftlS-}!nFWSzRBu~B^ns`Ju-iVVyc)1ev#JXU(Oo8sP`Qd%s=CY`O9c_CRnW-yQykb`h*plh?#WG4SB{42 z6g8WtGf8vEJDrlIXzOyI2%*^3+9@)r9h%~cBFtag%rc)zYmHAvq;Dh67%K6T{X@gf zM_P@0SgK+fRisW%US~-chE<83YV(>BRa;VzeC>I)>d(TbQ!)%l@zli~{k)hJYqz72 zJet{pH8g8r(wubf{_B+dArc~W0${;vcE(UBx;rFyt$Rw|MKP{$uskyNF|VkiT5w>T zKS>kZxH0Q-R3}FQLdHmYS*yv@>wWzcn->(w0qcyRCmhQ>FB^z-;rYajqqEyd zmn@cbuE+o4G8nC-*=W}_88_}tB(L@RV5-Ur;93*JWW7TNTH8Y}#cZ zk-f8lE8;pX)o(@b0Ko)BT6w2kAGNP%k^>gL&*e`9YbZbt3i^(e+N{l4S%RH}<%2K4JXNGK1|>DYF|A=8-v(gH2%IN!lHo z)2~?)@UEA*$uu*;vPmUe*sx9K73k8Qrzl$Ch-p`chelEdP zYs^+z`Vya}unuFp%MR60RGnH0;IwqfI1URuY=6N5vC8Zsk$`;;mGUm`T&IontibEX zn^es}D~582Oga=l?S8@{6qD5Ut}i*DtpEi{-iq5bhszD@a+O&(Z5~;gqW>mxQ{a6< zjkk^S1c>Ig>!Np@6u;9$jP!(yL;x-=Iqxq|E|F)v0X^t3BPix8>q+sf3LVnSsWi;9 zt`t9~zd5|%dj8R9pto1T*Ora>H}CvK8}e8{vR1uVfbq<5p#wp9LrRk1pHgo1&FziiqTzGVKvE{Ubpc|ErEISdWhn!qokJSCXnTbpT zm|Gob--1$rq~9Rwoj>ae$?O{2xvy&3j#}A4nzx$pcrH`tpKmQP`PW>55Bcs<9=5`G zQ&IFZpGkJ)d=kVP8cj0#k5vvKo_@t+9eqyp-qIIa=(dbJ+tjG{f@eqbY zDp`@J-F~&x0wg1iF?&n)Ivgw!$a)Iq-=6EIMm&+r{IU@(8H?I!-aX>}63MgTpxhmC zhT#`~QU8|!bI!P3#&ktApKMj5dJYT^o znK7SlV%2)cI!jG=hZltk*HuD;lwGhzw2(%}{O2n4;)JG_mb%jE>+}Ow<`ra>nqwNM zxdiNN{lBh72FWxL74lNa(iy&WLPq)FDyvhhH@+V9iT|+ixiRiiuK!LqS>rc)qKcON ze7@dAMhYDyvs4?u-np>Tgr)zR)9<@=FCWGlYkwu%>_XhVrd8|^zvOkn(cI0_GI5Rp zoc$z9s;AC}@&LqO)(hoq3GBD8;ud2|-Ks6obbPQUB@eQfnZT~HvD$&-$&%$Klhk}3 zOaYA3%tP$?zkVtw`vfX~iL#QwBNxI`(R zs{i;^*x-o^@ZEPfejCoxqh#PV!kAG+5&}BU-If<>_YnfbPX=Z6grmjuO9i?nx1+4l zLfVJB(Dj(yIxY&awyBah)dH)^Rfrfvx@A^FRO0a>$}xu7fAydD%L?{?O90feKA{l6 zs~!T0^4@S_V)Vq zwu88re#H?l3`gF7t*>+wMUStlpk_8~*m7Hfl$jrgOX=>TJnn|x8PgIf~e&=@1TwI`%tAzrb^oSPNG(H-= z<%?jIzQZhY-4K~1g> zaT&`k)aaMd9V%2X7B|v>+?8_kUuy3B9>xPDH8}a`jDgB=-#l4ZMf~WR{kR&rSAuk4 zfx}r6jTM-yjsc`(lba+qQg?C{qRQs(EV143OzWE@*X7x+_jxx zY3o?f@RjF;J%yCd83j_E#ivm(YJOJob^9MgC0royN%W-CpV_g<QuX4*QrEbU z<3eI5J7C+b=BlD&w7nh_#ovWx-IoroqldDIJELGwUoPBYu@T?QY zcORO%i0PT}kCD+UTGD#ffh83`3SaIa_U+JoVe$6+a!=3hF` zpR<1W9)<5-@Mv9?TyB2+@b;W+Mgak3ls}D zT3v7v2w+xld%?LnZQ#G~4q^WT9|LA&7|PC{8dx-HVf3H!{xYgw~!y*Ihk;* zMf;MvV%`R;X#a+2(^V&K+P0|>^H*){jL3em^frjadw8Oq^YG}v=zCaxbbaO~%L0Zb z!xPJD+q%yvTC%hx`WxXJE9|$%-)VD;$DUC3VHD6l8whBakdB*I{xtUEydbloFyywW z|MNP$ZsWlUVxD%s77l-1;Na81F_Co~x>kX6UNX(aKvb&GC0`O5R!AYl^S9WbQd)C> zO^YRWr?tZn0EPCx1`f@5;P@n3%iBr6%M+B~N;e?cla!Gpjv8ehk=B)*OA_a<7sSz# zLbGi+?S6Or;qy~qszMy$Ui;;)b#FsL_z%Sj)5jVB`)xL(dJ<^M$Kv4@I=`=B#nHWc z-=sComAGB5wD3<{R)=_b^2ZL_1scuT(gXP2Edu{I!;t$Oi1C_UxXToGMI07|r1%@{ zI^y{g`C`8Psd+eXVQg+zxSW%s`VvJZ)DVXNz(PgdJR_+&Bos4vG%i4u(~+NA>ymU|9* zK3eILfBlrsmCZn>4pUE5DJS?Hl1FRbAmvW% z`lp&{BdnBZx7Bhd>wQ$1>cQ>BT#qbfjD%UBt%b~fNqh2z!-YG9YG=JuO5}q8#q#`= znEN*Qas>_Eb@U4hAHKouU@(s?21am>(PpfcDr7`2C3vmQ746T6ILtNBPYS_F53^(J zby$->sUu9fMp)^WbPzHf%v+53ekN?vzei=(JhCtZ?o6-hTl=hEyd$N|u^n@c>uNqL zLF;a7j|pc8D?iB*5ye84&bt&)h$CwP5IJL;{;CNColjC(AIQ5~kbgQwllXBai)7m; z9$Al7uM_C_X>(Ahp5r9DAY^Lo^Lk4+h?IwiXKJH0dakx+a%$?xPwH{KyeQ<$z5Tw3 zDhG8jiaEoSzO-Vq>h4Jyr2X(#lhSk>M5^!9kaOi;aemhpJ;zsDbO3!cC_n@KBr)ix z_nSKTdg&I~c7=E63QYyX(D}cq{#@cB^~zno%okS_icphP1w}p+7f0jAw0)#mo)UwG zvLc*pc4y!GZj{Y?{etkP!T$`KWJi2v%@;puQkAqm5^lQN-p+_(wR>QNja)`$vg7Vf zy_^BJO|LTT_<=$>%QNJ^S@3{ba722zB)DgCUrcymd@}M z)|@RcnKIfH{g>MJjJ;yJI=czKOcy}t-dyQ^sKYgKxqWeF`Fh)xMasmu zMYYc7?PcuSUvd96*9YKV-=NAoS}T7mXb4wmjPLEwt^X3rYxh3wUXu`;>PinzI^nRL zw)p*SkbwaC9++8<28#es1j~C(Z&2Do4=dB~KaYg~UoEK}N>SdQcQqH^C{BBD{6}5S z>okN$dpMdKF2{6VXMFR+DvTKK@?)jW%AbBrx>*fF}cugHhS&w;OASS z!7=Wtcg)m4LzJ#>pwSugb0R9g)M%n6hX~ zKhn>q*0}ncu`A*LqkP((;nyv`LEU$DJJxYB0}jWBe(Vp0-bB#skZEUtPjidRnb)r( z4&LlsYkk+JDEP#ZzZm$THupF8-F+cejp`89``!Dlita^e8lIfOll!!j%6rlRectfl zmNt8W`(SX(bcAT_vffBR`dz-*SPQIAHNRWve0-ihyOI{d(vxyp&Wo=IWw1zQ z*|fv%Ha@y-oJgFy zd=B+oJBgCu6_%R1Ez-ZfcgO{i$w_bbYBZsJNv*rrbCHv^w)HQrT0OMC_m@27S@F_a z9<{HOnI8J4*a(Q9o^yO2ZAP4*B}JBj_N{9Qz@*^E81w3`KEb4_m(w#%a|jo@-+Sbx*dkmX$bC~hx+-MrE}7Y@Hs+LY(gy8o_oy*baqR>u%pjO^>jt=k8?lpXDwH z@O-;yQWf~;^C_#aU1`GLX~PuMKsaa!Pfurg137Z2u;`zT03Ft~5GY&2$rkKph;%a3 z8NnUhnTS?UWVA9neZbZ$=Qy-{zq=yqhO;+7BX^^`e#}Z&9*M&ZH@^7%?y-viA}bg2 zmUE727muZ(i<5Ts1L;%@C$Gt^M7Mao&aL3bU^do7-}O}!VerE;Zy@*9i%~VjwAY4} z+aGPdu`NQ&12npqN=n?S12pyy^vhn?5lJJ0Tp)H~2H%v$ZKUOXDuU(jaX9tPC2KU4 z8k*%h(`IVlZgq@r--FNUdmEG${74cOB3Th-o=|P1@@p?Bn z0O;h@rsvH9i1=PA!IiD^NrLoU4$jrxo$#Y|d!WWA(Z@cx(~uSniNx zdn%!hXf=1-lUj99&1xw+n;kP@v{3L!sGY{^HF=t1vGO!Nz`fL3kf;ey>e8e`3mO5j zF^t8+H#3GQ_CED=$C2RYrsp})H09m#Z8Dm|@TbX%ke>B>hUN{D29|N%^UqPa1*YWh z78gVMm$5abHw%RB{J>2m1WlP<@eayOeU5^jv&N1F{Te-EIir?mB?dP9q}}cJ-Rozi z;X6Yn15XyP-{dqnk|splag_O{{&mnkv}fs{<9pq3BB;LCoZ~?@C39oNYSZ4a=z`+) zLfazhy`TT1af|c;V4b$W*@KntzwWd2B|r7rt9bat`F}h*k4#+{3OvV3`j3nI9R{D{ z3Wnz>`Tl_eK4!X7@b%jjP5O{dC4xHlHitnZBoJ`^dzwhC>(10$*nkE1kpV8;|NVnQ zcASroj=n)O-@YaOKQHHF%@zM|v2s}fWhki)CPHvK^PkCFtNp?7)VJL~cqdI#w?6K_ z1qovU;{DI%)-lRR^-k3P=ew-8`};qo!2IvmQ7Y4GT5&r3?;A61CrOm*%Ko=N37MIL zn{Y(oxcUe!Ak(@PY{0U+RJa2ERo&@F$9nhwy7S&@^GrM#^oIsbLHN;EkjJOt&Cl|&>%2W#ZoKqRFlMTo4GYBj(>hDZsYVodA}}F*g6(= zQgWo)@-;^uajLi_0CLQIz026%+)C*Hlm4xb`=HWAwuXs&Jiy@e=Jxm6=bja8mWKeL z?T;?)tmnDRjtn%1JOwaQ_Q7vJ1!I8#8alGO^G$9X!}cAzOL{x9p!zdRZ+I@o)9T}N zi|BEpu|rDAibT^o%vUpiS~*UCK1{rNvRiMZdjZ;8Sl#t)J|i3#-awV=O*H(Vp$9DF z)3r&$B8)`0bI0wl=t9myyTc%~FdrG1+I_}9)RWaJv}JB`c{}cT8YHTb@ux>L?KWuf z=!Wcu28TxTkscmr*fRP&mE~uI2eW6O+nV2-G<#qTn zWJj$+%c)D5pk^~6R9nS!4->m*uial=Q*~^HZ-5(u3@(#5ma@d~!@hk_Ac9e0xP9Tq=C!)?X09L}_3Ho=-I3p~89_!<6_2mj8yW_K0h z+|^?t)JhW9C4n!6l|Xf=8Ox*0%F#F6gmjCAf}kSzg{!D~YmfX}SY!uvo7(XlKV|46pvWg;eu@1j+j=cQ4pb~{H zXS|+$muTdad>153D1apU8EpAUd*cg>R2rC(!}f9FsG|?L%hfOXUDED>`CnS}a#}Sz zoc#id+ZW)Fh6Z*EtN&L^+Din;zgsAI^NV~)XcgMVwiHDaFST`3BpQOIO}}Mm*O6e< z01f|(lvQZ-(`IeIJdKvh%toDAN8><>hQb{S>p@7~n@|>yUsFYP+r7$1M(A0g3LGXL z!MoKUmz9XaGdC~-4INENY%YT_LDei3(U)sORs6#lmb&UWnNDr8hyqr2>UI{oS@eWO z5&WvJ{)XbvZ6jF<(VWJ!fG}3!nhm!(NZ*>>n!R%fFaL8k7Er^x9ctu^F0Q!|AS64J zV0k0tLWU9&HvciuA`{ymwe-`U+6@ak-v~j?W7TQ(-(G@DT5>t?5uro=`{dHpK z()7S;!uUlHK^4V0J7IMz{^$CkMRI4ua8!6ND4~QLNBD~v<`0cVLKRbkNaSp zU|)|qy{3U57d2Mi*daGexR-Oc5`BV9+q(3vJSuSyU-(p{dHt=9$}urv6|)%0th=nPy!F*&??V*YQyVfKbm1${h=zjGE5juqBv~uCw|HGi|5MW zV|mV*Pp+DfxdI;}*J_2C|3ZzZjA&=x^r!nkiGE73$ah#5VN&aT1*_*9O*b|hmRQ_IM>*N1q$ zfBshaXmaaa5mU7TfMfDn4f;|!_E+$2%@Y+*72F*(TP;HEL6!^C>abEo91fK-C1e-r zu|z%m130q?h%tWqv+inuz{Jc9#05tDI86z2?Vk`;2n0OU#vx-M)i0DJ?o^kgqVd5z zk{>UZ8Z(~TJB(*Feezj`Q0$27Q#Vbnb*jLaD+c7sv(yjUxx)FpmG(dO z;eQV0T05FKFx~iIv-q4w^O-CRJtr@BT9sR$AqMw{h_OEeVryP+}DskTgHC)N_XiO3{}*W!>-%l=;a~ zH>j6fu)?<}^5U3L*ZmIrH*gy*1(7?8dd8WPAjF5-VVobt_?>{Tp7t$zlW&kc-a|+S(CqMu#$&FJc3u02HELB!RZN(Ti*bE6--hZ*DHTkMU>bc+HW3kS9ABhZy(Fc zuxQy%*n*`}-}-djcWdOD1uI~|&9fg+Q}%tdfY3zJn`z2)tsIqo#?FQJ$rpy!M1=L* zOKX)V*PKivw$RxF7798PFk|J@{20L*f;udZsdTW;h-P+dRUil2p=$`u%XUF_l#Tv| z0^)c;>@R5WS5)xQ#y(1RvW~-UryWv>Kw!i(o;4ROvTxengNTuD4y5Gugs)0~si(PA zZ*ZbDai^Hi1LgtOcF6T-jDK%f6BmhV zYtds8tTK@^N*2nZOV0$G*SyAG7nv~G>ypP|A*-T5i})GS`-!F35+E}<@qf2+S!%L* zU-JXnR6km<&w+|-x1X(a_$(2}2dAE?y;j_Gcfr;{6wYxwX-(+8WlyPEA&-3A@}GtM z?lK+_Yia!_R?fpiQ5xUf@h`1LP0Qba@C-DUTERnIH^oCc$W^iPj>zF4*>-H<={QiC{A3Q zlGP4TenHC&(7cm{u6F?F=*!HDs_$w=qt)V4n#|9BGdD07DnOC?Zjl%ZFxwfv-H0w& zD{irf6}v~1cI(6H;l*U|M%p5Hd}02eId?R;b~-mnlu z+~B!MhCR%pdprfs$p-7{azPMnq+ z#c)x0;VT0gyZ}uVal-(-4e45qa$Sk1##<0Tl^wd9iA##@UbaM#x0BpAW3%Wy5Q81J zWwrCM7lEN9z+yCR)@ES zV$#mkXUMkQr)I~UI~2ZYA%BwTR7B|gCYl*NU|bLJMNdR@wCMwEP{=Sk2X={yrJc)8*PJ`&E;~5AQMRRl54i_h@y$BAN;b5IpNM zrreKlS(3;j29l%;OgM%*lkjr&Svm+8P?XddnO8P1Qm8(ci% zKnEB$SCw-)tP107R3L9SVX0*pw5Hf*A&Ej5#%s&4<)yH@CgNK55t}5No~&^;=qWYC zcH@miS!Q%y)$`sf!{-5~Bt&lWojPs2>jV@)TB8&iYW`(RW+?B>P7IY8cme2xw&Ew- zHTzck;($K%b$n(n2~8Fk5{vkcqxwH%7E9!okPdDTxYi7;yA%Dn?=5@!JELILfOozm zU%E)C&gWatsIbh40?KL3UjFv9{B#(DpYRgt@~3I%v$q-4$VQV3m>CVap(5~<*R{e2 z*E&L_p67Vlbwf{V>xgj#Mao%A(`bTl<)=e)^CL9rn73~m(5TnSSfJq}3e>&sOEFGS zB4XVL=puc!92R~->N$9g*cu%KO!1?h@8aXWK?}+D|3Bv5GOCW}=^9M}!QCAWPVfZR zaBz2*;O=gLKyVJO!Civ}cXto&?(WV#B){h`@AKZZ?#KI$b!PQU_e^!wu3fd8&pK6D z4T!?K%AH~ZC`G@w1$Q03o}0R0^ijb_Qe1jt2v8X?#PQOLsdgS8v-_mq}jISOIu9)7NF|#+15KhI6{~(5MW`IiI zTG1ij+pYU1X40y|)hmtV%PzU$Gt7Szq6%l$goBuRqw`ptPtfm$cWc$+E5n*ZNj{_z za) zeiK(w6UrZQB(cLn(e?ENr@-ZnJH9Y1%}+86v8(kbrQGTP5LTQ(cZB}BPnU)g7*b7@ z=KP*H?>XePL##F?rtFAlyMO+0*SP0)fFT&Vv zeA{Ay$Z}e?X|r|Kiw%}dj>?>_4VMo}KRRsvPShrSmq<|Or5n0cU8AhnOh=5&p8e7I zgn_}?K|$gp6Z)^*Hw1+-`B4n2tu^t84LQYoqI4)b(j|Bf;Rl127c3U|&8|dmpY`Ctp;{?gU?+*W-f5 z&w{riHwV6Y57_n?ZP(a(oV`!#hXUNoazq7EYZC*srzapyat_p*Er?@3PKPg26C&8D zj?*G%lFs2Ph+z>G6)waHC>=8cH!7gxRjvAh$AIZ-A#b~tRlkVyAk1Ul7OrtcUvm8% zIPqI zvD}o6@SF-VfRwg^pB;I}n=3FSgn~2_MvvK?CSKH4Km5~WIA9swfnj`tDCb@c#}id1HAea4KKuXSUeN9Gp5+! zEL18;%xxB64v8TLG(_H+vd`xPIV$kwDaKV04#yM$}!L^Ge zY>*q_H@B}K=yB0IB@6>LKjA%6Ke+}zU_+^m-O*kWZs_EYnf`&E;g1@!4p9g}DWZ7~?H^CmSl4aK@!w$p z+WobG%+p?PnThaj{j5ah3xD-VzPUgz+`(QEB(DwY^c1PY4C; zbRyjBM58nvA+~BIY@cV}8Y=TRz=J^3hr%P&Kb+;+G*;@d`+d@A5B$kT1XBu85U1s< zwnRDw4cbz6hi5C@-!^r%COqDbH80x28Qeq>QMbFOe;irfYb$0;&^o3jc9xilS;QQ} zYw0cVk<=R$^3Al{2^ht0Z-i_bTN@ zY@rs;!C>mppO<aW|!w(g{KEnk%tj=*?v^DBdnBDr)^W+_sMSNKC>Eb z;of<*psKJnnA20?zWF5%Gl$AXSL)IJ5N;t zQePf`I22CjdZgK2Dhi}iuwHr6=DHC2vWuj#Q4V3Q=myFW#N@_pNG_8ya&tAg9IjhXOcX#ZMmr)?{N$i_@;^;iuHim}9ayFr*g@1= z<~6)fo2l@eqp3(ULXLtS5wIW^ALG+(VcdyQM`+aCS}EIFct$+y!g|+Bb?}f+AnH~6 zKf54uMYsW~7zsf4$W+wg`@qz1wS&5~6Y5s1D1T|1D3AB*vP=16Y+CMmIQ86aPXW;1 zQO>dBUtKwP2XW{D{7}3CQU5r088z^4D|%oj2LAGP9YB~h7aZ_qus2I7M*;RF+!N*@ z%xv85+t_7Z5eCo4y`4-lU^aPH(K@*ka`~npa!NvrR>3)3&g=jM9wvcJMdycd&gvb= z$;Ai|$rsh%Yh(EVfeD%>Y_|-9N?QxmbvyGCRM1hgy=+v9<$ZY1>EHoyKuwggHJACHls!}%+YB5x%^$P z9QOxCg3h!Y$U`1`qAhxr0#;f0O}w}my> z&MrBUNrXOq@0U-R7&_BBR1g~RGeB2anYS27$6}uqig3HDwQ*edjOyNZ2eJbeSJ2x}pP1FRb4i%D zY9!6o;fUudde}Bz1?lG@0mGveI$nWCaPE{kNM?wRWR#;{E$_QBVxP}6yD&;7LU2&) z2rbnsEvB=EJd8ldhH<68pY^%^hG7EBB9pmi{WK2h5|OQ=sRQB@IlrG!56NOdC&CfI zA@z~3_OW1?8K)y2u@GTXNZ#A-dg7n^ZJuJ$sKwVrcBzuJI3`Jra&jY`Tmq|T~f9q-MjV{D^8DYH4AHAh{M9?q-FqKA4cAkoumhHnpe zZYn#=#6)&pj~IwTe~6^(>9e`ObPNfg0e1Xk#Z@yOBOQ7~xtVy(I9m#+e4Zg&->vt( zTE8>mw8}bxsHcOT^c$so!OH@%wyzYy$@>vC3Jf_UT27qQ;6cRdOAI+>30 zufSdQ7D@4Rpc0#J!qbok$4PebsIGQJQmoC6W&U_0NFF#=0aZ5zor-Oc@d<_*Z&%nZ zCGwY(KaQ+W!DRx8PMM&kzzs_j7IzV{yI_*{JL&5kYK^kw-QMJG{6b~6+2dpMiE0$8 z)QPRnHsiHpd()Y=qz9SrlB=<&x zG;I*=qZ17BmajZI4>=5HWEttsxx=ehWCP_t8O*nsW{+kI#Z`YsC+dp{TneeQ(x(H4 zXJ>X&=%R8)=sm20r8N8u0{6A>tMrAv;-_I^!h4GNx#0Lpt^LPhv~nym=wP9&$nDeX zjL!$u*hAKvGvujmYTOfzC7AM7(j!Z2QeaFG`|EgFe2bpEB7KoE2AX{a)}(SWJNF+; z&2l7rAQVY*eo#&>e95vbhBn4g(f76{8hLR<;^gG)t?3DzDH_Xg2G4Sq&gpFpx=gO(K%%T(sxCQxjGfIOwI(_ia` z(|%;#(wZ61eIXM2C^VO|q#V}nz`UldsRzEH4}Lds-nBQzg=k^g5e=RK)&Wh1bt!7gav)JTiBk=vwj6@9QJTPY z`xH>4sbbHZ+xmp$sKkBu?i2T{)Z2t#IPFjvtiRXZaK>L_tH1QsV9Q@3xJDF-VKHjQEz=|t7nXmWD3 zfg6#8h`qifcf=y8Jh>8@WR*bj9U}UTV{SQB=OS2Ez5<5&_j79+t_*WN8zz-e^|WxG zs-b>z+~7ESN&O2KjBasDwc9Qr8d@Uwk1rr!WVeXUr%l1kDf!7feA1HC@C)c;K>+w)x9oq^=vex30Fdt@klStEE0s#wkJRwvGn}-Q@Wd@ zg%$}_AT5#{0;FfxS5+5dOHF3V$Qx3J;yol?()BG%x9S&KzKe)nX)Tp+Jk{#y7L=M1 zZp6j3uDm_2`xN$kk}aD#ssinlkuMN|o4!w4vZDxvf0sq$b|_3pqMZyO^xjgtHmaT( z;n^MHaa+_Nu%19R4-vKbMa?J&J${jeyadiCT?V3LR7)riV|Bb7WHJ+7ZfdZ$F#c(L zFm2)pM!N|Ffm~NJcrYMc;Drp!`?@*>K_0A}xd9;A&uB z48+oVi;Umiffi4%?&O~dZI;~@Bwlbw=!ZgNxsKs*3pj^xwI-` zsyq^}tNItTdmzkfn|8#iD85}V?p^9Pfps{fIPBr^`WzXnZ9Qoq)~Saark*O z>nd0Ftjk~+ncW4~!9 z)*u7*J@hom>8_#fa0fDQtdR*x+wOeM8F^`DexxOE9%MJ$5|H4%!9&wrG zIgHw{4xO~Bso~bKp2Pvw*bDp$&)^RNhM8c0dOmf2x%WHb8OdYCB41*rEsT6uSR1d* zf7WpqGTe(DSwj#~hAr%~og>HpPwBV~=>XVQxcd50&XaC$T|F;`**Py)v3(Mrc z6i=TWK}7ni(PSUhMdQHqbHf@vWf!my`)?+LLK42$rLIGp zji643$<_Zs->=JA@6oT2@)T{BY+Ak|WMk0U7%g^s%5sc@+nW&H(BHXz$Ae#V?IDQo zj7MK%oT5eD?y#cmQi%XPZ|`@B6K!X*+aF7v=xQ|Obt?vMo7I4^(34xd!J`7VcmKTo zWtt?-Yq73S*9il^*h;6=x92M4YDw zj=>Q&%0{M-?5uH4Dp%;woO1SfHktU+o{b9qxGm)nf^-8$BQOPY1Ab3% zM`g-s>*LUg!|;tmYKj8b7?y+aM}M?N{s{?S4h7Jv(9}cx!nS5FuKMLnWY_6HZg%5# zs!Tri%S9vqyQ`)$*`EltnRHYT9y3D$09)<>cN&d<=M*q!NyjV13|b6kxIel4%1=8B z@b1qOR{lH7H(USn&Yq>>>C``-sp^Ask%=w~^E-~USJQ^cJwT2u{UVbO#s=xNuJU#N za+^Respw9#)3Ksl?q6{h z%t-i{WP%yge*$zY0~Xfn%>F)40vjIw6+QnCJ5}+|z-RNsVdH$q+?*U+Ch)+2-H?xU z|EXSSZ{0f!>{`{-{)u?tP)V&#NB2*}{KIB<1OF`X&$9pf+P^0-gFQT$z?eF5HO#*9 z-;eP^R@zel!-9$Kj=%T$!vXK<>;3ma{;cCKKm6}&PtQZi?4vZ=$i#e`x?slRzAE>U zzx+qmKQ~(6vtgrfI-I7rdCMyec$q_ua6`1?=C@MZIlbTE8*-Dk!oU3?@7M=#bP*i({^{noVk<+IrM@C{50CVSetVtIg zfvaC0yA^YpeI?Xo_dAR=dV@#GqF*#L4iSS-#u zB2F%dX<^}TZwUlcEg+*yUkItV(%^r%hhHBnjJKe<;CqWm_tK;^ULcb%xB7$I%NccI zGfRI#BB#w{yGS`tk1w_0anrowqraAxdk~X=Zz0FK{*A{GmC9O1$9VU9Q<@jYriK>H zOY(yYzMc1w&-gJUxl9pR=C%m}><=^dQ;l*qRRW=6ZC+>EnkOJWnt2Elwa&{)zzZ|Q zJ7*XxBWxe3T_l>4ufK5qH#TE zIT`9=3Dsn1!I=CR$|@ugO4;k}q&cw-S&k3;7vp0sxE^IMgxmRFfemzhjb{w?v{?40 zf*ar2x6Ch&qKuzYi_YW;Wldi_;ht~R2&}29@(WLlJZ`KAf#+z$VP36uWfq#9+ItEyFq9lFVkmT_=#n$DjmN3u(S}B41_iL@Uo!Y8p*&qv9)ZIN3^k6 zyM@zPoG{l%txQpg0+Gc(jQHX(;Fcwq3#WgQR%UPWiX#8@wPk7d`3iJ6HsLm9ev#We ze3zJweLFe*ywMCUB|(bY4Tgg%Ds(O{F*9?lm&>9P3B#s<4esDClCDT9N9o96=vX__ z86Uix!0%=G2#fr42}e1`okJ(1gcXik_=^lz?g8g~>cePA>O=ixv$pbZapcDe(0I5v zyVRVC3SJ;ras$T4voNn$X5`OSiY;v=Vf@nKc)XQdS}-U*WwGu+>*nTmVtL_uhi2`4 z>Lf9mL~xHYolM?+^*Zvv8T`sEo})CPt5JqAR(# z!dFKae1!=-hO+Y>IPZvs3PmXvn4Eb+Pab5?E^39NaQQ;~>qv%R;9hBbzw4;+#qngX zsLOxCg`Tl#TSG_fW&6CN%j3=!FuyWx`S{`Ymg3*Z^1b^tcNkk58;gO|gFW;+Uv>qJ z(y29#OCU+BM)%N!WaZdFM8_`mPeXF^~Ek*Ph7S2ep7h+t~rz zQYq=7sPOCH+<=X;C&rv=KD3EhM9H`h+S4}@2^J@FeFwbe`}H=ZLU(OJk%J#L6JElC zS^m6X4oHSc*nBRUE$^K48;=|j*B*ZX%uQJeIdekAZYlbGPQG3-RZq{ys-sk`ckkYL zUDSbQa?@-c7t=pRUti^cUcPWFFC#UQax1o|)_&=D!fsx#@Qw09pP+=7+B2?o>~5ve zc5z6hSy@Qt;jct=Pw|+B4n)bqW*m^8Q4SuF$H&;B&`36JOu&N5xb?qHT@35hzAHGS z7Ko{aW)rT;=hv>fAnrTHLvgyy7_M(BhnbQsTTP>$BAny+awiMWHo`$YIy`y6ol4Dh zot+8tYDDNB{~iFfaXPe}hVLDXjO^1v_`eAD!wqC#hF^ z2j-gGE-3eL$~41>A|mP={4UBUw2P$N+86B!k2=4P;KN0PS7j7haZe275n=ltOj}p+ z!+8nHu_c_eeP44{Gk@N(5!2?!ueZW-j0pc6|1h?s>Rb8ni_+Tj5TvxU3_9N_aW$*$ zT*GM}%yeJ0nOhAXdqOM>!$RPU6=%02VuWy=#QEkYfj)nPm&g(-c74JPS37#*$4kk)>_14w>05qV7aE)0GUl}w?) zU-~VQ-ZO}zkqq+YM18FRgMrA`w;6ERfjq6#kJZVo z@B7g}V*>L3z-Yt)4Yg)kA}vspeQ`-fwhcqyLFTCc9(;f-DxHxT(x330UYJB+z+=wt zRu+$Uq#xn}emVb!YhKxw(mEmq$14hCuK$S~y}9<6^Un_**86kbZ6!=vc`W87C2 zkmO*3ZxW1w{k+S-f3GI}4J&HT?QlwOXwr3RrSQKoX6b0s8HIcL!LW~Vp~9BA`M%5Y zP~v~QsxL$2a+tWRg*`g~^LhP}uv6aN;YZ|PsQEvL^-GGQwDjAT>ZP_H|1r!Pbu!nz zXws9xYHSC~e@{RvUUVxR zZe7UEPWg&`{zjklZ@0I%?AO+XsEmK{J{VzyiiS~!nLs{%l1o66(UB>r`EIrfPC>w9 zz(&tn0L#*IBl9#~F#hu__A32%%g28YOel?xj)q-R@cxL&^Jf6KI$4J1{a_S4~#=A=s80;IH*CYk}6Bt=PA$4^7;r`G3o2ao{Uhe!96E5+A;p2=oG*{o2>{fH0js7NX$^hm9CH(H6~$sdHUvn z`|sgk0qHT0G=i*5B|!qt8`QD=t;D5*+XJR4?zh_~t)c^d=Q zE3pus=kyC_PY-pN2Q;8w6uenTz=r&6Kand^MG22hrsWqoD&Mea{0T@do1+re%xOZ{ z;D3UsA++t}Ni>nmv3i?rGHOp&xh;0et8^hhj#keM??C>Aps0d7xA?;p#6;7E%$~wC zIlAjF>DD`G0dH}h%LX+JNA6`eQ0Lk$uuHURiVsS?iSs=1_AZ%WhJVeS0z3gem!2D~ zuLF?S8~vP0X9{FGV75zLV&=&aC--wAk<<_U`D6X`K&;S_nvni{-?eysf@KUO@6k7O zTEDP&irkrq2;_U*$K^cXpk2sGXr@5x^9-PZQBE#7Y8~{LD$HW6+xE`7x2jxu=_%Y$ zc=EQoh`vuxsE;MExmKN}!3`e+ju$9}@SPF?o3_@60vNU6v1960xNGCVVj6@9*)Ntq z7oA|^iv~IB_y`2vI-pdS!O)vS_KXK-4X*{sNOkP%l0BM~b(KnDDQWWsU9AbgB%=F& z6{fc(y3cuI7h0QL^*~`hA()}stFaN>y)6O?**O|5wx#66`_G;0D@*zZZXx-x!V4E}H#j@)Pfa}F0bmFjHNp5Fguv=e2sAs_dWRc`q@?GytMmatS{^oB{exrryo+3XWuqgQ@pdbdB znM*C~GAMV}gA2dWV7sH27KYXtyRH;bRd#$uE~tvtVKwu|+h#jH;|H9Ihmp3+O6vJZ z1y7vhj;A%;aukc}G(qLj!~?ZnlBDw*(k@AeFupgTF_rSU&Kga53=W)FR@o_4gPc(Gjl`P|%+wyW4mU8kq(m zUo%h2_2{O2MKSc$5}<8QTiIECs*?nw`vuFbiUTm)AuDl530eG(zwkZdhaO7I84g`K zxK*9v=WR%Zt_q>BZB27fsQNuIq}r2F%T zKxMx=kuV_uU7cT7vD|f}4ubvR$W<2(V`r+(VU3c2C*>Q;5kmeO*P&41^JT!3X5;T39}_jDM~lt6>U_+z1(e;Q4G|tPT$AQDu?%=XsnChMaSOl{Pm&;?#E}gvGhAAJO+(lrjX80y&WiPZO3b5!dVHDa&&KKe7<_JoH!d?W$>X z#ot|9Ya)H=51MT3Jb96lZ+Z=-h!a;d*Vk%#tY6SIBU>ng|!g3ZQc z#g!CJ)nnps3S{9&^sJ4`Tsb>tL(o(}C3&x>D%|Q2P1|bP6*d8N*>6z5{$7BaozTfz zJ%;-Nm3AJ}VGkCsavS*3QXp8PeuL&bt7Ux6k2OmZ^mW(|M$m z{WN8HYO;3*+|OF*1!a=uqI@)Gk7@PNOcfWlSl1KhW_2cDlh-w}IAqT|k*BhE>rh}z z0I)`kshQF|!=d(k3|90VP|ZXKQwP0shX5r)4Bu_t3oah1F zuPWbIxnMK-)y9fdvg#nkupLlS&zYX9d$I9o2!0@z?iOX2VTdoI85^-kHFk|r_N-7t znuQgjU{(*Cg7aH19SSZ{ceyG7hLVQ zuA|R5xL2Z6!565L(w4Lix^=bKo%Z|^>)qte;BH-z_qm|qNIZ&d4qn){t{72afxT=_ z=v44!0O@5Bx=vuCnvE?#(F6NXI~tEd@hVppjvY_|+-lU}w5tq&DeWb5S&C{Et@H@a z_4B7%n#hG4-9XFnZhW&GO)Ig69~Cl@Ut^X#xc$=tAk&aryx03al1JEM%IgE8e7xZ| z>#uL|;AaHck8no5)tX-56J<5|8kHgE+~K-1?ei7m#a*KLIyRx!+-J)GIL_Uf)^Lu6 zPs$CF*uwaouT(4I^^y~B0|{(C2P(FaM*f}%Si}VCba{*&@TF#hMTJi8mi5aKR6DA0 zZ|6fQ1ri*cIEcL?Cidxu#-Y|`yPR?}UgllK4yH59i?KwzoKPJtwaf{2n{XhO{F3Y9&St#R8~mC%~DUy<`x$-BAk$F4yUz(?!yXq<4Vlm?pR`TfY#m~1-v z6nAsU7&jXL&i|;Ge}7DK*TH0@93k=Zgq_H}df?RwRhIwTagsK}Nfq65 z`EU|fDw^M!aV6ekpZV_K^H!sxnGX zIp{LgUpW!D9tNzOuFpm|E{Nr8fqZhF=~^PYV$cd~`1q;RK~#@m$(&p$;x?KOq;!mh zRtaOGAso8JMF5NPF=lGlvi0BHDN;dFnqN_`AuZMz_fw6ha$N6FA;m5tr*@-D;}31c z0x*<{qL6Aa_BTRK>nv$`{Q624(?gps_}3P1akjNOQmM#n;8H)X#`1~qjyTM;d+#|+k-}3Z>iQ4) zlW@mo>Q0q1T=eK?N+h2C(14Q(f~t8Dy(9C0?j|Um1~DyD@9=c?V0W_0v%V=a9!7EB zbT)!~&7af@AJQ~w=C|WZLF)U&$opCbx~kdUXxoNtO)sCO7%$)>!P!)T^ykmt9MCQ* z#2F%Z3AF7d5bmVjje&?KC`_PETL9`*H1#_Z$ z?Sp%7(y2i?g^9p!{d++sgk#}BfM#Bq<>oMfIQpXKjdb|B6?*2b3XQ}JxHpMdk>m8 zcuf%?TY&C5kElbaZT2IU#0YVx&rdiW4~tc>I{w5@{`~W4&-Xr_Bv714e|^F*t{!To z9iRsSFP+I!hTH#_x;V^lNtk}uRjIC1kzaM#Vy`%U-C&?GeO;~p7s+AU?lVQJN2|)IOd0|7fLlrR< zP8FZ=-yKjagU3bw)Lr3aR#4r#v=Vi10D~2cUAe_1MI+Bt4`*d_0cZcKVx_Xc%N@5}$xoWkwSqw=4mB3C3CltLl4Rv= z_4yW1o?eLz6S=yp)6TbIzshw$C%6uH>)kuTaP!}}RiJ;yJuqpar3aqcMB!k+%~pXh zm~gu6gQ$z59>M*JnhMsB(7UB_1ZqWOi?B{8BQHGgDK7pN1`{5VCOi^X%pELl>Uy4@ zJkT*H=UZafT0bVt8FTcdgNS(^vGlDZu;32dsVdQnZg}<^QiH?vp2zSXnfTqIhqh!F z#|fEfj;l!6>0yhz4xI4lJ-0zC|&97w8#kfLoVb<0DJyyOl=M5((adHB{ z(mOZt+YPw>jWfMf+ekh!9TY>0MOLy;fpKGSQOR^zhJiL09Xb{2lHD|lsg7^P*gal{ zayu$5y!8#@dl+^FtvMEtQyPpGMxfvw^4LqM725#JykrC^Ll?1w;z>sK`I~s5bb*** z3V(LRjtZ`u3Pm163-pkP6Eu4?NLgkxcAQR>1T#DOIM3o`y{e_YwjMdMrl)PP{Rfsq zbwXch;Z%m;Dz+>pE3yslxxtVY?mYy+VmdD3ya9xU~(GKxZb*K%~r$|0p^Qtr-n zUsG26`{r6sVYU1aACLjep0MFlNP>2k+1Dv3t)IPxwrjFZWIkZ^Zf2-U&$3T~I+R#{ zXG6ckqUi8!>~tFD$kV|_a>VEY@DxJ+HcrE~vVP!H?#rbDp)N$$*kEq=6wSf=lRGbo zZ1*tT9w4436NeFQ+w-_>HT2G>PId?Nn+1H$A?j77^DmtL%E)B|GqopKvEB=PY+)(X z#LhX3&rQ6{H9qb3YqdBEC2i^B5ivZ5CbqSSwNPR!5ft_qlo2@pgxj(CD?V zXd5Ycl1+B!TpB7%qV`O_1%)xAL@RQ79c5}nt-tP+n~Qyf%hx<`p<1q?1#3^?cds`! z4GoQ!iWtnDe(r%{7WJ2%pQp7>l6M&oN`(fu4-xBBe7(dI+u~NLeA?PI(7jBfWEcxF z+u5h<>V}qI;J$P!7_u+$g+7FSElH;VGiu)QeAiI@`}RT%wB+E2z}zW>xx+++Adxty zv6Bmu#8VLTY~6d=-e9~I>~O_rT>TCemp1-%tol9DTz40syVJw#;Qn(s!~5Wc&MffrqOSIsV_lC24{f0c=~0+or3^=mc*t27?4`Sw2& z8IJ^PCIra-#(e)oaW;0KFF$tVy2FeVxbZ3N=Yl*~F=)1Im+$x_AN&&gj0W~3LG-)N z{>j!a^LEc#^Ag~k@u@pUa;fZ!VX_bFWKbC9t|3SA|CBy_mO_own@q$quoI!z;iQ^G zx?G$MFK5LbKaL!aMh_dy0ah(wPzxgV>7aw8{k3hWzt<(SAjne@>(?>EUy$28%2@?& zh`(LOvJo|l@VKYZ9FO#td$eW)!K;w5wxaHv5fb{(Vi0}LDJd>*8-?gWR2`dU&}lTq zmsmtM*_wh#B*R{V9&F5#{(U7LP_jp-uX@rQ(d%MhWlCa9FD~Tllzx#W6;c9gVxVep z646`XVMYDUgkC`3nf2aK^=p_qxX0+_+kVB&6TTBvp~$#XFDNHh;1p3SU^Cr(oLhV- z_J46)6!*7Q-$a@s@OIzTW?j~U+CBEvu$<74g>%E(DL1VUeG)_z0rzpOic`nXMQ9|jN z6GFy+@p4Q*>qx;JiE=-+xX_7~;Za<&;F`}H-K)X@-;mcn_~87$k3LFT%2P87a^+T&AQ{Yb=T09kLnoQA%m$8 z7kPMX&)iy5c;GxOSk*#API1^3b+Khy(SY}KU9B3FSL8BtVmYeDh!-Newi*seo|`1E zwcwAsli{3ky70!d%S1UFzH5472ZIr8mqHX26kFIQQ>?BZ|QT(B5eAB_|$%}@67 zpdNWCX{)6zvbEchtIV~FE;+t(NroksHtRi#Ln6<+& zgIzm~eP>tajA6hUxLPcu#M@a;al~OiFwZmz&U3Cbe)fGOr7T6d#Iix_WfW4$w!+(U zS4}rRZDN6SueSa_n?GU7>U_wXaWuoQ!K9fVx@c=BPsv+Us^l(m4Uyjw@FZ@>y}Szt z&xq7;P(?_(E#&QW=8WOwW#3vwK>a_k68ge|gKsFkO~IP#=M2~f73g3)jlbkn2y={Y zlx>eMLo%pTvN+>6Ro0|=ck0q7|5bWn`)ybP$zY*xA`!WB!#H~lAhp!{=g+AX@Jt4PlxRj=DUH-ZmyO#tlJ_t{wm4q*nH7P+9r%P&;-GzW>_iL zEZYDss73S-4sLuy1-7{EDFj$VvVs4F^#FQ-cVWRN4Xu@|Kx-$yh906dr2@z@h^b>g z)Q=jY3~14n@NxU;=W%*01QE6pLkMBSY+7FLcChe!6*q-p)g?c4hI%KXlDd&pOGud( z|JBRT8Priq!z5Fwq!k1nRLxX$^G4N7<+aOhgjyLrm61V&>u4?Mesk_u=c%a%m=qRx zr*i4Nl=HD_%lhe50XEuUv;>Nv`_xF5<6nqD$_KAp~8{npc_(prKqh)qx`$qcGiMLuWT%aL%ux*pS)B$HN$1JK-29WW! z+V6g@#i2@NK;RyYTR-k(t6F-&-3i6_pKQ@=P^r%yywd=H_|@Fk@S=-@&_{c<4juVk zdN>A4I2wiEt?FQ%ASy46`?8NzBXOwPHJj3#SryBgZ>C-_!0IHsroUumfn-!kLBHCE z96E$;?}fEjB|P9*+=!7z3mnY*IEuuYPjs|5%(kY^&$lFB{S$lw!}~Hik2SJkY_xTq zZHl}&FauJ5y*K;Hp+qLUawuuvYPRT5(Ps@8?Mm3Y)FjzRtFm|l)HZo>9c0UwP%BSt z^fT@-fM5nmM3E3y+N*?q%zSURxq+O7;kn{9kE16+WBlYShAVAT-#;=U4E@MC<3b;Nem$6Zz^wfEh(ocrqVH3? z*;GTZ0+SQZ*X`)`G4}1uL)Ct?WP^L@PxPy<%sQ8e>P?!>xkb83Yfmlh4RAd5yK2Bi zPtRlzarr=Zlc(cxQrwEl3g!=UPLA&XD6l+w-F{*`Eo-oefm<{ugnRCC@yR0?`3>J8 z0{do2wIN3OonO^c32|Xg+0@JMNv~QgFtve&ei=!}qh!)LK=R=xNIb8XNKFa;mkWt^ zN#u_oq2;D|kewmFO%;rW#>3O&VdrMmeG;UNAtjeN)U0|$ zrJhvV;HWQbq8-HrbM#>fCL~dcxY*@LPcdO?OGLmVsB>zW`Eh{&q5pxT$g1ptJ*TE$ zFf=G-dS<-sQ)otVDoxK%+-(&4$7_wn2X737Wp;p+LT(}SlK%l^j$rCy?MszZU%O1K z3x+`qN?OpND8pW4dNz4K^8D#<(_@uvU9O+4>&wJBpjDX=oWX8R*F)DA4_;4pOdlVb zg7R>^x?035VGop_SEBn%s^zt5-J~VZ>t$D*y~5U`n3Wmb=ZnrDUM_m_8R-7nrFD|h z@8_w@r$LN8&40Kq)y?0yVUvQ4J(Vs4nq=(Bs99H?I)kS|gg4T9ktrWP`85{$z(^H- zbF##F;rBSXMpv$3H~02#^Y~@cV)(_gKlw2EiI8WOO6}2B1>=6Q=@*CX0ZarRPBb1-1kp;oy`>) z9FkHM*fLY6T#PK8(*qW=o;J6&*YiU;H#awJ*MLa;D<17_+5Mx-JEbdKzdv2b#s0A5 zitF843=Ox~+SFPFS~Fkq0`Ius38S0NjLTvff`ud!3_%s-xQbShJZ#mc4#8~XXu+Eg zQ4I8r8l2oxaL4Vz1VbDm1Eeuza9Qv?GR@LPb;os)lw<(>2;F7eKyj+$5@EKVY+R)! z?UJyDJ4-~%Q%SI&s3G%}FGi+;GO>}-v5l8gCQQHMnr-X!^9|^wWPXLEof9TvxcH(Y zN88c)3sZJS9g>{7@?wc5x$%cj%D^p|et$aB32*SQVod*7eLv}hHsNHD?I1mKX_RA} z^NZJ*%iRdcj1^**P?4azF#5N8e3HQZHBR0E=622$Q^ve$U*g`7j;Y(1Rsj#yo|D)XEjzNVsfp1*rmw&&AS zWYcp;Caq1!*c#GRO(|&9M8Hn=XPD={qY!|p^5*dv4pe6!)sFp*dG)Kto^x3{$eJ2| zV#FTs>4#h|%aG{fMHXeq0*#AdiLLN;&GY}m);q_?)%E?tSDQ9y(x9G`4jnz3%%t&wD=azcbl;_Ri8*>$ir*xxR{}a}t_}F!jY4j;{+E z!k#QTTFc}&FGm)goq$evJeCS(x&!JM6-A#IKChLlP zZXS}N^fXSZ*4ykb%_@`Z+S((!>n!r0m)EWRC&lw&sP5<_Ho805#q!-H$&^~jvI$2A zO9CPNMm&K*{6qc@2IZGMql*g@xn;Gf8#;1hP^@EQ4Ayp|jy$^3_IGMac#FrRuT~4_ zS|H&Wf@mVTYlfAmQ{0XF#D))yBdB|;4vcJmcNt<#R2}1mzZ=k;=lgO5k_%AUs83xg zVXRu5{d(^y+P(IWo7f`xq=hxKXQHlWKgac;Qa@3J`$^ea#9@`U)sxor2ZG&+-i}=Vwz4hW=h>h_Gg3FFj;|q7F|#lI-$> zgE1k-@EuC}W5$VRiAe9>?>~b|^AZLJhJL&&=ScD-hc@Y?4~2+edu9q8$LnvjhOC0l z9;{47nTNlR@cXP`mjvwxiZI%)r|m>x#}JSZ2;K!y;!(WXPuxLI++YOzy7Jl^1-tLDmO!l z;Yj0hQ6$d;X)4c_$`eOpTq1u~7PPr8wqE`z2CO$ckIYp49zOtkXU$SG-hiK$CCI)| z1J~%@W;)Ls>(mAXl30oThj5Xq(16xfvrsHv&Br8ixO8ui(s-dPXwDM^9!1-%ql zUzlHfVzmfzTo`Sv1Z0qOn(#NMCns?V+l0`?O5{69zTJT&cIq0vz{*hTPTpG<@;LwN zW0<=cU7(RN;*JMol7`$9@-5^FNbHOZh+6bz_*&;}xFs?iUP_louqm&+IxCCM^GGkC zG=WnIUZ7NqYkJg#Rw)5JalvzqArBYJQm>bvTl((BnK$ zEnU8x=JL=N!YLdvi}AJYLip=(?=%(oDgrd+xtZ4iGD&agof_x-qz(sA&{I@@tzoHN zv=8nS+oH@%lB`ZK;nO&|-IOC&%gQS%d3F1ykUh5Svr-W`q>+5<-bGUA7)i2H$Z;e{ zki`*-wg%Ccu~$6bpd zjC^u?W=ory6Wo>gnBBvsEI#}a<`Jc?zNE1Dv(^txI2@{0SfxTW`+_-hD!urO8!MVV zOS356$8DK7DgV~8w|%`Gt^IN4=INx;WM77&$$|PM%fXMVq~9<1j2vzaUkX{4LAWpa zXQqc0l&|{lQG_UV8Dz=3e#j$KAJ?N(ASb!`;az%k%Mjd+OB2=A!lw(jB5qWSI!Gl~ zq?eBF1eCW(rDO5k3P_ju@Y0OAH z;V#6M9fiB-uYV-)&c+3n=CyZPnbr*bWbO0U96?k%YA#gUZ3yV2taBgI@mi5BZ<%8k zB@>3-A91K{>_g?{iy4fhY?->O1=&SOEY zZb{&1^dZP+Bw{!uZqN)5;nk5mb=%=?&f?8RSJ ZgF!(X3!)91;rK2h?xJ3ae6^DHWKe2i9^IS`cVqMi>52&xN* z6;SEp(Z&rdd!7uv*hhG0&EUP|#_*86Tf^0hnmHcgE5f{>YRgZ`pxjU}m+{Oywj>i$ zgqS&*9kOj*y2`oK(qRr|5FRg~ixV-#7$Vx{Q&@XI1EU^@@<$-P*;|zL^CwBda&jXB zPAm2*a?2pX!uwF;1l3EcISh<3CWBAFi4vL$Aio!bfTims+8l>!hP^jBoqc{dS%k7c_Pbq7b^;;e z|Ds0%{H#I@oc;|%PdV%LEr84BkNJnSwbNb^+Y0utA(y;O76fMrj_}L9?tDJKPy!}ydU6ukn1d%i?uuzM)D9L? zQV~Zgrv_`_T8o%1jvr^$Fdv@5u1G8n;SFmA@uT1?V1sClE3y%vM^*7yPmL^c{Om=4 zka`r{sM_mCkqoy7bcid5psbl8o7mKrAh2P^u?lCvulC*#BhmrNeRK_frl&KH$JInpyeW;IaaYh832vZW@w^VRAo>G9}NA;tG5Re65KXSgwhU&|?!eF=FiP;yiO&5t9q zsJ6$iz3m*B}>o#h5Jt@k0(a=qt4~{0(HImWF=Sh`0B}AS=Sa}k_k(rHQNfyS11`^ zpRc|6ZNrVsz`>4jBWQz-OE@$`ZcrL7wQI0(J!G|*x_RQxdMiE@AEz z%8J7N1G$inKo;#WJGAeTf3zGiT~7o5@T#muE#`0p>Wn;gEq1{;UWktxcZ2ZwMo|S{ zwuuUrMdE@Pya``+4ZCMBRWgs%Z+59gHqGkE7%pvz5#mzu<9eVL**0}j#vW-D zJGKpE|JY_=Sp-NYYIZA0C#XmJm~klFvGc^+J5n_lgt=X>kLrJ_*A)8h)taS&US0E~ z61l!2z$N@3W076^*R29uUY=@xm?N=fq}+Z@R7d6BMpx+`n)ju>GkjrtSHUa0_A&z9 z(5W4yUR6svNj~iZ$s)6$=aPwGpgvi0hoi`RYuKDVYh`Zr^g`!>AUaH7zyp4@cwD*!;Vpf&H}JhwD9bo(Zwf?8t|idAs6j}v zSi7c3#Xvu0B-1HsD-VYo@##nE=cv62k}PS)Ope2FZY)(*F`CG8O z^WWf8wv)x9L*!?hEM9jKTrmhlu$wYz=|Xa4YUX(yHDS7OsqD3iO;z%MpTkn;M=hc|H{!@BzHPca<%*wME4T^6h8`t_Fw$Fk(Y)WU@>hncW{ z#?s|Am0^ZUx7NSwTH0kc0|eE8wQX7SPYbNWWBOy_XPUS^($N%!CM{!45`>~fv-!=z zgp0OWw@aQ5df$ZpdTnQ^{MFTW&wX_S751viC$PYAO7VI4xczSQdF>`KmTtJ^PaJJ- z9wJx42s#Ka{J@&w&~<2E<_h(s?0O*5S!`1GBX5-ix!`2s5w+Wg(}MQH>lu*6?3~Iz z9Ix)gqx6b?CUSIQAU><{$Gqkur5)BUVW_=)b7+$Vz=731Myrgfwe}9tT19!CRcY~i z(Dgu|R~o05|NDfxqz73VhJ zXYV7E#UmromX3Cl*To|D8$3PKHZ@#yOKpK*>Zj(Z0`jT((Day$X?Y-qkvm{l=VMhz zBEmH{%yLZ&qmJ^3m^-kZKpyzd?f}NY=(M8DJ}(aLeA6~^0l1L!^Y1DXQ8Z@P($2^@ zGGAh;vila3UX;%k&lcaYmQU8@UU9`)d#Vp`Y;`6hHavOor;8oZKnUsuo0QOheo!9h zDCRdMfNqQz=k*`sBb2h4q?c`RoA8zQdx@He)f0f8@zyJvp@H+!>#fs*I6%?$$BOFRP15geJwcz2PQNT>*o`UcyNpQH-#hiYtw*)6@Z(S+*{6F{14L)Q&}liXVO-D*u-TdBD7*r8s!;Mk|OLjj0Np-(N^}e5v#Ji75djv5}C=m zdGh3csS`QSXh7iQ9BF|HvN#1NRKC=XMTI2T&wWyoH+Ha_l|dLrP%3*+oFy1`P3c`{ zPwDl?#*@}03lIud`QXsL3V1#jMC&4L?ys89GDgn7i@UL#Vf$Ljt+Gl zBdl`0Xg(DB#eWIy1kuTxQ^N&e5gd9;U$ou;gcT!Qh++eZ$z0}!rXA``vyDCeo{43U zZPRklJgV#g?HaOM>kRA2pTEWyxicF-7msFl3Zm}iMF6x6C78_Yh?sh7PC#i)v70tL z-hd20G^p?AZG)WIV?v;g1h7^Zej?V6qQ^gB6YrH6mh(WxsToxC!}eg}sM3P(qsVzJo>E4li5YKPAx+2Q3(gir97nb0T9lLn@zMn7+%u$W(8 z)hNl4O};qjOYNE#J;zV1LFSjdCc|vbqIKNHwEO@n8IMWRA&$N}!>#>&eYEHr39z;l zyE!&#)x|LS{uGIMKU>#X;U0#h7*u!_C+he4fRu5icCKxYZ`RHOy)4HOPLTr1TH*_o z4Q&OXM_>5}Vwbq6hf`~4qxJzYh79b!8Dt{(g(uBa*-QbE;-g0qEL?N3?)hp44YJ<& zBLMi=1P_Hx7u z!;>Y*1Ztf=3k(?=*x|v^0+?E`&){@LwInayl31Oq1GOo?q}pC|yUO8dPv2Ct8q=uqvYOYjSkK{#kDCTGCO77b;Gv1%^pJ_#Fx@wj|BZkyP*t9DNP(7 zrn6tgbUoFiThSBrj%IoHYnxeqmSL_kSZ5JkIwqRq-Gp8kWA0Ut`e(*G0!OmLa+A6dFS z`_g9Ue|C;Y76R=+C2FTbSGh;$iv6 zfRm~m*W#@56xgZK3`zPUV1e~#ZOKk6J?`V{q!@A?5B~EOr)O&!>sx-F=g;c%=p0Z; z{=se(UpO;fQ?jVH_3&*rJPt@?2q4W@NoxCM*~wuL42%esS9Wp-D7{oA~ZMkGI^GUVYbuWbZ+o%AjV4E6nU(K zkM({UuaZhv$-8t*_tEo(lhHMYpr>wH9nP9ab3%^XI$Ug@Ea8CF%#K9THEV&A(uan& zJzTNp{*hbErbqSXg<2jG1A;=6d?3xXr40s*`gphgV*jyC2}F}gs636RsXsS@V|&Bg z!O4}jc0>YaG)LH1EOdAt2~)8GlAOQJb()$>EuQO zD{5@qyp)qdVWtOUw3ej2uBUkZB_ijd+;g@AMJI0Y11pfDc84w_B2;03RXf_+C8sA} zIHu@Vj-Qx>(|8!=@}ym*-n{Uew?Q4pIET46_D$-~Js|F}<^6gW<`UtpK%k4TRrMB>;i~n8E9rOVBE^n+rOZPmd zIik=9yEO5y(ntIB{QTAmafI5fGXyr|kFW-d11mO5Fi;nm0#&`jgmO2IOLsr-9u`B> zv7_OHpeW5~-Hv?EbgO4{hm|24N-btI3NcXIR$gR{b*9S_1!RmqJ{Q2h`p1{zlzGR%#uRI9Fn(>oF$h=s|2*a`WXEZzwx$11fUu9znjhxetOH1&Y zJho7x$Ca=P5>RHCfsVzc(OK!Zfll<~zSdA?&i{`{b}9w zmj(6ln)4Q5gXx_1rc0R#l#sG!07dSI_e_5s=%eaS`O!V5 z^IJ2EJeG%|1VDp?(qXh5iDhGhCputMs8ltj=OUks*;|lE-EIA*l3{ zI!ZR8!<3F_|L${I|L|*zBjJ?=BL~N)eJw~;bmWRjuqzW}5TsBT`^+&TVsLbFfp3Snzo*V93qh?KV@t%4LKKOBt^J3fIjG=i`{8g0yip4{|3au()rAp^>!HygE zls9cS6(qCD@>hLo$xa=G`jGhhHTjhn5%9C|sLIy>as&QUQMFwrrTAPX>Q6$Rw0Gv3 z35x?AE7OYYxspSiedn1qcZU(W@~99Ojv zv$^|Q7d)18$IqNJoM#S!vfMwQ@pToKxRM$}zaj;GBSpf-uGpxKZe$qq{~c)o;lOzX zT_ZJ(LphfeC+m#7$I3Nogg=#2NA`=@XC~DylH7A0v*nc*g}&_KOx_nMFwmGnNF|a9 zzZvi`u;keUpmI&uI&&~DJ!&4Z7e--xKm`i4I{)7~5x`u}$ou-EGe)f&mzqS-czDRz ze*URONH%hm>ODw<{&s=#faCRu#d;i|(Af9+Iaj)V0mM6jaZ%RbY>Kgq&y=foH7Z$F zxHk7|LR!R^B5?}nh($QyxFa{X*pndvr0JYU#^32EJ|Oz6$+A`z(%3=fa^s$O8i5`7@gL{;^h^iz-YX!aoUcOL&cg~z=X zJAF>D?E!^R+uhvI(qZ_|M{;;(qWD2@TkBA4Wl=^}*;iRx!K!J4Gej~c%}<)(!#{ZU zA_-+>A#7r#W&I@P2mh$TnC0BzufK%9Pr|(t$+R#wEf!Ti5C5r=zZy|lPDHN7$!s*rJoBh#M)xI; z0lIqN?KE_N*3~RJkVz9?mb674>9M0tOZ;6W?WaW=0#|E|m#^%%JL-*2k*^&vzqI~U zVvuJ?7XXHcsw@`|@CVkulBs18brMk8G68S%<;Q@ zp@GiUBT}lO9MzG|mR-WM44AW$`~bTz&2YG@`pW?!NWn#iZs#Q)LyG{or(_T1U7872 z&Prb{I;E1vFo_z;E0~kX@xj=K=v8~;b8;`tvV%T_739f*9>g}dRhMFiG|nkO$^e>3 zE9%k_Qn^!#;hBM-3EmKs>+jP224F+C1!#b2jG2a&{NL)+VkMQU${{Xu9tYi4DQ!!D za4V!fpcGve8Bo?Zn5Ox-QvVKq&YWvbejkcU*A_QfVDF(Q5p4#uS}H^rU=N-FV~2;) zbpjq!I5kV>PYWoobmFn>PW!Y|dqM|{oNF)iyC{c`;#oBa>}T?k^?gQr&zmr69MpI1 z`^kah;2#;Draw+nDCosY@bNi_pxaup>dV?4LuN@BS^yjeG0LqZj#__cmp0=VXc--h zez%b;Ef+*#)2m~IH!i!yXN_CEwvOMh4_pD7=$o+9D=bPD84tLUm64<*T|~e-sh?+w zi=0Gvf0K0TAC?kRnh;M%j_>u;Q++>b<)5jsvgwf3J64n#4&a|0#M zlJ`jm;r)mm{XPqNySi?ny9PdCPG=d9Xhd5#glBE}dmY(QX_1Q%LsY0xe^dG);RLMq z)8B>5%Prl-+S`FX3vI1M^+dC5J zj0MB}BBxT&{Z?HW6a9@KIe5*G(z&Ee+s>TvO7^+J_uP3RG%Eo1~%Amv|!*jQEj>#`L$n$eyX}RBBSsymwjs;p!AqnZzA-^C9n6 zdgo>RpW7mCj(i`osl^1vo;WY9L*|r%yV~PMmhMtS_897eJ?ic1BKqh)EyyM##`d{5 zv*Pgv|1ck>WLifJqI|1?OjlN)!int>mrDzc%&w=aH7(2C~g@Z(tHC@=uc5IK14tl`b9DkI~Tvy?gw3H zT9;2hLWznNq8hH5&rfo_0UR+dH}6x2eqbdc%kdJ3HMm|#`%#Ad->}HY&rMoJd?jPn z@|^1Far0^S+z7ypq0(0~Jct6ZG8wEjQ(bllnKu7A2h&bIA|QT1p*ybPD);i{rJF(B z^u6@^tT2Id&oMk*4ta?wRx`5Sa|2aN?TV)5UrYq#)fPQ=J!w9iw1`)MWXeyb)LklpH7D$&7JLE;Y0TWx7PZ}X7XhgMkkuVlp0GoH!w7g)bip>mjJ zOSKoqRWfbh@Kga0!xiY;D_bQFO5N|MK4l4o&&O#>DZl1_FX0ve?vfbF&z=kAbjN7fc!J+%#q{>)ad_&or4*2E)(N@taE!d>>q6mnE<| zy;o;_`;msHzYw()p>cUrWYbGVw{tXfNop~xAfTK+cjX}rcW8r5Zq--=zp&v73y#=l zRH`E9QIkQM)J6FO7Jp$ML`6o=gy8E+2v9rPwRXof`Yz-t&$c)BachSy82u3`p4XND zrtAT`e1wd9N~VIMvNW+WIC&l&Hz3;epAD-UM^5U9!7U_gtS3Ki_!iogFMzu+5kpfC z13M)BjYhoEfhqV!&tm?jD1Ao8-Ew5GT-HFlzgB`$-;{lFM6beAgw5T!=IBkigDxk| zBmJ!sX~={{@5KT1&_*a)lu0u(2`~m(%psJetf1nSx{uNoP6)AAn3vS1P~i(R4gN*N z4TqhHIvxuzg4>6HcstJQ0X{Ww9@BM8basU~$yftI7_&AH?a(4}P*od8UD8QWPN$hp z9Ek5TS}F&Mg+tFDKL0l|{>bj*?VkL`-*GCGZ#8|{26BzKmh@v$7~cl;p|(&wJ!t)6 z$CoJyV*2}Lx3{-Xgn^6lt!nKoz;~p@YlEGd*^JxsVy%HrKG)v@AMg?S8;mi0H&$l5 zsw0npxu<+z>7}=nHdGzz5NjQh-c2_y5mvH55(NKoE~XL4Axp3}O4ZQRbwj{mo6vF5 zfgP2Bcqvv4)NvQK7TOWNSv)Bd_Vrx=of&vR&jLRI$?tDSV-P62=d^zV(tC9(i;%Q{kPX5kplIs1n?klc#pGrUGka? zx%BNTh*IzcRE7J-)VH-!tA>Kn-hv))84z#q)5**T4qDSnRfl46zZ{*1fdhrLgDTa@zbc z{`;A)(eeW*>6!zCD{V`wn!{1e9SN?!J99N%yJ8pbZb6X?Y=M;&3rzF^cQ2==6?mEn9MTNZEKNY5Ivby8t48ORf48`TOF^E*Maq zc;11GYn_~xGt7IdFK{w%1YDdCdsw{^iI}tIU&b7wrZTz$Wibyj-71!`?pLgJ2UteFqXpr3Z6g%nZg-=$;b;Cg$+IDpt5(6QM zyHC-SNf9|EPKWj`|}Tn;wfvHAbl4Kbk_Q^`$~%B?&TVsVaO2s?M;(PE@k9o)U=&j6=@eOy{}cO=wkD@DOpmJ*ELla2Pl zx%$5`go!1dmInHS9d#{x&i-_o@gh2k!Rc^p_&83VywG>xz?n&ggYXFlyGM#R# z`Crv8a`-umc(Nkh7;~b~>-$`Uj$=RbAD7(iEl@l%ksP~CH+I-F@1Q=;+`>vKdA77D zhKx^naf=WiJ%`5@7a?t`g28F zo!rLtM6R4%+jlAKN=vPH4@?Nn3pOw8Z^HPUNxIIf37QW7d(5nf(i5cj7FasCdn zic6guEc8?8Qf7Y=tUN;O0xR4`wezZ>c21Oq&3BQ0M&l$% zZbY3<^O`U`@V`#`$|A*(O$JRC4j3UeX}I5G z&*?IDLgg~T$4bq9-h`EnAQ(OsAy*qSQjY5uG%nrL{MLzrL_LDldrhaNU8{e~|FTl$ z2jzJu{N;Uswu)%awxT>Y(fBy~uq_^=zz^7=<2GnJ%KK&9Kk-C=k)1fQl0yp+i=*tN zW4TuoBAFnjs=nsijo=}03#jRM9i)&H-z3(ph);~Ni4StSe+$q@n&clDe08(O79I;E z8&gp5+bgQC%cXpG+$Abc7{c z_swbbr~-)@;J(W6px%BXM8_kHKp}AYPk*59?EUEcW-wC_TuElss?684W?s=mT_}J z^_@a0nJ_ljOGGoV2k$L<&loJyNEf>?g%r@ByAlWRcb@!7(6nZ>aTeRC=jme5Z}}zo zCn`K))fXT=LRzUuQ~2W))uf@xo=dG>+yVQve!9^^ZuIv?=LR>hvBn}x_oxCdXCFZ3 z;f=Ms$ZriPmssyWPb~;*#B5@_BO(IPWto}%f4qTGf;XBs)I|!U4Rj(`;#F*YkdkCR z2p#dQZ~0;FdAcE z%qXS#_>UX)YH^A5HxCl}G#&@}=QvMC1ft8Nl6r5JKA%qs`i#k#u%c=0z6wFIBO~`| zEQFS{^v$?-6q-k(^psk)*T@5_k}{~S`pKk#C=?BC0oS>5OailxESl}UlKjWEm33-m zW;ZP2_tpPpc4;2Ab+bS#|Gmn6Pxh>Aqyc0nKNyoGJLO%+e~oIiwb`d-=1mE2CO3h^ zZ{ISP_wh}t%K}?-`92&zOLPcaowqW0QU=ln3fip1K3l1~?5L?Rh-5?ZS3>1t&93#62{iT|6%yiNR9(nZ`q zpwXhwxBA@W)WLz}-0Zhv^T}Xg0zVXoF45Co9l!-P{;`#OeMj3#x9l8LM&3ltNV{#V zg(JY>MWPwNEwgg2k7fjm8=bO%y%(Wx5sOzQ{PoIB#Aa{%-kRB^j|q4xHri(@#_eO! z(dBpA4a{iK>OQ_;{xne-d*cWN<)S`(iyoLQd2h3|uy9W`?Q|y!+Lb6w1u3rnS>7D7 zI(9Hcm|3+wEHKoILFU!#R-=qXHUU(z#Cp}Cwk?XAlyaKElKH4Z@6{pI&g8E*G=}uY zy`_%^A(d)QD~X&d3A_i1O9QwT(rV$RJ&{|U^WEg3+cpdHT*EgEFN@T4BQL1<{^>J& zM~!(h$v)F94}aARVstG>s_Pmg7potd(}Vfr>*V*9SicT63Ub(C_=TQyv(wW*sjj+1 z#yF5($}(t-13_X8?vM!(Vvu}D{Lw0d(U+BLWA4YikT#@EASadTxR|lC|8cWhx#W*y zCCIXBl$_ojj<^%r$-~yP?<9YHVZDe23$e+L&l!aR2~|;hYQD)BV+3yjUiAUD5|%pk zd+;y+Z)YD6_XG+D4(Pykp5!eSLv(QGeL2%xe6&fKA1AQt;bVEQh3i{9c&9gtjBD$h z;E6YAB_dKolYeD?3tSp3Iq5D$R7}Q}&2O1Yy)(>-?N*`p&*gd9kThNa8I@Dd#JbRo z9~0RmVG?|YUvS!{x$aRaAz!(o#5PY`8dwZ|5QMAPeqdNDxA6AW?*q9<=!*hL;%E$YiyP83wh z2}Ty>kof^;tRk1PNCk{I4#_HdXktnhH8NUGtSveeKwHd_8%5C8dXKEid-L zbdH<4_9y<|fBzT5`jQw8vDQQ4$Nyc2{=(pAxCqH)3jH?_oy_~+WOTuyJl0pssYD1I z$NigEM*6SSwg0dfQE@mGXZiP*|AK|TFuN*32MmGSZ%bUIK=;G-AwC$3r(R&wqK=|| z0{z(SVmtKdBXO)3;(xNyHjH|t*;(8Q{_Yz}4D6a+O7B!x)s84lfy5x+rsac!f7o^d z={n{ERQXFFs1L&d2+<+_PW(QMMxJ~xWsq6#F8Fd!L?VsC6jJayY9c+EQEym}D6VTk z@P$5cU@lhcX1GNl;o(1-=ohAa91w-?2nE9o&+WYueU+Pnj+pW*SSr*ekD3Re&l{;L z(#!vttK{W%x6l0Fq%~&~a^2a15R-}Q^WcX|$YUJjD4zV!Tds|0s7UkFPsC*MxJHS0 znoeXriz*f3FWyFpj?@c_4U-9wH9|9+(cIxx-qTE?HWUS1i$RTi(v@!+s}Iy`UXUM^yv5^qFoz4>8KNnn}BOe`$< zKYQQUEACrSt^d5xe|qxM1ThqdqGEtrwII>rWN`YFMl)h_&~@Nc;I@ZWH;f5q#&efUkzOJk8i zH39iccGS%hVY4er60Y=84mI)n#ZRcP(!4@Z?tBImNM3v7F`5h4aFW%Rn^PoL+=ROU zW8EVl?sJ$=#iun~g<=?F0d)nv9Cgyu$&h$D5@s)Y|$nFr{z7$SeLKgTg32RsCNK`)=uCQO{&#BeAgJgtgv@24QWtW zpB&}EmrtAjMt!^K0C@is^##DrZ5B+C;Um;hN>_qM>MqQFE<3T#A06A#GAab?1?{i0db}wj=$15 z^%lO1N}NteBVff#iFV=l51jK1WX3cEbH%oz#cz&8UFZ(*1!rd&eNX4Cx+Uc#$yo4# zKJV~=sPlJ|N!<{x{VC$PPw|m9_peeR9`$*LrUkkQlks!mHYocJxgjr1DE#twVXt{`V5hpa1huyOSoO!YmEl1_0?nouq$0ig zi$+I|NB(B8Z%t8WM%MTD=X~6?OIp~qks+Q@hILCi;Cdtc`^1qQ$Q+a`fM5wI2%Swa z_TG0Am0jOf5gk%jt^9>EWlHTv$1S?TL+>{`G8QR@Abq)C{aGpXAo@#lI1k^V-BSNj zkaohHD^H#TB#qlj8(_@Ft*5=#)###Yl!zSm(J-enbg*j4OTjd~1k^I@aLy;RBxMe^ z7E90N{2SsW1to{hw#Dk)jH4*lbd8eAc>*6Ya@oWp%0BHo1^vJ(=BE147Y(HfHIsjz zd#NR?Tjxlha9yJrlELv5$$&-q5>YWjWzXZb2t$Gow* zkhs!Ga%+2}-X7v18(AYxh}W~@7FN^-gkkza62KZpthJ@p)96gNIS1H&Su?fD5@6jJLU#b0!Q6XtG@Vg4cdBo z{iZfBZk|h8Xp@$_QA)ATeF;uCq$)V1&5>RC&0k#a3sJrjD%X6UFiRrk@f;V9NxSTJ z=N=u?Pmc2p=4nJMW12b=d3}I=R^e`-(@n{aE@alg_{fjEM^uG{9bpXV&HZ-x4fq_r zhwq0ii|R^dqTv~}t4r0mm(*(ac3%fd8aV*nI4$m{U8~7?PV6SnfXbjMhf>z4QUhYm zo@?HdX6j0Hk`sHNPF+grUOJ}+O~Ik3Sb8dx`{HI-S}iBnNUq2QPh$9w;SM)iN6vFM z>*2ISm`A=qqRjkXN&}E;75nD&d0X8~66)X_Why#|pZmdb6+79fMK?IhlfuXKMyat6 zo_w3^8YK5FeAptFoI`9-hNKTzc^2D|NgMtdi(@r^ua6u9Zhu~9SLR0F*0FO{OG|cF zhVT2p8q&jT7H&BUj)vy^ubw;#;-G<&rbyt$r}H4V3ud8Kyxh&kz$GI`XnF{_n#*;R zuj!;GmkhTtd6F?LCa4-Sx$-gO&jg0dTKc=3j-L-kTkaQ>f&ChY<5M35qrlP02@vk} z6-P};LGP!Oe{8^JB^>COc#$exZ0YeK3j8X{z_jVSd3U>H(N&A(Z%@kM$xW>V`dRHD zBZ428(^Lk=PIV0ZkzOqP+6xINPpf;P#WVki&?4-`&G0kz?3*=#E^H}cJ}Iwk@a(i; z6VTZerUvT0I~JCH6r3t_{ELUW9;rU()=wOSDRty^p7`qMWs6EyVP(u~6_;Myi#6gY z)`*nCRLsLTNMut96om5PG_YKFpi0J{#9mbg2ssB(I=>!!0fBf?Vrx2}&{zomVLCn`P?|vCh977&jXp57=quM>Uz~!0f-AjFT(ls~PYLuk8EW1) zf|y@;-^%i;sI^W*8Geo$jj)Wv-Ji*|9BP5{r}R3Z7;mqa|IFp8G~ivUr(`ay#}GT` z`>g<4yBqc$Ha%fzmHXCLMXZ;-z$!h8ICX&Ek0%9FiGzS+-vBO^UnvSQdxwDF1nc&F z87^Df=g^M;ZkL26#rC<+-YV=9cwz=yvXac54`0XGG>ci}#hD5&%}0r~974XFO1JRb z#X2=?i-gvag|3}eKDvfy(-H?TwJ=tfc`vUX1j@lC3hl`bXUdyBC_lc@!T7;F2DqB@ zCoj&R9E1a&sya2)(IYdt`fZoST3}_6ry}p+OjtDc)YAOnZcVU-i;uL&}j}0mfVmk8olAhjnBq_-Cwj1?i4pI z4EK@rUDJm=s$*_8%yExO!NU(_0GHxkm{SM6QQaQvvT_*&F!MiS_S7H|aeaOR%GaLJ zk%?UGipN(@It4?P15=s949AD60+(tMzYq6*ZFNHqT&ImDDw{g)DG4c%oLM?Ta3=Es zwAygym;E9K9s*D( z#&LL-B5+*4whU&Os=FGcBzpcEf2~&5&P$j+iup7QB%ET()n?id z$A0}%u>e8HrfYy!vM?k*9CCV1e!O8UT77GSmG5ivVN@8ru0S03;(Ycyn;XPNskS0-#i-+E@|IfB=t%ZnCG}onlR3+SeEZB%O zNWlneL`$oM_Bo{^SnvNY%jIQI^L8G9Q+eXN==?PZJ4K?26sS@X!D`9_c7p5?439Fb zG?E3gwj&KmBpZL~pL(?PJ&*sJOMAMrm1_t^5`AbC>{5O&(aJunVK$_d#J8)hJ>YWe7Lj3ed|wTAm{oZ$@cbtaWjv*=0d?uPb>EBiU@kHXbAt6q@5v= z0jZdi%w?}Fxm1@B(;yn|HK_x@VG)m~2jjVRWFYUf`=62J*F{czo97qtks`c|a{DT*EntP#3%gF)^z6$p;+4&i-?5jsW!A~AkC zhyTgQp1ikmD-jt&Su`2@5Z&Lcf&t^cc|s_sGzTR962*y7WkZIVb?4J#HWpOPP+wc463j$axuKN4EkCGaQGJ4-TY% zJ7YT%$Pm%kwkP0bmWcYTYafMgUw3u^YrIiNs#9@_Ulrc5M~tbAf%3l-!67^UZhH4x z(?=r>{u}^6X!@FTf-!dnCU0^wzqz*9Q7-9p)$>%+b+8!}_y-{f}CSlVYr?GfL zXU@JVw!B9hp2PG4Z?v#%B%n2|S@pbNip@FSN?Eo>xHXIa<@6S%ac%s3(Wa=4Ei9o` zuMg(>tL*2KN-KI-iDd6PriSA_l_o2zeyQSPs&%mjT-m@<+EQTuPjlF_P( zHwvD=3aby5Qs?T0C>;tsQ%H{c)^z>wJ6WY0B`n`x6zP~9KPzj{BLg1V$`$2>BlF9wdR6aIZxs5h5JXMk@PY8)mXH)aH zxFvP%Uq#963rjD9)5UHdag4s1iNa{GFTwZGfBUHQp`udUCW`K!*NCuqF*y7$Ca;Qq z&4#afs9v(9qVi=_@yzD$F1@)ZX3q)}!gU#e`gHQ#g_>)GvOHUhfVgYF3AMjCXcX*J zkq&4Tqm+ao?>&o(=46)Hr}e`~Yy7S`DN8yC+75EEm|{|7ufKiCESis$m7XcwiuSgV z5(Qad&rj z+5*MhU3)_B=XrnMd%ko2PWE21XN_Ff%$iU?Y(&U3w_G-!m>=cd`B+`&GrGX=p9}^Y z)AgHr6+>_7=0>j5qVO9}+F1XND82HP7A5*|l(<|Yb)pzbKy0}VJVkQu--mN}1oB5( zjDjBZ-z8&Zf|~f()m7M^ThF439Uo)l8!v1QE4oclBxY zJz~9?#_uK%{qoOxI)#4j@0V&1)V+XOOlUbs7FdrYxtSNX=~wLgh~k?<_sDaXbeH&$ zX^B>>d_o*V8BpC4t^Q-b&$@yL2+q5QZT0d((%;UIU}ZpX!>pRSyV3V-N4m3}mX&L3 zA{c0o=hUj$ycj5Fo#bfK0ryiRhP8?;a3o>UY~|~dLr`9t6E889k+=8E>NnO9HaIG; zp!V}vju;!Y6w%oN??}qMl&_PbL$JM;uyK|Fb;M*^fqxehuLkJ>MF}`l9SMmLdKOToq?`{gh+%cflY>IV9@i-?u9$2)r>`Z`@~VWjMnO$lA$W>Nj8JvGA0E= zyt_9lb%P=ABmG4{Mn3ECh$um(bI&-n=l(|1SEiM|NT2uYvpeW0NM5C$z2A`v$mj)g zfldOz%5Z`Fud4Qtirm&5E95k+bt4xy^%tu@k;5ZU8<&t|P|C(#&N1MYWPiXr;i6Q| z_T^_L*hAuWU5j^ld*yIKs=2`ZDa^pX_R>i^2TP)N->Xqi-+#3_4oF5GbcY&j`+e^D z+BFYbu#}6M+75L)h^^;ZtzoJ!(tO|BA-jf#hy!**D7E|e)|D9Nx~aGL)#TwkB(|K* zF*}j%&=Eoph-I~^p>CUO(FJ!D??jnruUG8Yl*I0;CCJdfeh`#T43dVwzOubq=&Dsk zlCXuZu6S!YIfp(%m++ps8|S*Gk%{1Ii8+IXd3|R_OENZQA1Ow6BCW}m-#Z382=wiH z4#Be({lnfqSK95$9aEQW%8wJW0ca5E=IK2hS8eye<}`+)#S6O@rOrlbVz_QW(o%}R zgS#)<73-NuaQC-u?CH`{@sc5nhChDWuMDjH0~dB~eVS+vA}GcKEW47AQM@XYA#81- za9HACo*3=f`_%@;GJR9q`VR~B@~utVa9f9)HP-s(((2^o$-S*%h<{^?4{Jcy*5If> z#ILq9fLc*iYZg-EUPh{IQF$=ksM_dPDx=q`HBrXFkUf|zS%6HuwjrMkXx`x)zG~2t zHQlYvqf*cAea!omg!x^pF{@uv4l7OV`lqR*p@N@o6Pkq5l4P%Nd;#)1?UX1w6dBMN z(r?4~N3l^gA^=QZz>YkcrK{HB#wx;$%s+_?tne!)*Hx<9EM}f0G-jE|C!8xjxJcnQ zA}oWCv_xVG-w6D=!U>LvR7G0AT4K;)|AdfmE>-`YY{oLiecvNzI!83Jdi|qr2E+1h zbFt;2tx1Mlqi1VTfRty@I=5^QkD*xRdji-c_<8{F{E^PIv7r|NNpQa8EYw@Jm~}02ipo6ma_cb9KX_)%#S)|syZR&DV>w9zH|=_taK$)25S{HjF6gNv7?KO=S_IvB5)onLt;wVAIci6B4r9((d+H zg{u^%2`QF=6nkbFIGiH87aTVb?8sevY)yR^)EkfTdt*V*_=#&K9JXU!9qe1^h#gtD zf3@s&*~}J;l%a`=*%xq}8c2l3Os~I{+O+qfqoH^nVFO2Qbt@AAL>w6m(N2n@YjDKK zeItfot_S|HJUs`P(Sy5?$FLBt!SiFM5Kshdm`u6h5fD^6WA22?8j~eOM-HG{_P)+m zWE#lYjEQ`%{yuq%*ASUlB>nLL%GRxxxYJaXVZBIPWc1($C=~F^6P=y|ZK&j6|5_d~ zpm-0h*Gd?i1V9CCBtGg8cO#Oucl?T+!ukNZ-ndcsHb8PcR4jH_lhEOJ9JYA;HN6q( zR~%cu9(a4^MSJxpQau944k=3LwSPH?L2dy;^u$RHYaFL{5KwMkm)51qs((Y8;mxRU z7R!k(L`#yT`bA>N7nkJ&LVUA-5xG)fd=Pmj9&KY_)lJ{*)3ta!`|S=EK(#1K^))cf zjYMoyk4E1R=dOF~4=uniFYL!*G;8F|IoQy_&WumApPGvTmuzE-^qE+vzo_@A1)j%_ zg}n)$N}}VLmCC(>j)O=SY8Hp2nM$VdzzxhnpX}f2REhA{g;Nn}=$`T-d*6e&t9jg$ zygGdP(Hx2SV+6awXLldP!~>3TNwlO~fW)tH)4{jql&sot3ML%5ET{+x9$6oAs%U6Q z-00s_>9RHM#GFaT*L2{$7KFc|pd})!ws`$^xHy<%NsA3d*@?j~qzH3rwGhmw zh?OrIbxCsANc(ekLgBDvJF`+8;EKEFu2UZ&v*7-C?I}3zbmT#&pK8~p)T@2K2313! ztQZb>eF9K@rF*mbl|LWP%S-Ksge?n668tE zRydAi{ES*5Db8`)-pWj@>QqNmYW+EeHwC8OAt(u=A-|E%7T=%WK2@K3VsGdp_kNP^ zD!GFwTkaT}OMg^82_CPrQ)<;=5t~RDbY$GM(j;Hx&8Xoiz@&qCO#x~L8KZIrtyKzXnx{{6x z_@k0AFZm?vqHZ%1z@4ERxK;4uX3OqJJ8=N-FL=3mVsS((Y=SuCi*&`-Z%jgp7r$Ec zH6ry@Qf>2lgzhjR3plm$t;NTfEFY_gm~t?4LkkgP6))!uJKJvo0f-Y~quV{aDFhMb zO;?2VN;6-M6_%7U`e_te5VqK4nxvcC;m<)N`bjV^5+=2=tdTAy#8D}?DV?rTeZrEx zx7K$aA4;KTUFuEB-&|IeFAq)@6E8#9{wyxYWj611c)(Y#4qfK43*&p0RJ60O(phPp z;>K+)0x>kxZ2AFwAen^)-zdD{*Qkh)Xh)S){b^dC@huX^=k(tPo@LOpi}i}NigX*C zex$HJtn}AdC%7pO-0y93?&uK$Iw?+fD0TYYLr8l&Y6vK$DZ*+wxp$pZ6Qdoy`p|1U zISN8X{#9BsAP|nX!#Fj~GXwp~MQ=eWHC=@Z_fIP0M^Ac!)!!-#vSVp`(A_2nH2U&7 zRhnR!&yK&Tj>uR90n+Hte#mqjLa^mj;1b5eh@&>HG4G5)pYQEUG{>gBqk@Ut0n%aIAOZK~5C~C7y#@Ve|6TFgI!)ojMBfoQ?Fa0g7=PGZT)F z91IMQ8pQYp_tjay-=3%nGz#srIq{wbkrMRX;mQCdO8vmJc@Y2h>!;r?W`Eu}wZ@!REJiD+`D5Y^b>y1K8Ox*Z7{Hr0_K@D__Qj zwXhcn zv8i~OpjR_yv@CSH|D^w8MsMnBZw_)!t8te-k;4@1FboaV)Rha%vqsjpEzUxI`Rvqt zDMz+d>)2T#7n!X)erLnJoE#W-)!ZG8(D951co2DJM8KO{$`X<0`vCN)b1KT+@S;Bf z%Hg}D{xesk9pC@Jzv+!Ee(fV15S?4(;J$f0O;4F8A?KNqBk5UWZrUe51yv4u&6cm5uqP}Kw z43~GZ=)VDCoU-yDfp@rC$hFmaUNc_RWT&vcxqZJ^k!ggmiNDO3B z@c)E`bLd3Z+n*u+bc@zwa-v`+Zqu2M2?{!}H&Twulqw@qpw>T@P6T2H-}XT!_qBfe z<{ynwjj!9Hl(25Ezq`jg4Zuw44S*R3X@S!OQgFi`Zi; z0w;v~Qu@2CmBg}RtdD#d!#nPt1TlUD!N+__i)T$5hhAN%gY7Hf5G^+5RQ1oO=yHo# z8|B)FCEv2M=1_-L5HA>6wgLQv>$uq8KUS!X4;-I==1qsix$Adr))>XS?r+c!F5w+L z7>(ofc0aB+sOG=373C>^i{*YbL`h=_2%0vdt~qHa6S2eWyp7`Op&fIe)#U6kv@|lOG2YXf|iqTe6y9RuvjCD1!)5G>&oiT z?A-?qQoDJoM^SzdsH>|xCV6Ew`}m!ki))hNR11jHM71ssx3QYf`5K-l*>h}=&v2UI zxy=wAd=IK^a^)I=B8mQ^nfbYw$=QW<>9bLbZlIG^QnVnGq@Sw)WoY8<$S2>dG0`y# zl5rL_Q6d}Bo~*Et;DD*fQt8wIac~>F(A5A(l+1h0tIC}ZhKD_MCmPB&)xXq&lQYku!ZIOcF6&I7ud2{!lVl^&6rES?>f60gbnr!YH{BXjEh zikyj>R_6{V64XBWBuCB7OIp%hl0$DH)bL6c*47R~K4tMtHkYh1g$GMinV<1~-)QzV zu(pX%>6bAFJ$Xtu7?DCU!e5BA6!J~ex9it>WO&Gz`%QekbWo*kv81OliKN?Vgkw%~ z8Jg0ab1$s%ozVa&=4&-8ihw~Py>8J1c3p0IBVk2A&=u&!ppiwj>#^Kbgn^_)DX%4X&F;>HMTDgV9F9S0MPrzL zmAhOi`V}f(>`705XviZYS5pK|Hf*ze0}E5wx4)rbc;7kzS@e999G4H;gJ|Z`U~QCA zaUB8Xv_tYKJZ&*Sd)sU>6{U9U+MPLZSZB^R!PpGUy~T7Wy5r2|qRxODNuh}lSTNQf zNq=!{O^1W|OQ1LJ!(Ou89^?&;w%c|sq`tB<95pRf7HlviU-o<9QvUH=K@qZycB%SCat@>$bK~us4+fo_H;8qQ1@Q9C3$i` z&~|fJ>D=v8NQs@BLv}?uFqvt`eHy%D0gTb}?T4tc#+H8x7mV%epn=8d0KZ!?Ucz~QgPS~W5c&pf@GN>u6YNH_Xzk&AKjr< zk%m=%Aw3yCD<(e~z=Ih`ZcrF2)dWyd=7Lq!J>fbs*u;&E!Q<&ny<070mCFLJ$Z-9s zxv$Tp6APn*td^GSUGP2? z?f-L$#)7FH)jW~A=1Le4cxPcRx4_QGx!BZ;pR>%OAHhC`zv%WzvL#TLl&cfbBhlA* zdf;|*Mvx&8+&$uQ=6L({!RbB?6{ zwZpu4^=+tqYl(#TROjSfQzk)>;-0SkGw-t>w$TqeM%pm^IDmpVh0Rj|B zn`Mh)9#gR_v@?(Zc$zjW@8G@Yf5iI&u-IEGcyed>Ob%Y(3tZVtcx>g{S3H1p~J5YK-p=^fd1XKS?T{Y48u8+63`;YS!^n;+Txf2ys1nbS^saEG9x31I%OfG)lF z-+)eD6PY4SyjC|NaEM;n@raJ`OTwDyG4|%FH)i5U=r3Ei>;dBbd~4Bs$tsXmT+%3u ze9(|d-@DXb^v+QKxxr9i7MfCTd#j;x^w^Fz61c7ww64wM9imp_tsN+@Mjn|*n6;G& zc0!YVAajlG>3wU4^k!mNV&{PV%ckY6IX-5U4O+8>XXdwXUZG5%#A5@cG4nBrMqsEZ z#>VuPdw}4zZh95DseeN>HuLWm8tU<9lOQ{58u;W#@7M_W@je# z_xWs}OtE=?UYR3nQosKQ!A9-jmcnj2#4BqxYc-R47>kn*nWdI)0HBHx+8L$86)!aZ zc6S5mRE02nvden7A%n`cZHH(!eX?K`3iKMX17I2XWld2t@?p&#%M#&83NS_27z@{; zA=P4AS6w}rYkRjM!)nfGmwwt^n4wW!K_*#bJF)r^v_DGs)v-?0OaAbYnzs^yzqDI4 z7YwLFpWjd&xb-aj{|X5G$Ra$pWtGN@`XNBoF*5H7M7?&zTgQds*46v40 zdmPeLgVUnWWWs;yIF3w}ecIU9T+efUtfxOOXzRwjV^s=$JF$VJpDkdGd0&dbFXo0%9 zJvrPh#^s)&3uZ6?qTTng?;U>Si|$&#;Lw1JOlH5at~Md5arfqBlLsrXx|DOE=uPje zq;u_Yc!oO4#$LK8U74PRK2a{r;Nx-T6R=vG5=#$JS&=Dd`Itah9Cj7mM00l1#Xq z^A*?cRH?C2UN1UHs{4^cSEypx^LFrvg7Wk+*<46K!7LD zHcDlfyHQ))^aX+sinDUvgFT+T6>Q>R{w3SkH2S@7-;o>VT7V$8JbLAHUpnK7>X)>9-iIRd zWNGVIU9`}UT0@s}FilLS|I@BVa#|wV5qlL7>Wm$5vhKCfH-lRI1`HWxy<11(Y3=J< zMV7v!oN9=gj*@B)0QB~;Nk(f%;iE8H)O6spTW%6DjuA=gy#cL_)Njllv4%I_pYA-* zEgJKqoBohxPHI6ssPU0{fNrjQSj~K>at}uR7-6a1WW@TdY@+|@WsuZ8&X55WYq5brH{XhtA9JviU|L+!2Yw~ zb%tOdLa85kbU83oIL2l+lJ0`hVh1ouv>rqF{o{j{$@8(jqd>++!xf{8A;A6GU~7pOcvHN1sC_s^95%5^f(q{5)FHh;Q+p(1_o9Sh(dxXtjlggWD?!wUf=7HyB(PR zL{;w3IUOQQ@iCdsU-46&hyy;z#t>(Te_F%k{V{HwtQumWhJdV(^K*xRzr4UW0~m05 z{vrO8G6edFJ?HiLNNn}WtVkoIah7%(B^^d~4V{M7dtw*DB+m2w+Bx}D!Eg>DM4paq z<)ZDjRmtZo2x0CEvVK?^Gb*vEUQd?r;D%1 zf|I4#CQQB;ds+g!G#Cw=ojWq??ve_yudYWC#zQ9cF_ zp=sQXJSusoKk(0CB+sfJ1xrFDzj{o^Bg~=H0du@1ORZmh@92fF>{c<(1hi7WX1BQG zD2}l|S{*bT+;OzTP9M)0kqrVXf6Y>$b=|hl-kTM@Nn^Ef)`Z#jZuAozRO8 zqWEoAOS~UA#H-?n@s{aJ_Ms?i!$%lu3S&R3vt0C=?|oL`>#PuD-Su3T?NAnu zh5HyZ=3to32UffzD(Dyg8z?s_2m;LP?ma(z6!>L`W+NZp&z8Wr=dK!#!I7Ln1(I)0 znV_YlD@F5{|3veVVxR3$%u^iTx6@~Iv6d?xW)Sr2hwkPWC`*?x82^xO`4N9H!vSN= zKf^*tZN(E%5(s^d{S~NxoNX%Z37akFg*b6WAqGW1^7_w2U zq5Zj}@6^@NrjZ9_MC&Oan3~m5R~6W@v+ar({xWBpzjJ=O2=Q@2ggmN!O>ShU5@EN? zNSqiochZR=VWm8DMOewS-16goODei($K~0}#ViwBL@M}VLc9^Ar&#@N&t0PwA7;#4 z{U|--hPLJIdi2=5f2~-@-u1pAGC^VeqV1Qrnz8)#FieJBqzh+wUmM|*lEmlbIJv#TYD2*z_7yv1Lkjk$?IKA z7!v5*kVl^vmW02UC(k#YW-{d9+<1Dw+tyPOz}?BgNTMtqz@(nDN;XSGI@~4ictn$j z=EXLVP)oJk_Cd zF)*7^w|ev(yDlF#fQu-z5I!LAV~g#;3mCw*E~FHz^obs}ly9zVvWHj~tjwPBmiI*0&C* z#MUKX7$_(4iG5A20W!o>aOJ>GC6pCr&l%sW9Js}}V!xPKjF?<~E{Z@(Ve-3v-#>Cd z#I+GuEuPCOSbO%D5x7myBAr!2@gSar?UlR|P?)mSIy=95jfC45R$lY>579GNFCT2C zCv05V4feGku}|EJo+%BU)dOQ-!UT=#_V7l785a|)O*piSZ!bf9asAkE+w5vL727vL zF;Dgau=;(bLtW?m-3EArp$J6e!0inylzVvdsC&Qyn?|(bolrcF1W;|Gt+)F}oprGo zY?;=rY8YN^+JPbxJ1-FKEraWxweD^LDB${v=J>oGeSc*qezXjKTM9$R8=% z9vlq2mz?2J*AAibb&GyH zxmefN>sjadhlmuJQBl$^4Y3(%-;(8hh|KQGu$L32T=R{V^=e6oA zBaOZn+!TG3Ubn3|GS_ed!+w%$0IRk`4|q3f?3D|rXG}l-{1ea4`BLh16J-9+vKjHL#3f>mLdG;&q zd*u)GEla6#(J;Ox@ScQ4mB03Crnyz?qGT4{;MI4q>Hi0Fb#ZSK!xPcXYIOYmak{SV zFjF=WUE%Hm96%~TCPGk!o;c6G_rn{3XUIq7t-YJG50K4=UlS(5R0VS6$iKhSq=kR+z?>FLzNndv6Wn18mwL1q7E5@`oMOpsG zm^KfT>6%f7?o{rtT}284*a&X^V`9!6D@hczs{n^|sS+_eTkf>2nDpq7@9gf&=e-}A*Eq3e z1GsW@Cb>~-?GIivH^Dbe7zS6ee==ten}SJg zEJhogi*9B*eTS^@MPKF_Y#O%dcTK&}A6klBe`=FZ=Z$~4L}oudS`{T=!z!~RpQDPk zb2Q&|JSe@A#_5Lz?83@$HfF@(OGDbD8R#Qry`429(q_|jPwwa?7dXHiW$JTfT6ed% z3JVmt`Sl%`1qqA{ez?(IZAAWM9sd_>ny|Fy=(U%-PK(uee}6UJ5-*5>3G>`~!<&}! zaK86`>Ju22uw)K6p*G$;Hn51VV(>iwj3`^Z-0570M#9ntBy(clN7{XxWYnY|^(~S> zUH`SD#sUNKmye=_lg2;iSi|3h#OU$Nrt6K@6CqvXKCtiO0hTmi-N_vA^j$r9a72G& zyQmL8#nn4NRjev2tN>1uWO$HNmB-#=0^%Jp-0nal(sH{_ot`{74vGSl3=@j-W1LUZ z3{}-d7-Jt05N!yo4BmF*mG}CkA-j4`1eP-$WNXr{+b;l1YPu-{PI_!^;F?dX_vnVd zKM@|ZLS6IWyPAOjdC&Q@k^$ete6{NVGl{qT%5nLDM(nwP9ftc-mLf~k4^M?P$ zD=`-f4n{iCgxNUTg)4q~*e))F`2t^b^VHikM+o(Yi%x`yJlJWk83&}Fk}2xypA0VA zIuTro^2$djHiTc!;Zr$m=@l(6xMEPnqEGVf_WF|w;cYBDxuoJ)v&J`VnPu#O3(7yP ziH;=a1K}~(R*H7$O+3KgIQE8H1pm<0earbnT;Trx(AGI^ zz@AnBtB!y;5N%{s!NAg6?P|bmjo~F3W4i8tC1W%RRUm!vk0lc$+lTGI`bS~@hVc$F z$#OLDE88u6Em`AI(oklkLAb3y zlL0ud27P*|C2)dDFyB>7uD`1zizsLUUh;h@0osGZHbk925?+_IO;+AK%?gqu*$aw3 zo4`R(N+)k;Z~%~{A}6?nMja1o(ECK`d1bJMI>k8nPiwZC^5X#F@(I^&iGul1Wy zAV0n{v>EzZKqAQAHX94!qbJzE_AYbVBgia%Fs;s^W~GZX1`=%N4zcL>6pc>4Bhmu6 zJYi|&wnS|w6BnF}z$GgAM7DN3c-`Ia2!SH1?O}$qyJ8LWo)N4xD!JK&Q46GBGo0rR zM^>Xz7iCzVju@N}@S7cc#}EK8TiJJz3*d4^C+dQ4mwU5*$o7G-L6S-tFz~g7hqtA| z)S56ZCE>w#yW!2Fjt<<24t029D*ItA)my!HyH&{Yg|DWisqGU1$|Ut0NtSFlmuS}w zy-bXe?y?=h28t}K7e20W6R?Vjn$ zn|k8R&38BHf_dVBqTi>Cr&5;LwS>tsscDV#N{J=<9m~v5v|h&p41iH>v{A+`LjOWY zo<)a(KP4Yd26ewn`3hsUga=nTce%SiBK$I>ui$vY!uzC&=MM zw{oDlN1%b_VvU$R;9F>N{sWd7km}f9=lp2JnBr#y&8nb9$`O(ao6|bC&Wg7{}wwnN`pX?5L?OeLcq=Vh><_r#bh}kI=W2 zbTzOBAv6C2he_QP9LkAAv--pmos1&tcEI8)sz+j44S2AcfpkEdFE7$uj`9b(po>s+mRpbt{{brXpT*#GOWN zs_LS_-aotgr#<6nUFdCM`Ob^>XmB+gEh<9hP&-wW0R!M$GX%;%hxB9%)K93&C=-|a zTW;~EeQ{DJuPk&Y z!>KV(%c7V;!e(M|HLkphzOmXGWnAaz_(m>rr_oUN>pVE*-W}QV&x3mv_{6Dyw^Bdk%9MJaDZ49sY_0x9b_$FlaSX zSp@?oxThX}ml3_-oDGL)610f>X`X3NF;XJHn`7QwA2O3wCPamtDr;-jgA)+M+I3T4 zU;C3b;~}`26k+!9gYLgvvA&W@cYTaqF0ST<6|;aYMk=#(`RB(B@{ou`{v@u5-#Yn3 zL?LqQZ#{|XGn*sI7t$*|DUgwVW{7fQ35*zaaywG+G2z&5Pcg)O|G!gTDGUo~iKbrD zt62O9web4KQ7$gVaCu-n^b~(HM@(>EV!`Fbm278ULC3!D2~4D<>+zWVCMk;gN2?HT$r0=J(GiV0*t(H4@VMKvYs)1DBQB1uLzb$&xoiVqkmGkdco>XVMjwDjPI zTW#0o28^vCkb*~IejW;~zhKH%hoMeVjwhyhYrNa&;6=BZU>Q|LQGD4^rQx8xN&WzI zt53|9Ql+#QtElkb4sVg>mNB<26RR}yC3TxH>RTQ-v;f`bqk?JU%VD?dNV6m8lk0?H z%TvIK)x3G%*Jr$u>^8UeQsv0`zkpJ zd)U0f-|nlg?_A;3ZKzb`r^YIMjJal}UFRj0bbMs6C&gzhTQ~bP^BINs_YXoUc~!71 zOeDflmW+Y%hN$#5t(ZI&6A5Dhy=ltN<^k`tEkwm0zASbc;Krx~u?BC-sOT}gyD?>v z6kww=D2BNAF~Km4GaU|`+l_M`y`N=4{6l^Q6Pp~b7R)#y=zTFM#@c4Px9P>_nPgiGK84{?EbdA$0p)~0$sxvjP5FrW>~@vdgo=2EJsh|&hl0(_+&vVW zyV1v%*6701`@a@HgHP*))GG%_qWKx| zB3Tzob*`hmpE9ULlU0CG7yY@)CLq@DDv-7(WaJEkPAfVc0j40q>A5|(M=>{+^BpGa z3~R5rHw+k$UsTL;cyKl-fpK*?IaL!*&`GTt!ASV!j z>LbdU1)&WLNv6{G$KQitRVtUWrp(jYSmibt0VWx!SY%OW4)Hi$$u7TNQ!*GA*<<%3Ue^C?K>dI-(UZn!%W6+&gK2t zDQk)g@6@mz2JMd_~+8GBJ$<5A5h|TrD0f&z;6|1Z;Eb|uk>Q9kF+8a zhDr|8f2VOa9&sJ4THQM;smPKC`3E*oGDei{kpHK1r_2iQzEH5-_+U(~?)kx9r& z#5swfZiiAqJef9UMcXq-A+VR%LxP~PPW+whg!$R{2OTK9vR*&I$dB8Ix5FIqV zi+wg0)1hY>`FF8j<>J$1cb9M9r3qqmzaK8zfAcbBmiQ0Sp4J7jEb&1HM!E@5zXBEM z6_JLwlwYoh)4VQ^Cqg>H0%C&ipoWG}0+cI;7t+gcCE{4+#lb$w<`P?f->rs5U#iO> z%+k%6k4)4Mw3<-DirPvx|_I#ZT7$6G~O&M+I2_ z*;PYEC)rq_+Yt8GdlFaV-28*nyC6=!oTeQ!JO|_40q-=&7F)X6J<&xh;-PHEmp*&3 z;?VU45Sf;mFwCCu>h3toX)WY)%Qx3=1VzBWaKLIDo33mCY#Tnj66~fm{N;)d_Pb5V zY#AaDcNQA_YLJ97Beu|@#CyCJtr?Q!U}FpMYpcT>P|d|A1_tGmV6J;Au=V#ZLx>Oj z>n@qAT~6M)eHX2iZ*i4sSLcw^9r98e!OuY^u)rFmSURv> znr^F5r!W*5)S3WYYQ-(KTLr6Agv7U^&91yLUD%hHJjkuQa>TgT%do-ve`T1#?O5QB zmL{%Q)Ey}}PRui2<79Vi>W_TQ4S-EsD z!J8O=CWe5b98s~MVTR$9&KXRY+LIrAW{CD;a0Te3XWY?h?-$DTA66V9_r)gBRBmA%j2-!4IWxXEQ%Lg7dNvGD zO)3jFy7Mu*L!JEKEImZiBOr|y+vg7fVjNQbr{*ErO}^-g!1XcBS5b3o7K5atDu|R; zE!c%ah;8Na8 zI2PRoX-XNHMe0L4QGrltQYB;6pmtbxNa5DLRJtXtdZ-bNnW5B07JAz^1!X%}He09n z25T>JNo849!qq<>#~+Zpm)tD66Tx;{@Q92s7wl~hzdQ^xh8=krLPOtkk-w$RrhArt zOFU@#{Uj0Y8@s&=8`rQlp0L|nc-nunzaqXFKqL7Hui!69mRRHY zH*h9j?p7XIfh1`|WRftP=o4#fB)cAWg~R!gM4dH^jD|@i==US|8AP44yPv2~D++#o zaG)5jF9wTm<%UT4k#Y~BsZzQga63j-EktT=C`bF!iU^5L)Qu^Z#u@Eh9qJL6L#|!m zMWcR+71D;-d_h9{sUMB}1xzj8DGH;P7z>wf44r3*l5O|jcA7Os+<(KYRo92uX@KZT zBRDkU`U2+vaR?jnGI+`_R_5#)tN8)um@4HXMVl+3a$NjO9d{M?`KN|sM77tOrkc6* zUi%0fmF6%o4eUbwP@e|qBG_;Fmy&wjXWD2E0QxN`J*3w&lL9) zPgtrgwf^6d6}v=x809h^a4Merk)m8OX&Wucx@4f|@lH8tXML<#2I1B;jJQOB;PREa z5h#wc=QR_5g*{xD>H6MnXM1MXlvZ%}XhKry^`jncOt@cvmkg62|M3~ax@sCxVtLm& zS5X2g!!;?d?kFzdo=DFz zR5hOtrCLOAofGcNTTn9denrW}=`HNj#;qm|w80Gj(LAMU(;xH>f1Ry9_ij`b(CvB1 zs~;XFv7@4`J@^C0^DzcqN%+6_z2w6xNcc-B-jfOvCYFEOt6%ye)~AROU&@x_px3PE zO%LOm{6A8R^AkG3Z|?|+o}3haPG)pHw3UlFkRY0Nk`@2+3oX%1%84LKw~rdEs>uD= z+5YfDrIikG1pVi4!n*91eBy14ugZN<6eGQy*1VDI#^Cc*!D(*2&ZSQl z!v6X20^4MTDxOt$aQ`a-eRK!^F;velDnH~r3^?(eiX5zJ4 zjWy+fe;}ZUlbKlTLM_p3rGW?oCF0!N*A&QKC-`Pe|14{fb3Amme=$cCyJbb~uj%Og z^ec4m9o!nqu}QUGfXRsl4M(&%2{K{U+=-~a2wfxO?Ue<&H z;|Yr{+i&BabVATZbO<97r^Fqa|EAEv7?+PPVv)ZVGmG^dW1#eE&TzCF*&kDPS@qMe zR4h5M)ztlfXwu#GxZwCA|e(DF*# zqf5=nuCdRrj2jy;8w92s3l~VQSS^4LZDW{#iXXPyJGKa$tm5F-9SaP~g@_jEA}r@{ zFWQv%&Mc@wW4Qbx&vB)B0!$#9_{cv(tH5-)_+B~h{}Qo5PoB!_Y)7I_G1z<77?Z_# z%E)Z*9#?P#>*E|@Sj69R5%uC3$bl0>cd+Lw0%>HttHvr?zMxJQ9^vKb{zq;+C0l1+ zSx%X)J5VKt79z2sntYg9T-;SuE0i2tO_{UG7cqKauiRbPQbxbTqpmwpCWf*xG3Aa^ zLWy2=xGlSHh!m+@v`9MqfcaGGrPNZi!d!oXD20*9A?fAnf`98AV1)rMIVxr1k@Axg z(A&b(T>`IfFCYprH;h?>ISX{Z^~a*8UxoPi>1729OTEZ*1T0beMXYhNU~6!olu~FK z^x^JR)LX_07IXQOnSY|gD|Q# z@v9J)!4lVF9cnrEz;B_dv)AEILVLs>eoQUSztiT9y*oBtBOmhdEy!}<_x}zIn-7c@ zoCtT}7R#W6^-}BBN}brU5`FfB14|v8@|mbizay$I(a<)W=G-zFj%5&~L3v>at!VUN zy2uIcjE_Ba>`U)KX#o`5d!le+$G+=Bo8RH4w)if{RDT|y3uE{PwMk_$q7)A^#9|l6 z^9!R?i~f3(Ptgd+yD^d6(0_VUQrY+2LviXO!b#FAQ?yK%rmPmtAoflhHHADxYR;9NUfqwjS6S7O(M2+!l47;mflh26bY5Iip?@=(C$#>0f5r%lo^jP zlkEfm%`R$BM{3Fux8ou*FP)*6w2+O?u$q3Cji|LJ`Q&nAS`G}@N_OK-ZvmYdqZK8B zvidlJUZ^HGwEs{|>EwPdR1+Q!HLNVh_G`h0nYG21@Ci(nHORVk~ty$k${bL{mup0amK`%qkb;%KTYu;N4&$0|zM;8v+ zA#A7W;>h$POh;M9YpX0`CUQaF6M=yQDU*}WBs`T1;%4#LBVadGy#LgW!Ws-|Sw$P1 z4GR^@d1{6uJ~y^vEbx?OD^_PMaJs$f;a-xT6t&CyK=?ld5GQE#Zn9ULl`zG9Aue1nR49+`~Cm|g0;<_sk3#E;x7@>LBu`06w(OZY*3cSiZ90< zOAeWrm-9p#(|{1E3H)D*BSIwd{ti~IN5bfg1Yu9}tDB)VvJ3of!KRCpPluH6wV}fB z!nqb@t#~6KD6tuF$Cahyi;?f`zoa;~65L%R04D0%Wr*UDpF0Wa&{CO~i$uylnk1o@ z%B^hD(v++Wlf0bB+<)`TdQo&*oR3m>`)WQ;6p2A!-__pf;UF_jXRGw*?iLSd=T(vG z{UiqT3F4CTlW+Wol2Ci6+^xJtj%eAi9_3A*Z`FCm4u^h``s)o%gr>1bTzQh=k400| z>wV^3B%yU&ssS~Ofk_jdcf|rws}`x?ylfP92~=hJ#GHl!KLtka`qk6;G?0LI9~zy$ z2cv*WO3BwZ<^M#vIfmOj{kLv&|6Q&nE20-B`QY@N0hIT;eN@2tuX_5gmJ-Iyctb!y zu-%@#4KE3tS@!gjJ;S%m!tuC-ua#4cPIrM%F1-S}a-h3x4u(XAg-kN~Vb_g8Yj)0K z$n%4Ycte7z$*`h1mEH}8%BQvb3|UYzb0h8_DG`GL5qEPsq;%~` zFJ!rWJVPC{G;KYL7xPOBS2E0$ z^J{yeQ!Ee{rO4~a37{|%ti%kOwccIdrui{x#z95P|LO-2f#+BxYq5@E|}5JZTndQe^w`Yaxc>vaXHWD|x5cU=H$?${#>BusTa z3mwKnzusTSKW>A$+5t9CE;0D2&~Adl7G0AtT6AkF_-u?YNXi{1zhTRUvFo!GzlkdI zE-70hgY!2^K7KNDAu6wzv`VX4*nx(9oLjEVS&obkw{{78&?UsE&t9bxb@>x11N2_o zM=$v!-2ZB2h$oHUm@+HMGt1{P)Ky8=X3+%Jzr{fRu|Lmnun@H{+Us$>q4(1})<#i{ z|NS#quiotJe$fxLcT|eCUKIcDuRnr+_?QS>A^dBnC`4gV^F@m*%uR1u%jpxr(u1YP zz*21NzMC-Z8~$7arrU;?+J;}{PH2Ywj0ijRf4DQ7#dOKeR^dK!eshvKX>`y9Wq{yG z8T&ke%D$7>W<4%1*gQB8l?#{lUBnpk_8GU5mi1<07%#4QKl|9$*B~GW5iQ>QKka>Y zR8w8BFQTG?ii#Aeik~1IsnV6IR4Jhcl-_F~bX33s0wNH43%vxSLnsjt5eR|MLJK`~ zLNB3&7xcULz4g|6>)!YOJO3mrJNwM+nLRVVJ$ueR3o>V|@2(i2Wh~kwi_U%yZ!6VJ zPJPtIJocB9v!Pdf393bBkPW13Umx(p5q?S=P->)RIuF-x`>OCkD+K4rthK|%Q9WL^Jqr%JM^J|g zIRtrkr-}@Js#rN&^*vo@mbUH~z_5~@Gl|QeZAtuuPIrE>BMGq#9-671Z~ZagQw!!ToP6sDAEy4(uGYaD0l95LMc8+oV{w#hTTC~vF?c4a$}vwrPCM9 zDp5G^R3;B<{8zb7hjXWeRIO9{V zJBt3wG1HqmD?6wS^rTK6^}iyi&t8nXJ#HiAa(XP6FOhzBMX4$KtD=-LFaY>`e=?tE zDkk4KzGHNYR5xPE-|MKjADpmyxrF*+IV=FC!f?EAfsq;~3Z&u#E@+pu#8Z+?{yecp z>8ovOoNe#TF7WV~V=YOT7-W1Y+eAMuhMu@FzQ9bpVT<3C&|^0fA|$E9_r=5ollPm~*50GU$ zYjVZH<0a1@inS>Kt%LIE#~KhSex#|DJ$rV4J&&;?rAUxhqVEXvq)KR+am{qc%s5j@ z^m}PslM6#M;~C=M68G7%Cx=J+lD;uk^m_Ta*9mR7^F|}y{3&vO$W^#ak2v*sty}># zG&h!Z_H(~M1ugc=$}Q*mqRVNA3TjzZUM3@Y__(cMISjW|5Y%IZghaH7q9 z$EF4BsCfqwWJaINqrP5ixfQAS{+DtjEK6QmG+hhEXRKxCETd-+%w5qdS8{B(&SmZE zXNMLzh2Lkl(556k(fs~>stvw(qnW}*N=Le?n)@&aW@>~JxngI#AcOHT2frIz_XcuJ zK`A-m_{qd6R}fz}uux5N9)y+39K6!KPb}0@tr(m?F&&3_jWIN)FL$}_@bvkbsq~%- zTV0#Io7S`#(9EYGmAZ6PgHI>N=2yw(FM2!i%H%fGcuGX3#HU(9yXhxJ=CnH!`MQnn zOuWdhl;xTyhH_OG$){;D>zlF;a~^%-f4kJG))or!ccP}YDl>Dc{7mr-bYslDUnXz$ zy{bd-tF0bk_?YS9rG!z7)2T79m50D9MX`%Ko?Hvg!k*V@vD<&IJ0R z9s;p+UyU2q*+=-bGTnPTUQux$Xa-nuQCygt>is)yZ-rF7I>aww)T+7ASlF>ELf z2HR;lSCSJekMJ#bew=9=Yeb%)4hEl2RSMOmK#j~2%cxN6qP5E>k(MnnXWgdGzm4+x zT|BYvEpr3>VyOliCdHmCScg*cd@aurA=dlwO&uz%a(Ys(6t9ESObbUQs z$`Jrq9KiSnMo;-^toFJBv~}b0-e9Q&OU)?L%vK&(N8sk_Ssx;(z5wDs<)C86oc6_F ze_dJBETas-xyU`mygIaaC`=NfP#i?~x!k0E;P=iCh~pZ@l$|{UZlH=tdyOATrASX9 z4X(de$rh3!p+WYC?c#0r)6O|IU0#Ee4$lUS?zB(G&eF`_Zu2b!Jv!|9U0@BK zF7I)W{I`nLi@`@akkV`PdmUj zg78R=a~kv^&q42&{ND6XyhXQ>Wy4wCI!GXF*x6T&s9n_#*KK#P@ zDR`sy`?acqlOb?DRPLnDj~l8D$7dT`=sn&jGza6j zoQL%S&H7HJJx;vjxb6F;j+)0l=j}6fshJe}(x})Y2WiK=^7IcJh4#$U6Fq(3P_i`{ zOVpmg!9gjL>6Io4QmK7)V5NJ-b9Zr}S>iU~-}dQN^lR%`l*YuI;bMW6226{Qn9YJG z$@NTCR>5NrEhNOYADmyx{@y&nA+bwp`y?@&&TIsiO|!a?jepr4JCjTRL( zvo)PlbK{$3REKcbHx+UeKe!V$wKA!C13h6-r2kY( zpLLwPuetyGSTk>BT)=TL1x0m4JL*v3Po67jnMETRlU&8EWO8RJPMlYHbvre2TfA^Y zTw&%-o2YF!HN4-VxM4|H$;fqOwL*101MQz=)8FM{&^hd0p2T zc3|PMrIqg#8eQbrWx5CFb%g2%nPkE>5i2))4C=t~9?2QB1W*7UxWK&Ve zgN>HcX4B$_RBa)(*1IPfW95sVR2f%59_tKYH$J`)Noe-=#aa@&Noga`;3; zs%r7Y=j4;%HS>!*7SbFX3oSNOjZfK3C+7CaZUL|VF^9`b+*(5^`iT|`&R=^Iptvnf zkx+rY8Ti|^8uCXShK!XnUtCgrwx_fSoy_rj&Cm^Qb^RRL{HpNu=mxfc3D^hA2-+E6 zlVw2AC|`cHcWCal<~sluqxpbdLs(BKARk+)=>DD-7EJ3^urTf9%l<9SA9GjbnYhrx zB{@`~bm>8p86V2&mD@}fwy2d)^KRscx}3ROk-Po$E4>Tm-n0K=+gKAnv5_RRi&@!} z_mrb9%tM{rluoW`kY@>ggUd4VTR?f2&$Ld@u-10O(mexhk*ELhnhzuaHI|LMm5P1a zkEJaNK14F)U0uw`4>Bo4^{wwlp*C<9ra?OkT-zBjs@w(6Eir*x!o^o`lGvLvj7~b2kk%*}_u0QaD z7IPeKeeB{=9eUc!5NNcZIW+=59k{an0a2W7t+H3Tv-8;~vPtb;gBNiit75ia4{cl1 z5$v8~(e^?5YDC{mQc4yR3cCWYF&L0WEwa;b&-rbfilO)Na(~aaUP<|~JAuC%=mQ6^ z;7^ITyePh#3F7Fc;2_`xUGet^r@(v_PhppW%5uZyRU5mw+QpsQmNeD1Rk^+Hj!hj6 zz6p=lKqD-S)4RY z*v0v%wPDf-&JrnDs4m;h*u7sjB}9Q=dLEp|#X_ zRd>pA@6i(PZI5aN!$+u>M);@JYSQbcIqUY{QanBk3%P z=X*&T+!GD*oXP&s;-e{7DfC|XwnIggNNcvef7w1t8mr^2Qzdo+umO$6J<;R&J$KlfJ$KoP@Juo)X=xf1sgwQITF?`rf(cUPS5J z7HV0--W)v@u$sH>8B}tjCDI>0lz(PYy0M_d?c~!4$zMY^5B}5c&)2?QcX#3{d!L(n zL>fc#*CkyWqsp;u3=b6C3EbT7)}^&g%JnNB^TC&nQp#hR(>TgJM};wjs-4P5;SnO0 z+-7{84mykN&Wz5HedDY9%cebnr^&KCpG&tuwlGT^3k#bC`8}9cx#j zn#$e`Gr;8hO~7gas#j}8p5(p&H*{A!zL&`3(Yf{#wXUhDXR4R@p~+uQ{G?_Kdkpkd zGg3=k^(L=;Fl~mTHm0-W^7}=xF8d9p>s#M75etn|z&YHgTG}0(sW3AyiIbV)=Ce-X zP%>iN>68#X@KndVt4B?-Tcj@Vn`d2iRhBrD2AG>Smp$9qm}WU3N&g(M_-D1F!p;%U zIb6A{ggLDMCKL8G<9A1wQ7!_QNnhcrraAy|!NWR_S6f~^NBL({cBKEd-p=dQCU3x^ zlYzy=i%2b$!NAZ(V?pce?TJTj?9(tID!Ct(}VAzJ3-TugJMp?g#$+KNg zm}+8?fIwB}&57Z#(^V12-4{KwuL|=#JClV3fV3?@N}jkRX#>k_c3NTI_1WM;H)ZTBr9*drv91eHx@XF2QbU(pN9AoqPfx@C# zgPf_LT+O&4x}|5T-xfNQc%+fpGjq0%r|4pb$}~ZkRB@WxtY|+|){^+bN_Ler5HWRz z55wNLtZI^;x%7L65izaHB3kLWLYm&!L(>rva}5+?;+Yq20UO`i-U8l-Q-~aorb~6# zWc1e8rSJQlSRZ+O$xVbk+CIY-Ge5PxH+NXt(sFXD?sMTj+~-2?efTrb434&7I7^A9 z`tbLjZAE}FSk~jOre+&47ECvGEzu$a^T&{kgSGsiVkqoNifg<5H<8 zGah}0DQ#l`5*!Da>i-qSG{mbI=tDphk~BQ)!xP_~7rkdXRhu8{*fJpDJ) zqke{@YBNndD$I$V`ak5KiHG*ywQedbD+3i3j^y8)dBZ4c8xd63KN}haiyGf^SXt6P zhkYM3Fz`VUf^2%BVRyE;PIzj;GL5@ZdX z62?G*^W%@E;7N?j6Ohe==;9|o5SdzS*qj#T#r7?r02_FYhBQfD-=(F!Y~CouaM3v~ zE^d=ekirK<%fZthu4^1-zQV2Nk&|0j6)xL-O$v~Dhlj^ICLqZclm#`WC47vJF)v0n zqXEHs5v?+RK-GdHQFT3KC5E#l{~H~`Y5ZFKilwpWSpWANQ&BU`As-%jo(fl<>5~oR zU(CMJ*S6y)sDey)u)MyFFC|9}*{2wyf4TCYPp7?(0RBE%jWavDf!5_U(Ul?|md!Np zu<#mih4k%>)x#dg=qCITm5J!s=eGIx!|Ay2cgifm0;V$?HbtaGFSpGVg@Z%>$uK{O zsUaJVJ7gq0Env9Vo07H^juAIFUAXA%4PAv{X%SK%x~B|FcD;l}y2dM0c`clv`;eLw z{7BIcn58i@9$=ww*;_IIn?rRdu<|PS+g(@FZ^;$WsA7*dwHu}wb3m$sf~Ue9(tG|P=91t zYG9}`M)~l4ThT)}@m8gF2$LDFwZB9nE*;;mMMg$Oikiv>{zN||pS;JX2KhqdHzaGG z%BNrZylo9B9KAu^pp=ifnXq?ck-J9Fx992>;p*y7)It?*EH|y?@$$JtSJRLmUV}Pa zhT2)KZToRPc0azrBA1juFgmr|-K*oZkY`ThF?WQD?zX67($;XAAilwvlqO+d$CM{@ zHSn}=B&+D6C+$7DEO*ZY$M*N)w78R@nQcNv=Qy$2qS|EZ+nGV zk;r=vo#CGV0kfL4A{42pZglb?*sD&m&r=51AnK_aPPsAG#FoFjeyA0{F_?zMX1=e& zseXzY+}xttT}BIG_di~m$6=FMYG3%PW#HiNcEG@ft5nWfCTCsT@+O{lzj z&9jk@ba%Hp)9*=1-{aH_s;}#o9pz{JV?12r#AE)E8uN*?l{2_Ap+OR7tGX)SX=~t9 zel}YUlqMtlp~edQkzp-1F#WSrfOWk6;(0%YpA$5kDRT`Yr6=uf(d7@}B=wVGrcUZp zLc518(*-gTj(Yu7C<~X)*~RPCwiC_2b9{yD6L zz@ov2%tyAxdUBrp8R&ult!IT5$)$Ks+$OT(BQ8Lx$cW7yhVQBF!`~)Al5if>k_(5W zh>uJ)%!4<`dLaz~$l(CvdLP_A>qp2c4f|F1(#4-R_;>RlL>j&#@UY;A0Ch z-V0>!smRb_2C1WlZD}!Y5}It;fT`Ie3X(L2m*`2V-aFFk<_ zO2u#&dEH=%hM6d>`Q1Ba3NB! z9|OW0!*@vP0U@85qzc?2iOT@un;#P?N_=|GfEFE`rO~%^hQaV$rOTX32P`jc+HsH= zFcK6tcDh1R37LGTOUavI?A%s=e}5v&rME%5Y1mnb%OoyCuaZc!VWX%~i9|IOr0Vt$${F*gjqeamz04l4`k@b$~nfI%=%kt9hXhase~ z-RJ$pPj)ph=rz{^(oa6h6LXLe!?}Zr`_}hvyfp~(jqSw7f3-9w0ofnI^QA+!mXSn~ zQYoZ_V{s^aN_o(!Uph6(Mt)RUr5j?wVj6Erm~_)YkcU~`vfHWjC*3B=IHp}K(yg!| zxjj;;Ws;RYf62HplTplBGM8UImlxSiRQ~ZLr<+g?IEj^zjdDKFF?grfiS81qHNCQr z<%T&fQuMs(vxH4IHnK00PfY92bpC2&GmE!-nwXH1XdM^rhkkdd|1nuHw2&$rD4c2q@ZGP(b;pAsDZJ6g|d2`jhcF#k92*lzTVl*TPxP9PM9@ zS~op1zGv8cPV*HKSKFrOD!+i=Zcz!t%|UrU*YbSn?~$27Iz+*_@0m;%w!&dke~2KF z3w1MlIdyIit?xURvodN0)^>r->vplPegeH2{P>y3e6*2FW`PN}lEuH7?e%;;m)hGq zj2zMacfbj&Nu0;;ek$rNmER29&{{$Qm!y8LZC;<4|ul@(n>sE0;@9oX_ISiBXoF z9AW_{NL+_v)+IRW2@bUsrkr4uJOJ*zX~KKaXA)@{<6GGwvmgf2k9ZV%?woG9O=$-X zMt#6XynV+2%wqajCv4~fN^*uMAZ#F;o0>vz7dxeI?xoo;o*4i6zh6J;&s6VJ*7wD4 z;WPYCl9>`*tYlo;Zjc=|$n$^*na4g>td^r;x6ZB9V&OAUTZ-}K?h?sZZZ1n98<3ai z-y)8m{FWXLmA#qNC)ANHRQyNR<@A^FROI5{)xX?;@D27fbO(k+uuxt&NsBIAc)|hF z$71h>^quRr?0d5m)$NWs7Xf%5jNm*p+-0*Y} zvT48@@-7+K;*E;ul}|np8VQo;ZAY~5#y)1(*X&57Q@t=SOUgM6_5Q+-*9)vELtwG) z!0RIBbC*^~?2rX_N8A$j$-3}b&|Un8psQq3<_eS1LJwzD@A_+y?rvBXbI@~ zMHel}!2{xm_)SilFCn469_HS&XMzkDUB25>Qjk|(>O<-z0WTeopL|T>CEe$5rfV~9 zVtt&gdO7T#jdwTFBPmhqqQWnwhI2wWM_y!hLKj*2wIKkJVl4-@Nz(DUh^nh-yPGCai_1S^3^iwh)Sld{54 zs-?EHCLt!n#NdP@6IKRBL;Q8R#b4(P--nZO_?w^V{3h1orR1YqEI!{q7XrGSlws-nZ$A?IWzt|_DjHS1 zL>a3W5-^3mnAG$yDH115Z*crq0+KCZ@(GuPJTH@mb}o^Nyl^BHc&C-kFAt#$uIZBb z)pcng7TR^AxX*}ZmXfrRe79sFNZ|%b!mdx`IxZ;5rX#Uctui%TK=Q+?Nzrt%| zM_a$=0qwUVk+<}MWeO&COzOMIu$CoAL4@Zyav+K07tb9a2j#>IA6lFGbn933a*JkB z_3C0}=iuYd$XNwrL>b<9%Mi-^$*21)3({?*yxyNPK?(vPTgdG0pD&lnl?3L#)%NXZ zhv7F5RK#+Yq>$x~3yTT~r?>S;aFrxjio?T?`kVefq%|{h?H>F4ZbiMRdxd>8Cq(q4 zpwk}pBthW>dwjM(Y090`-K&k>d!z!upo>s%&EGxyC@IMVDwZ(6Y+&PPsj0<~d!kbU z!Qb>EG|Y=n*_>XuZo0hMX$u+CN^|1s6&6 z@gdeH^Te8&y=1wC)eGt|o&3RnrC_ z#``vyc!T4)T^0&*_{Z<~ zYc~OA_wx1(R8vzrv9%wsQ6&Nr(h|XPSx1sscDQFQ@GyvPH`!Rs`xMlKv5|lef*7@Kg

N9!_HX$JHXb0Nn$R`|>SF(`+JSnC6js=L# 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 literal 37973 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 diff --git a/docs/resources/images/arch_big_picture.png b/docs/resources/images/arch_big_picture.png index a7fa55fc6537b157c6bb30c1e5444f14099a62de..9a838c41e70077c7b56c4347835cdfab7140c99e 100644 GIT binary patch literal 77829 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� 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 diff --git a/docs/resources/images/sequence_activation_commit.png b/docs/resources/images/sequence_activation_commit.png index 79fda7412172291824f24c9e699e6ec5713d0719..2e28a14f46bb434fdb46bd8168e36654ebe3d634 100644 GIT binary patch literal 154906 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 I$@cF50XeA?DgXcg literal 68305 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ø$Yok4y_VT026W%nk%B+`hu~?6?S6)iyU% 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%0Amdcr4+e-m!D0g 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%0DO)e)f+L{#Lr!T^G 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 K>wdWM%YOrWBO%!U literal 31293 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 diff --git a/docs/resources/images/sequence_activation_prepare.png b/docs/resources/images/sequence_activation_prepare.png index 04a94e50f4e92b7d76851c32bab5e7fb56ac58fc..99a2f4348e04b9389664d94a446efda98f0ab8e0 100644 GIT binary patch literal 198641 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∋}$dXrsAnE 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 BVC?_^ literal 97381 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�sZ}h^ZD-li}U>bJC!J%&B+~k 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 P3AHrz?v|)Md-s0;Ti>hF diff --git a/docs/resources/images/sequence_activation_prepare_custom.png b/docs/resources/images/sequence_activation_prepare_custom.png index 3ed358a3d252e8528599ce5892b2fe5bbc6be2cb..128d0f17d482edda86efe1280b5552e97525938e 100644 GIT binary patch literal 89878 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 literal 97319 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 Z>J0gRKY(J(>HpJ4I-2?#$U6_8{U4}`3a9`8 diff --git a/docs/resources/images/sequence_activation_status.png b/docs/resources/images/sequence_activation_status.png index 8dbb01ba3284fb7943a414652753613557a02ac9..066af2134909665f67e7692b0a671cb5697dc3ec 100644 GIT binary patch literal 43471 zcmeFZcT|(h_csbCpwi9}l@5BODZO{FBVBqYAWd2bT}lWVfrEf35h7irNk@7O0)j#) z0#XAcNbeAOLXsN~@qFL^?)}~S-rs%SwXRE->v^7;J$v@-^4WW467xu3lj#EI1u7~k zCas6}jHsySFjQ2uH0REc-}GWT5#;}_IzBYgqoN8Cq@s#=K}CflzlvCtH$bD&EE*R4k6g|v8*^v^3L4sN!LQVvgY|r%5h?jg>zlyX z)WJz~bN6@H$0{i+Zx{?VG&Hogw`XZ-sjaQe$jJER%a`QjWN&Y8AP`tnQ}f}&2Ob_C z6bhxGp6gx4WW6CUA+(7k3yezZ-ffeolN*HdX}gL)@}qsIyS-}{ zE8um9k+FB9=BJGVRej2xJRAX^r*P4d3$Srciw@ zMcSNct*)C#a~h-ZB9z9~_PwnwhY}lN#|d4shs2(LH~`OHQMHT+JM^S}j%d6Mh&Xrl zZ{T-xg=L06o>2`losRv-Rq~hV_Y$|x(%e&6F6P>!{rgtLG95SoilF-Q+#l2buzr<> z`UBVA2osLx-qlYSPRXui%GSG+yx4(S!NU|76?j-KUu^@J`Nx z5RdUeOD79USr9eI;u3#@uhg+8wQncQ_nu2n@BZ}Gx)?siyGIcIA|X5Clo)CPL7au8m$wDtzmc<^u(P( zqU8}vflC=pI$83@F3lL!rk@<6Bo0Q<-C2+()x;yAphY+Up;b@dr^c?;X+T=+?h>nL zzXdP>!Gy1M8sR5%1FfVT3CNM&J>p6ox>d=Ih3;?z#iv0y*r>}w;P=bDN%e89Cxj)5 z&Bq75d=R2bY^yiKYA(z*Jv~Cg?XVqlZ3^MBd`i1j@pQAO z!^9JB_*^JnC`V7AhK59+WwY!GU#G_>c(CIiL`>PDuS4<4CpRE#NWM*UVr$8L@F5|K z7)A1A>L=2DlV}G(UR0Cn0kIk+A6J_w079qirX()>(oeQamBWCDR-slB7D|{V9&6qh zpC2QzXl+B|U!WlY&#vhaAq20vS#vIK4P4-xyAfgD3B-ergv1?%^Rp@M)yO;)J?;=!82b&+i;?MDC|;*(77vSnzo7oc0GD3T!v2$G%*f z2(Kg&w>$XCKC7}_Z7qRVU%VPLawz$2p5+jyc{qj$J%+&suQ($_Rix|hs|S;iSQ8D% zQjw2}uJEl>(q(EF*0ulw(um^+=Z}jCe0UY07w~A3?k%kc` zw<1)d5JF%O7U%j&iG+==d9%7iUedtFAc*olWXDyqo_^>bEoosw@1)_Oo0@L@bsEIV z))Ng>)`0{8Fy_;tgVh+*JeI06R;i*Y1?C+`J2fi!ULnGtPjsR**D zowBHo@6%Zkj-o{da!pBWV^r8Ck5SUbSH5+=mpWL;os`33{z`8mZUv4eFZuObyjp;< z*2QD>cSG4<`{Y~+f93E)NW=gr?9T;_lcTS7-lTN)sgbUC@3*3_h2Or0Kl^v=1$-<} zM`bK(r)BNcn}wm5T;&q-aM{%%TW%;n>A^^)8V4sq(YZyWH zb54~L$9`_*aHhY_&}FS}`iI{Fs^iV9)(wDP>o>__NTPFCM%pYsHa?@3XbB^2(s3QV z#u1w!PM9N&@Q}W(v)}Hn;G^2eCcp;~gb;UzgM@Z5uNd_Op+b-zt4C`Rok3;iIx(AN z5<3hRCcNdae1J4O*4Wb)x>eqcJF24pre~hk>SUSES3braLuTOC+pjY~DAjGUzeX>O zu&JN_FM7%UxZDaz#L13VM&}ya2aQ(n?xDuIDs)llj8hO8(i{(5jztW7ln6`op#59a zZ`LKM=P!){*JL=b^JNv%?Br*1_tBaV{GlCTv95t72C`F3_vh81;ls<}J}RoDfNsVu zR0Lv~p~6=W3bSQug~w)QTG}=Cy&vG1(m>9gTx9IW76hqii4p_zXeBenZXJkGjj4Sp ztG&dE`yhd9AF0o8>!$m=G94&c%@=Ob&n>o9#XfbY!LvYIQklRI4eGRKSu{@EMV_~k zST6zw(V61ENI?7`i6^NqXwTOrW}dsE6kz(D4NPrT<_4Mt)!v{%^)VcDtuoDyEK4hAf~Oub_iM0+w*BJBEZM^E(`)5_>B+3GG~-rOKhF`oY;v$ zbX)RCwqCq?IC`jx4xJ7s5}U5BWZB8$UAtK{8d?GC672>O`Wr|0$V*ElVlG<`D2XN{ zpUg6D1}zzFCaAiai2uP%Cxj;uPpVM*y}JY6L?33ow?@VIYjKL%bU{I2z%2dPMIQOj zdx<^3X&|fap+etQH^5bYgZ>{$TxQzTBs*In(%)@_t2OdWofTN{~)m zJwO_Sg?`dSU($8~Boz%&E^)%@^?FyCj0Mo8s**`I4|M`=*YVXR3TD5>OP!Z_0mz(W zBE!6hBoEqee3dV-62$1;+${+4Ai6lK`)7~F31JQEYw3AhfJP9)woCXRggI0lnz$1q z3OV6SzI|Rq230lYmK#Q1v(P`Dmj*%bDkmA04{?W;&9$Z*W9IrBw7(SL0?O|Jw>FMqPK_{Qu{5fzP~W?eLy{J!?D64F|S2{G;`^Y*hRs; zf=<66bqmD9`zsk#8_)a)RKGSOe<8Hu6Ap=eEwrQ^G%*b#CD?MP@Cre;#bt)NYjOkk z_WgIB{R48@-7Kfb7~X7tg0+kOAHe+cM_=Ek)-r|GrQuhtcYYz~&yEgf=4TS9R45?( zOZ0ye$o?;j^1luK|Noq^{g+dw{|#hjp;a~2eA_VpFkJgc_@7+yX-0L3h${EJZ)~*x z*k?J6)3`=2UA$QL{);fJ(_AyVdD$FIOnEnr*P6Y4noi#FneYzxz=mqv2s?Y4R!ZhK z@mo6Tg10mySt3sJ%Pv_sf3buvJqz7wrfP$WHHZk)`|n9$|2J5T|7xBNx`&o^o?w1O zS|#24o#8*L7O84WzZ3D~G~utEl&|ITKt^Z#pNx@QDFuPZf&!0SjAy4w;MdmW-!5c8 z4{q9ziVD;nNEf731fD+T+yVyUSG^S|Fu1+SD51=`@*V!+U%yE$<%;KFlQpNsuHCBs zr;PCQL34|qH_3>VQif2y)<088eE#$o4l>XnIW#L{T`q7S|2PJm&yH`*uY&|cA1f_o;$xg$mWisCxaHR{hq; z?q$dQel)mcoAML9i@x$N;fQXNEvwdfDhj91!&47SH5wu*RhijhLj|9gVAg)`{DBOsKkcYAi}I%O91%==RU;FWNl#=`Y=4QyGrG6V-I zd2>%MrLUz~?(PJBcum5>_#mF!v&U_n5E{w@X{;mBLAeNd0s$y_-y#)~Q=e;i@Oet@ zr|ga;hfLgKH9w$e3cF6)gt@7&zvpXezEU+&nQ|^APcaXr4GCvyr6-X2GOtgvb4~^* zD+{j#(+>WiZqINS{927v#=4VLI=FgeP7U;XCCA=N1slVE+SbH<+hQ1Q_!JwU@ow+P zVsyXILVpfok>Fb}{P_5?h=AUPe$Zo&ye54h&Po1$J@N@wietgTt;jM_w?zk=h-3X9 zNZJQ7I53TdD7y;9r!+$w=sGu~3cv5`Z5b8JU>;nLkDaa@eYk=>mYr$Obs3#hVce{% zs0gMD>YN~o+R8hY3z)XZB*=5_eo~rY{;jVbuN%+_qgDnkl|zqYn>!;~&3Q z)`np$@DC6%Sm;9%RMnEr1o`sAr0N&;+(C)?*2CP4WzyY)#XnqbOnc`eLuWAR^*z{B zd@=pQ$sce04xfHle1<40FPHdo3s6sopo5pjN4Jk+UL`mSmggP&$kpfUB+L{D)`jFM zNh^BiK#N)BH{BnD5|0C*9=#Kp4LZT^skD~do-_qP-d)2wK^t(!F2`x;7Y#&PjovdW z3@Q-_5R=Q2SOdYb@xiz75(T=TkX{Zu_o??VvlIPE{$cSSvOS>E!3N_xDMf%aa{4Mv zY9~I0=qXt*!%EvVaJe9X^{VB^CEi1sgS$>|^n!dv2SOgN4%qrG?H%#DttZ!XBkLMf zkqKpKwPzA?B-W{M?Q#|RKLR5y47_!dlZ}}97&rGUJc{y5e2w#3z#}L=ugTQT%$`R` zm~4`spJaWPiL>#GPpQt6X25ejU6}rp#N@2i=b`CTpU|2pAwpQCr$1Yh_xk+P<1+(a zwU#XU7dwi>XQHDA*#fD-vo~d--J0f&audo+UQ+eLjxD{RT&q1H1|oqA26eMW3quC3 zeik00EOh2b&n9ioJ1~9a&3wV&VN6s&_;mEsw^SVP?y$M}BGB|(mIIdO@(P`gF?!bX zrKIb(Ic4Cmjo13n;xEnzSptK;{kFcs4+;Y&f(Vjv9<-j^mA+;0Q2)d#OJ8R30wiCe z(t7ulDbtuv{scBGz->Q~TYd}kpm)?aDMa*Tx13s?ma(p_uQBg^z&QP0q{y35q#_|C zur$7gYk3R8%U6|`SK^o`U#Nz8wdYrtTuexG@plU$&5+(AUwG{KK^|^&iHUL~u&bNr zk-2tD2y0}66|QHU<$@L$yK_$Y$23X?JHM2*c;jZJ(4Sw&J0TI1?B^hxz!f9&&TMg3 z0`f#R{|UV@f9(fP*ra>y{CbBqdRyce?nIQzX!DXtkrCZUs`{n@m5cT zvFrf&vV>Dz&TZ$6>Ptig%QC~*RUYYM=n1P%)cXDXhKsv~G`Whafb`DI668plRdM-v zPfTxhKx)&COYvMziOQsuX-vA|#hPwk{YKf+KjloXZRJ}j4<;w@OITSO_;;8HW>qof zm@(7U3HsGv*gr_T-*|j>-@dsmzW;$x=o2isG?KfvZcDv>7pEC~3GBf4ovrMSOTKjL z4gk%z(~X|eJpYHcaJ;UND10!XG;Jx|A8jRgcG0)Cc4V#-bMaHVWUSCry#q$TElU|yL9iFFsi_Y4H(`o!7Os|*i2g5LC0HB2s*Mq8*;CY;@; zHxf>iHrI@4TX6W0eN|rG0vljon8O{_lVv+PZ^NXY9JT`1aDG_LX*0)@FPGt$+xO$y z;JcoH7$wbOa6g#~`T3 z@LF2_jkw+lc5W2sl#{M?|0o|0PB&&9ql1SiV22qA8Ofms2MJe<&uVh% zF0kb&$<@nQR@y9e3Pg4tZivwd_2t5>?W(bS0-YEP?!Clv*E@rFWawL}6mte2f}Ka_ zvONg+DB6QYG|X?Y3zI9DWFBDgv=PN=V`NG!nr49NOj(QyTI9}iCoq-SO??w!7%)aO z=VC-&_dNz_B{ikG_>I%hK%vD@#QU^6Uxj-brNecaKlu{uGCX-rMx(noTGrZorp{?8 z)s|s@o;;BSvb(Ha)Wgc8!$ezJl1tpdo}hS-p!8|Zv5dYOu>-o;VKG&i^!Vdt}Del{jciJa zngXa2d4n$8PuQP>Qy(fH22WE(u7XB#oDBEY1-CnWjDJoV#C$sQD=UaBo`b(hFU`BW z&j5w_AvzZ2ph%>2uj>^OwuyzY%<-#=7nFf&Y}UbBrjA~T=mAu&V!D;H=V zc_Vcu{3L?wd5{w*qo$-{2ID~&Bz#6s@~$f=c)USYCO9ZvlvyQ2GOUF>Op;37xRc@Vl;78JU8yGQ5KEV5;A-z1XpKPC2S# z^+Am;Q-7|@n2@);VdKP?ytHuvy0Mg;o%1LspH%~~M+OwM2=YqJnH&Mhay!WahblZg z!yI47tU*OWCuD&jSn}PVDP^LQ-T~dP!>72zyZ`oC9p+3gb~^^QT{!HQusup`Ges)L zJ_bGZ%wV5d_5jgCRro`pn=-AW|4?$+%(--*ax=FH)nDS>q2WXRM-ecJrx9f^**?+eyGyi_SF7Z zUOnPmLWx8eFL^nK&7~c^(x=!-*P+Oczq@+80^A^l+=Lxudu#Rm>MaMD<(vbrjru^x z(7oV?2ZGS!ZL>KR?yGL|$$e=Ftc*Zmoxzpo(O)r`wPy$rxXZck&0>9wv|RY}h#xzR z8;WoIB&M&tdkl(KP^_bS>9`Ebaq=Frk-oB^%5v%I$}DqDJ?`md^0mQcr7=EEDSRK+ zY6deOTDX*R6Syl4&d3~328j20ma+SKF#>m+S9~)%2*Y26AMri}j8pGL@+=EkZ*b-^ zY<|Ne-u085^ur18c(_7Y7nSABvf|LTCkX^%pkv_1E{rKMfjAIQ!TxBJRmr zej_C4zNJZnM$cu>ywO8?P8Eb*poWbS&Rn0s|C7y?Gx1#%cE=h2Hm1J$4ytHxurrW?0f>_<|8$czVC4j zd}o}7oBE>YUnbQ|Gs0>`#N~%&M(dpipnx z^pIVc&5QjnPJCq=c3#~e6wIC|hX+^~aWD9i3S1JYZ$-X&bEgI$z8)~|9oMgSY%wsC z_LV#>DsnRRPF>#omn^$G+$HHDmQ29vndz9&k{C1S?xGXAU!qnv3>^E?ss)~NgV@9xOg?v zQ*E9uq=YH7xJ|$`)9L4<27c`X4^Y3|qyi&3@)ZZp*)*|2(`vPbBrgU!f`l5*F@GZbo&M&hw zD#=(w8h)8BtGjNxlPvkZuYQ=1yvAi;Z{Yj$=S64fm4VTt`SgJDJ4Q>6*q3cQ`Te06 zf@0e2e%gaZ8`lM}0tNexQ%nbZ@>lBn1W4A`t74|UJR89*_Nd2td{a&TC8;g(YIykt z_BSAaYgFLm-iJ1{I?;3VZ$^!K9gMM$S{+&r%}Q3(#|e39i-1UfjXm>y zs?&EOzA*&Q2Sgaydnk-F5nu7&D$~5)L?xd!5q^LRlLIR-^o&npQ@o_}`}U5jW7PL* zddSoKkuK%bCGWmJ#_1c@15{}|%4#3Z+_Tb?% zJFy~`n)UnuWMWgJiAZLZC{_t~!Q`e0r!3I+`((WFzJw8^Ki+EN?hxX})bj;YE|IfJ z$6N>dL+PuCpOuB8b5`=P8?pn*#PnrCxnBs}PYhF$}soAJSYuI3~QJ`q8Up@53aKWjf3lv3-J z#aAW+o@jU>l4jMRYXUm-TB7jODNyE*_=?2)-$jCMSVlH++Mqw`rP4#IM%s%&To)B8 zSsZzjnIv`CP=fIBpYzdPS_kdZfgT|F!t^H{0b4^0xC$K2`u&@Ew*$Kcv&dx$UNiLV z&E@2JeOn!;k2E}8@fNIaz^_7 z05>uSVJR*zH|mzWxW;kcGI_>=`GMiMaiL#J??iezXO@g&Yb$8^?Aljp2Dg58n^pah zuD-5Ann`Gbh% zMTh>DCW!5WS(5rlf^Nne)I9f@An!w)46IVaKu_Uc#GGK*tK-2`rg)3 zO%B4(rQ0)Z0kzR1Z1&#DW7~;*s{ILqT(xs2WJlIDG$a>`&$qRFh2&Y2(mf7{QN8Bi zYKKa6QFW8iUXt7iiIW#>8T@fcWjZsZCLoCSKAO#G$WUHIp?g|zc?L78Cw0NtGG$t^ zXJY@UDX_TJrRi;3(F2E_$ZIk)Yd(p~lNJ_IS%<-QUT(Pce)8#dDWAEVW3~osNlN=j5hIAK*(m+C5 z`?QQT9A!n`m;G=9K|dAT?w~3HA#@MV5Rog`N*py@YK{6bw>e26V~1I@n5^nal#)HcIi%N$WKw0S*@W z_;;!2C9bDE0cnLEJNL|6?bp&R`8qqODR#?gix;LZIAkce#rL{2jQCc+F?ghPd0+&S zAJ8-76>I^f2Hsg!>z_BCH~}!zeTusk{FX}Tsrg1%2=W4K=BtsLdD84`Qi+=I-3|u4 zL8DWeU5kBS*s=S@f>NuUE2*o|z?&EouFASv{Xuc207i}r;AeXm*+zMtuE}bA=|CDC z&(tgZn7?owDLlRPoYa)d1VPKLN$CC*x>(QTW313Ew%-ysH^ftST=k7bsGB7ohOH9s zb$G2+H}9U&P=he^vjQeHL_rP%E~ly2AM3MT63m))~luPX$HJgk2-G2|+W49V=NsJ@qc{7ly9&+Y5=8^&cpz#Y}}H=S2Eo@UwvG>F=S1f#XR+7ScD zPltM?dFgNVSx~?&4Lsj{w9Jo;Ek+o8S5~4l#@2(@$0J^FQ^%JSI1!?rAtTf~X(dLl z*?oPls$>p^%Q0&<;>=Irto6EZXxMV)_Md5$wpRo!eJ9cymGc09$cUk&dzB@I)m4*P zoGjM(!6fA+^Vw(nwDmlCN(+mva+)SyBuQ#t_E%~GYqc7Jy-A55a@6&g3*%8EU82Rt zd#3F0tNWk245$L<_Cr>tMdo$48VyGM!|MxMU!KIMACZPDZarva^k)z2Y?m`UKn$8N zj`8|Iz83VS!?o{@2sv21FK3?5z9=P&WRG^Rbi0lYeteX(jDIf9)fLc{N>hoiHdHS` zP}SuVw|Z|3=bZifP|QulowX{Co1@*H%9uMjNkh8cWrvp|{!v3z?gxK8J!zbija^LP zUZT^54kP9jE4=oV_#)fOrT)zFjoO)brHAl%n_FGE$vF!3M(*#RJNT?g4b~I)D|vjd zN8L{m?KMRclNp2*y`k$)XmWX@3$xl|V&suNgV$?G&>TFZ1>SJpU1iUf&}?mb>-vvI z_k)~(4YGJu?FdDoH-T!yduxAT!<*~2h!%?q+#EJH$`(Bz5ufYliD?I_mp-31$&RTq z2#YK%?TESCcqcrrLo(VY@TWb{3Cbt`NW049nq|~}HQzqGo_f9vyU2F;?dIp1ku@U@ zmgTh&@m3LBREKsH5_5Ft3fIi>0Flg+0FV>uA1(GH@UN!WXw@>Zv=;3__f^ChSk)dx zlq8sy#V$3jCKZR(L`os|a<4}a;BJtP;AI(&+O`ck@#$wkPy09I=rrb>a@;sm*w!G$cpv`-4ALS! zVF(I;**JkuNb*yyB(uvUYq%`Y71m9`xG8*w#_X`1!?KO96DaZP64w|5FQa(x^}yK2+{x%=f}b;zT{X+j zMpQ$tesT#5-45J@hFk(4y3~hV=~6kMhM*(2+Nzcrw&n9v7h&jKGE^(|W^(x4!bsG| zHw5rX(u*idE4oI6>;7FLcP-6#1Q;I|!V#k64D5$-ISKJvM0W<dCJ;l{ff=*Xy(Z%8wQ;2c8BaXCUD6=$}96FrllWBvuC6D#|1spYqSnCxH63- zioc{a?(le5D!sIL`GeGD^&qsKHQK+n%T&o*goR;Q(1@kjMqS}!mEZa3{c8W}{cQE8 zl8R$I<8M2Lcobi>iI(}5KRl`28^WcImi76176|I@PQo+?gIJ0-Kskbq)_tA$2nhzq zva+Z)>M&b!bklDfO^#s%zq7PX-+-pUt&(mORm?|P^K_Vy#yXk-pT0T^dT)Z4Uzcq; z;U&zoJ)8Fzb9Ip~^Bi55}bx*P2upVqc9 zcGd$P3`z@A&u&_(&I~lZ(96%-$wIf(c&4Lj(Ws|qG_3|z`!O&+JF-enNwU!+}kGn&wljm_ZK(h zHZGC*Yb5iRD-`NbFg@<6|7uNL1NFj@lXvLe|}Lpiy8^!>dAQ58)X&@QKYCxzRpCCR`fY}L%K_JpnZn9eRh8W>+oe+w3pHh& z)fS>#!tXAV#n(pl3s+|z#YD5;{Tueq&?PH11cu6j~_%#y5voHoHTnC6r~cJ9w( zkyM6Xo{l$zZ$lBL7DgxosglkwQ#ajFJnmQcibO1LHQV?`GPMtEoS8|hsI>~2!8pyX zJ8eMMwkrP^Lp}Mf5NxXW0-eH?+t zxhTkqOGW*$SS?nZP{KN$KWyWANWGQZ@WvX7Dsf7jTr)>rg=u;f{-E@?(80OyD_+Ls zm!{p@V*8uBD!5Q5(zX`9f1Pk#$>?`A!8c=?UeycLS3A48G-&nK(JXp;tVxp)ZbCjY z$#(YdzsMy7UZEEK<h*+u>|Y~>{%nU835%Wr&|=62z; zaEJev&{JCSyKP=*(_vLR*IS{@Q9~+sdh$Vk@^pj^ro;>jyh8&a8$RsG@pab0$3)wq zg6Pr@EzhLE)MX6RAO6OEnZ6i+V|JwvEkP~3C_J-;b{voxI-xbpm-rlT?bfB)Im>gvAX8J`i^}#bL!+S7JFy#{Bu-3(n{Z*a3n6O1lb(zYPqFKD_QvHSpv$gmh*PQK6k zrNyX@eLnRWUBEmWyc@vxo z=K>Ufj9pRs7N``PCI@tlSU5Id>bJ7AP8PrWX%UO^S8#w2XN#ipZnHwqeE+p?&V)0I z9_?tmqy?%{>W#6;B>ljQ-gu_>P2h}4DzvQz8LaV)`QN5Eck8E0{B3=n3tpZ@jaKMUpZQVyC)=xxJL?VV1eO4Y`yn+`<}UCY(cJ5Vj{*v;ZhM-{7Rr3p^3 zr;pp+^vdjCtL)RCX6KGjC!Yj(@_lU5!gR86vRO`Xr`D|NZtcE{=GLdTdX4lG7yAXj zEp?BK%hL%N(_`H^?x*x6Rkb;-EaQDC);0a{`vR%$pd3=;A_Lh8) z1p4d50`IVvbwThT_p#hfP@3&uSH4pYKdEIWIg3@5TRwwjyw2~S87BULqiMeI>+Ayf zcE}=3-gUGvT(zAlwe&05s7?>u{M`|?QT(6Bb5)(8+^3gL{2CD33l+SYC#P3X+HTN6 z&-_g;voEUA1#P)TDkuijy*Q%%`=6s7mwi@&=gHmvIoI)${N*f|`oljLUGB3BhMZ|; z_-6~?T=FW-Q@-D2_y5YO-1>Fvr|e^SU42;dp(af|@99`Jrs$A<=MbBaEf!jk z7=>^xqR(FJl{WX2XQzX&t)V8YY(lpZXhA%uO(t%m$u&?{EAEe!`Kj%dI#+jpc}x9> z>U47WWf3(WS`U-bbRql8%yPO(vlfp}>_pbZpO*K06o+k2|x~T_lGPy)Ws&i33lc8PFt{ypV zt)Xf)!WS6D#ax3xqPj{i+eQ}FB}U;BVfCIGwO-?h_cxIK-H(#B>Lb9;tj?uVpL#o# z8g5%RHcgz_Uwpn$e^O04+`y$T*jHkOtu=l=ZKTXT2#g=gzrf8Xo}_2g_uUf^)0SuY z@GnhzykALNA^!w_caihbHbUCB9Z@tLqvTXE_AOq~&=ozt^ew&`p1NQ&bO{?$376{d zEU!?1&Bt+FL(kAGTCGQ*L8+(fD(A+j=2W#JCPYl@p=}c(hGpe0MWEs~xfugG7_XhyNO!Ntq&>(trTv>l*N{<3!jGf{lkw(0s}U;?x1Y~5#;v52 z7p}&P`t@&|IJbN%J7Z0*zQFdPU1wbIN1)3`e^E^840vrfSb=WI{b}h6bNL;EiFOeC zeWiyZB7cZWPULpXGnP%e{6XR<)pJ2ONb^t10+Q9;suU+Vph!6Xnv8dq18DVhAs4UU z5Dp-Mk+%nPxo4)2Vw^sCAOCS^wp~;be^sA#Yf0OPyjPNr%17C!$<|Pv__SfOhv1#K zwmkAaJ^1OOSMAv1(KF6dQ8q*(l9UuwaFXA0CDlzEg9V_vMSYTQLmWXZbs5fKnsZ?; z7so_$3w``Mgx4_ou#`?=P56`7_ll2A5i))J1$5@!vB%%(>o`+F7l%FHbDTO0VD{FN zWc3oUycDi%11n?MzN+tatRMZg_}|m+mN|sk3xwU-OESdjt~0 zSS*t?)p8iKZr~A|r{O9w9M`~A73>L;zi+ijl)_5!gq2%gWZabHdJ=W&8Pb+R<^4F6 zhkA0woug8FGt`@XU53S(hpb&E+0%6b-+^B@5EVmPx-vfYyl#7e!&LAW4fV#CFfN6p z%q7Fg8`4$0Zh~WW?sUPnqiZq>5>?MAD%OzIwy($P4oddn@#eE@FeDtfRwVyG7;uq# zc$OFY&Q^!lrnqM*&chk?zI~6r7q3&T29N6-oE{YkJh-X1D(1PVFksW#OP5MnvT(XX zf%mTt)+xF`zO+>&BL5gPzRl;nn6`|n&#Rz9P<-vwJ#;FX`RD_s zJ1ZEuTWm<9O7U{!ukIN)n6_(9J>ue@`RCs*P9(;N0~P3qK&^rsvo*n{}&{&12lU&@?r7{~OrZGDhojFhU*ZV&!fQwVmg++MlZ zWZo$*VJ5^Dqm%f=$f)OllV&irX{@r%jw(?QG?dCUR7O-OhEq( zdzf5NwsxMO47{UM^m!%wfXP0PwSm9TGqKtil`43x?#GWWi-L0(J?)dsj@hxt?XZWZ>nMl7y-U;WMwQXyQ%aRMasx#0vd10D)I0uDI*ip!I1GZ zYw5`jhchOvY=@6Q+3t%xRd$hnc(Q(y0r@+*vRk*Ibk=g9 zSI{SSh;iXsU8}X!yIvyW5}gK5n_Wd{A12D-W897L3g&(a;+er&g$8?Nd{yU4m25Pe zx#DmV4p?+~2VsdTDYnyyqfNB2zhubwVr!V ze;NnW%e>Kem#^Ee8P7Tl;K@Jec<2>oGE&m%sQJEzjZ@999ci1K1Hj-lV|BuK&a5Ib6QXoX~BxQ(OC=eTDvig&PR)HLj0Q*9hB43F!1}qgar*m)qis5t+M>%}F0#DO+qVJ=~%MhH_!1El*AEQN{w!sX@~wAV#ydzVdmEd5e*NOYnyr!WiND`jx3 z428%>3{VtFA2-U%OwUQ7p#YX~q#Kp{*CO#N9z12AXECvq)~|52irit8AUk1<9%N6> ze^JhK%5~FfTFT3t++l7M$6<;_JQfxR^ZM71Bns$ZJSddN$%_&*J%ICcGJ&HCrMmhG z++ntq#@6Um0OL^)Wg<<8u8K~De?Quyrx*{3aa4R1H#5Dz@v*&)jq*g;=OO>*1k3qt zLkcYbIx2~dyZAea`oM2rC&|@b}~5gn<2MPyOR-G zQho)|EM>K)Rk7-mM(S>dRnNBuRx8%f&@V!a;vKuZ+^3QtqtRn81D&AGM!Dfdd+>P3 zdv(9{Dg1EXg?vA=OBb2a{0M9CalsA1qH3oS+<;BBL_-aMP-`$%Z+^=DRG2bcBqC30 zzaeMyWq`9ms)M+vVU|l$cV6ERV}Ki7kh(}*%E>3`Ah$S!xo#{-+0E0dB8gsZ^kMIJ z{6tV8p&&4(u|p}eIZb!w09lIlZOCltk*p4QcvGoZ&h_K-?g4?60mrCXY(kS=(|W?I zXs3gTf-VFob0&pkCvM%ynEyIt;T;N@d|s9LRE$%1(7V=)XQ4XjZ7D_WunCjAfV0-0 z)0%s%uU~GRxa23OwJzm2{8nAB&d%wbjPb;9j?}@^L3qOrO{vuOK7>b~C#zoKH>FYy zR}m*um3mX@jnb$NT944<;7YoASgp7#uP-knP;c?c7eYx;U-!Y}%E3{pXJUY@@Ac8t z6jGXnhvQoM{gm#YA1LH2*to3fh5zs+(*h+g&Ff;F>n?_QkEI%#>%^Bqi3jdxrhmM9H(==2r`&lW3cL5 z+fUy&8RG)sO^h5+5JcFy49IOx<`B-tHw9MNH2I)spIDKC6K@_ySwu&7w_kTPndLqA zpOvp^)Q0JG*cUtZtEboKsRyj0QRXwZaF$`8dDdF2FQIrpA^el&N`rLnh=~|5M-PvV zFq-fB!FOhE!Y#TWd$kDDXcq1=xQk9dw2de6e7u22vqKVs&ZWFXX%l8T`$Fc4cR92f zWU3l^a8$W{?$o^e(hT1&Ez-R03h;C;yRMsVFZ)ce9_a+gi!?Zpj?d}tSeX#r&+No_ z9{dU(ryKB?@nM-^u-wxC{W-qUGTf75&vVm;FV?atpyZKt6R?q#>H6F?S)lTxNND1 ztW8Ln85DLmc){J-c-ZNyoT6*=u?|#cHQ1LaKT)=(TwbZ=?(yVIqV735b5Xjb-eH^t zsCr7Y+YDM&Q#aW{-aF9KSlZaV6C-8f$r>>p%)&pBUWqE zyocRI`(AeOF1pE+m_gACq&Ks-DdGMZ89`57jZVE05kzP|MP+)>s zz3uMiA)USBNVvQ26*jbgAvqrlgsV7i!5Vv)_=`RJmA_*C)u{L0 zZn}_z?U*)84XFA94 z6xDTs^}Oy2T)7Lg=_@3cU6PU_O$x2jOnevB3z}ucG<}nI)mmZG91^Hc^t@D*h&C34t!kx0@SnPx^-}M< z9^7Hh6gt-ET?Vl;VU*x9VToQpxr3wvP(u5`NS)l0Q1E}go1zE9?3uYgpP>Y)OmgK9 zd+hn1k22PeI`N~th~F?8PlnNqlFuY484daIr}y?g1w<==hZ96A8Mo~z{KFABZ@@*= z2t^8?Io=u^6WN@YVoIDA$0a98(eD2Xx>c5~U2Ab&7m)8MkgBZQ+lpPr5PXJ*;!V83 zq1Ir>BmR%StE#KkI$PE=)A+m8HVmf>mlc(dTbqs^5_PG}DM?$x8p=s%m#WLgN@xXq zM(>o??rpG#Pu0d7#Fv>{*G?G>dx%DqmZb5JuMb_@q7SFNMX5-J-9iH;c_IA!n`X`@ zG!g0)i!Vp)r*l&I* zA;cF}!QFdCHMMnZ!`Q$Q;3y(Z1eGEk=^e{aIw&my0i;U{p-TyHjDkp&79o^d zY0?6Ok^lk*q=w#0fY7B&m;P-qocnqIeZSuEjQ0;?gzT)f_A0YnbIxnE&!fWQa|qL% zn^Mm%l1=FjtgWl$hNb1erB~#x`R0aydqbXz)3}k3)8@t!7yrM(1;83tGYZR5W#)ZI z`)AKVz+*3+w-29D^uPJz2-q(e*@&cJDz+QW;>b1*#B|JrANtb#e?$r#DW9SOu8~i? z(%5}TuFPvxrl)7Nt3OPFY2{#?LV;|HR?ML$VE-YDkF9R3P^j(7!77CU8S|2zH!=z$ zEFbJpD3F~{pLruKz#4ZZ_W&LX^^^KN^k?FVimDJz1_{@ygvsYR*U3U1AL{hGocuku zD)lp9e>0v+tA3fA6<59^$)3)^W~=&>yPUpy@a{sXF63lfQmL6$Zh*>9s*IJ(`92}H__4~S zD59)Tw|ft{Hm_J9)jUjTQ}cxnp*BQYFF%?nh1kjrmF3){FvzG+S?y^3dhO49L#<&# z*w&9$ytC+5MPb@+Vr;M9s)5=B$|pdAc{gU8zlG_!Uju1+xNOe!Tfm0MV&UnoW`>Ns zSOU=)(-vkA1pT^7{!%p>V_f_N%Y|}0*J+!0(E1V*LUI|pZCn4C*)yr^%4~fdY2FKz z6^&kWm{}%$!viS{)aKRh(M&s2tuDiFj0#Mba3_o2unoYe z<(|<`*SeNmnBzO`sBBFaXR1;+mm3y_UgJ`HT4bwRM>>TrMnGsqXmQJx?QWUq1$55z z;?^gY`P=#;A1b5}Mw4Rz%K zUq$fsn>;qsxXxm~__0mHzzNIxAxJ^W??{ilw~$_m>fUh~?-m<o8wHfV(vdFbwHqU*T6je%yS?;E-E2Abc;?ffwCO|aFNq>3F# zO}GC$H_85;Ek&53QTexp-%9tT22(a2=+b4ygLITMV&YS%8mgvw|7|v|K2hpB?B^cy zBT;i)wBp{xi|mJ9Dq(itSy~rcZETwoBtT?WU|I%49!sW^bZ|Cn5Z*;>{*@pEL zP>QC{vFoMwk~AX*nTbC$C`0?EpGqffZf%&oSDvtgSv>-&|QB=shb&`p=RJMHi4L!xZ?s=|T3liFPX1jh%K{dk&@$b@7gr(fcom2;pUT$hziKjS~ zr^2{}&Z31RvK4|Sp_N*bVPpX4IQUP-Aj3BDb`AoBE|I~AuI=eZTok5f$g(Nb$r%1} z7#aW=PA5@s#|_7@IU)6-#On6R(6QI=6YfnKK*_oQ+u5Icg^#T>rq-?8ce328wQ2me zSBQ6F;O*$(f!Ys52^PwD|B+kaT!(LEODz*;CUaDx%zk<1EzQ9q#$#t?>#Q{nScyry z+Q~H<*R+B;43+*oczbTpoGKpPSt;(bXd?GG$XQ`H0xqP{9*_kjUoP#dn`??iVX$K!^Kc%L+F+ad~$CsWsr%usQ*3Y z0{{BZ@C&+ScC4_Ty%TAhpK(9ibkYdf@IQL=yzG<1+8HQP-WD?I{UDCPF@Ya-*0Po~ z#B6Mow7+3As_ylC=(NiWZo#jn*pMpD+_MdT2>dv{=B zG*6>&8sA113jS`2MAhgo4nghG2k(2*&W(b%9(I}iq#1-~;7#ja@G%HUrc2_?y)NE2 z_2Dg{?W~66mI-Fsee$ubycu2Ay#MA?ZKOF2OSV0Xehw!Z+m;R7a!^mEM{_>s&&&$# z`7v*$6i`qx{Ax{tVYr~mk{T+}EBwjM3r)Nk)&r4Km*_BPz$J>~Y7$u{=Ata2(J9cS zM;nwjA5^o0C7vupofe<(L9E=r&T(Sk|14JWQuYhP);>2GaI$bQRUT03O_?v>ZGoOo z=fMzHIz;Kc#uWk&61YTP!X*D4m29GM>gubPR)R<;c%jpRuGd|-&SWrNFDjLu)>%QX z@u|$DVV9ch%jDLe1FeHg3!)`sv$9@wq_kM!l$pbg)%`Z7C39CAEIwR3f3%OWZrECy zt#q$#ufXf|@2W(z5W3iqhg)VkNnA)BmmseN+aRvyU;LFt`!#+JEAaFK#w0h9Eon;6 zyZ@RfgM*hLuEgnS+A;}Qqq(TA3a4ENe*V{2JPA_Lrf76^u{3se9_vGp_5@Kf@Os3$8{L2O>?}pFBK2gtJ z3i#1HH4Uk!Mwg0bxj-2Zd|E^6a(O9q1>OV21OH(|V}J^m&4~mMZM&Bk)5t8AXJ$#n zf(n6RK-dG~73Iaa|FWf{^TsYob&e^qhDY&`b14c5hh-HTgm(wy#V=8M%Kn-3LE|y7 zPe?}HZ_GE_(2dLzJjwU5=|~UyjBqjJ1CwrLF*h1u`k1>g8Ck*2|H!J9B_>Z)Pn+{{ z?QLLCzNzE)g3CX{G*PVnKVC+@<0)Nd{DyDRNhesA?&=|;cMYr}(n36&)dOEz#4Gj+ zWnPZX6at~$T+fF9N$Ivyfu4CG@p_i zyFF)@(Zys`!?&EQdR`KXQreep&BXDGS`%_%Kkf zm(}WEMv8b@lp#23F)2qceF0(*sh@lOb=EoopFz9Y@%J2CSG$IPFUis+S@w?o*MT5p z#89H_v^CE+VcZWHgWe$}MhO7)OL(ctMm(J#Fg$%zsA?WwO*1B?f*ml27eAYxtDEmm zKR^-sck?3@p6!0rI4d}Edpu9}@2XVS%=w^!4w4G_U9{k1TUaU!IR~j<>B%fxWKWNE zGpRbEniF31i1X4-^7hDd@+iMb^Sz(^NaaTC!?1IQl%}j?PpC^$z{KeLc@iJ_7zyrf z#Yh!q><#Iu%sDv#`iSDlap`c zyU?Z5wGaqxRYMT^mj(qzqztyD65Axe0O>{1A4#+B3}4tOPVOUkH|*4D#6yD*GQ|C8 z|GA4$Tf!IAui8_Be_tBR@+@?bUgC|+g7gXztGUkozW8T8e09fWEcc4jQtFJ>R=?z2 zGSiY69Lkjzms-%WkUB`f=P9ua8fbX5eYDubjM>Iv51xwzM3BvwARrlzy=m*cr=(8n zO1WzZ+|?4GNYyM^ytiA5k44LOFPYet4zIt2{USS#I{{U;`gxU*M|4C1pZ=DBnZ^$^ zEOqbk?jjBx(Z(8MiwOIv5?$`@ze_u84-R3&eQK_YbrdUPAZdHvD59=je7-)+z^x*y z($yF}^NRO(Azs>PVV~3(0%}{LeI?c`DJZ7dDjSv)z~{>9Z^zMU__ zGpSsPltlOGy~nF44GDw%in=5z<9qzhb#^hM7$I|xz<@8H&V9Eb+dJ~R;RvsX$zg1X zdXAzMi3h?dpB`Jj3oR0KHxYCgVU%EvvaJNJ`0)f2FU*cr{0lq7t#I>zbha#G0e2t)n zZr#0Y%qk=gQse=C+WPoB!oJ3v)Aj4C=9qUgcI}tjPm?qIw_m!X=zU8bHd|Zx9Ah;{ z6Sif#SH04wM!11hO0Pl8Q+r)hols?74z#Z6Sk$w~Dap(Wg{E>3# zRHvl{XT7I7oIlA1T+WZ-Pon|f!(d8qQGu!*=g3f6FZM|-sE}&FRAx~vF|C=zoKXEu;;EcY}(n$S*s-MXKZ^IeH7 z#o6F$7TH++EdG9RfwAo$@SVP<@o!hsmLWb(@(ChaTfd17)Pf#^libKm=u^-#4cXF) zu9_UC0Vm{cd|L@tTgOLFPirQ`4-DT`FoO+N!vKmNcp-Z8 z@mjI1x93-Ad55pQPse+#Qkbb9qIfvYIsWyK}fU^2U{9icZzXu4fd?+@GljWexYS z>sokYAHDc^(`6^Ro+I|E{m(_zXvrJRCYQDu4XeS}?7X_Dv}$3~o3;6@BX85fe30)F zKd*5pA}zz~uj_px3C_w$$0JMRlfkG?346?tZm>^r%NVEok>=*Am5$d0hh(XT5$emw zVI$Q&b99YTAc`!G{C2ncFy^c#fY@3qgx0Bx*qfI&GUR7BXT)4nu+7sM!dfW4_Azj= z+H#Qjq#Ira2~)JC7IdBARisM!O3O5Txonfks2{~?)wvn}?ON`~Eft;V61EJH0iuSW zCXW*>rKd8N*xKTjU7jo$yfxJKp#koT>tjpf@Bf<}64a&00>`8(WB zKWvvW=dR(dl2`GolQC|$-98tgu3EMW+^eC=3w5!J>KYr;Tp69wV_g=iJH(TS>|vd~ zg=w1InpB8&@&7biFLHG99~LnZGX$-Fu=a=Nb%q_N?+Mcsp+wgQTb>G*5?nDfmgldL%<$(xZS`Q2 z&4E2=4hwa0&%$0eS0~)N?EeZw6SHgm$cwMH1PCtz=u`IuQ#iobmF4Ai_r22sRBwJ!m7tX50Ew5KTE96?*7^%xcxSrw{bHIPehu&O$k)1jmkx#*7nfoIpi#;rvaI_M3s;E5mS;wZ4TQeOOK?@RueW`mp;<226fv(G*~5>JBS(L zFN_;4fwrN+i%+Q0*r06UrbVkuei+_ejT)^eE~O@^;+mOn)Rbz|K#A=UhKt
=`3uvwmFet7m|1)YQsz@xJU9R-{Y<6^^5OV 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%0AZ>XGnLhqOlGn zB0_n1rTC?}MXi<}VgLoiV|1#UJ9=QDhe5Q z+RQy6UNI(R6}Hy@Fu2j4x_)OJ!0l~bb$d?McBeu9I6t!^dFLk>mTF%qV85=bS!--| za$%zr?&`LwuAEY%VkP=ai%FcPYj}xa$@a&V2RXw@eEjB7p}8LWKSG2PqgraS6#SK` zS6O?TMVYtWfdPhip2|YgtZhH)rUU+c4uk+9(Bk8Qk@sqL|AvE(FuW>s&y{0Nchk@U zmS>)tb-nKp#S=8lsSo;3=GL)KvGdMp$Ve$wP&R0y5$|H#*ktV3p7m~_gM|EkBpH$JW`1J^vyY(dR$5drYc zDCC#bI)X6*8JJBW3K-k%y12O@rV1idEQ2-m}l3u1hLcXbNPe6l4J)0uc#?2`B7y>wtp?}*CQ z*>@Z95J%E{BAI#N2G?z^vQMMy@o0v+ZHhQd#<`3xY24blPg^w&5;rP|KYd+T>gnu0 zF5eqjlkctAZ9^)KoP|%tuas|RGr0>gayE_rpyR(Zt2nh?Ez2g$?y5pC4by@`w<0EW ze4T1!Hfns<<%n8tDXqiijeF+rMLMeHImsiPicfU0bM;T?7#MSwP1GIME>hPKQ65q1 zOTDc&8St%mg_j$P2K1iI6cB6?2$xLZlxrd@g@rDt+2U)cXduFT$F0GHoQ1rJ#xrJ`jcgeaEoi0@dgO6H!_E`C=O)*UC3e!d0 z`q9<9NJ*ff&Xm2E__?QM14EW^#kHx=uSo}-{{*#UwcFsE?h5_H4#>!*mc1Nu^ufS_ z=}3;)$-rt8uSBFBy+26BOCM>gK(JN95e8mLBJY6a;z^qfff zvSf^%8|#**=l2e3YF2-DZf@4Y%;Wy>~<(HV%+xzh8)`1Q>=L{mekd3UV-t6M^7@~Z{FsXKLfHYwUN-pNH&y_k z8F9-6$KeZ>^b3#+3aI|BYNMtB)Q*#kxtp zs;aN&mVGlrpVAyQD{QsodIB%yo|qJ>{ki1wl_JXF*gTGk_;Sxiy}Q@R*R{JY_K7aF z^Oaj>xy1~%P9MB;-Dp1D&28>T%vi`s_tMW~BBI*}yEpHA_2E?{V7ILT?P8;ut7#c7 zKO)w;Z`?2YkFyO4@c6GTy7tDk26S?Eo%0i2fSkpQAjjxvd(re#Sy$0I)j;huZtQAz ziSQHd8@`!$8WJ+07p*_tjTG=4Ro2(>HZX)-$^M@@xZzRrfg8ADm5Fmj3!RF*@y_0Ps*S;E$UC;x`?TXpvJSX6opX_nHZD_xgYT*!`Ic{&$7{H_!DM_?@d>>#=*d zbguj0n1om?vZ4r1+LPuwmA#+)*UIDP8Da^n;}^}@mo^;=7~U1;XJ|5_vVbtV@ill=fx!EXRS zx*VN5#dN!$`^&U0)BZP>_;sJ0+s7^8L{KTy_1X~tsnG37QdTc@2BhZqd;2M-PdQbZ zrXCoQt@;$?M*5c)08}8=rS==xB|F{fnmT{!-S)ehKVg>NcGIHw*oBF3N;|)GYXGP4 zPafBjJT5U*7k>E}ELaJ}Mzp+(is~simem#Y-gA&a8$Eyi7XZglPW$UA5UHJlJ3uTX zfQj{sp#Cd306JO`{y4bh_30x3{=!ni|22TAAOTz;@V9$$_fHZ=Am%4YC9d?LJP|(e zY{8P^91-6_MM6|j65zk5vj#Rc9%f~LeorNeI7uo1+#@~hkVF^D0rd4TqWKaqX6ht~ zA21jt@xR+7mOd#!2=g4wC{04NkECaV0skeE)#tbW7Y1vj3v5ioVAN-3XBXS!1Xxgq zqu%z%RDuD2&+e2IsQ~N)(CKykLZgO4&HNYpaHQR6#lE6e?~T2Ety z1&DOI+LJe@t8M)J#lDh2`4=jbo*M*Go0*y6-0HcZ?~Qra5ds9G@>8X6*)` zvH%f?GQo%dSH_wS3n5%QlQraR>SKHvCX^L>PF|I;!6A1C@7 z8I7~IGwVYllGokG09y$)YOu;1E*h3{{+>=0_!>$gqx}Y?=YMGmS<;U~zqE%A6OT{z zVv9N4#x(w<@?5uP8Eb*u67QM7iC8j7e`(*{&5M0N59q}4x0Tl# z!rSKI7X&aj`kokfGyIl1nHJJB{nht^^(;eu>*OF(4yam&Q=g9lMKoO10@;H%ZLVgJKb{&tVg#w`C%^?Ox+%Zc6ZUcK6snG4+$6P=N#cyD*A;NajJ zmB-prccH~x{HmiF??fbM+3g7FiREkxRd(`fTIL}@V;Td#GT z9M`pdu)W0J4+4S5684S4R|7{z4FD_slLSPO&Df4g|0N22ODB1s5rF*yq9I0RQKw9; zq;Rb`-J;ssS}hHH+~)l`vVW)wAbT48fK#!gVE;n^GpR{0v>3i%9I=_lPS@_(-u+YX z!+LO9{SLj4Jo?q_Ngr@g5&73c6r~Hl1c2$60L0#a*Im=ynPHjCfG3e1t6%8$jLoimJ! zEb%)#uD(3~Xb;G6Zp^7Qk9rK9J4YduiHP!w!z7?mJB~Z{&k>n1sY7HCn2~fi4FvS} z=l|8>seb^b%&R{(J^(M9B^$qYU*c^+l10|g!T5Uj!dhAF} zwW#NSSTrSCs5c=X>UQWQE)}<&B@qhASO7*^zWk*)BW(5f0+!Z&UcJZNgwH3 zQsgH11q9xo<;~M#Q5#603K#9nuctJNcpn?v5=jgKh{g%<zaslpRi}0 ziJ}7Y5tX9#qSU9VQmdbxCd}TbBsXP-4Y^NPQ${y=cP0L()(jsMgomI*Z)5=&<-Mxd z$!KB_rtE%+nPn$0wli!$`P#Rm`&q)|9dSp!6>=(p7yi4QOe(5f^mglpheMzN=XTD| zRtfsPp$1~Hv_JXV^$Q1!jNmhCaaPMpK5(@K%31Grk4MumOOjKELJXk_0=qH92p+Tl z-S~FRq)t2Z<=EP*`>z41#aEF%o+EBj1JPIDk9hI45;_%tA1sW3Lq262vANt5yBZKl zUQY)}e^c^@u%2|^jCEgyvKyyHkn%_7hJFp`?o%ZJ3#LWJC6o(qHdAdor%6kX|NgHo zd}No{HHlr|WMikzEw3=Y>NcW$Kg_@RX8`LX_HJ5Mg;SDvJ6nC;78HT=LZ8VR{&zz7 z1$sS*Dr7JBls>bJ=Tyq2Sl)B<{#8eOmL~m zZ$u^8>Df!ANq>0|YDoZVUe5Pen<=he*2PaeiLt)Qp@77GMm3E}Cc(O@d`$?#5xHn+b7P8*IIgFM7<| zTt-m4y`f`ncJ1rk_yf9~u(TphsaQy&HR z=4ZPe)7O6c=*;$q89VG`gta5uzpT+O_LNY(Xq^+YN71RNVnruT=0l7SF)m5+o${BX)J zzwTwv*ct}!#bIu1|7pd1?!tx53o?TjF8$D4OZidPI4YPn zULQ}@vJ`QP!qqhPH7{%d?DPTr=ikh7HcH#RR86Gnr5}LGk8|Bz<#~8wvZ(Fw7hqbp zqJOO0u{t%9_TB|G#O>FehLT2o-sWJjuO`QKlEQFmsuOd^{q@D}d$MGyfExv5;4BKc zG)(NY+rO{xIcqJ+g}q0D+Db>H^Bts4>#VpmVefm;AyYH6eKEe-j-2e!{jo!qoX{_I zzs(Chqklyp2V$UxnjoP4`OVqw*^UGdE6D}F!hkoqZee_{2kTUAXYplhHP0sS1Ism-! zgYBM1JWW>6l#?M`wKQ)sjKdpXOm z6_S)q0O{5GJMoonve0XMErKADaW*a_RmO_0mXgG8^Za3P{Vp)ZBu2mEsf8Y!*w%lM zlnr=CGL@bZp|f3=oyq0@*ki!*-u8Lp)O)=+7lX(^70QR$-fc=Q4Xjcf>3^9kW9$MX znYBhHO~w-xo{&qgBz57<(?Jzw2MJb^c?t997K8gQm02K}9RElje@Bo$WYgT(oa+Me zbBT_Zs%aG4CaYe~CkdV;m$+&UVcB=MxkJfGyUCTtb!y!mD-UFFfO-Pfn1qLr2oAja zg(NvLmrWvkLU216B?p98rvgG!cANs_T_hxaH@W~8r67kydnrj^CSV?f;ns5^1^=~j z_+>yYNJuV$Vk@OEy}e%E#u?8zyIf6_e9k?ryh}@*XZEvhK;DSm(HjRK;?H+`IAlEo zhw6;=^pPWkNMH$%9}&g!;(4N-0IvD-=JPxIn{!9hz^6tcpZ;H$1WjL9HY}e`i>VNA!_ctM~ zKMoEF+4yfieueqfU--Aj{_8KsK~pfWrlDcsXeE@O_~_9&e;of;uWw^)c6N3}K1INL zY=2)AFT*AsmIipo>%6p-m6eaLWM*ZdjIKNVIY9$I-p@Xf^e~tLEXd!_8wcTBkw?MP zi;Ih_ClL!I1|D1UQ768R)%tZ4XR2`a=$A{VSV}W9v#ujC1gUsdlF`+y$Se$?f&iWOcUo?Ms@kULXo2u=6SbEo28*Z zA?fdn;ae=~wb=RqH@{gSosYpMvFzEquCNj(Yh9%sosZ{FdRMQOK5%qT3{XwXcyKrO zV8%WJtbs8UwP(RB3%hYv9&eYd7@~Pu;*Sun(*wJ2@IQJQQwFRT$Dl6gej}~^j67!> zL6?{Ds}*D?b%wpOtQw9sL1LFz;0s$Nq9gGJh-cREXu_Q#TgC@ob?Q5C1Pc?L^+5}RtZd|9K87EqS^ie=+@rYCoxB_TvZZq=&z|c2NF1B_t}md+)Twz8eo<@1 zC2K_&vA`Z^b-1jlAZn0fojp9j?zKu)SIVOduPD#k8ugD)+A6qTzb`|6hjQ?9@aBg@ zpWOJ`B(&2D`o$B;LPqtNcOKkf|%>!SnPbLii zw1@nPZoO$r9M}joZ%o(s2{DC=o)oTzw5L}WLa$md72GD{&+D6DWbpZ+=`*P{;=!pE zIaXgJ`MsxbxY4vUy!YGq0+;>giu=uvH>NFRQL6ozOl94BpcfT?^@FvhqL5p$h!G_x zNfnJ~?@WV~lhk);&F{kx^nk-I!}Y547EqKDVXh8KJ3Xz(QKSvO%TbBIH549y2*{%S zK2y+(qO5nmCaTBey7B^Zhz|)58JM2dAC|EH$eNHhUnOHE+_!{l7Qy0u=8TyT!dkZd za-ketV9$^pEXA!!Ch~F%&oDTXp3*0i_6kH3JSTBB+4fwKu6_2xn?HqQQ61d}5K+(W zSxgdtHus1(ziUaftzlMNqaEYNt7R zwW*SZyZMs2#|Mo8Pd~3cslOslU(t zeIi?$@QY=Pu#T{1k6qNu%GIpS7qDgPq*Ahyz6tP*x5$%k4F#9@7#hyDy~e~ z#yiYYS9{CB9X#tz($gPIm3sGAcuafhe>%ZVBuUBX%-WEiWaJbUW~z&(d~3 z=lX5MbB|kZz7Dz>#Cbh6=<@IMGEG6}Xv1s+lue_QmBM(QRtjXGoy~!?8hvfsg|r?z zu-e(29==vPy_xH*$)a3CXzg7&bTIP4Vi$FIiwyRRmkBkIjVXmb^c*Q%5iHc zx+ILIMpSd%oz)-R3gC-4GCCS^(kg0Vt5gno{Vh<}_awAJ{f1h-Ak|T|OJ!5}-hNvW zDF5DNb|ZV+YGEV8lQ}JTFx=Z0RDZZ*eYozzg@GRxqa(<(&O(m5nu*^w+^{}_(JBqz zgcLP+&Yc0ic-qE`7i3J~bPI z-^Uf|`|_?T(4yXDV4L_m^h|6^IO*8-v3%sCS{P_^RW$r${%gaoZ&P#CfhQ2rJkt2qz6!I^gxa4ip7dEHtieK_SFJLkV-_ZnnGohm^ z^szx&Q<#rCXzyZ(0xfN4cpcozr@ee{wMj!QG4Ya~l-RZW5mz3iNHd#3RE-ON6HtxI zSd9A4$^7h6sr5;|9^Q%fxNAR;A(}Iy+Uq27+{MXVjrKOWDY^}A&3*Oa+;Xszk>fUh zv77x%S|u-z`oo#FrIW)&D4~5U2y^N}eo(niVJ1iS4zxAfjWp>`hO56|!E-;@az)f1 zfG)m=;L6*iWL>ix4|525gl`Ab7RkZyWISqzVw1jiSBFlf9l^s>dixz!0h+pU(}Up_ zzT?<~p@nrt!3xS6Lprorq{w$(7T@QTsF8(eSm z)nX2Yt~zcY;mySyq3j?h4LQ+Ec3IL(e8IRZG;TB>i_X=&4Z7~3`aHWdt8tK^OJ=Sb zvI1W|TF+Qk35=O4jlfLi8wjMQ8k^S=Gyy3dEau3lnwhBct>9zjwU%(r6%3$cVSb|! zqMMAo{;pM~?LkC%KS#~lP8Fk3y~Kly7w1sN?bULFIOKcP^0n($dm6O@1$wy-D=EWH zGjse!C!5?2D+12!3dA^^#7}If;{z3ZLV)Aq`;W!dcP%nE0nrIfa?aoc2@d#TJb&-% z-zyp+IMWTV``UZo{Z4ZmZ#ix>YC)raBotrK5ndwmQoL$yX>WhC03@kH8_7Ih^Le61 z8h8Bqb?pACmd^*OL0k$)atNmBt+pdBp@RLjujL3c%{$Wc%ti0Ry?!JpBlX^FMeUQ( zsUjbyxje3$Y9;q24~}Cjy&WxYg=nF2*G{gYW3I}jn?TSYd0t;pwk~RGkK_k)ICMpW z)r(QQ!mc=+>v+exjr(ZJh1uK0;nq7ETtOE>Hw`LrZ1wDxLOyPaZ8T7;a=h`i7X(eO zHF~@cUu3oC=fmXY#Knf0&eVwPMkdZ7H#83W(5Z_JtMHteqbd#|!}(Y-{H76Zuk>S- zZ8aOy;>jhbs-1-7LaWGzil=OSh)`A9pi9X)y<1? zoe>|IgqqvBih=?;KFUq{$xy^;F~JXV?H0s*Yxk_fRH%Y*lLG0BZ;Ei)Y`tpEP&Eop z&PXf87bqG5xhHC)QF1I<(&&hQKxBt~)y@>k-37L^zAy>OSbVd$IG4;lIp|wOTNKV6 zBr`niZi`Bf6&D;9Vy=c6_#AHZqK5i5_Ff}roALn7TlA;N;E4))sVEuLU~qI>a{OLq z0ZioRsB+x(R++uJ2y0s?jao7Ov7VaK3cRZ+UTvi-iHDVel$>ToI+h#(qy3|?M@Y^-@F|B3IdtfxQcK2t7PX!A4^tagx4sUEPc4| zy%&YRA$(v8Zls^T@MIIa7gv4x%&>l8S)Mfq>jy*QchHKVchKvPTIH#j zFTbBH2vS}%3Om`qYY}%aQW;gK$F_;43jglHhL+Ov-D;EKL)GUIAWdK1F}x5JOCH%$ z;JGFxDl`D6*J==@u~|#H2Gu{58mB`Rp(+<@w58y-6b1V9Y$v6aS?f0VUM(~ZRm~1D z9z97;2d0EQrS5M| zDLlLa|K!7YhyUa{*y6DfAy?G3y;?X~Vt+T{=Crjp0Tt|SGt*vWWBlj?1ryUp_7KR! zn5l5j>Y9{>2lRh$wo%;YI$C)X7%+QI6iPl zvika!tM4IC%&cyOeurSvV@%+^!YoMTW7tv3Npn|wIOkdNv}#;=U%sZJ+@|2f&8MK@ zeM~+wc(8`ID8XerGzsK0-#)ZG^KoacVPh~yPn$WoWNzwE^#oeDP*ZqVyi$eu7Py3i z7w$Nn*l+ziFBeCl4dDm`LJ~e;u#wj zz-iY0;9hWd*1sP@#~RjPM7S!|@CtskWaPNNF=OQ8@yo{b0UwuQfget>5e};{Y5gDf z2-#~*y`@i@znD5wr0lrc<`hIW9K%+yn@&YX>?)ed;i97nQ)rt8+?;UtfyaKE(eXw; zzv@}!>=0PvG^60X(aK?mHCzkFq~+T*?5aIIG1ryiC`gGh^4*`&k_!Cgk_J4R)R!JR zErArJj`tujDR)^cw~uzQl`Ofiy4Q>5cYhMop+Jna{&1tMLUv~0#@CzGR!90}zLLIe zRDmi#7vXFD#qXTmD{r;4qGWs->P z;)1So!iqm7j126ys*iX+pYJ}O51Z#<2E!)~^c@6#a@8$ocfxC}1|<#6lHUE6wk`VO zZ!t0+$w9S;ORMVknLYkT~Zz#UCbHdHM z$NNigqzPtOw%EF{LIhU7K*bY>!CQ@w#EN=5P$bmebWKv6*{)7tRB4W4&&~jCi=7zc zZWa?3a@7pMJa?qZxjVCd&YAb1P9boM;{hn!^dSX9cf1URN3D>gA~xdNsz+7h2ToBzj-8EdF_-&*m$JL`#pA=@#w!%HmO*>qXeL3D9n!y3*j4{!NgO7zAB4l(Rt@>2?CHbu9@khTS}9GLtddVuVr*m1LI7#wd} zbRJVwlWlOk5z#?m3(q zwI8H>uE!(!50gh|H55naO9S~wH<5f`Eatau4lk4by?62y^GJu5TRNAi2NU;Cj0c-L zR{s!TN?7A=`9S5S<1z zeeF*T9K&{?n(GK#ahFZ(C1}!l$2aHqU>eei-p-FGlwq|`zBXx>?kaf?_*6dB@L?_* zr4Q^fJT!0<)fcIh%DY2vst{NrHxUHcj`3P{t#a6Twwy0^nX=;q5xT0(0huZ*^p{RI zg^5=!qTGE5g+m5N388{`7WPo5i8b8aV!UZDi#j+lbTHdOF;LBei$$Hj6Lp-|s@CnH z+Qu3z9MOMbkCaiLGwd2(xOZoO)$YZaQLUWaHRCRW+3wc%uv;?ZKVIu)(o}DQPV`dM@m=-3YjjMWY7n7KiQ8p1aSt8 zBf&d;*`vqfS&$;s8#l^`ja(ZOBk3Bna5vLVL2z!P0%STd+;PifwJTw&mu3xx_*e>2 z(s87vWTwl=7N_m9%?&3-ccQakgsHBE(tBK<)nvi%TJe}bWl>bC9Dd+iv6?OzJPQ?_ zXv2E&E#~E$^lYht+}B%T1qnUwd5ir+6}#?&f-ViK2$4D)JMrpyymooPL7JI=m>$D!R2Mb9Vl8D-S8K444ZFL1SobZqct$_+ z-Q9k7ao768=j|*~JPLuD%|6t;!4^WbmyuLS;i2R7qrEApw3yi^GxK+g9b7a&B}(01 zWz=W(M@d7L+hvPqI~vuni4o-4)>9v|N+I7`zN+a9-V4y|43g~{Y$DrMmY5h+WV4Uh z|2P9O`M%+v;VNhAUb5|&rKYb=mx165nzN4B;eo5qnJC6!Cgr;@Y1KC(R);RNu_j(| zqh_L&Ef{p%t>fK2EFbbh%t@%Gz&Yq%-11tz^7KQ~bd2P(ON{&hE^cV|U{PBHq94Y| z9h{E)3Njh{GA{S(yZk`hif2~qQ|IOayMR7NW@L*dK= zj^&LSf;0J>RyhK9d?{2-w0XvR2}=H3C>ph+^_D`p`(~_KjPH|&S=i=i=@t$O@DE?E zp$WI-K1E0;k)szj)re;wj+!`)+J_>BDnFG?F}?@6uJrJQ)-JTk;i^GNO|7=qq*(H+Iwg;RNBk8Hj&uwj)Z8E(&Ll z!T3;hNY+gSGZ^X8n$c*XR#nxd%o%Zo8o^n?dH!acgW~r0t0>Xz+a6q< zc5!hMitzb&?rV?1n+5Bt6&<0N&YP*0=CzJ|{Vx#AI%0Pft_-GFyiMG5N>uV;?Xa-P zus&|$?9vg0j#sORuAxMRVhy_O^9&NJBhJZ^L$u~h+}b2O)`Bk!S8SdKjSf)7m;??N02+ zpm!U1kk9M~2F>{P>bcU416!3pd%cCM^Jmdb8;MI#X=Qb0YTfb1gI_r1-?W2R#*(pMi3?v^i1+ki3z9ci3Jo-{N5H23-T(1o`l&QMeOO|n~S z!P{s)bTB=KX=ef3Gm!^|V(%B7w%Sm;TFpU;P#^jT?|VYa-cma&?vmy)7WDRtbhW*Z zZl@So0`7J(l7Lsvohp8*Ujd8V+mN%vim1YC1n5lZAfZ#oixC-q@e$1<-)*1XH+8gY zvq4N@(jI{B%rVlu;evb}SsW@}nQ{MAB2qe^$WXzx2zJxSRGFn^O+xb2u z6P;M9I!0vJKy2?L-x|1L^M-&#xOQs{6DwTLlO4vuKy3%LG|E&-3Zk5HrmG=S4*96J zi|(0Xdt%Tb0CI7_(aqVE=^M2jbubq^-!kqK%!K!UnGRstES2r_`^HdbEd5*y8bbeq zH)Mg``Fqgxd^<=g*ICcx$xD?RpsDI1!`+w6QZ@W}G0OAmB)7R|n+}o!aYK0aVy{gI z=#It?MTkEV>^ium4yL6@p|NpW4weuz3_G9U?E3-+tsN1Ci61%E_Q)+b?61c!U*E*x zi=77JBG@Z*Erb$-;%`I16IfFUqkZ35i=>mfL~jq1**c!sT98VX=LB-|fwREcBd4J; z_icG;^ip=l!Xcs9*IWmE#2s?2D5aym2(U>4{MjEAKcJ@3MnSxz)+TK=Xp_hG*P@s& z=TrX*L121{fqioL@0rVZQCR`Q$kL8nOK|CJb2>9Oc9>`<=lG>jHm+73aYJV0qDI{L z!M1E{#MRx1uqYaOIhV*ONDc1@wJxJqf+s6=nZ1(hHj+JI{88k`d#IPIR;M&Bz!}Zt;sIiwFS;g+TH( z@ppB{uT)+2;Tp`IuBNjiSET7sg=45=M5M`7-?w&?!yj2*Q%<8xNx_2%b26=%ibDb- zQHK^ipkgR?ad$k zfx~kwdux9&wqFN)iwhU`Ml=+sOom&StTw~6CZcvi)sXJbX7@fRJ?$=l$$#hwUhEy7 z%2l_>hq!j~CE=M=VBRmBBIkjUcRcRLV&^z#YmRm?KcC>-@`ikNM(#@so<&ZtE7CFO zdOkUgEZkmz<1pssB0{9M4ki!3qGv&G_C0g-HOb$r_TS_%el*zY@;RP`EJ5_|&oS);s-mLf zWQQ|SSw97y!mBjA-fV_1jeB!utd`72mR zT^b2Uo0qh6%djC=0WlW!j-Euqm@>gcr;{&qp~#KtUQ#^+l8(+olI>0OvK6fo|^)!ps;88@TCUVnQne+S88^ZcGfMWUjM2b*(f>e#pI zyA!3h|`|_Hw8?6)Xn%it0cQOsM-_2(Y6E0@rtL8fKJ&*J( z75_muUV*vcb9blcQ`IEJ>&~y;f7a!V(Fm_SLo6i${T@=jKBs{tfM53*+ zYM-}X0sh0(%pm3!x`RwhP8RKQN3Jlqu|pWtJ2`ZaqhuaAr&B`s=3)-cocb0OV`A>1 zMoWQ|5@M|z+CeTfuYmYVt0Zo{7;rHfvk#F_o#ok)suAErASuaJKUCJTRYxM3%R@s6 zA~kt7aT+4|;LcrjFoj`#(dfgK=ZW4{kNM3y_jBqSDlwDKZ4;k6yx+Wi1q55w8+W~5 z7A<$Wir!Uib*EARo)BE}12V9yK<1S9c6+-8x2U-t^U98IHh(P(wZ%kCT3s#wPjX+d z*IIaMKXx^eQe|w*4~rAk8>M@#!C@4JkMlo90;PU?@|4_O{6YIphSL?ZO$eG}q22;a z%NsGmn$?)5Epby1+@2?yQfiqTp<2<|DJjVz+iSR_O`?MKuVm}I2Clm=R+YdWS@&rLPgufMEB8vt~n=uGT45}7O5nH*aP z7}_y*RjaezKQ7E_?3okTB)c-BTG=oVJ~4`jCJ5iRC~V$RcFfCNgM6@_ovu9&*&Q`H zQMcpiKip2_BH2d{@j#q+_Y&LfWWw7cVw3ks`BfdlOIl8c65ShetZN2sRV^5~I$ZE4+| z3Gb=xh{2&N{m_-5ak)+u>bZT|1L3*S@|zRT#TS=W3>asEZPUtdKELusd)0+*&mFky z(2Ad_nRxX~(opr%c#aR$ZFv~Uzcbj6LfRlq=^l~Ms)Tk}s7KYm^{Q3B&qcQqwkb-U z9kciX)ndvfw_FxYMTj;dqotR)vZgN&Byq_rr7%k=@WQL~dN-4@y5?jK6Jx|sEQ?-O zw!q--@FYEM;#D=N2fCS@%{7{;T7d2y$b39-yj}+@xA3-}78zrz=s!L5z){44?qN;w zOfu!uE$;~!F_T`C-JWgiGG8@wYASV{H&+M*lDBC^n$opVzjTJ(t$NG(8A}90pa}g* zsrs#RnEFzLU#n>89l%~jIgxJ{3Q7g%GHM1L9-#h6aW42_|cpS8-n5 zb+8uRkc)^0);X|3U_2Rlsodp{onguxd=?XPv(67d4Ln{(a-UWc&-WAnM`hg-XsLEY zAGTk9a{j$haAdsKL_+|?%S3BDu40@CsMQD*DR-=DUn}L4T%N(p4Mr?*-njy@eQMXG z!_1o!<4iUYKF%ft#-+uV#-(H@sGw{F6r3bC-$3>y|K^k8!doy+Lbe&b zGkLb%s)v#i`r1)->1AEAZJ})bruvy`^!=--7P91UVe2K_j|pMO@E$JlMlbi&k)na3 z|15Q0iQLU{@wv~07pQ>@(a@qnF~eNvXKSRg1`2_us1QCNUI23=3B^zz`*84U1mpg%7^X<%Vn` z$#5-SN8CLOT}fP*J}+&f!A5J3YmXduwl7FlSK2H*tGplJDsHi{n#YP>*{Tkmd2Apq zac7qyEqW=g>R$3_8Lu@~iXm{(8nUF=2J!UhT%*OZ^~dd>&lRb&vhIv{m(FmsegNdv z&zL8SXt+6|O)o|_{WyHHKa*QD3=1V> zEHMW~q^IKQwQJJA6C+!&_D?O<$J065&N+}47-01Z=ORq$*QCa;hJr&wWUQ3D>iHJM z0RQBan5Q#jxOFR_Io*I#B7&?<;)32H@BwI^`frbUczm4W4!%sc81FXFay~@MF$!HSd7b&a0kRh}S$LIr9&b8k;F3A&H@R6n6?G%dAHUR<-*WWC zmrDhjoIHLGBWm;VcxMOVrE5s&wG(}lDIo1P8k#6PM^XRP=1%%yvB8QQx621AASh7` ze8;f^+ZT(U@DkrFIGo<2biC=ZDW=26;>BxDUEMlWdgV6AYCI}p__w6B-dEZZJI!nO zOiJ|q!7&#)86EL*DYv(y|j{^d( z=lx`&DUAq`YDeo2(-bg1t`r7mI=-+#M0m(6QB;qFfhz zI~ia0b&^qe`Zf%M%tjx|lAG-8rHLY+Dd2jN=xdnS2HtvY4Y~+$Mz3oAEH!bSWJ!bh z>XDqt&xZH;D+aR(hvUsjuPnkdJLd165|h8{pDlWqc7fRZsYKxDpl!Ui=0Dz*zxsg{l=+e4tzQL zJBxc_UZjs^uZeu;H)#5D?hv*(W71>=66Y1eyl)#b*}2gCrr7u3tz>{Rhslr3x%Aau zSPb-Jt)pF3US>a!R5WyocQ@D7akl(^<45SEPd&_9?o*=Eo13>pc@SDF9ilh6344g% zQ3yU3CrN)0*o7T2GnA=up=$zxVxHHQx>A4fJ+6w- zBa9nD!D4i-4x?{F4nsMR(PTj3)~mm1d9EgAH?L|VcW8VGPM@2D)w`xkJZInG9+mNjh6mx)`ShO6=BCW=|VC9v@5VFh>1Lt?4BU zKG<(LBc7a{!sGLdolVK%p%6?rj^VzU%W^BvIs!M=X$GnQqDvY?K9hxxAk+&OR5cxoVtkIfZd? zhnRj%&B;k*4HaGvc|Sg<<((YS#*qhkH1jzpcHP}ptiR7rtA(uCv9pCi&{RPjS(LUr z&MBKQ7-A~sQ*5a>hzOWBr>CZRW_xB;8-b5ZtjGGHQ|0EfE?T@5-%H0`PsZ}j35s=MApa0XY_GuP|J!61OhoUdj0J^n6htcg=pWN%Bsi|J~n>+zW_X9 Bj=BH< literal 0 HcmV?d00001 diff --git a/docs/resources/images/ui_internetbanking_activation_mobile.png b/docs/resources/images/ui_internetbanking_activation_mobile.png index 9d8638dcf4f11d13657bc998f1d7d1c1ae0a45bd..e2e66119aa37d1069cd3c00b363641be1d432e1b 100644 GIT binary patch literal 329660 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

{#p!*#*4$+%8C2%dH*R?hpPJnk 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

-Au(U%!ih0a+?zyRJxI3;+B~a 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

Gw>K*>LBVxFugW~TM-k2%p|tqY^JLBa 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 G_&)*0wPF|m diff --git a/docs/resources/wireframes/powerauth.bmpr b/docs/resources/wireframes/powerauth.bmpr index 0c4b9a08aa0126f46160637fb6b4754f759f5a6d..3f5103efd3ebe7d525ee246074400b983339cc62 100644 GIT binary patch delta 77592 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

)G_~ zJ6>z{4&|B&&Y@~9A4!QlAxb!piUGDJdIcuu)LFrxY7+7qS6}$Ysp<57$LJE=PH7eX zv6rxew&gxYXCOaR2+4cYfu1xd<&l4q=aVVvOWG*mCTL|&QMVarj&3=eOFXKlk5`%d;>ECB-=;>tr}qg~<4V6aP@TEE$%cYBd6MjmBuqxpkzj4+->KK*)T((ar1^NJp0E^KgcMrv#!Y z(YOlxwjqx}lz};gc&GAvCXH0AbCLj;iHmu~AvT=a2F+~T%BxefNAtwun-1?5`_}&|YHDWWz{uk?wp5R{WRS3m=+e$|$uXnBlq z1lw#c#|E4iNrw;}V~+Vv5rvt5C${}N^Lg@1yu!*YY+ww`?u^m>pVpdui=Q)H7 zBdL<{Jl>T!7XMqAUfGc8M~<|szRH3Pvp!tNzn2(ivxhfDxE-dPhA736b;+g6tHSE( z&R>=uuUH`eJY9|`;eN&W4 z5w4e64;aJv@YU$T_mp(*J^muAiu=hf!=7TEsvgbXRn|o1slW%v z@Cv}nEVcVv&$25oqfo?;q;XYZN044AKC%AXBYwmYsUWhKoFNOtOhHNf+Zk!*xfqbc z2$>hMP8btd$NwpoX(Sy3u)O4z@6a(E95s+Cm6eOZzCOtT7#(?sBoS4zu}fqVF=5); zf=Q3)zl=q(ZAo9t(**N?Awlm|OuUZ{BzVHq-jwl%&97kXxWHE+Vl0e9b}%`83oC~N z6=XQG=S1$~1iuIHnR7ZQH%WPbQek#WcUhOF1%@ghf-FFN!vhD~h=3nYc?k;+Ds-N@ zhGud(VQE=@6V)RbNSuRFvhJ&CDson($vTNcDt%ORDKDb6wv~ynl=fyy*y%C6QK$+E;)fZZbr~MaS?K`=%0a z2s51kHj;6Yq()z}1Q}X3QIUQ_vMkjxCwO@2MNXJH@z^(u-dd~Q+W70nU%&dE7Z!cf z^wo1z26^P{iD$K+EAIHU#@edBvWd^#_1G)L)lYAZgos|X?|N|l@D1hrZ!IqV zRO7zZ3trII>NpijZ)(1!IN#fTQK{XkqziNAdYL1Ooc;CpJG{f9OD4qpeZMD$MRO}Y z-uys5&Ca!br1`C8{qEx8#peCRrQd7ZGwo;&v|&56d9)mOwAj|x_RKhR z92G(m*oZ*cc)ta31g~iRqQ-0`dHcR3$wubT2lv)zIZ#fdGqXH5WCaeVl!?o4#E-y` zv7h?-5LP7nLV}i5oB(>HLsoc9x&p|_vaAt!H{WH#{|j-#40YI5CA5Jp1vI%WmZU;w z7!QTi?I|gI<77_pd7Cz`I( z)AqA4RXYO00qPD4v=8}N5)v6}Di=epQm_0)@bgglwhvi@Kmm|g+0dN3GMz{K!~zgp zT2$Mih#Wfzfj=GMM4gW3P9=)D{+waZT@vTJ+vRULQn|7fiE^kR5tj=23MO$mtF1FV zuT19%6~yPEGUhPs(E}U(9UUBYAjR)o~yuJB{k9+r* zn-`RMW%0-#Hx?J0zLW%v1&fl2)3LL0qgUQKch%1~zt~Xb-xTM6uDP@5_)_DRV*a8O zyz@(qj})o#+PRURZN8>~_@7){bau5rt>|4m@1|m+W8VBEu)M06|A&o%x%qEse!i^d z-?rwz_?F`06Ph>7J!5C{Bh9P6zwy(xMq^>Ev9S5-xvM%F|E?_d_2La(jexuB*OcdK zpLyjUuC$c+1iLfm0by&k|8@D<6FsZd{`+H}|NFu3E?cX8;`05T$KQYV<@@FPRo%7P z&pdYbOFy!_N|39X3@a}`c>Z@)bMHehZh!3lf7@F;yQ6XE6`|zkbKO^*`{2BpV&^Bb zC(Yj*RR3KsX&x!1_N$7EuW0{B>(ZjO;-T%$mqk{7@S(Bhm+KF_DER)4vl;o1y}s>+ zV(90SK=OrW1?j)y#~Qa4D+U`cntR#S<`*jgKlj>^=B7HfpZn3`)xTMP(gUBE_mW~_ zIE>vs^w{?B>f(L<%^RNj_#_PgVwtPHYG{A)r?)qr+#32sTXEAs^RwTU+C`-H*13;u zY-ZO;3-`A!^}MLKyWZYbe05z?bsiZEpZx-+UaJ}n^ z4kOCH){@rBUAGqJXWK_wJG)-;?JrQ7Uozn}t-FuC;9unHQ*JM5{Hf$aG+y%f9E^M; zOXzr@n7_I?lN5@2=G^k;M0v9)HVoG{75``s#{aH+{k6r4kImcnk0oDJ&HQw6>Arc- zE-t;e(f*GoVBD$J*A=gNR&(mR5-?gFhYxu0ABtD~U=~`bHGJ=h7;Pn~uP-KE(|Eho zjkkV}n$*>=YRuQ_8;bc)Zm#_o)}o$kcD}KzxaJw{|E-w+-1fd===SJhpS>~a#owz? zy%i}xQ=GfEap8MasD`|9zL@{Td8_|Hb?TMM{A{uF&g2k1vS?mM@rCbe-d3#r@y6BP zR;TVPC&inJx4*IN&f?*3HLffE=n2Wr`ll4D50q^Gxnic-ysN&nbJ%Y;tSCt^H+rPnxxe|dS}}$bLR&d2O1B( zw$V1fxb(@Sk=-%a_(1FYd#);;`-({6M@AYu=YDdi@k@0}^SQ;;aN{kw@r%V>1JSMD zct^4xhqk2Q3!k31yqMS)F|}fA<8x)pztmdrr#H%MdZhK}^zFr^k*I1?oaP>RX``vp4hzQJNo9^XB%6KTkdH~a@d9X{9@L7DspO%eZ=yN0~i6feElcynpbrM(-93vbJyE&V`a z0;hgb`ClzM{!=>o?GxpHF&M!%t@D(RNQr!8` zdF{m?{Z8ZBxqCm;c%-E2VzKpiB7(PGS-)}a=Fc^jm-YX8>-^WJik*uxQ$O~*jitrT zFU`BI_~O3gfPVNB&DRwRemHj0#V<5oQ`Yc-;=V`cJ)^kq`FVWze{I}dy!FStl9%W1 zc(idtS>b;wcJ6OmP`u!e8=swv+BVdvA1wBNrvCI;eJffY|JD`7&HtmZNzXo59Qq%P z2a2ITZcNO*>P^k5`roI)6_5UPR@a|>xpCSnA9~9lG#Ycq{-p8EQoHzYN9)yp^@DR0 zf6zErFLHMS_3ydgRuLa4b-?28fplT)&l>Z~eB1wgFowd>Vth0SrEmW8?8@)^=)5;o zsw%~zxHK=r(*D01ca;hUaZp_Szq1q=jnSQNK*mRki#zhwYUK#N_b(f3Bh%VjcYgEh z#l_hWd*xp>Uiuwv!ScKEf)Mu*1#L*)vq*PKf0%N z>$jE^@A>OSUvcwq&AYL<`I{Jfp?O;~Mqcszk2an)cmA7=KPX4xW37qq7upF{Kk)K; zbn1KNt$z1#bEH9a`&e<`8=CWdE6i_5EKX3P^|gndTD-a09QuFQ1YTCotdAF$)@LQ0 ze?oKTKe_9CvV7wc#f7VyyNbto1rC+7f7U$=;XH2eZ{=z@y zvv`T&h@9H_x$kKcf0yE)YEAS~5#UoIZmRPXqnjfdjB{muE$31hw@=(r&6 zgJ;A&2{B!Mg<|gfv+S4okGY;2%W92fuU`4oxo5t$xzA8GP8R?EZO!!^wZ?PeiTdnD zXZmpF@E!q#)f(5h|Fp~ZYmIt7|Mriy?!JA|6aVMc^Z2iR`}^~$ubBU~=JQ&6ZrxP8 z?-!a2=52`^p*)jqRtNwBRjQv;<+zqOE_RhZ*vcC}ojZVBqG|lH004r45@kRE9J4I; zr>yKISx*6w>lLfEG||q zp7+%M+w1U$<)ZlWV&|KhFPOXd$Bh@%`76$scmHDU+@CbAt#fjGxxDeeiis~Z9{T(I zBo99+jsET5X|%ZK^Npwc|Mk*5_o2@;E5k@^*0%xum1yj{?3vwe^qpBiGFn9yKRI^<&$r;&aJuSpSC⪻WcZ7W6kB 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 delta 84477 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

5~h9Ouz!9mMnnh!8HSn$xmpO6vz)}d-vJk zoWfjMAqY0PGi@t#Oy4N&oXhc`d|Fq8bUbPf(vw}5aw<6*Ldh$;_cDzXpH{-dd`6ol zne-$NGAJ_rdHp=#1w)2WUwV|4M+<0f^AYOz`UX9@&0H*1HBzGke zLNdzQC{f*`+5ELks;OUX?jvhP3Ba77UNofDfdkA8_j3dB2Fh?XLY2g;r)B@y%!3TP zjB?*V4r1ycb{bi`Mkcq^Xc#_JoOc0e@_^gFcKof?C)yuP+kcK1r(>nlJ8&?ddv92f zxJutG)$$VXEkr)gNqz*3+s^sme!%;?`TyA*0p7p^>470A&=$Z5Eo5mfUlYwOkV^3} zFvhh5rFeGTWw|nZ37@G?x<^ zgsC8eZsiOSsqg`V@66vxaRo2W^{|XOki$UWfg2fuQhs2Lht=T}VzB|>XQ~P!Z%hO9 zh{q)T1O;1x>X2zs_H$N1XWBmLQ-KYFZPPXbm(;-@X6y=A-2LKD%mym{PBY!p*+-La zPZGYsqip3U-vYq%x*`h#;JM5eO(7$pBvhHlMssN)DOE>uPLw-nb`bh>K0Vhw8#+>K zWj8N|XZ=A<{h4U$Po1NdGeq|l7|$9IFBl5U)IE1xOP4E93c?Uv&u|bIk*g4?P(tCX zRW{+SR7a!J*?-IilVqi<9)NEW>QFuba@0PJ^sbHTM$*Vh?Y}+scX2aN81c#S5vkheEsL^{lV<|e_R8OQ%X(%Tw52HD(tCOAxLIGL=3s4Y%Hy+Clmu2r%IX35zOZ|UQXalhh>YE3`T1%PA3?=(zIH> z+Kcm_6hl~ffufO9)$8k|l&LHVOHq<|A&-WtS`xaAK848QH4Tm#kPvVkghOt)*tQ<| zywwtt?$wWEKlK&r{DOE*;C& zyI)d(g2jKOpZD?k$Xdz_~-OmwFlw)#_S zR7Cm+<%V=!9E3c?7%OPztt-Q$l_!klozOSjfD1c#mu%qTJ|ZcrOMLF(Dub+ zjOO|fsAAIT3|^%=iJ3YMv!}hh>?at!mu6by78Q`*qqCadujXeWCvpY%QmGRYzn85l z;#N<9_VB!*d9>Cgg!2THJZ3#d-pqc=XgD>z^=P*68*(6BeQ`rn0ziIMWJdSyXYQRx z=7dwEH71cK86#~qPnR<3UO~mnU@yH$L=Okg2d0|du2LbvjYm@?FF49T^kBdyb5uK7 zK;F~EhN;Kd&Ve|2Wjv%{weWh5wjxu9;c{y?1wfFAerS0W+FJ#GONJezGPZRfLnPuBNHGjlyT zsaF)JVbGUAmoT|1anS8%riB4I8=1+tP;a$`#}rg^F?UuT>LfTfl@em`zWg1-%xkKt z!`T_mOim!in9U&gQ7c`KJ7GW8(Q`uGGuRA{x<`^BgrrkYv6C8X@hM9jWeQ z;{td#9mjZ(UBR1L@frM5&XeV2#QB@ zv)s;w>_d+-n`07Dquj&6vsq#!A||U-7M^!moof99a%NGoEX4r%2d@MnfORq`*3}$_ z^n>J2;-jgXH=e0Hq(wjjE1V;MLL_o_H#6Im3=)RmQr<2@qO_Qe6#NOj*gN_H;Tf^d zc1}&ks+6^Y8;S&dYWH$e42}fa@Z~37E5NIO1|MbOr32&?9y$-ZHNboeZgTyg4Vqe# zc3M)#6iNl~>d#?0Vz{2Z z%NI44uC@j6$O^oH$z5@s4CitVCubsxp3lHMgjL2x7UaYfC7yY17uQH{L}gpjF!&W> zo#qBj>V;B5L|sdy67O`iq!B17GmQbzM(=*()rFcL!=1||Or~gn-Pc8k;;=9OUu}j% zxy!+diDcg}IA|BqAJqY+Dy@d2tK`hzk8;S(OqB$UI4HCI5hdR*=4oIdE#89)vMD~ZmLaoufk^sE(NHa_p;DqgGg0a|n zj>NyzCqQgwfnC3rQvnFD&$lyb@>b6>{iJ3$(p)*C!bmzJoOOu?mBT=$%bwJNR8C2; zNOri{OdV5okn3Vr=u_#-kS3S2Hy=Pi zX?^eI*eZ{=GxhYWTe)sJO^pZKxM*;6--e!vVwj@+41?5Jr0O9f@Egcs43o;jYs4T6 zo(Q}J->EQI$GU=qaWvD}-gQ364WRA!kb6?}gBISZe1X*^{=1T$ITs-_`wY&7&nemL z%kN~J-rxp#RBbL?6=q9wb!l_u;srDDFxN$UK`5e}O2$BID_p7D3ay}AXMpH(@>UO0 zR_&uTdeKyz13k=cDvzronTift=iSyC0>QH7-|j!prle&&dwC==6tFlvhMXLC)tBRq z}~>NKLtQiF0Yb5Pc9shJi%mnCFE%EKI5(eI6H%nVx`E4HL}8oWp>~n zd1mFtRzA}zScgvNNJ)1FnSpY8XM@`zRUs9GVG_g3BxK6KMt~s~91X5?QDZLtO~5F_ z1#5#lnGLy`z)F1@;AT2ol zl`P3n=3vn&Qv-;Ty((5=R>UeuG7c2ND8Qi9!{Wd;tZE`DAeV(Fagh-!lK>DJ9PW?Q zTqt)Xr`ORXVVwNWvQP%WVUqdu=d(xI3_b+=P#B5WES&6oPGRlRrV+bS5~F(bm)*eONbZEMq9TSzJ<52_ni|ZKY{849o;*J|M#`l42@f%vQ7eZW&xjosT4J^a zGdKj8P?buLUhRHnN~w={x{%51`P?gLMNnj;vfq1|QR>DSZ*|$t)woBr*42T6tgBi) zRY98-jK*UXJ(3qPL{3&TG@c>q)X|gET9TfbijYN!9J%&#+TK~xpepZ9k*>fNF6cq1 zE3GJYDLXIa5FV_9j9*A%227wA1p{2fL#_;rS+Sku6NZd3k*3b%Z}T~d$C^ix%qgbC zNps$CAjz0lG(>hS|69wL1dt@atJy#uzBcln+G`mM)wsKANvS%P2dgqd4vQHz1!3j* z&Y7G9L{o1D6ID`dCWQj@g2lDDvm~Awk-|slst$Yle#}h-X9%Mo&&_ISuA;RJWXo zszYdxJeW}$%nn!clMWS{;(1@)r3_D*k3>Qpj;G)xLWZ{wWpA;waw)ci!<9`aI+r6W z3kxsjS@#7!hG1OJa;k+VxSq?&@JLnYt8UuMgcLDzJ?sMDzBv|&U>T17j3D?P-5&|8A^co4;IDqpY<=?9M4r~)rGdePa=TKg!r{o<+^fR$`_G@ zVQ@EWnR-i!G}E)5t5eZb)(-Tfk(TPrrRKzB1+qyiVkz@9mfu3}fEd+`&`1i2N3*d| zTP~x;m1+@4##W|GuIT^Pu;x)-7b#8Ezg3RF(kUAE%#3F)t1eU82`R8n432u)1?z7g z4eoNY)YQny;Guj)d9LP~El8E)Bbhi=rtT`~0PzH3z*;sGjFjaD+2K!pTBaLS2C|ep zs!27kETV`ap*vm@Y$Rl?j!PQWa3#P4w3e6-yszv@^uvjQ-}p@SQU{l%W*f>?51SBM zz^!^AO2-P AFaQ7m From b4096c302dc9dc27300bd2a089dc8f1a0e82d454 Mon Sep 17 00:00:00 2001 From: Lubos Racansky Date: Tue, 22 Aug 2023 07:27:54 +0200 Subject: [PATCH 11/20] Fix #501: Upgrade Guava to 32 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6f01d2580..e551c357c 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ 3.1.1 3.5.0 3.2.1 - 31.1-jre + 32.1.2-jre 2.0.7 5.9.2 From d212d69c5895b12453b64e59e44712a8ebc3832f Mon Sep 17 00:00:00 2001 From: Jan Dusil <134381434+jandusil@users.noreply.github.com> Date: Tue, 22 Aug 2023 12:57:45 +0200 Subject: [PATCH 12/20] Fix #499: Add CodeQL Analysis (#500) - Add codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 75 +++++---------------------- 1 file changed, 12 insertions(+), 63 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 48843127d..d750a7154 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,73 +1,22 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. name: "CodeQL" on: + workflow_dispatch: push: - branches: [develop, master] + branches: [ 'develop', 'master', 'releases/**' ] pull_request: # The branches below must be a subset of the branches above - branches: [develop] + branches: [ 'develop', 'master', 'releases/**' ] schedule: - cron: '0 2 * * 4' jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - # Override automatic language detection by changing the below list - # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ['java'] - # Learn more... - # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: 17 - distribution: 'temurin' - cache: maven - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + codeql-analysis: + uses: wultra/wultra-infrastructure/.github/workflows/codeql-analysis.yml@develop + secrets: inherit + with: + languages: "['java']" + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support \ No newline at end of file From 01d46ff1453023b6c09707161ee1ed6f45b45f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20=C4=8Eurech?= <1719814+hvge@users.noreply.github.com> Date: Wed, 23 Aug 2023 11:12:09 +0200 Subject: [PATCH 13/20] Simplified End-2-End Encryption (#497) * Fix #493: Added classes for simple E2E encryption * Fix #498: Make shared secret incompatible between protocol versions * Fix #492: ECIES documentation update --- docs/Basic-definitions.md | 92 +- docs/Computing-and-Validating-Signatures.md | 4 +- docs/End-To-End-Encryption.md | 212 ++-- docs/MAC-Token-Based-Authentication.md | 2 +- docs/Standard-RESTful-API.md | 2 +- pom.xml | 8 + .../crypto/lib/encryptor/ClientEncryptor.java | 74 ++ .../lib/encryptor/EncryptorFactory.java | 165 +++ .../encryptor/RequestResponseValidator.java | 45 + .../crypto/lib/encryptor/ServerEncryptor.java | 88 ++ .../encryptor/ecies/ClientEciesEncryptor.java | 218 ++++ .../lib/encryptor/ecies/EciesFactory.java | 254 ----- .../ecies/EciesRequestResponseValidator.java | 95 ++ .../encryptor/ecies/ServerEciesEncryptor.java | 265 +++++ .../ecies/exception/EciesException.java | 4 +- .../ecies/model/EciesSharedInfo1.java | 80 -- .../exception/EncryptorException.java | 46 + .../lib/encryptor/model/EncryptedRequest.java | 34 + .../encryptor/model/EncryptedResponse.java | 33 + .../lib/encryptor/model/EncryptorId.java | 107 ++ .../encryptor/model/EncryptorParameters.java | 36 + .../EncryptorScope.java} | 14 +- .../lib/encryptor/model/EncryptorSecrets.java | 25 + .../model/v3/ClientEncryptorSecrets.java | 100 ++ .../model/v3/ServerEncryptorSecrets.java | 107 ++ .../powerauth/crypto/lib/util/EciesUtils.java | 96 +- .../crypto/encryption/EciesEncryptorTest.java | 598 +---------- .../encryption/GeneralEncryptorTest.java | 967 ++++++++++++++++++ powerauth-java-http/pom.xml | 5 + ...owerAuthEncryptionHttpHeaderValidator.java | 28 +- .../http/validator/ValueTypeValidator.java | 2 +- 31 files changed, 2765 insertions(+), 1041 deletions(-) create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ClientEncryptor.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/EncryptorFactory.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/RequestResponseValidator.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ServerEncryptor.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ClientEciesEncryptor.java delete mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesRequestResponseValidator.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ServerEciesEncryptor.java delete mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesSharedInfo1.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/exception/EncryptorException.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedRequest.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedResponse.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorId.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorParameters.java rename powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/{ecies/model/EciesScope.java => model/EncryptorScope.java} (71%) create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorSecrets.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ClientEncryptorSecrets.java create mode 100644 powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ServerEncryptorSecrets.java create mode 100644 powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/GeneralEncryptorTest.java diff --git a/docs/Basic-definitions.md b/docs/Basic-definitions.md index eb50db27f..1a375400b 100644 --- a/docs/Basic-definitions.md +++ b/docs/Basic-definitions.md @@ -273,28 +273,96 @@ Get last N bytes of given byte array. byte[] truncatedBytes = ByteUtils.truncate(byte[] bytes, int N); ``` -#### Get Int From Byte Array +#### Get Numbers From Byte Array -Get integer from 4 byte long byte array. +Get integer value from big endian encoded byte array. ```java int integer = ByteUtils.getInt(byte[4] bytes); ``` -#### Get Long From Byte Array - -Get long value from 8 byte long byte array. +Get long value from big endian encoded byte array. ```java long value = ByteUtils.getLong(byte[8] bytes); ``` -#### Concatenate Arrays +#### Encode Primitive Types To Byte Array + +Encode short value into byte array in big endian order. + +```java +byte[] encoded = ByteUtils.encode(short n); +``` + +Encode int value into byte array in big endian order. + +```java +byte[] encoded = ByteUtils.encode(int n); +``` + +Encode long value into byte array in big endian order. + +```java +byte[] encoded = ByteUtils.encode(long n); +``` -Concatenate two byte arrays - append `b` after `a`. +Encode string into sequence of bytes with UTF-8 encoding. ```java -byte[] result = ByteUtils.concat(byte[] a, byte[] b); +byte[] encoded = ByteUtils.encode(String s); +``` + +#### Concatenate Data + +Concatenate two or more byte arrays. + +```java +byte[] ByteUtils.concat(byte[]... args) { + byte[] result = new byte[0]; + for (byte[] component : args) { + if (component != null && component.length > 0) { + byte[] tmp = new byte[result.length + component.length]; + ByteUtils.copy(result, 0, tmp, 0, result.length); + ByteUtils.copy(component, 0, tmp, result.length, component.length); + result = tmp; + } + } + return result; +} +``` + +Concatenate multiple byte array elements and prepend the length of each element. + +```java +byte[] ByteUtils.concatWithSizes(byte[]... args) { + byte[] result = new byte[0]; + for (byte[] component : args) { + if (component != null) { + result = ByteUtils.concat(result, ByteUtils.encode(component.length), component); + } else { + result = ByteUtils.concat(result, ByteUtils.encode((int)0)); + } + } + return result; +} +``` + +Concatenate multiple string elements and prepend the length of each element. + +```java +byte[] ByteUtils.concatWithSizes(String... args) { + byte[] result = new byte[0]; + for (String component : args) { + if (component != null) { + byte[] componentBytes = ByteUtils.encode(component); + result = ByteUtils.concat(result, ByteUtils.encode(componentBytes.length), componentBytes); + } else { + result = ByteUtils.concat(result, ByteUtils.encode((int)0)); + } + } + return result; +} ``` #### Convert 32b Array to 16b @@ -320,3 +388,11 @@ Copies `length` of bytes from the specified source array of bytes, beginning at ```java ByteUtils.copy(byte[] source, int sourcePosition, byte[] destination, int destinationPosition, int length); ``` + +#### Current Time + +Get UNIX timestamp in milliseconds, since 1.1.1970. + +```java +long timestamp = Time.getTimestamp(); +``` diff --git a/docs/Computing-and-Validating-Signatures.md b/docs/Computing-and-Validating-Signatures.md index 070899cff..08a7fb547 100644 --- a/docs/Computing-and-Validating-Signatures.md +++ b/docs/Computing-and-Validating-Signatures.md @@ -132,7 +132,7 @@ X-PowerAuth-Authorization: PowerAuth pa_nonce="kYjzVBB8Y0ZFabxSWbWovY==", pa_signature_type="possession_knowledge" pa_signature="MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWY=", - pa_version="3.1" + pa_version="3.2" ``` ### Offline Signature @@ -187,7 +187,7 @@ The following constants and variables are involved in the signature validation: - `CTR_DATA`, hash based signature counter - Introduced in the protocol version `3`, now is used in the signature calculation. - It's randomly initialized and exchanged during the activation, or in the protocol upgrade process. - - In protocol version `3.1`, the client can synchronize its counter with the server. + - In protocol version `3.1+`, the client can synchronize its counter with the server. - `CTR_LOOK_AHEAD`, tolerance set on server to overcome ahead clients - Server is trying to calculate and validate the signature ahead in time, in half-closed interval defined by this tolerance: `[CTR, CTR + CTR_LOOK_AHEAD)`. - Default value is `20` diff --git a/docs/End-To-End-Encryption.md b/docs/End-To-End-Encryption.md index dc7662c51..5bd64a465 100644 --- a/docs/End-To-End-Encryption.md +++ b/docs/End-To-End-Encryption.md @@ -2,24 +2,104 @@ ## Standard ECIES Based End-to-End Encryption -PowerAuth supports a standard ECIES encryption (integrated encryption scheme that uses elliptic curve cryptography) with the P256r1 curve and standard X9.63 (SHA256) KDF function (that produces 32B long keys). +PowerAuth supports a standard ECIES encryption (integrated encryption scheme that uses elliptic curve cryptography) with the P256r1 curve and standard X9.63 (SHA256) KDF function (that produces 48 bytes long key). + +### Basic Definitions + +Assume we have the following constants and variables defined in our scheme: + +**Constants** + +- `KEY_ENC_PUB` - Elliptic curve public key for ECDH key agreement. +- `KEY_ENC_PRIV` - Elliptic curve private key for ECDH key agreement. +- `VERSION` - String with the current version of the protocol. +- `SHARED_INFO_1` - is a pre-shared constant and is different for each endpoint (see [Pre-shared constants](#pre-shared-constants)) +- `SHARED_INFO_2_BASE` - is a value calculated from parameters known for both parties. + +**Variables** + +- `PLAINTEXT` - Data to be encrypted. +- `ASSOCIATED_DATA` - Data transmitted as plaintext and included in MAC calculation. +- `TIMESTAMP` - Unix timestamp with milliseconds precision. +- `NONCE` - Unique nonce generated for each encryption. +- `EPH_KEYPAIR` - Ephemeral elliptic curve key-pair for ECDH key agreement. +- `KEY_EPH_PRIV` - Private part of `EPH_KEYPAIR`. +- `KEY_EPH_PUB` - Public part of `EPH_KEYPAIR`. +- `SHARED_INFO_2` - Input parameter to MAC calculation. + + +### Encryption Scope + +PowerAuth protocol defines two basic usage scopes for ECIES encryption: + +- In "application scope", ECIES encryption is available for a whole PowerAuth Client lifetime. In other words, your application can use this mode anytime in its lifetime. +- In "activation scope", ECIES encryption is available once the PowerAuth Client has a valid activation. In this mode, the encryptor is cryptographically bound to keys exchanged during the activation process. + +#### Application Scope + +ECIES in application scope has following configuration of parameters: + +- `KEY_ENC_PUB` is `KEY_SERVER_MASTER_PUBLIC` +- `SHARED_INFO_1` is a pre-shared constant and is different for each endpoint (see [Pre-shared constants](#pre-shared-constants)) +- `SHARED_INFO_2_BASE` is calculated from `APPLICATION_SECRET`: + ```java + byte[] SHARED_INFO_2_BASE = Hash.sha256(APPLICATION_SECRET); + ``` +- `ASSOCIATED_DATA` is calculated as: + ```java + byte[] ASSOCIATED_DATA = ByteUtils.concatWithSizes(VERSION, APPLICATION_KEY); + ``` + + +Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes. + + +#### Activation Scope + +ECIES in activation scope has following configuration of parameters: + +- `KEY_ENC_PUB` is `KEY_SERVER_PUBLIC` (e.g. key which is unique for each activation) +- `SHARED_INFO_1` is a pre-shared constant and is different for each endpoint (see [Pre-shared constants](#pre-shared-constants)) +- `SHARED_INFO_2_BASE` is calculated from `APPLICATION_SECRET` and `KEY_TRANSPORT`: + ```java + byte[] SHARED_INFO_2_BASE = Mac.hmacSha256(KEY_TRANSPORT, APPLICATION_SECRET); + ``` +- `ASSOCIATED_DATA` is calculated as: + ```java + byte[] ASSOCIATED_DATA = ByteUtils.concatWithSizes(VERSION, APPLICATION_KEY, ACTIVATION_ID); + ``` + + +Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes. + ### ECIES Encryption -Assume we have a public key `KEY_ENC_PUB`, data `DATA_ORIG` to be encrypted and a `SHARED_INFO_1` and `SHARED_INFO_2` constants (`byte[]`) as encryption parameters. ECIES encryption works in a following way: +Assume we have a public key `KEY_ENC_PUB`, data `PLAINTEXT` to be encrypted, `ASSOCIATED_DATA` to be included in mac calculation and a `SHARED_INFO_1` and `SHARED_INFO_2_BASE` constants (`byte[]`) as encryption parameters. ECIES encryption works in a following way: 1. Generate an ephemeral key pair: ```java - EPH_KEYPAIR = (KEY_EPH_PRIV, KEY_EPH_PUB). + EPH_KEYPAIR = (KEY_EPH_PRIV, KEY_EPH_PUB); ``` +1. Generate `NONCE` and `TIMESTAMP`: + ```java + byte[] NONCE = Generator.randomBytes(16); + long TIMESTAMP = Time.getTimestamp(); + ``` +1. Prepare `SHARED_INFO_2` parameter for MAC calculation: + ```java + byte[] TIMESTAMP_BYTES = ByteUtils.encode(TIMESTAMP); + byte[] SHARED_INFO_2 = ByteUtils.concatWithSizes(SHARED_INFO_2_BASE, NONCE, TIMESTAMP_BYTES, KEY_EPH_PUB, ASSOCIATED_DATA); + ``` 1. Derive base secret key (in this step, we do not trim the key to 16b only, we keep all 32b). ```java - SecretKey KEY_BASE = ECDH.phase(KEY_EPH_PRIV, KEY_ENC_PUB) + SecretKey KEY_BASE = ECDH.phase(KEY_EPH_PRIV, KEY_ENC_PUB); ``` -1. Derive a secret key using X9.63 KDF function (using SHA256 internally). When calling the KDF, we use `SHARED_INFO_1` together with `KEY_EPH_PUB` value (as raw `byte[]`) as an `info` parameter. +1. Derive a secret key using X9.63 KDF function (using SHA256 internally). When calling the KDF, we use `VERSION`, `SHARED_INFO_1` together with `KEY_EPH_PUB` value (as raw `byte[]`) as an `info` parameter. ```java - byte[] INFO = Bytes.concat(SHARED_INFO_1, KEY_EPH_PUB); - SecretKey KEY_SECRET = KDF_X9_63_SHA256.derive(KEY_BASE, INFO, 48) + byte[] VERSION_BYTES = ByteUtils.encode(VERSION); + byte[] INFO = Bytes.concat(VERSION_BYTES, SHARED_INFO_1, KEY_EPH_PUB); + SecretKey KEY_SECRET = KDF_X9_63_SHA256.derive(KEY_BASE, INFO, 48); ``` 1. Split the 48 bytes long `KEY_SECRET` to three 16B keys. The first part is used as an encryption key `KEY_ENC`. The second part is used as MAC key `KEY_MAC`. The final part is a key for IV derivation `KEY_IV`. ```java @@ -28,14 +108,10 @@ Assume we have a public key `KEY_ENC_PUB`, data `DATA_ORIG` to be encrypted and SecretKey KEY_MAC = KeyConversion.secretKeyFromBytes(ByteUtils.subarray(KEY_SECRET, 16, 16)); SecretKey KEY_IV = KeyConversion.secretKeyFromBytes(ByteUtils.subarray(KEY_SECRET, 32, 16)); ``` -1. Generate random `NONCE` and derive `IV` for encryption. +1. Derive `IV` from `NONCE` and encrypt ata using AES. ```java - byte[] NONCE = Generator.randomBytes(16); byte[] IV = KDF_INTERNAL.derive(KEY_IV, NONCE); - ``` -1. Compute the encrypted data using AES, with `iv` value. - ```java - byte[] DATA_ENCRYPTED = AES.encrypt(DATA_ORIG, IV, KEY_ENC) + byte[] DATA_ENCRYPTED = AES.encrypt(PLAINTEXT, IV, KEY_ENC) ``` 1. Compute the MAC of encrypted data, include `SHARED_INFO_2`. ```java @@ -44,20 +120,32 @@ Assume we have a public key `KEY_ENC_PUB`, data `DATA_ORIG` to be encrypted and ``` 1. Prepare ECIES payload. ```java - EciesPayload payload = (DATA_ENCRYPTED, MAC, KEY_EPH_PUB, NONCE) + EciesPayload payload = (DATA_ENCRYPTED, MAC, KEY_EPH_PUB, NONCE, TIMESTAMP) ``` +If this is a response encryption, then we omit `KEY_EPH_PUB` and set it to `null` in steps 3. and 9. to make the response shorter. For example, `SHARED_INFO_2` is then calculated as: + +```java +byte[] SHARED_INFO_2 = ByteUtils.concatWithSizes(SHARED_INFO_2_BASE, NONCE, TIMESTAMP_BYTES, null, ASSOCIATED_DATA); +``` + ### ECIES Decryption -Assume we have a private key `KEY_ENC_PRIV`, encrypted data as an instance of the ECIES payload `(DATA_ENCRYPTED, MAC, KEY_EPH_PUB, NONCE)` and a `SHARED_INFO_1` and `SHARED_INFO_2` constants (`byte[]`) as decryption parameters. ECIES decryption works in a following way: +Assume we have a private key `KEY_ENC_PRIV`, encrypted data as an instance of the ECIES payload `(DATA_ENCRYPTED, MAC, KEY_EPH_PUB, NONCE, TIMESTAMP)`, `ASSOCIATED_DATA` to be included in MAC calculation, and a `SHARED_INFO_1` and `SHARED_INFO_2_BASE` constants (`byte[]`) as decryption parameters. ECIES decryption works in a following way: +1. Prepare `SHARED_INFO_2` parameter for MAC calculation: + ```java + byte[] TIMESTAMP_BYTES = ByteUtils.encode(TIMESTAMP); + byte[] SHARED_INFO_2 = ByteUtils.concatWithSizes(SHARED_INFO_2_BASE, NONCE, TIMESTAMP_BYTES, KEY_EPH_PUB, ASSOCIATED_DATA); + ``` 1. Derive base secret key from the private key and ephemeral public key from the ECIES payload (in this step, we do not trim the key to 16b only, we keep all 32b). ```java SecretKey KEY_BASE = ECDH.phase(KEY_ENC_PRIV, KEY_EPH_PUB) ``` -1. Derive a secret key using X9.63 KDF function (using SHA256 internally). When calling the KDF, we use `KEY_EPH_PUB` value (as raw `byte[]`) as an `info` parameter. +1. Derive a secret key using X9.63 KDF function (using SHA256 internally). When calling the KDF, we use `VERSION`, `SHARED_INFO_1` together with `KEY_EPH_PUB` value (as raw `byte[]`) as an `info` parameter. ```java - byte[] INFO = Bytes.concat(SHARED_INFO_1, KEY_EPH_PUB); + byte[] VERSION_BYTES = ByteUtils.encode(VERSION); + byte[] INFO = Bytes.concat(VERSION_BYTES, SHARED_INFO_1, KEY_EPH_PUB); SecretKey KEY_SECRET = KDF_X9_63_SHA256.derive(KEY_BASE, INFO, 48) ``` 1. Split the 48 bytes long `KEY_SECRET` to three 16B keys. The first part is used as an encryption key `KEY_ENC`. The second part is used as MAC key `KEY_MAC`. The final part is a key for IV derivation `KEY_IV`. @@ -78,9 +166,11 @@ Assume we have a private key `KEY_ENC_PRIV`, encrypted data as an instance of th 1. Decrypt the data using AES, with `IV` value derived from `NONCE`. ```java byte[] IV = KDF_INTERNAL.derive(KEY_IV, NONCE); - byte[] DATA_ORIG = AES.decrypt(DATA_ENCRYPTED, IV, KEY_ENC) + byte[] PLAINTEXT = AES.decrypt(DATA_ENCRYPTED, IV, KEY_ENC) ``` +If this is a response decryption, then we omit `KEY_EPH_PUB` and set it to `null` in step 1. + ### Client-Server Implementation Practical implementation of ECIES encryption in PowerAuth accounts for a typical request-response cycle, since encrypting RESTful API requests and responses is the most common use-case. @@ -106,79 +196,51 @@ public class EciesPayload { } ``` -The typical JSON encoded request is following: - -```json -{ - "ephemeralPublicKey" : "A5Iuit2vV1zgLb/ewROYGEMWxw4zjSoM2e2dO6cABY78", - "encryptedData" : "7BzoLuLYKZrfFfhlom1zMA==", - "mac" : "JpDckCpQ6Kh/gGCdBZQSh11x38EaU/DL2r/2BCXohMI=", - "nonce" : "v1y015uEP5RuT2g9RS6LIw==" -} -``` +#### Encrypted Request -The JSON response is similar, but without `ephemeralPublicKey` and `nonce` fields: +The typical JSON encoded request is following: ```json { - "encryptedData" : "Q/7Pu29LRw5ymqkqVx+6IQ==", - "mac" : "oBPnpQ1r6YU4VtMB8sKEX4uXqdGGNzCnyLSCQrg659E=" + "ephemeralPublicKey" : "A97NlW0JPLJfpG0AUvaRHRGSHh+quZu+u0c+yxsK7Xji", + "encryptedData" : "qYLONkDWFpXefTKPbaKTA/PWdRYH5pk9uvGjUqSYbeK7Q0aOohK2MknTyviyNuSp", + "mac" : "DNlZdsM1wgH8v2mAROjj3vmQu4DI4ZJnuTBzQMrHsew=", + "nonce" : "ZQxUjy/hSRyJ3xBtqyXBeQ==", + "timestamp" : 1691762307382 } ``` -## ECIES Scopes - -PowerAuth protocol defines two basic usage scopes for ECIES encryption: - -- In "application scope", ECIES encryption is available for a whole PowerAuth Client lifetime. In other words, your application can use this mode anytime in its lifetime. -- In "activation scope", ECIES encryption is available once the PowerAuth Client has a valid activation. In this mode, the encryptor is cryptographically bound to keys exchanged during the activation process. - -### Application Scope - -ECIES in application scope has the following configuration of parameters: - -- `KEY_ENC_PUB` is `KEY_SERVER_MASTER_PUBLIC` -- `SHARED_INFO_1` is a pre-shared constant and is different for each endpoint (see [Pre-shared constants](#pre-shared-constants)) -- `SHARED_INFO_2` is calculated from `APPLICATION_SECRET`: - ```java - byte[] SHARED_INFO_2 = Hash.sha256(APPLICATION_SECRET); - ``` - - -Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes. - - HTTP header example: -``` -X-PowerAuth-Encryption: PowerAuth version="3.1", - application_key="UNfS0VZX3JhbmRvbQ==" -``` - -### Activation Scope - -ECIES in activation scope has the following configuration of parameters: - -- `KEY_ENC_PUB` is `KEY_SERVER_PUBLIC` (e.g. key which is unique for each activation) -- `SHARED_INFO_1` is a pre-shared constant and is different for each endpoint (see [Pre-shared constants](#pre-shared-constants)) -- `SHARED_INFO_2` is calculated from `APPLICATION_SECRET` and `KEY_TRANSPORT`: - ```java - byte[] SHARED_INFO_2 = Mac.hmacSha256(KEY_TRANSPORT, APPLICATION_SECRET); +- Application scoped header: + ``` + X-PowerAuth-Encryption: PowerAuth version="3.2", + application_key="UNfS0VZX3JhbmRvbQ==" + ``` +- Activation scoped header: + ``` + X-PowerAuth-Encryption: PowerAuth version="3.2", + application_key="UNfS0VZX3JhbmRvbQ==", + activation_id="c564e700-7e86-4a87-b6c8-a5a0cc89683f" ``` - -Note that the `APPLICATION_SECRET` constant is in Base64 form, so we need to reinterpret that string as a sequence of ASCII encoded bytes. +Note, that the header must not be added to the request, when activation scoped encryption is combined with [PowerAuth Signature](./Computing-and-Validating-Signatures.md). -HTTP header example: +#### Encrypted Response -``` -X-PowerAuth-Encryption: PowerAuth version="3.1", - application_key="UNfS0VZX3JhbmRvbQ==", - activation_id="c564e700-7e86-4a87-b6c8-a5a0cc89683f" +The JSON response is similar, but without `ephemeralPublicKey` field: + +```json +{ + "encryptedData" : "6gIBzx28iqPFxtI/UjSLnR8FoFB6xFyshfMsCzOShY/5FN6rcKLtkD2r9M0ihKKW2bviC4HmLUJWXZtDUog9LA==", + "mac" : "/giQrgL3pX+ziYaWBgLCLUiPH/D5/f31A5lRxVA12sI=", + "nonce" : "kpgl9EC9+4KiKsUFlwLidw==", + "timestamp": 1691762307385 +} ``` -Note, that the header must not be added to the request, when ECIES encryption is combined with [PowerAuth Signature](./Computing-and-Validating-Signatures.md). +The response doesn't use HTTP headers. ### Pre-Shared Constants diff --git a/docs/MAC-Token-Based-Authentication.md b/docs/MAC-Token-Based-Authentication.md index 668435ff9..767a8ddb5 100644 --- a/docs/MAC-Token-Based-Authentication.md +++ b/docs/MAC-Token-Based-Authentication.md @@ -76,7 +76,7 @@ X-PowerAuth-Token: PowerAuth token_id="${TOKEN_ID}" token_digest="${TOKEN_DIGEST}" nonce="${NONCE}" timestamp="${TIMESTAMP}" - version="3.1" + version="3.2" ``` Transport representation of the HTTP header properties is following: diff --git a/docs/Standard-RESTful-API.md b/docs/Standard-RESTful-API.md index f9d0488ea..0fbef64df 100644 --- a/docs/Standard-RESTful-API.md +++ b/docs/Standard-RESTful-API.md @@ -113,7 +113,7 @@ After receiving the response, PowerAuth Client decrypts both layers of response ##### Encryption Headers ``` -X-PowerAuth-Encryption: PowerAuth version="3.1", application_key="UNfS0VZX3JhbmRvbQ==" +X-PowerAuth-Encryption: PowerAuth version="3.2", application_key="UNfS0VZX3JhbmRvbQ==" ``` ##### Body diff --git a/pom.xml b/pom.xml index e551c357c..7de07d89f 100644 --- a/pom.xml +++ b/pom.xml @@ -77,6 +77,7 @@ 3.1.1 3.5.0 3.2.1 + 3.0.0 32.1.2-jre 2.0.7 5.9.2 @@ -106,12 +107,14 @@ org.junit.jupiter junit-jupiter-engine ${junit.version} + test org.junit.jupiter junit-jupiter-params ${junit.version} + test @@ -158,6 +161,11 @@ maven-deploy-plugin ${maven-deploy-plugin.version} + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ClientEncryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ClientEncryptor.java new file mode 100644 index 000000000..9f12ed924 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ClientEncryptor.java @@ -0,0 +1,74 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor; + +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.*; + +/** + * The {@code ClientEncryptor} interface provides End-To-End Encryption for PowerAuth Clients. + */ +public interface ClientEncryptor { + /** + * Get parameters used to construct this encryptor. + * @return EncryptorParameters used to construct this encryptor. + */ + EncryptorParameters getEncryptorParameters(); + + /** + * Get this encryptor's identifier. + * @return This encryptor's identifier. + */ + EncryptorId getEncryptorId(); + + /** + * Configure secret keys before the encryptor is used for the encryption and decryption tasks. + * @param secrets Object representing a secret keys for particular protocol version. + * @throws EncryptorException In case of failure. + */ + void configureSecrets(EncryptorSecrets secrets) throws EncryptorException; + + /** + * Determine whether request data can be encrypted. + * @return true if request data can be encrypted. + */ + boolean canEncryptRequest(); + + /** + * Encrypt data with this encryptor. + * @param data Data to encrypt. + * @return Object representing an encrypted request. + * @throws EncryptorException In case of failure. + */ + EncryptedRequest encryptRequest(byte[] data) throws EncryptorException; + + /** + * Determine whether encrypted response data can be decrypted. You cannot decrypt the response if you did not + * encrypt the request before. + * @return true if response data can be decrypted. + */ + boolean canDecryptResponse(); + + /** + * Decrypt response received from the server. + * @param response Response data to decrypt. + * @return decrypted bytes. + * @throws EncryptorException In case of failure. + */ + byte[] decryptResponse(EncryptedResponse response) throws EncryptorException; +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/EncryptorFactory.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/EncryptorFactory.java new file mode 100644 index 000000000..85098a789 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/EncryptorFactory.java @@ -0,0 +1,165 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor; + +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.ClientEciesEncryptor; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesRequestResponseValidator; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.ServerEciesEncryptor; +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorId; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorScope; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorSecrets; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorParameters; + +/** + * The {@code EncryptorFactory} class provide high level encryptors for PowerAuth End-To-End encryption implementation. + * You can construct both server and client-side constructors in this factory. + */ +public class EncryptorFactory { + /** + * Create client-side encryptor that can encrypt the request and decrypt response from the server. To use the encryptor + * properly, you have to call {@link ClientEncryptor#configureSecrets(EncryptorSecrets)} function later on the constructed + * encryptor to make it ready for the cryptographic tasks. + * + * @param encryptorId Identifier of encryptor. + * @param encryptorParameters Encryptor parameters. + * @return Client-side encryptor. + * @throws EncryptorException In case that some required parameter is missing or encryptor cannot be constructed. + */ + public ClientEncryptor getClientEncryptor(EncryptorId encryptorId, EncryptorParameters encryptorParameters) throws EncryptorException { + return getClientEncryptor(encryptorId, encryptorParameters, null); + } + + /** + * Create client-side encryptor that can encrypt the request and decrypt the response from the server. In this variant + * of the function, you can provide {@link EncryptorSecrets} object to properly configure the encryptor to make it + * ready for the cryptographic tasks. + * + * @param encryptorId Identifier of encryptor. + * @param encryptorParameters Encryptor parameters. + * @param encryptorSecrets Optional secrets that will be used to configure the encryptor. If null is provided, + * then you must call {@link ClientEncryptor#configureSecrets(EncryptorSecrets)} later. + * @return Client-side encryptor. + * @throws EncryptorException In case that some required parameter is missing or encryptor cannot be constructed or + * configured with the secrets. + */ + public ClientEncryptor getClientEncryptor(EncryptorId encryptorId, EncryptorParameters encryptorParameters, EncryptorSecrets encryptorSecrets) throws EncryptorException { + validateParameters(encryptorId, encryptorParameters); + final ClientEncryptor encryptor; + switch (encryptorParameters.getProtocolVersion()) { + case "3.2", "3.1", "3.0" -> { + encryptor = new ClientEciesEncryptor(encryptorId, encryptorParameters); + } + default -> { + throw new EncryptorException("Unsupported protocol version: " + encryptorParameters.getProtocolVersion()); + } + } + if (encryptorSecrets != null) { + encryptor.configureSecrets(encryptorSecrets); + } + return encryptor; + } + + /** + * Create server-side encryptor that can decrypt the request from the client and encrypt the response. To use the encryptor + * properly, you have to call {@link ServerEncryptor#configureSecrets(EncryptorSecrets)} function later on the constructed + * encryptor to make it ready for the cryptographic tasks. + * + * @param encryptorId Identifier of encryptor. + * @param encryptorParameters Encryptor parameters. + * @return Server-side encryptor. + * @throws EncryptorException In case that some required parameter is missing or encryptor cannot be constructed. + */ + public ServerEncryptor getServerEncryptor(EncryptorId encryptorId, EncryptorParameters encryptorParameters) throws EncryptorException { + return getServerEncryptor(encryptorId, encryptorParameters, null); + } + + /** + * Create server-side encryptor that can decrypt the request from the client and encrypt the response. In this variant + * of the function, you can provide {@link EncryptorSecrets} object to properly configure the encryptor to make it + * ready for the cryptographic tasks. + * + * @param encryptorId Identifier of encryptor. + * @param encryptorParameters Encryptor parameters. + * @param encryptorSecrets Optional secrets that will be used to configure the encryptor. If null is provided, + * then you must call {@link ServerEncryptor#configureSecrets(EncryptorSecrets)} later. + * @return Client-side encryptor. + * @throws EncryptorException In case that some required parameter is missing or encryptor cannot be constructed or + * configured with the secrets. + */ + public ServerEncryptor getServerEncryptor(EncryptorId encryptorId, EncryptorParameters encryptorParameters, EncryptorSecrets encryptorSecrets) throws EncryptorException { + validateParameters(encryptorId, encryptorParameters); + final ServerEncryptor encryptor; + switch (encryptorParameters.getProtocolVersion()) { + case "3.2", "3.1", "3.0" -> { + encryptor = new ServerEciesEncryptor(encryptorId, encryptorParameters); + } + default -> { + throw new EncryptorException("Unsupported protocol version: " + encryptorParameters.getProtocolVersion()); + } + } + if (encryptorSecrets != null) { + encryptor.configureSecrets(encryptorSecrets); + } + return encryptor; + } + + /** + * Validate input parameters provided to factory function. + * @param encryptorId Encryptor's identifier. + * @param parameters Encryptor's parameters. + * @throws EncryptorException In case that required parameter is missing. + */ + private static void validateParameters(EncryptorId encryptorId, EncryptorParameters parameters) throws EncryptorException { + if (encryptorId == null) { + throw new EncryptorException("Missing encryptorId parameter"); + } + if (parameters == null) { + throw new EncryptorException("Missing encryptorParameters parameter"); + } + if (parameters.getProtocolVersion() == null) { + throw new EncryptorException("Missing protocolVersion property in encryptorParameters"); + } + if (parameters.getApplicationKey() == null) { + throw new EncryptorException("Missing applicationKey property in encryptorParameters"); + } + if (encryptorId.scope() == EncryptorScope.ACTIVATION_SCOPE && parameters.getActivationIdentifier() == null) { + throw new EncryptorException("Missing activationIdentifier property in encryptorParameters"); + } + } + + /** + * Get request or response data validator for given protocol version. + * @param protocolVersion Protocol version. + * @return Object implementing {@link RequestResponseValidator} interface. + * @throws EncryptorException In case that protocol is unsupported or not specified. + */ + public RequestResponseValidator getRequestResponseValidator(String protocolVersion) throws EncryptorException { + if (protocolVersion == null) { + throw new EncryptorException("Missing protocolVersion parameter"); + } + switch (protocolVersion) { + case "3.2", "3.1", "3.0" -> { + return new EciesRequestResponseValidator(protocolVersion); + } + default -> { + throw new EncryptorException("Unsupported protocol version: " + protocolVersion); + } + } + } +} \ No newline at end of file diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/RequestResponseValidator.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/RequestResponseValidator.java new file mode 100644 index 000000000..ea6bcf0e3 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/RequestResponseValidator.java @@ -0,0 +1,45 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor; + +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptedRequest; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptedResponse; + +/** + * The {@code RequestResponseValidator} interface allows you to formally validate the encrypted request or response data + * in advance, before you try to decrypt it. + */ +public interface RequestResponseValidator { + /** + * Test whether encrypted request contains valid data. The function does a simple formal validation whether + * all required parameters are present in the request object. + * + * @param request Encrypted request object to validate. + * @return true if object appears to contain valid data, otherwise false. + */ + boolean validateEncryptedRequest(EncryptedRequest request); + + /** + * Test whether encrypted response contains valid data. The function does a simple formal validation whether + * all required parameters are present in the response object. + * + * @param response Encrypted response object to validate. + * @return true if object appears to contain valid data, otherwise false. + */ + boolean validateEncryptedResponse(EncryptedResponse response); +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ServerEncryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ServerEncryptor.java new file mode 100644 index 000000000..15816f681 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ServerEncryptor.java @@ -0,0 +1,88 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor; + +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.*; + +/** + * The {@code ClientEncryptor} interface provides End-To-End Encryption for PowerAuth Clients. + */ +public interface ServerEncryptor { + /** + * Get this encryptor's identifier. + * @return This encryptor's identifier. + */ + EncryptorParameters getEncryptorParameters(); + + /** + * Get parameters used to construct this encryptor. + * @return EncryptorParameters used to construct this encryptor. + */ + EncryptorId getEncryptorId(); + + /** + * Configure secret keys before the encryptor is used for the encryption and decryption tasks. + * @param secrets Object representing a secret keys for particular protocol version. + * @throws EncryptorException In case of failure. + */ + void configureSecrets(EncryptorSecrets secrets) throws EncryptorException; + + /** + * Determine whether encrypted request data can be decrypted. + * @return true if response data can be decrypted. + */ + boolean canDecryptRequest(); + + /** + * Build encryptor secrets that can be used in the external encryptor to decrypt the provided request. The external + * encryptor is typically running in a different application java environment without knowing the private keys. + * The best example is cooperation between the PowerAuth Server and our PowerAuth Integration libraries for RESTful API. + * The server is using this function to calculate the shared secret that can be used in the integration library to + * actually decrypt the request from the client. + * + * @param request Request to encrypt in the external server encryptor. The request object should contain all parameters + * except the {@code encryptedData} and {@code mac} properties. + * @return Object containing encrypted secrets for the external encryptor. + * @throws EncryptorException In case of failure. + */ + EncryptorSecrets calculateSecretsForExternalEncryptor(EncryptedRequest request) throws EncryptorException; + + /** + * Decrypt encrypted request data. + * @param request Object representing an encrypted request. + * @return Decrypted data. + * @throws EncryptorException In case of failure. + */ + byte[] decryptRequest(EncryptedRequest request) throws EncryptorException; + + /** + * Determine whether response data can be encrypted. You cannot encrypt the response if you did not + * decrypt the request before. + * @return true if response data can be decrypted. + */ + boolean canEncryptResponse(); + + /** + * Encrypt response data. + * @param data Data to encrypt as response. + * @return Object representing an encrypted response. + * @throws EncryptorException In case of failure. + */ + EncryptedResponse encryptResponse(byte[] data) throws EncryptorException; +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ClientEciesEncryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ClientEciesEncryptor.java new file mode 100644 index 000000000..631f228da --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ClientEciesEncryptor.java @@ -0,0 +1,218 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; + +import io.getlime.security.powerauth.crypto.lib.encryptor.ClientEncryptor; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesCryptogram; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesParameters; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesPayload; +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.*; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.v3.ClientEncryptorSecrets; +import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; +import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; +import io.getlime.security.powerauth.crypto.lib.util.EciesUtils; + +import java.util.Base64; + +/** + * Class implements ECIES encryption for PowerAuth clients. + *

PowerAuth protocol versions: + *

    + *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • + *
+ */ +public class ClientEciesEncryptor implements ClientEncryptor { + + private static final KeyGenerator keyGenerator = new KeyGenerator(); + + private final EncryptorId encryptorId; + private final EncryptorParameters encryptorParameters; + private final EciesRequestResponseValidator validator; + private final byte[] associatedData; // non-null for V3.2+ + + // Variables altered after configureKeys() call. + private ClientEncryptorSecrets encryptorSecrets; + + /** + * SharedInfo2 base bytes. + */ + private byte[] sharedInfo2Base; + + // Variables created in encrypt method + + /** + * ECIES envelope key. + */ + private EciesEnvelopeKey envelopeKey; + private byte[] requestNonce; + + /** + * Construct ECIES encryptor that implements encryption for PowerAuth Clients. + * @param encryptorId Encryptor identifier. + * @param parameters Encryptor parameters. + * @throws EncryptorException In case that protocol is not supported. + */ + public ClientEciesEncryptor(EncryptorId encryptorId, EncryptorParameters parameters) throws EncryptorException { + this.encryptorId = encryptorId; + this.encryptorParameters = parameters; + this.validator = new EciesRequestResponseValidator(parameters.getProtocolVersion()); + this.associatedData = EciesUtils.deriveAssociatedData( + encryptorId.scope(), + parameters.getProtocolVersion(), + parameters.getApplicationKey(), + parameters.getActivationIdentifier() + ); + } + + @Override + public EncryptorParameters getEncryptorParameters() { + return encryptorParameters; + } + + @Override + public EncryptorId getEncryptorId() { + return encryptorId; + } + + @Override + public void configureSecrets(EncryptorSecrets secrets) throws EncryptorException { + if (!(secrets instanceof ClientEncryptorSecrets clientSecrets)) { + throw new EncryptorException("Unsupported EncryptorSecrets object"); + } + final byte[] sharedInfo2Base; + if (clientSecrets.getSharedInfo2Base() != null) { + sharedInfo2Base = clientSecrets.getSharedInfo2Base(); + } else { + sharedInfo2Base = EciesUtils.deriveSharedInfo2Base( + encryptorId.scope(), + clientSecrets.getApplicationSecret(), + clientSecrets.getTransportKey() + ); + } + this.encryptorSecrets = clientSecrets; + this.sharedInfo2Base = sharedInfo2Base; + } + + @Override + public boolean canEncryptRequest() { + return encryptorSecrets != null && sharedInfo2Base != null; + } + + @Override + public EncryptedRequest encryptRequest(byte[] data) throws EncryptorException { + if (!canEncryptRequest()) { + throw new EncryptorException("Encryptor is not ready for request encryption."); + } + // Prepare new envelope key. The function internally generate new ephemeral public key. + final EciesEnvelopeKey envelopeKey = EciesEnvelopeKey.fromPublicKey( + encryptorSecrets.getServerPublicKey(), + encryptorId.getEciesSharedInfo1(encryptorParameters.getProtocolVersion()) + ); + // Prepare nonce and timestamp for the request, if required. + final byte[] requestNonce = generateRequestNonce(); + final Long requestTimestamp = validator.isUseTimestamp() ? EciesUtils.generateTimestamp() : null; + // Prepare sharedInfo2 with all available information. + final byte[] sharedInfo2 = EciesUtils.deriveSharedInfo2( + encryptorParameters.getProtocolVersion(), + sharedInfo2Base, + envelopeKey.getEphemeralKeyPublic(), + requestNonce, + requestTimestamp, + associatedData + ); + // Once we have SharedInfo2 prepared, we can construct an encryptor. + final EciesEncryptor eciesEncryptor = new EciesEncryptor(envelopeKey, sharedInfo2); + // Prepare EciesParameters + final EciesParameters eciesParameters = new EciesParameters(requestNonce, associatedData, requestTimestamp); + // If everything is OK, then encrypt the data. + final EciesPayload eciesPayload = eciesEncryptor.encrypt(data,eciesParameters); + // Keep envelope key and nonce used for the request if protocol require use the same nonce also for the response. + this.envelopeKey = envelopeKey; + this.requestNonce = validator.isUseTimestamp() ? null : requestNonce; + + return new EncryptedRequest( + Base64.getEncoder().encodeToString(eciesPayload.getCryptogram().getEphemeralPublicKey()), + Base64.getEncoder().encodeToString(eciesPayload.getCryptogram().getEncryptedData()), + Base64.getEncoder().encodeToString(eciesPayload.getCryptogram().getMac()), + validator.isUseNonceForRequest() ? Base64.getEncoder().encodeToString(requestNonce) : null, + requestTimestamp + ); + } + + @Override + public boolean canDecryptResponse() { + return this.envelopeKey != null; + } + + @Override + public byte[] decryptResponse(EncryptedResponse response) throws EncryptorException { + if (!canDecryptResponse()) { + throw new EncryptorException("Encryptor is not ready for response decryption."); + } + + // Validate and decode response payload + if (!validator.validateEncryptedResponse(response)) { + throw new EncryptorException("Invalid encrypted response object"); + } + + final byte[] mac = Base64.getDecoder().decode(response.getMac()); + final byte[] encryptedData = Base64.getDecoder().decode(response.getEncryptedData()); + final byte[] responseNonce = validator.isUseTimestamp() ? Base64.getDecoder().decode(response.getNonce()) : requestNonce; + final Long responseTimestamp = validator.isUseTimestamp() ? response.getTimestamp() : null; + + // Build sharedInfo2 with parameters received from the request. + final byte[] sharedInfo2 = EciesUtils.deriveSharedInfo2( + encryptorParameters.getProtocolVersion(), + sharedInfo2Base, + null, + responseNonce, + responseTimestamp, + associatedData + ); + // Build decryptor object. + final EciesDecryptor decryptor = new EciesDecryptor(envelopeKey, sharedInfo2); + // Prepare EciesPayload + final EciesCryptogram eciesCryptogram = new EciesCryptogram(envelopeKey.getEphemeralKeyPublic(), mac, encryptedData); + final EciesParameters eciesParameters = new EciesParameters(responseNonce, associatedData, responseTimestamp); + final EciesPayload eciesPayload = new EciesPayload(eciesCryptogram, eciesParameters); + // Try to decrypt data. + final byte[] plaintext = decryptor.decrypt(eciesPayload); + // If everything's OK, then reset the state to do not allow decrypt with the same keys again. + this.envelopeKey = null; + this.requestNonce = null; + // Return decrypted data. + return plaintext; + } + + /** + * Generate nonce for the request. + * @return Nonce bytes or null if protocol doesn't use nonce. + * @throws EciesException In case of random generator is not configured properly. + */ + private byte[] generateRequestNonce() throws EciesException { + try { + return validator.isUseNonceForRequest() ? keyGenerator.generateRandomBytes(16) : null; + } catch (CryptoProviderException e) { + throw new EciesException("Failed to generate request nonce", e); + } + } +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java deleted file mode 100644 index 777c84bdc..000000000 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesFactory.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * PowerAuth Crypto Library - * Copyright 2018 Wultra s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; - -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesParameters; -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesScope; -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesSharedInfo1; -import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; -import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; -import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; -import io.getlime.security.powerauth.crypto.lib.util.HMACHashUtilities; -import io.getlime.security.powerauth.crypto.lib.util.Hash; - -import java.nio.ByteBuffer; -import java.security.interfaces.ECPrivateKey; -import java.security.interfaces.ECPublicKey; - -/** - * Factory for obtaining initialized ECIES encryptor and decryptor instances. - * - * @author Roman Strobl, roman.strobl@wultra.com - */ -public class EciesFactory { - - private final HMACHashUtilities hmacHashUtilities = new HMACHashUtilities(); - - /** - * Get ECIES encryptor instance for application scope. - * - * @param publicKey Public key used for ECIES. - * @param applicationSecret Application secret. - * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. - * @param eciesParameters ECIES parameters for protocol V3.2+. - * @return Initialized ECIES encryptor. - * @throws GenericCryptoException In case encryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - * @throws EciesException In case envelope key could not be derived. - */ - public EciesEncryptor getEciesEncryptorForApplication(final ECPublicKey publicKey, final byte[] applicationSecret, final EciesSharedInfo1 sharedInfo1, - final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException, EciesException { - byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.APPLICATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesEncryptor(EciesScope.APPLICATION_SCOPE, publicKey, applicationSecret, null, sharedInfo1Value, eciesParameters); - } - - /** - * Get ECIES encryptor instance for activation scope. - * - * @param publicKey Public key used for ECIES. - * @param applicationSecret Application secret. - * @param transportKey Transport key. - * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. - * @param eciesParameters ECIES parameters for protocol V3.2+. - * @return Initialized ECIES encryptor. - * @throws GenericCryptoException In case encryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - * @throws EciesException In case envelope key could not be derived. - */ - public EciesEncryptor getEciesEncryptorForActivation(final ECPublicKey publicKey, final byte[] applicationSecret, final byte[] transportKey, - final EciesSharedInfo1 sharedInfo1, final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException, EciesException { - byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesEncryptor(EciesScope.ACTIVATION_SCOPE, publicKey, applicationSecret, transportKey, sharedInfo1Value, eciesParameters); - } - - /** - * Get ECIES encryptor for existing envelope key and sharedInfo2 parameter. - * - * @param envelopeKey ECIES envelope key. - * @param sharedInfo2 Parameter sharedInfo2 for ECIES. - * @return Initialized ECIES encryptor. - */ - public EciesEncryptor getEciesEncryptor(final EciesEnvelopeKey envelopeKey, final byte[] sharedInfo2) { - return new EciesEncryptor(envelopeKey, sharedInfo2); - } - - /** - * Get ECIES encryptor for existing envelope key and ECIES parameters. - * - * @param eciesScope ECIES scope. - * @param envelopeKey ECIES envelope key. - * @param applicationSecret Application secret. - * @param transportKey Transport key. - * @param eciesParameters ECIES parameters for protocol V3.2+. - * @return Initialized ECIES encryptor. - * @throws GenericCryptoException In case encryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public EciesEncryptor getEciesEncryptor(final EciesScope eciesScope, final EciesEnvelopeKey envelopeKey, - final byte[] applicationSecret, final byte[] transportKey, - final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException { - final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, envelopeKey.getEphemeralKeyPublic()); - return new EciesEncryptor(envelopeKey, sharedInfo2); - } - - /** - * Get ECIES encryptor instance for given scope and parameters. Parameter sharedInfo2 is derived based on ECIES scope. - * - * @param eciesScope ECIES scope. - * @param publicKey Public key used for ECIES. - * @param applicationSecret Application secret. - * @param transportKey Transport key for activation scope. Use null value for application scope. - * @param sharedInfo1 Additional information for sharedInfo1 parameter in bytes. - * @return Initialized ECIES encryptor. - * @throws GenericCryptoException In case encryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - private EciesEncryptor getEciesEncryptor(final EciesScope eciesScope, final ECPublicKey publicKey, final byte[] applicationSecret, - final byte[] transportKey, final byte[] sharedInfo1, - final EciesParameters eciesParameters) throws GenericCryptoException, CryptoProviderException, EciesException { - final EciesEnvelopeKey envelopeKey = EciesEnvelopeKey.fromPublicKey(publicKey, sharedInfo1); - final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, envelopeKey.getEphemeralKeyPublic()); - return new EciesEncryptor(envelopeKey, sharedInfo2); - } - - /** - * Get ECIES decryptor instance for application scope. - * - * @param privateKey Private key used for ECIES. - * @param applicationSecret Application secret. - * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. - * @param eciesParameters ECIES parameters for protocol V3.2+. - * @param ephemeralPublicKey Ephemeral public key. - * @return Initialized ECIES decryptor. - * @throws GenericCryptoException In case decryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - * @throws EciesException In case envelop key could not be derived. - */ - public EciesDecryptor getEciesDecryptorForApplication(final ECPrivateKey privateKey, final byte[] applicationSecret, final EciesSharedInfo1 sharedInfo1, - final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException, EciesException { - byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.APPLICATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesDecryptor(EciesScope.APPLICATION_SCOPE, privateKey, applicationSecret, null, sharedInfo1Value, eciesParameters, ephemeralPublicKey); } - - /** - * Get ECIES decryptor instance for activation scope. - * - * @param privateKey Private key used for ECIES. - * @param applicationSecret Application secret. - * @param transportKey Transport key. - * @param sharedInfo1 Additional information for sharedInfo1 parameter using pre-defined constants. - * @param eciesParameters ECIES parameters for protocol V3.2+. - * @param ephemeralPublicKey Ephemeral public key. - * @return Initialized ECIES decryptor. - * @throws GenericCryptoException In case decryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public EciesDecryptor getEciesDecryptorForActivation(final ECPrivateKey privateKey, final byte[] applicationSecret, final byte[] transportKey, final EciesSharedInfo1 sharedInfo1, - final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException { - byte[] sharedInfo1Value = sharedInfo1 == null ? EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC.value() : sharedInfo1.value(); - return getEciesDecryptor(EciesScope.ACTIVATION_SCOPE, privateKey, applicationSecret, transportKey, sharedInfo1Value, eciesParameters, ephemeralPublicKey); - } - - /** - * Get ECIES decryptor for existing envelope key and sharedInfo2 parameter. - * - * @param envelopeKey ECIES envelope key. - * @param sharedInfo2 Parameter sharedInfo2 for ECIES. - * @return Initialized ECIES decryptor. - */ - public EciesDecryptor getEciesDecryptor(final EciesEnvelopeKey envelopeKey, final byte[] sharedInfo2) { - return new EciesDecryptor(envelopeKey, sharedInfo2); - } - - /** - * Get ECIES decrypto for existing envelope key and ECIES parameters. - * - * @param eciesScope ECIES scope. - * @param envelopeKey ECIES envelope key. - * @param applicationSecret Application secret. - * @param transportKey Transport key. - * @param eciesParameters ECIES parameters for protocol V3.2+. - * @param ephemeralPublicKey Ephemeral public key. - * @return Initialized ECIES encryptor. - * @throws GenericCryptoException In case encryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - public EciesDecryptor getEciesDecryptor(final EciesScope eciesScope, final EciesEnvelopeKey envelopeKey, - final byte[] applicationSecret, final byte[] transportKey, - final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException { - final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, ephemeralPublicKey); - return new EciesDecryptor(envelopeKey, sharedInfo2); - } - - /** - * Get ECIES decryptor instance for given scope and parameters. Parameter sharedInfo2 is derived based on ECIES scope. - * - * @param eciesScope ECIES scope. - * @param privateKey Private key used for ECIES. - * @param applicationSecret Application secret. - * @param transportKey Transport key for activation scope. Use null value for application scope. - * @param sharedInfo1 Additional information for sharedInfo1 parameter in bytes. - * @return Initialized ECIES decryptor. - * @throws GenericCryptoException In case decryptor could not be initialized. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - private EciesDecryptor getEciesDecryptor(final EciesScope eciesScope, final ECPrivateKey privateKey, final byte[] applicationSecret, - final byte[] transportKey, final byte[] sharedInfo1, final EciesParameters eciesParameters, - final byte[] ephemeralPublickey) throws GenericCryptoException, CryptoProviderException { - - final byte[] sharedInfo2 = generateSharedInfo2(eciesScope, applicationSecret, transportKey, eciesParameters, ephemeralPublickey); - return new EciesDecryptor(privateKey, sharedInfo1, sharedInfo2); - } - - /** - * Generate SharedInfo2 parameter for ECIES. - * @param eciesScope ECIES scope. - * @param applicationSecret Application secret. - * @param transportKey Transport key. - * @param eciesParameters ECIES parameters for protocol V3.2+. - * @param ephemeralPublicKey Ephemeral public key. - * @return SharedInfo2 parameter for ECIES. - * @throws GenericCryptoException In case of invalid ECIES scope. - * @throws CryptoProviderException In case cryptography provider is incorrectly initialized. - */ - private byte[] generateSharedInfo2(final EciesScope eciesScope, final byte[] applicationSecret, final byte[] transportKey, - final EciesParameters eciesParameters, final byte[] ephemeralPublicKey) throws GenericCryptoException, CryptoProviderException { - byte[] sharedInfo2; - switch (eciesScope) { - case APPLICATION_SCOPE -> { - // Compute hash from APP_SECRET as sharedInfo2 - sharedInfo2 = Hash.sha256(applicationSecret); - } - case ACTIVATION_SCOPE -> { - // The sharedInfo2 is defined as HMAC_SHA256(key: KEY_TRANSPORT, data: APP_SECRET) - sharedInfo2 = hmacHashUtilities.hash(transportKey, applicationSecret); - } - default -> throw new GenericCryptoException("Unsupported ECIES scope: " + eciesScope); - } - // For protocol V3.2+, append additional ECIES parameters - // ByteUtils.concatWithSizes(SH2, NONCE, TIMESTAMP_BYTES, KEY_EPH_PUB, ASSOCIATED_DATA) - if (eciesParameters != null && eciesParameters.getTimestamp() != null) { - sharedInfo2 = ByteUtils.concatWithSizes( - sharedInfo2, - eciesParameters.getNonce(), - ByteBuffer.allocate(Long.BYTES).putLong(eciesParameters.getTimestamp()).array(), - ephemeralPublicKey, - eciesParameters.getAssociatedData()); - } - return sharedInfo2; - } -} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesRequestResponseValidator.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesRequestResponseValidator.java new file mode 100644 index 000000000..e6b14e341 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/EciesRequestResponseValidator.java @@ -0,0 +1,95 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; + +import io.getlime.security.powerauth.crypto.lib.encryptor.RequestResponseValidator; +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptedRequest; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptedResponse; +import lombok.Getter; + +import java.util.Set; + +/** + * The {@code EciesRequestResponseValidator} class implements request and response validation for 3.x protocol versions. + */ +@Getter +public class EciesRequestResponseValidator implements RequestResponseValidator { + /** + * Protocol versions supported in this validator. + */ + private final static Set supportedVersions = Set.of("3.2", "3.1", "3.0"); + + /** + * Indicate that request and response must contain timestamp and nonce. This is valid for protocol V3.2+. + */ + private final boolean useTimestamp; + /** + * Indicate that request must contain nonce. This is valid for protocol V3.1+. + */ + private final boolean useNonceForRequest; + + /** + * Construct validator for particular protocol version. + * @param protocolVersion Protocol version. + * @throws EncryptorException In case that protocol is not supported. + */ + public EciesRequestResponseValidator(String protocolVersion) throws EncryptorException { + if (!supportedVersions.contains(protocolVersion)) { + throw new EncryptorException("Unsupported protocol version " + protocolVersion); + } + this.useTimestamp = "3.2".equals(protocolVersion); + this.useNonceForRequest = "3.2".equals(protocolVersion) || "3.1".equals(protocolVersion); + } + + @Override + public boolean validateEncryptedRequest(EncryptedRequest request) { + if (request == null) { + return false; + } + if (request.getEphemeralPublicKey() == null || request.getEncryptedData() == null || request.getMac() == null) { + return false; + } + if (useNonceForRequest == (request.getNonce() == null)) { + // Fails when nonce is missing in 3.1+ + // Fails when nonce is present in 3.0 + return false; + } + // Next statement return false when: + // - timestamp is missing in 3.2+ + // - timestamp is present in 3.0 and 3.1 + return useTimestamp == (request.getTimestamp() != null); + } + + @Override + public boolean validateEncryptedResponse(EncryptedResponse response) { + if (response == null) { + return false; + } + if (response.getEncryptedData() == null || response.getMac() == null) { + return false; + } + if (useTimestamp) { + // 3.2+ + return response.getNonce() != null && response.getTimestamp() != null; + } else { + // 3.0, 3.1 should not contain nonce and timestamp in response + return response.getNonce() == null && response.getTimestamp() == null; + } + } +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ServerEciesEncryptor.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ServerEciesEncryptor.java new file mode 100644 index 000000000..c62e2e75b --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/ServerEciesEncryptor.java @@ -0,0 +1,265 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.ecies; + +import io.getlime.security.powerauth.crypto.lib.encryptor.ServerEncryptor; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesCryptogram; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesParameters; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesPayload; +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.*; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.v3.ServerEncryptorSecrets; +import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; +import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; +import io.getlime.security.powerauth.crypto.lib.util.EciesUtils; + +import java.util.Arrays; +import java.util.Base64; + +/** + * Class implements ECIES encryption for PowerAuth Server. + *

PowerAuth protocol versions: + *

    + *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • + *
+ */ +public class ServerEciesEncryptor implements ServerEncryptor { + + private static final KeyGenerator keyGenerator = new KeyGenerator(); + + private final EncryptorId encryptorId; + private final EncryptorParameters encryptorParameters; + private final EciesRequestResponseValidator validator; + private final byte[] associatedData; // non-null for V3.2+ + + // Variables altered after configureKeys() call. + + private ServerEncryptorSecrets encryptorSecrets; + + /** + * SharedInfo2 base bytes. + */ + private byte[] sharedInfo2Base; + + // Variables created in encrypt method + + /** + * ECIES envelope key. + */ + private EciesEnvelopeKey envelopeKey; + private byte[] requestNonce; + + /** + * Construct ECIES encryptor that implements encryption for PowerAuth Server. + * @param encryptorId Encryptor identifier. + * @param parameters Encryptor parameters. + * @throws EncryptorException In case that protocol is not supported. + */ + public ServerEciesEncryptor(EncryptorId encryptorId, EncryptorParameters parameters) throws EncryptorException { + this.encryptorId = encryptorId; + this.encryptorParameters = parameters; + this.validator = new EciesRequestResponseValidator(parameters.getProtocolVersion()); + this.associatedData = EciesUtils.deriveAssociatedData( + encryptorId.scope(), + parameters.getProtocolVersion(), + parameters.getApplicationKey(), + parameters.getActivationIdentifier() + ); + } + + @Override + public EncryptorParameters getEncryptorParameters() { + return encryptorParameters; + } + + @Override + public EncryptorId getEncryptorId() { + return encryptorId; + } + + @Override + public void configureSecrets(EncryptorSecrets secrets) throws EncryptorException { + if (!(secrets instanceof ServerEncryptorSecrets serverSecrets)) { + throw new EncryptorException("Unsupported EncryptorSecrets object"); + } + final byte[] sharedInfo2Base; + if (serverSecrets.getSharedInfo2Base() != null) { + sharedInfo2Base = serverSecrets.getSharedInfo2Base(); + } else { + sharedInfo2Base = EciesUtils.deriveSharedInfo2Base( + encryptorId.scope(), + serverSecrets.getApplicationSecret(), + serverSecrets.getTransportKey() + ); + } + this.encryptorSecrets = serverSecrets; + this.sharedInfo2Base = sharedInfo2Base; + } + + @Override + public boolean canDecryptRequest() { + return encryptorSecrets != null && sharedInfo2Base != null; + } + + @Override + public EncryptorSecrets calculateSecretsForExternalEncryptor(EncryptedRequest request) throws EncryptorException { + if (!canDecryptRequest()) { + throw new EncryptorException("Encryptor is not ready for request decryption."); + } + if (request.getEphemeralPublicKey() == null) { + throw new EciesException("Missing ephemeralPublicKey in request data"); + } + final byte[] ephemeralPublicKey = Base64.getDecoder().decode(request.getEphemeralPublicKey()); + final EciesEnvelopeKey envelopeKey; + if (encryptorSecrets.getEnvelopeKey() != null) { + // Envelope key is precalculated. This doesn't happen in V3.2 protocol but may happen in future 4.0. + envelopeKey = new EciesEnvelopeKey(encryptorSecrets.getEnvelopeKey(), ephemeralPublicKey); + } else { + // Derive shared secret from private key and ephemeral public key. + envelopeKey = EciesEnvelopeKey.fromPrivateKey( + encryptorSecrets.getServerPrivateKey(), + ephemeralPublicKey, + encryptorId.getEciesSharedInfo1(encryptorParameters.getProtocolVersion()) + ); + } + // Return secrets object with the precalculated keys. + return new ServerEncryptorSecrets(envelopeKey.getSecretKey(), sharedInfo2Base); + } + + @Override + public byte[] decryptRequest(EncryptedRequest request) throws EncryptorException { + if (!canDecryptRequest()) { + throw new EncryptorException("Encryptor is not ready for request decryption."); + } + // Validate and decode request payload + if (!validator.validateEncryptedRequest(request)) { + throw new EncryptorException("Invalid encrypted request object."); + } + + final byte[] ephemeralPublicKey = Base64.getDecoder().decode(request.getEphemeralPublicKey()); + final byte[] encryptedData = Base64.getDecoder().decode(request.getEncryptedData()); + final byte[] mac = Base64.getDecoder().decode(request.getMac()); + final byte[] requestNonce = request.getNonce() != null ? Base64.getDecoder().decode(request.getNonce()) : null; + final Long requestTimestamp = request.getTimestamp(); + + // Prepare new envelope key, depending on secret's configuration. + final EciesEnvelopeKey envelopeKey; + if (encryptorSecrets.getEnvelopeKey() != null) { + // Envelope key is precalculated + envelopeKey = new EciesEnvelopeKey(encryptorSecrets.getEnvelopeKey(), ephemeralPublicKey); + } else { + // Derive shared secret from private key and ephemeral public key. + envelopeKey = EciesEnvelopeKey.fromPrivateKey( + encryptorSecrets.getServerPrivateKey(), + ephemeralPublicKey, + encryptorId.getEciesSharedInfo1(encryptorParameters.getProtocolVersion()) + ); + } + // Prepare sharedInfo2 for all available information. + final byte[] sharedInfo2 = EciesUtils.deriveSharedInfo2( + encryptorParameters.getProtocolVersion(), + sharedInfo2Base, + ephemeralPublicKey, + requestNonce, + requestTimestamp, + associatedData + ); + // Once we have SharedInfo2 prepared, we can construct a decryptor. + final EciesDecryptor eciesDecryptor = new EciesDecryptor(envelopeKey, sharedInfo2); + // Prepare EciesPayload + final EciesCryptogram eciesCryptogram = new EciesCryptogram(ephemeralPublicKey, mac, encryptedData); + final EciesParameters eciesParameters = new EciesParameters(requestNonce, associatedData, requestTimestamp); + final EciesPayload eciesPayload = new EciesPayload(eciesCryptogram, eciesParameters); + // Try to decrypt data. + final byte[] plaintext = eciesDecryptor.decrypt(eciesPayload); + // Keep envelope key and nonce used for the request if protocol require use the same nonce also for the response. + this.envelopeKey = envelopeKey; + this.requestNonce = validator.isUseTimestamp() ? null : requestNonce; + // Return decrypted data. + return plaintext; + } + + @Override + public boolean canEncryptResponse() { + return this.envelopeKey != null; + } + + @Override + public EncryptedResponse encryptResponse(byte[] data) throws EncryptorException { + if (!canEncryptResponse()) { + throw new EncryptorException("Encryptor is not ready for response encryption."); + } + // Prepare nonce and timestamp for the response, if required. + final byte[] responseNonce = getResponseNonce(); + final Long responseTimestamp = validator.isUseTimestamp() ? EciesUtils.generateTimestamp() : null; + // Prepare SharedInfo2 with all available information. + final byte[] sharedInfo2 = EciesUtils.deriveSharedInfo2( + encryptorParameters.getProtocolVersion(), + sharedInfo2Base, + null, + responseNonce, + responseTimestamp, + associatedData + ); + // Once we have SharedInfo2 prepared, we can construct an encryptor. + final EciesEncryptor eciesEncryptor = new EciesEncryptor(envelopeKey, sharedInfo2); + // Prepare EciesParameters + final EciesParameters eciesParameters = new EciesParameters(responseNonce, associatedData, responseTimestamp); + // If everything is OK, then encrypt data. + final EciesPayload eciesPayload = eciesEncryptor.encrypt(data, eciesParameters); + // If everything's OK, then reset the state to do not allow to encrypt with the same keys again. + this.envelopeKey = null; + this.requestNonce = null; + + return new EncryptedResponse( + Base64.getEncoder().encodeToString(eciesPayload.getCryptogram().getEncryptedData()), + Base64.getEncoder().encodeToString(eciesPayload.getCryptogram().getMac()), + validator.isUseTimestamp() ? Base64.getEncoder().encodeToString(responseNonce) : null, + responseTimestamp + ); + } + + /** + * Get nonce for the response depending on the protocol version. If protocol require to use unique nonce + * for the response, then generate new one. + * @return Nonce bytes or null if protocol doesn't use nonce. + * @throws EciesException In case of random generator is not configured properly. + */ + private byte[] getResponseNonce() throws EciesException { + try { + if (!validator.isUseTimestamp()) { + // 3.0 - null + // 3.1 - the same nonce + return requestNonce; + } + // 3.2+ + for (int attempts = 0; attempts < 8; attempts++) { + byte[] responseNonce = keyGenerator.generateRandomBytes(16); + if (!Arrays.equals(responseNonce, requestNonce)) { + return responseNonce; + } + } + throw new EciesException("Failed to generate unique response nonce"); + } catch (CryptoProviderException e) { + throw new EciesException("Failed to generate response nonce", e); + } + } +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/exception/EciesException.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/exception/EciesException.java index 76bf436f1..53509cdc5 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/exception/EciesException.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/exception/EciesException.java @@ -16,12 +16,14 @@ */ package io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception; +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; + /** * Exception used for handling incorrect ECIES encryption / decryption states. * * @author Petr Dvorak, petr@wultra.com */ -public class EciesException extends Exception { +public class EciesException extends EncryptorException { /** * Default constructor. diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesSharedInfo1.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesSharedInfo1.java deleted file mode 100644 index 2ce83e236..000000000 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesSharedInfo1.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * PowerAuth Crypto Library - * Copyright 2018 Wultra s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model; - - -import java.nio.charset.StandardCharsets; - -/** - * Enumeration with constants for parameter sharedInfo1. - */ -public enum EciesSharedInfo1 { - - /** - * Generic application scope. - */ - APPLICATION_SCOPE_GENERIC("/pa/generic/application"), - - /** - * Generic activation scope. - */ - ACTIVATION_SCOPE_GENERIC("/pa/generic/activation"), - - /** - * Activation scope layer 2. - */ - ACTIVATION_LAYER_2("/pa/activation"), - - /** - * Upgrade scope. - */ - UPGRADE("/pa/upgrade"), - - /** - * Vault unlock scope. - */ - VAULT_UNLOCK("/pa/vault/unlock"), - - /** - * Create token scope. - */ - CREATE_TOKEN("/pa/token/create"), - - /** - * Recovery code confirmation scope. - */ - CONFIRM_RECOVERY_CODE("/pa/recovery/confirm"); - - private final byte[] value; - - /** - * Constructor with sharedInfo1 parameter for ECIES. - * @param sharedInfo1 Parameter sharedInfo1 for ECIES. - */ - EciesSharedInfo1(String sharedInfo1) { - this.value = sharedInfo1.getBytes(StandardCharsets.UTF_8); - } - - /** - * Get byte value of sharedInfo1 parameter for ECIES. - * @return Byte value of sharedInfo1 parameter for ECIES. - */ - public byte[] value() { - return value; - } - -} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/exception/EncryptorException.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/exception/EncryptorException.java new file mode 100644 index 000000000..725dad07b --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/exception/EncryptorException.java @@ -0,0 +1,46 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.exception; + +/** + * Exception used for handling incorrect general encryption / decryption states. + */ +public class EncryptorException extends Exception { + /** + * Default constructor. + */ + public EncryptorException() { + } + + /** + * Constructor with message. + * @param message Message. + */ + public EncryptorException(String message) { + super(message); + } + + /** + * Construction with message and cause. + * @param message Message. + * @param cause Cause. + */ + public EncryptorException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedRequest.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedRequest.java new file mode 100644 index 000000000..7b5a5e8c7 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedRequest.java @@ -0,0 +1,34 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.model; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * The {@code EncryptedRequest} object represents an encrypted request payload in PowerAuth End-To-End encryption scheme. + */ +@Data +@AllArgsConstructor +public class EncryptedRequest { + private String ephemeralPublicKey; + private String encryptedData; + private String mac; + private String nonce; + private Long timestamp; +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedResponse.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedResponse.java new file mode 100644 index 000000000..beb2b636a --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptedResponse.java @@ -0,0 +1,33 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.model; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * The {@code EncryptedResponse} object represents an encrypted request payload in PowerAuth End-To-End encryption scheme. + */ +@Data +@AllArgsConstructor +public class EncryptedResponse { + private String encryptedData; + private String mac; + private String nonce; + private Long timestamp; +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorId.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorId.java new file mode 100644 index 000000000..d8e05dc02 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorId.java @@ -0,0 +1,107 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.model; + +import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; + +import java.nio.charset.StandardCharsets; + +/** + * Enumeration with constants for parameter sharedInfo1. + */ +public enum EncryptorId { + + /** + * Generic application encryption. + */ + APPLICATION_SCOPE_GENERIC("/pa/generic/application", EncryptorScope.APPLICATION_SCOPE), + + /** + * Generic activation encryption. + */ + ACTIVATION_SCOPE_GENERIC("/pa/generic/activation", EncryptorScope.ACTIVATION_SCOPE), + + /** + * Activation layer 2 encryption. + */ + ACTIVATION_LAYER_2("/pa/activation", EncryptorScope.APPLICATION_SCOPE), + + /** + * Upgrade protocol encryption. + */ + UPGRADE("/pa/upgrade", EncryptorScope.ACTIVATION_SCOPE), + + /** + * Vault unlock encryption. + */ + VAULT_UNLOCK("/pa/vault/unlock", EncryptorScope.ACTIVATION_SCOPE), + + /** + * Create token encryption. + */ + CREATE_TOKEN("/pa/token/create", EncryptorScope.ACTIVATION_SCOPE), + + /** + * Recovery code confirmation encryption. + */ + CONFIRM_RECOVERY_CODE("/pa/recovery/confirm", EncryptorScope.ACTIVATION_SCOPE); + + private final String value; + private final EncryptorScope scope; + + /** + * Constructor with encryptor's identifier. + * @param identifier Encryptor's identifier. + * @param scope Encryptor's scope; + */ + EncryptorId(String identifier, EncryptorScope scope) { + this.value = identifier; + this.scope = scope; + } + + /** + * Get identifier's value. + * @return String with encryptor's identifier. + */ + public String value() { + return value; + } + + /** + * Get encryptor's scope; + * @return Encryptor's scope; + */ + public EncryptorScope scope() { + return scope; + } + + /** + * Get bytes of sharedInfo1 parameter for ECIES scheme. + * @param protocolVersion Version of protocol. + * @return Bytes of sharedInfo1 parameter for ECIES scheme. + */ + public byte[] getEciesSharedInfo1(String protocolVersion) { + final byte[] valueBytes = value.getBytes(StandardCharsets.UTF_8); + // 3.0, 3.1 or if version is unspecified, return value bytes + if (protocolVersion == null || "3.0".equals(protocolVersion) || "3.1".equals(protocolVersion)) { + return valueBytes; + } + // 3.2+ use protocol version as prefix to value + return ByteUtils.concat(protocolVersion.getBytes(StandardCharsets.UTF_8), valueBytes); + } +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorParameters.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorParameters.java new file mode 100644 index 000000000..4ffe51f10 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorParameters.java @@ -0,0 +1,36 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.model; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * The {@code EncryptorParameters} object contains shared parameters that affects what type of {@code ServerEncryptor} + * or {@code ClientEncryptor} is constructed in {@code EncryptorFactory}. The parameters are typically extracted from + * the HTTP request header on the server side implementation. + * + * @see io.getlime.security.powerauth.crypto.lib.encryptor.EncryptorFactory + */ +@Data +@AllArgsConstructor +public class EncryptorParameters { + private String protocolVersion; + private String applicationKey; + private String activationIdentifier; +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesScope.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorScope.java similarity index 71% rename from powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesScope.java rename to powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorScope.java index 6841d9df2..9c96b5fbb 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesScope.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorScope.java @@ -1,6 +1,6 @@ /* * PowerAuth Crypto Library - * Copyright 2018 Wultra s.r.o. + * Copyright 2023 Wultra s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,21 +14,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model; + +package io.getlime.security.powerauth.crypto.lib.encryptor.model; /** - * Enumeration of application scopes for ECIES. + * Enumeration of application scopes for encryptor. */ -public enum EciesScope { +public enum EncryptorScope { /** - * ECIES application scope (non-personalized). + * Application scope (non-personalized). */ APPLICATION_SCOPE, /** - * ECIES activation scope (personalized). + * Activation scope (personalized). */ ACTIVATION_SCOPE - } diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorSecrets.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorSecrets.java new file mode 100644 index 000000000..6622a350e --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/EncryptorSecrets.java @@ -0,0 +1,25 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.model; + +/** + * Secret keys and constants for general End-To-End encryptor. The interface has no methods or properties, + * because each encryptor's implementation provide a different object that configure the secret values. + */ +public interface EncryptorSecrets { +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ClientEncryptorSecrets.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ClientEncryptorSecrets.java new file mode 100644 index 000000000..190539726 --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ClientEncryptorSecrets.java @@ -0,0 +1,100 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.model.v3; + +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorSecrets; +import lombok.Data; +import lombok.Getter; +import lombok.ToString; + +import java.security.PublicKey; + +/** + * The {@code ClientEncryptorSecrets} class provides secret values for client side encryptor using ECIES scheme. + *

PowerAuth protocol versions: + *

    + *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • + *
+ */ +@Getter +@Data +@ToString(onlyExplicitlyIncluded = true) +public class ClientEncryptorSecrets implements EncryptorSecrets { + /** + * Server's public key. + */ + private final PublicKey serverPublicKey; + /** + * Application secret. + */ + private final String applicationSecret; + /** + * Transport key, required for activation scoped encryptor. + */ + private final byte[] transportKey; + /** + * Precalculated SharedInfo2 base. If provided, then {@link #applicationSecret} or {@link #transportKey} is not + * required. + */ + private final byte[] sharedInfo2Base; + + /** + * Construct encryptor secrets for an application scoped encryptor. In this variant, the SharedInfo2 base is not known + * in advance and will be calculated in the encryptor. + * @param serverPublicKey Server's public key. + * @param applicationSecret Application's secret string. + */ + public ClientEncryptorSecrets(PublicKey serverPublicKey, String applicationSecret) { + this.serverPublicKey = serverPublicKey; + this.applicationSecret= applicationSecret; + this.transportKey = null; + this.sharedInfo2Base = null; + } + + /** + * Construct encryptor secrets for an activation scoped encryptor. In this variant, the SharedInfo2 base is not known + * in advance and will be calculated in the encryptor. + * @param serverPublicKey Server's public key. + * @param applicationSecret Application's secret string. + * @param transportKey Transport key. The value is required for activation scoped encryptor. If null is provided, + * then such secrets can be used for application scoped encryptor only. + */ + public ClientEncryptorSecrets(PublicKey serverPublicKey, String applicationSecret, byte[] transportKey) { + this.serverPublicKey = serverPublicKey; + this.applicationSecret = applicationSecret; + this.transportKey = transportKey; + this.sharedInfo2Base = null; + } + + /** + * Construct encryptor secrets with precalculated SharedInfo2 base. This type of configuration is useful in case + * that SharedInfo2 base is known in advance. + * @param serverPublicKey Server's public key. + * @param sharedInfo2Base Precalculated SharedInfo2 base. + */ + public ClientEncryptorSecrets(PublicKey serverPublicKey, byte[] sharedInfo2Base) { + this.serverPublicKey = serverPublicKey; + this.applicationSecret = null; + this.transportKey = null; + this.sharedInfo2Base = sharedInfo2Base; + } + + +} diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ServerEncryptorSecrets.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ServerEncryptorSecrets.java new file mode 100644 index 000000000..3b8e3fdcb --- /dev/null +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/model/v3/ServerEncryptorSecrets.java @@ -0,0 +1,107 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.lib.encryptor.model.v3; + +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorSecrets; +import lombok.Data; +import lombok.Getter; +import lombok.ToString; + +import java.security.PrivateKey; + +/** + * The {@code ServerEncryptorSecrets} class provides secret values for server side encryptor using ECIES scheme. + *

PowerAuth protocol versions: + *

    + *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • + *
+ */ +@Getter +@Data +@ToString(onlyExplicitlyIncluded = true) +public class ServerEncryptorSecrets implements EncryptorSecrets { + /** + * Server's private key. + */ + private final PrivateKey serverPrivateKey; + /** + * Application's secret. + */ + private final String applicationSecret; + /** + * Transport key, required for activation scoped encryptor. + */ + private final byte[] transportKey; + /** + * Precalculated envelope key. + */ + private final byte[] envelopeKey; + /** + * Precalculated SharedInfo2 base. + */ + private final byte[] sharedInfo2Base; + + /** + * Construct encryptor secrets for an activation scoped encryptor. In this variant, the SharedInfo2 base is not + * known in advance and will be calculated in the encryptor. + * @param serverPrivateKey Server's private key. + * @param applicationSecret Application's secret. + * @param transportKey Transport key. The value is required for activation scoped encryptor. If null is provided, + * then such secrets can be used for application scoped encryptor only. + */ + public ServerEncryptorSecrets(PrivateKey serverPrivateKey, String applicationSecret, byte[] transportKey) { + this.serverPrivateKey = serverPrivateKey; + this.envelopeKey = null; + this.transportKey = transportKey; + this.sharedInfo2Base = null; + this.applicationSecret = applicationSecret; + } + + /** + * Construct encryptor secrets for an application scoped encryptor. In this variant, the SharedInfo2 base is not + * known in advance and will be calculated in the encryptor. + * @param serverPrivateKey Server's private key. + * @param applicationSecret Application's secret. + */ + public ServerEncryptorSecrets(PrivateKey serverPrivateKey, String applicationSecret) { + this.serverPrivateKey = serverPrivateKey; + this.envelopeKey = null; + this.transportKey = null; + this.sharedInfo2Base = null; + this.applicationSecret = applicationSecret; + } + + /** + * Construct encryptor secrets with precalculated envelope key and SharedInfo2 base. This type of configuration + * is useful for situations when such values are obtained from elsewhere. For example, our RESTful integration + * library doesn't know server's private key, but can get such precomputed secrets from the PowerAuth Server. + * + * @param envelopeKey Precalculated envelope key. + * @param sharedInfo2Base Precalculated SharedInfo2 base. + */ + public ServerEncryptorSecrets(byte[] envelopeKey, byte[] sharedInfo2Base) { + this.serverPrivateKey = null; + this.envelopeKey = envelopeKey; + this.transportKey = null; + this.sharedInfo2Base = sharedInfo2Base; + this.applicationSecret = null; + } +} + diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java index 445247951..1cd3120cc 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/util/EciesUtils.java @@ -16,7 +16,13 @@ */ package io.getlime.security.powerauth.crypto.lib.util; -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesScope; +import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorScope; +import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; +import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; + +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; /** * A utility class for handling ECIES data. @@ -54,22 +60,96 @@ public static long generateTimestamp() { /** * Derive associated data for ECIES. - * @param eciesScope ECIES scope. - * @param version Protocol version. + * @param scope Encryptor's scope. + * @param protocolVersion Protocol version. * @param applicationKey Application key. * @param activationId Activation ID. * @return Derived associated data. + * @throws EciesException In case that activation ID is required but is missing. */ - public static byte[] deriveAssociatedData(EciesScope eciesScope, String version, String applicationKey, String activationId) { - if ("3.2".equals(version)) { - if (eciesScope == EciesScope.ACTIVATION_SCOPE) { - return ByteUtils.concatStrings(version, applicationKey, activationId); + public static byte[] deriveAssociatedData(EncryptorScope scope, String protocolVersion, String applicationKey, String activationId) throws EciesException { + if (protocolVersion == null) { + throw new EciesException("Protocol version is missing"); + } + if ("3.2".equals(protocolVersion)) { + if (applicationKey == null) { + throw new EciesException("Application key is missing"); + } + if (scope == EncryptorScope.ACTIVATION_SCOPE) { + if (activationId == null) { + throw new EciesException("Activation ID is missing in ACTIVATION_SCOPE"); + } + return ByteUtils.concatStrings(protocolVersion, applicationKey, activationId); } else { - return ByteUtils.concatStrings(version, applicationKey); + return ByteUtils.concatStrings(protocolVersion, applicationKey); } } else { return null; } } + /** + * Derive base for SharedInfo2 calculation for ECIES encryption scheme. + * @param scope Scope of the encryptor. + * @param applicationSecret Application's secret. + * @param transportKey Transport key, required when scope is {@link EncryptorScope#ACTIVATION_SCOPE}. + * @return Bytes representing SharedInfo2 base. + * @throws EciesException In case of some required parameter is missing or if underlying cryptographic primitive fail. + */ + public static byte[] deriveSharedInfo2Base(EncryptorScope scope, String applicationSecret, byte[] transportKey) throws EciesException { + if (applicationSecret == null) { + throw new EciesException("Missing applicationSecret parameter"); + } + final byte[] applicationSecretBytes = applicationSecret.getBytes(StandardCharsets.UTF_8); + if (scope == EncryptorScope.APPLICATION_SCOPE) { + // Application scope + return Hash.sha256(applicationSecretBytes); + } else { + // Activation scope + if (transportKey == null || transportKey.length != 16) { + throw new EciesException("Invalid or missing transportKey"); + } + try { + return new HMACHashUtilities().hash(transportKey, applicationSecretBytes); + } catch (Throwable t) { + throw new EciesException("HMAC calculation failed", t); + } + } + } + + /** + * Derive final SharedInfo2 constant for ECIES encryption scheme. + * @param protocolVersion Protocol's version. + * @param sharedInfo2Base SharedInfo2 base, calculated by {@link #deriveSharedInfo2Base(EncryptorScope, String, byte[])} function. + * @param ephemeralPublicKey Ephemeral public key. Value is null for response encryption / decryption. + * @param nonce Nonce for request or response. + * @param timestamp Timestamp for request or response. + * @param associatedData Associated data. + * @return Bytes representing SharedInfo2 parameter for ECIES encryption. + * @throws EciesException In case that some required parameter is missing. + */ + public static byte[] deriveSharedInfo2(String protocolVersion, byte[] sharedInfo2Base, byte[] ephemeralPublicKey, byte[] nonce, Long timestamp, byte[] associatedData) throws EciesException { + if (sharedInfo2Base == null) { + throw new EciesException("Missing sharedInfo2Base parameter"); + } + if ("3.2".equals(protocolVersion)) { + if (nonce == null) { + throw new EciesException("Missing nonce parameter"); + } + if (timestamp == null) { + throw new EciesException("Missing nonce parameter"); + } + if (associatedData == null) { + throw new EciesException("Missing associatedData parameter"); + } + return ByteUtils.concatWithSizes( + sharedInfo2Base, + nonce, + ByteBuffer.allocate(Long.BYTES).putLong(timestamp).array(), + ephemeralPublicKey, + associatedData); + } + return sharedInfo2Base; + } + } diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java index ce71ff51a..f14a245f7 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/EciesEncryptorTest.java @@ -16,17 +16,15 @@ */ package io.getlime.security.powerauth.crypto.encryption; +import io.getlime.security.powerauth.crypto.lib.encryptor.EncryptorFactory; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesDecryptor; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesEncryptor; -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesFactory; -import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.exception.EciesException; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.kdf.KdfX9_63; import io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.*; import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; import io.getlime.security.powerauth.crypto.lib.model.exception.CryptoProviderException; import io.getlime.security.powerauth.crypto.lib.model.exception.GenericCryptoException; import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; -import io.getlime.security.powerauth.crypto.lib.util.EciesUtils; import io.getlime.security.powerauth.crypto.lib.util.Hash; import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; import org.bouncycastle.jce.provider.BouncyCastleProvider; @@ -36,16 +34,12 @@ import javax.crypto.SecretKey; import java.nio.ByteBuffer; -import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Security; import java.security.interfaces.ECPrivateKey; -import java.security.interfaces.ECPublicKey; import java.util.Base64; -import java.util.Date; import static org.junit.jupiter.api.Assertions.*; @@ -60,7 +54,7 @@ public class EciesEncryptorTest { private final KeyGenerator keyGenerator = new KeyGenerator(); private final KeyConvertor keyConvertor = new KeyConvertor(); - private final EciesFactory eciesFactory = new EciesFactory(); + private final EncryptorFactory encryptorFactory = new EncryptorFactory(); /** * Add crypto providers. @@ -71,202 +65,6 @@ public static void setUp() { Security.addProvider(new BouncyCastleProvider()); } - /** - * Test that data that go from encryptor can be processed by decryptor and vice versa. - * @throws Exception When test fails. - */ - @Test - public void testEncryptDecrypt() throws Exception { - - final KeyPair fixedKeyPair = keyGenerator.generateKeyPair(); - final ECPrivateKey privateKey = (ECPrivateKey) fixedKeyPair.getPrivate(); - final ECPublicKey publicKey = (ECPublicKey) fixedKeyPair.getPublic(); - final byte[] publicKeyBytes = keyConvertor.convertPublicKeyToBytes(publicKey); - - final byte[] request = "Hello Alice.".getBytes(StandardCharsets.UTF_8); - final byte[] response = "Hello Bob".getBytes(StandardCharsets.UTF_8); - final byte[] applicationSecret = "test_secret".getBytes(StandardCharsets.UTF_8); - for (int i = 0; i < 100; i++) { - byte[] nonceRequest = null; - Long timestampRequest = null; - byte[] nonceResponse = null; - Long timestampResponse = null; - byte[] associatedData = null; - if ((i & 1) == 1) { - // Protocol V3.1+ - nonceRequest = keyGenerator.generateRandomBytes(16); - nonceResponse = keyGenerator.generateRandomBytes(16); - if ((i & 2) == 2) { - // Protocol V3.2+ - associatedData = ByteUtils.concatStrings("3.2", "test_secret"); - timestampRequest = new Date().getTime(); - timestampResponse = new Date().getTime() + 1; - } - } - - final EciesParameters eciesParametersRequest = EciesParameters.builder() - .nonce(nonceRequest) - .associatedData(associatedData) - .timestamp(timestampRequest) - .build(); - final EciesEncryptor encryptorRequest = eciesFactory.getEciesEncryptorForApplication(publicKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, eciesParametersRequest); - final EciesPayload payloadRequest = encryptorRequest.encrypt(request, eciesParametersRequest); - final EciesCryptogram cryptogram = payloadRequest.getCryptogram(); - final EciesParameters parameters = payloadRequest.getParameters(); - System.out.println("# REQUEST"); - System.out.println("- Original data: " + Base64.getEncoder().encodeToString(request) + " (" + new String(request, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(cryptogram.getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(cryptogram.getMac())); - System.out.println("- Nonce: " + (nonceRequest != null ? Base64.getEncoder().encodeToString(parameters.getNonce()) : "null")); - System.out.println("- Timestamp: " + (timestampRequest != null ? parameters.getTimestamp() : "null")); - System.out.println("- Associated data: " + (timestampRequest != null ? Base64.getEncoder().encodeToString(parameters.getAssociatedData()) : "null")); - System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(cryptogram.getEphemeralPublicKey())); - System.out.println(); - - final EciesDecryptor decryptorRequest = eciesFactory.getEciesDecryptorForApplication(privateKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, - eciesParametersRequest, cryptogram.getEphemeralPublicKey()); - final byte[] originalBytesRequest = decryptorRequest.decrypt(payloadRequest); - - assertArrayEquals(request, originalBytesRequest); - - final EciesParameters eciesParametersResponse = EciesParameters.builder() - .nonce(nonceResponse) - .associatedData(associatedData) - .timestamp(timestampResponse) - .build(); - final EciesEncryptor encryptorResponse = eciesFactory.getEciesEncryptor(EciesScope.APPLICATION_SCOPE, - decryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse); - - final EciesPayload payloadResponse = encryptorResponse.encrypt(response, eciesParametersResponse); - System.out.println("# RESPONSE"); - System.out.println("- Original data: " + Base64.getEncoder().encodeToString(response) + " (" + new String(response, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getMac())); - System.out.println("- Nonce: " + (nonceResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getNonce()) : "null")); - System.out.println("- Timestamp: " + (timestampResponse != null ? payloadResponse.getParameters().getTimestamp() : "null")); - System.out.println("- Associated data: " + (timestampResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getAssociatedData()) : "null")); - System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEphemeralPublicKey())); - System.out.println(); - - final EciesDecryptor decryptorResponse = eciesFactory.getEciesDecryptor(EciesScope.APPLICATION_SCOPE, - encryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse, cryptogram.getEphemeralPublicKey()); - final byte[] originalBytesResponse = decryptorResponse.decrypt(payloadResponse); - - assertArrayEquals(response, originalBytesResponse); - } - } - - /** - * Test that invalid MAC causes message rejection. - * @throws Exception When test fails. - */ - @Test - public void testInvalidMacReject() throws Exception { - - final KeyPair fixedKeyPair = keyGenerator.generateKeyPair(); - final ECPrivateKey privateKey = (ECPrivateKey) fixedKeyPair.getPrivate(); - final ECPublicKey publicKey = (ECPublicKey) fixedKeyPair.getPublic(); - final byte[] publicKeyBytes = keyConvertor.convertPublicKeyToBytes(publicKey); - - final byte[] request = "Hello Alice.".getBytes(StandardCharsets.UTF_8); - final byte[] response = "Hello Bob".getBytes(StandardCharsets.UTF_8); - final byte[] applicationSecret = "test_secret".getBytes(StandardCharsets.UTF_8); - for (int i = 0; i < 100; i++) { - byte[] nonceRequest = null; - Long timestampRequest = null; - byte[] nonceResponse = null; - Long timestampResponse = null; - byte[] associatedData = null; - if ((i & 1) == 1) { - // Protocol V3.1+ - nonceRequest = keyGenerator.generateRandomBytes(16); - nonceResponse = keyGenerator.generateRandomBytes(16); - if ((i & 2) == 2) { - // Protocol V3.2+ - associatedData = ByteUtils.concatStrings("3.2", "test_secret"); - timestampRequest = new Date().getTime(); - timestampResponse = new Date().getTime() + 1; - } - } - - final EciesParameters eciesParametersRequest = EciesParameters.builder() - .nonce(nonceRequest) - .associatedData(associatedData) - .timestamp(timestampRequest) - .build(); - final EciesEncryptor encryptorRequest = eciesFactory.getEciesEncryptorForApplication(publicKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, eciesParametersRequest); - final EciesPayload payloadRequest = encryptorRequest.encrypt(request, eciesParametersRequest); - final EciesCryptogram cryptogram = payloadRequest.getCryptogram(); - final EciesParameters parameters = payloadRequest.getParameters(); - System.out.println("# REQUEST"); - System.out.println("- Original data: " + Base64.getEncoder().encodeToString(request) + " (" + new String(request, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(cryptogram.getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(cryptogram.getMac())); - System.out.println("- Nonce: " + (nonceRequest != null ? Base64.getEncoder().encodeToString(parameters.getNonce()) : "null")); - System.out.println("- Timestamp: " + (timestampRequest != null ? parameters.getTimestamp() : "null")); - System.out.println("- Associated data: " + (timestampRequest != null ? Base64.getEncoder().encodeToString(parameters.getAssociatedData()) : "null")); - System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(cryptogram.getEphemeralPublicKey())); - System.out.println(); - - final byte[] macBrokenRequest = keyGenerator.generateRandomBytes(16); - final EciesCryptogram cryptogramBrokenRequest = EciesCryptogram.builder() - .ephemeralPublicKey(cryptogram.getEphemeralPublicKey()) - .encryptedData(cryptogram.getEncryptedData()) - .mac(macBrokenRequest) - .build(); - final EciesPayload payloadBrokenRequest = new EciesPayload(cryptogramBrokenRequest, parameters); - final EciesDecryptor decryptorRequest = eciesFactory.getEciesDecryptorForApplication(privateKey, applicationSecret, EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, - eciesParametersRequest, publicKeyBytes); - - try { - decryptorRequest.decrypt(payloadBrokenRequest); - fail("Invalid MAC was provided in request and should have been rejected"); - } catch (EciesException e) { - // OK - System.out.println("!!! Invalid MAC correctly detected in request"); - System.out.println(); - } - - final EciesParameters eciesParametersResponse = EciesParameters.builder() - .nonce(nonceResponse) - .associatedData(associatedData) - .timestamp(timestampResponse) - .build(); - final EciesEncryptor encryptorResponse = eciesFactory.getEciesEncryptor(EciesScope.APPLICATION_SCOPE, - decryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse); - - final EciesPayload payloadResponse = encryptorResponse.encrypt(response, eciesParametersResponse); - System.out.println("# RESPONSE"); - System.out.println("- Original data: " + Base64.getEncoder().encodeToString(response) + " (" + new String(response, StandardCharsets.UTF_8) + ")"); - System.out.println("- Encrypted data: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEncryptedData())); - System.out.println("- MAC: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getMac())); - System.out.println("- Nonce: " + (nonceResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getNonce()) : "null")); - System.out.println("- Timestamp: " + (timestampResponse != null ? payloadResponse.getParameters().getTimestamp() : "null")); - System.out.println("- Associated data: " + (timestampResponse != null ? Base64.getEncoder().encodeToString(payloadResponse.getParameters().getAssociatedData()) : "null")); - System.out.println("- Ephemeral public key: " + Base64.getEncoder().encodeToString(payloadResponse.getCryptogram().getEphemeralPublicKey())); - System.out.println(); - - final byte[] macBrokenResponse = keyGenerator.generateRandomBytes(16); - final EciesCryptogram cryptogramBrokenResponse = EciesCryptogram.builder() - .ephemeralPublicKey(cryptogram.getEphemeralPublicKey()) - .encryptedData(cryptogram.getEncryptedData()) - .mac(macBrokenResponse) - .build(); - final EciesPayload payloadBrokenResponse = new EciesPayload(cryptogramBrokenResponse, parameters); - - final EciesDecryptor decryptorResponse = eciesFactory.getEciesDecryptor(EciesScope.APPLICATION_SCOPE, - decryptorRequest.getEnvelopeKey(), applicationSecret, null, eciesParametersResponse, publicKeyBytes); - try { - decryptorResponse.decrypt(payloadBrokenResponse); - fail("Invalid MAC was provided in response and should have been rejected"); - } catch (EciesException e) { - // OK - System.out.println("!!! Invalid MAC correctly detected in response"); - System.out.println(); - } - } - } - /** * Test KDF implementation (X9.63 with SHA 256). */ @@ -632,396 +430,4 @@ public void testVectorsV3_1() throws Exception { assertArrayEquals(expectedResponsePayload.getCryptogram().getMac(), responsePayload.getCryptogram().getMac()); } } - - /** - * Test for matching client side generated test vectors for ECIES, for protocol V3.2+ - * - * @throws Exception When test fails. - */ - @Test - public void testVectorsV3_2() throws Exception { - // Paste vectors here (generated by iOS unit tests) - // ---------------------------- - // Shared constants - final PrivateKey masterServerPrivateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(new byte[1], Base64.getDecoder().decode("9yGP2WnAbj+yGAHQyVLYoskZnTu5ohAZgILNbtfd1VA="))); - final PublicKey masterServerPublicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("A+5bma2BQdVwIADKdmIrfjla/Mku/rrqRrivVWdSKExF")); - final PrivateKey serverPrivateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(new byte[1], Base64.getDecoder().decode("USng63b1l4Pf5L8As+Ko2l4zbkSRs3ecF6K5N8WQeMc="))); - final PublicKey serverPublicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("Aoz7sxHbYthkiS3KFJusEaoHkjedL7SgXTKMCzpj0uQE")); - final String activationId = "E9AA5687-4764-437F-8FB4-A40D199C096A"; - final String applicationKey = "srRZLHZIyzMaN64GJ0dxtA=="; - final String applicationSecret = "ZlOlwx+gLWHb7QpuzxWzAw=="; - final byte[] transportKey = Base64.getDecoder().decode("BsKjSjlaKQOUHtYG98aY1w=="); - // associated data - final byte[] adApplicationScope = EciesUtils.deriveAssociatedData(EciesScope.APPLICATION_SCOPE, "3.2", applicationKey, null); - final byte[] adActivationScope = EciesUtils.deriveAssociatedData(EciesScope.ACTIVATION_SCOPE, "3.2", applicationKey, activationId); - // Original request data - final byte[][] plainRequestData = { - Base64.getDecoder().decode("YaU82ZVtxeIGpVVmG6Isi0ONK8L+/39cgtMrNvl0wHU1/5UI6f6Q5wf3lAUQ7Anjsp491JrA/3pUnxgoFeYPgCccU6+km7Nk/IFoGCG+Z9xifMyc0LTKe0QQ"), - Base64.getDecoder().decode("kInBVi3d3ZXnfarJEzq5IPGzi3VoOxnw+wk3zTbNMp/J/SNWqaADMHk6sLE7Ye3jKHXZPpBI9OtOx94="), - Base64.getDecoder().decode("yG+hIfLEwOQ5pZ4SlgxtAl5LNj2DUQ+W+PXv1xKTSGe4lPTOBBj3FXhI0ga88dLLeNNFEmc9aU17RoRBwUkQ3p8="), - Base64.getDecoder().decode("TCZdx+2qrEIEKNhDbwpORPiHshlq4/5bD2/6SFO1DAXk2ulP+BusmZqiVdbu+o69sy0="), - Base64.getDecoder().decode("ddOilL/cN9r+mb9TMCkj/JYpH08PCuc8uUaGgfcHuBuZ8/lxSbU8OwmkzvR8fLxWs6UmwnvhmtHXhZR02JAQirz5Ti8CMRQ="), - Base64.getDecoder().decode("/GlPcZzfoI1ouvwyaeb/zDd41ggEUl/tq8BeMQsrQKKqEOw3QZ+kf4DFNez9OW+VFa/UdUSzhXXlRUezBsqO7TwBXyLj9g=="), - Base64.getDecoder().decode("+HWRrh43RA=="), - Base64.getDecoder().decode("mvHK5iYUncLZeg=="), - Base64.getDecoder().decode("HaeoPYvTzpB81Ld2Xqlxc/0vzBMDJvKiFRoO"), - Base64.getDecoder().decode("56eHMGiTKO+qlf4CvrWkNnJRzz3InPma3tobYsTjHokukBQ9UV8ubJelQZAMxNds/YUbKUfd7dGFO9P/1fzZr+ViIwsY9N8U++sy9Qq0aHp3ZGuG8GQbaze/QU58dlvLTxI="), - Base64.getDecoder().decode("qftvQ69NTYy4Av48aP7Ha2OiUjI2IxwNCwx+D8WbryU1gwq4wKO+dHpeF2xe1mGWBuWg2gTTF7ABeDG7uPVVHjcAwz7q0SmKsT4cMvFEBU1Vu7m81Y5uxXTQWJbxL1T+tk3dWD3PMu9uD2MaCwRoxI5Tbe3Y"), - Base64.getDecoder().decode("V016gDqvBDnLLY9pNOHKHrCcBVtiWLpB/iMnVJyFelzWnFCBNz2aH16kB7VVUV9wzGTzUnVcUv+0qtXt9TB+7ru8Be5cBo3ex1owXFHzY9kK3OFPBB7tG4C8OzTOTBG/a9lHQ8HMNBHGEedJWTU7V4d9TyVE"), - Base64.getDecoder().decode("kvGtv3ETuAP/RlVL6V+WDg8mQTji31elmaqs161/8MIhQuOdJuyBQm4YKKzRUteE7PKJ1jxpCxagwavNjzjHtBHcn1tyvzs1MBCzFHcpwdYp0H6nfsMm1OIvq6d/IOv8OXJNe9JbN/GM7+LI9giT"), - Base64.getDecoder().decode("vFrd2MCfb2lfp0T9cG9IYEXETLvqacSkS29C08YQj38QtCb641ZLTrjAr1CJm8Rv65xMkjTg+UMQ8cFoFTCxxyI3C1Nhht9+J02UG7gwjpZ6+JJp"), - Base64.getDecoder().decode("3qk3FhvZsoJZmyIm7IS6cwUvDo0V2g+5GThMfYlsRBFGS3kGp7gaZauDGxhyWwM8B4A70q0T"), - Base64.getDecoder().decode("Ep+nJI2lx/jzXY76zHXShoQcqZjGxaFvEzasI7dnGEj0UOViwA7hRCLKxNBm7cVtqQ=="), - }; - // Original response data - final byte[][] plainResponseData = { - Base64.getDecoder().decode("sIFW/c6fq/ydsSQq16YqpVadYvsr/4Sb44hPlCMmdTWmYry+srLnN0z75dFw7t7Y2oVlWvbBXFIP4hSMlwb00PW86SDzf1r5CoB5yjM0WpoVc+UopIL+754ovToZKNuWPgMsKBdZXq8="), - Base64.getDecoder().decode("Rb7GAMGHbUM2cpPrxBTiPS3FnK+MwtHla+uE98XHxUn8YA9w"), - Base64.getDecoder().decode("AHFix78/UtKb+Bn7RSxY6tFf7nsI3iyrgoVpH9eHhMsj"), - Base64.getDecoder().decode("8B/4nwcOYVP1+dWqKQRxJZLDqvei8udSJbdv35zB4gbA/OVNwSKB47/YMq/EaEstzCC9majElHOtAHWWEw=="), - Base64.getDecoder().decode("jNpzHRkMJxSLUGRVGRfZthDsyXZQQWQfh21YQW7cXiKmFhOMbIhQ4jGB1k2wN6OpeQpC2ICAwuZHUkbgjejPd9BAhhs+NJuqXy8zNmxEyw=="), - Base64.getDecoder().decode("kd+UXlipU5ZD2zWVq4R1+rcWMEEm5E2MJ9V1MvYOdNwu3mOlLe2BiHTxBdL+wWLi0xuTVg=="), - Base64.getDecoder().decode("JwRK0/bCado7Ia41x44h/r8unR8gulBXIKZwdbU="), - Base64.getDecoder().decode("aquPESglL5zHJyQzdVttpFmyY+UYeyV5NMmAhwfl9L1NkhfZKMA7p6/6nxcyrQ4FkNGSzxnfMeJiDZaTNGqF"), - Base64.getDecoder().decode("j2gautpGEjZaQ3jqyin90WAupL2oWzSpagSk8TwZ9ZkXRBGmCnJVe2+sbl4QcO/KLFglY923/sFrqRMFs2l0YhzoLzwo1JbM9x6qNhdxZS58AazApzcZMOUrAOE66ipKlK2Uhhpf2DPkOjs="), - Base64.getDecoder().decode("M57qIU0guWb+481z5haelp1lnwhxWBBetApaBlN5/wxbyi6hXnfe2tj+uA=="), - Base64.getDecoder().decode("YpgkE/2U2+syftMpdVXr0PO6iWWlaJpunZiBMvjG9M1RFj5lEP+buxOwZpbQScolGI+uepg="), - Base64.getDecoder().decode("UFFtPoFH31w7bNbFW9OKpIr4Na6OVB0xQ5AxcNTZRl7Q0EJyaalldNsLXN2/k2ZVIk9yGa8E8mKKNv4d7n5KyzJ2pc1KIOsPFA=="), - Base64.getDecoder().decode("JiaNh2U4lsXEsizpuHvEErW20zxXCTuQDFlDVf38mrN4PWaksoSFZczVrA=="), - Base64.getDecoder().decode("44jXTodR6OrLzqUQ1TxBnOl7xlgGoGem4x9e0DM/kWXf/u0bVctxwwnhy3e494CfqyxzzZAjialo/zxfbp9jC9iLQ0GiC+arCxULj06i2BQ="), - Base64.getDecoder().decode("1JT9CB2D1J+tb2t8scSC4wucgp5thetv5YIOw+6VNABkrmc+mfCTLuOjh46okkIdKNWpyPyfjQVtcsjeCa/f6/wPGl7/LhTLi5dt2D5YGm8IPorKmeFwTQmEY1B5WuBtpZcVZAa8czo1nVavAtDtFw0XpYcH/Q=="), - Base64.getDecoder().decode("Zs8Za1gQyz3oj+BvGmEGwGqgp0yJfMwETIIyI0B/RXjLFWSHMPiM//gDOTbRPwL+/v6qAcCmHJRAtg8qJ7Crkb1vbXLvGI0="), - }; - // SharedInfo1s - final EciesSharedInfo1[] sharedInfo1 = { - EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, - EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC, - EciesSharedInfo1.ACTIVATION_LAYER_2, - EciesSharedInfo1.UPGRADE, - EciesSharedInfo1.VAULT_UNLOCK, - EciesSharedInfo1.CREATE_TOKEN, - EciesSharedInfo1.CONFIRM_RECOVERY_CODE, - EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, - EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC, - EciesSharedInfo1.ACTIVATION_LAYER_2, - EciesSharedInfo1.UPGRADE, - EciesSharedInfo1.VAULT_UNLOCK, - EciesSharedInfo1.CREATE_TOKEN, - EciesSharedInfo1.CONFIRM_RECOVERY_CODE, - EciesSharedInfo1.APPLICATION_SCOPE_GENERIC, - EciesSharedInfo1.ACTIVATION_SCOPE_GENERIC, - }; - // Scopes - final EciesScope[] scopes = { - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - EciesScope.ACTIVATION_SCOPE, - EciesScope.APPLICATION_SCOPE, - }; - // Requests - final EciesPayload[] encryptedRequest = { - new EciesPayload( - Base64.getDecoder().decode("Aga6rckjHaWqSfeEpdeX8cc4ad/eXzt3LJSkQ8MvUfPp"), - Base64.getDecoder().decode("gJT858v1R7bILVhERyUNN9w+EOT7eLW4iOb8+RFJRsA="), - Base64.getDecoder().decode("o2Tn9uAJVLeB3ic7SJW+yWd++Gt9vaGSBVhOVjDz1i/nxQCzONfc/debc1wY9AYpC7bHXcE3UiO9oFzVkNIs32dGWeDtf7R2yfgrSXAREojR7EeQysUqiYZu+2NZ5ovy"), - Base64.getDecoder().decode("CdSWonYj4tw4YzU+vMO20w=="), - adActivationScope, - 1690381157687L - ), - new EciesPayload( - Base64.getDecoder().decode("Ao/CZ4yaBZv6OhJ8uN5qZDiRw1htXMt0/AH9uWbGdi2H"), - Base64.getDecoder().decode("zAH1tT9J+PdB28ru53w6pRw8ypQVidZ27uzXvdfrWqY="), - Base64.getDecoder().decode("+BKAEnrjI1ObBFjPuyQg54bnEH6G96NFdTiH2z/Fr3dl1m+Mmd4OZwe4x6NOCZBi5Jvk2D5UKIGr5QoPOKv/iw=="), - Base64.getDecoder().decode("2Wr3SG2TsSPtBlwEEdkwbw=="), - adApplicationScope, - 1690381157693L - ), - new EciesPayload( - Base64.getDecoder().decode("AgIEqGGgYM42fN4R0b6MRE5jLvLZ2KjkLav5ezwbJ2Hk"), - Base64.getDecoder().decode("eyB43ItFhdbE5ryfvDi5U6npDVpaoFktjoLf4/TbAWE="), - Base64.getDecoder().decode("kEm6SLHMvPtjqPdFMNV6z7anGQhM1ElBci0ykYG0SDwn2Iau9No0XOJR2HjTLoe0InwLDI8LBeNjVc/H2eK5HSjGbrmqY7N5x/YRIf0jxS8="), - Base64.getDecoder().decode("N3zD1mbhpOEih343OpgWuA=="), - adActivationScope, - 1690381157693L - ), - new EciesPayload( - Base64.getDecoder().decode("Ail7ay0PzTo6MzyQd80HhqUBGZxLeT3YU3zPAXzhCUTm"), - Base64.getDecoder().decode("xwEtrkOJfZOwcWs6sf0mKBDliZ+aJH/r4DTLB0h4W/s="), - Base64.getDecoder().decode("cdSesnMHHb3NyKa/5hzf1GfqyslV2UL4ibp2O0Wlbia9URR4vpyTI8pGpXTA/koPZ2eqRihQR33SiQVFzH9CZA=="), - Base64.getDecoder().decode("E9BZmC366C/IzL+NpnXXpA=="), - adApplicationScope, - 1690381157693L - ), - new EciesPayload( - Base64.getDecoder().decode("ApXedOuRHsMGkyHchNof2oYTj3HpZP0NCO1iUDMIenis"), - Base64.getDecoder().decode("DvsD6sNJTMwCwuBpridlATGfiS8fy1S8HIenCoCi4kk="), - Base64.getDecoder().decode("uqEooezE6vlZe4Zuno7ZMSQ3vtjv8fJsMrBj31YPTVv34ldhnIdUHEpqST9l4+TFWE7EVXAX+Kqv4fSPy4v44z4J9F9SlsIx0f3D//ISrio="), - Base64.getDecoder().decode("uPaWIzzG4kk3HhY5ypsOnA=="), - adActivationScope, - 1690381157694L - ), - new EciesPayload( - Base64.getDecoder().decode("AtMwe/j9aw2QeKueOxwO+hc69sEhThxicVSdhBkIVCZG"), - Base64.getDecoder().decode("1TgcjlR3AvPbxfDYcrFyZnWPKHXDcux/5EPRV6nDe2M="), - Base64.getDecoder().decode("eMd+fBIya7WCXRM+34986ju8fu87VnSIa+rAYHwkNaTMUFD4Q/lE9ZNDXFZXJbvgAdUL8PSi4ZjrWgvNhDJVFqxUk4PFcinfCx6Xdb3KiS8="), - Base64.getDecoder().decode("tmN2cCYuIf3OspGH5RPRFA=="), - adApplicationScope, - 1690381157694L - ), - new EciesPayload( - Base64.getDecoder().decode("AxAlsHW08Ne3tAo6099BQflhs6acnjrVN5DAso++fVIe"), - Base64.getDecoder().decode("7DXuZ2iGyULntZLHUAmdA5GyOCIxw3adS+eGT5k68fg="), - Base64.getDecoder().decode("MwvZ/w7SpBc69EFPAxCNcQ=="), - Base64.getDecoder().decode("EgLkH3I0xDLGKmziLlMqMA=="), - adActivationScope, - 1690381157695L - ), - new EciesPayload( - Base64.getDecoder().decode("Awc2xjkKiB8Tk/sHpeL0sctO5/adEGgSrhBLgPZ9AunX"), - Base64.getDecoder().decode("pmzcZQRbBqoEctgSEELtioe5Wl3uyG5JD/cRolsU8UQ="), - Base64.getDecoder().decode("w41V9kdvu6fNyZY55AwW7Q=="), - Base64.getDecoder().decode("e/+I+GxCg2toxhFgJ2nOBA=="), - adApplicationScope, - 1690381157695L - ), - new EciesPayload( - Base64.getDecoder().decode("A+SG4WqpgLHxHwl9Mao4DhjWydhjY2/4vgkeoiZdOw77"), - Base64.getDecoder().decode("tJlrtsvQzIGUiy5X3Ge4kYg9fPrtYOJCCI/nQndyPo4="), - Base64.getDecoder().decode("hBQLCfRNpHIYbvvVXL2d4N3dhM7iiDMC/itjULciFiw="), - Base64.getDecoder().decode("e34gRQOn20tgUMCOemb3uA=="), - adActivationScope, - 1690381157695L - ), - new EciesPayload( - Base64.getDecoder().decode("AlgQH6ZX8DsncUGWjDCdTFKIR01KGDqN5rXhS2+ItXeJ"), - Base64.getDecoder().decode("ZBWa2wP0vaKKBhT/PxlzhHpKmZj41k0S9Cg9Zcso8k8="), - Base64.getDecoder().decode("kiebHEclX9JMB5A2h+d2UsmZN5rMXvWonVfgjK/iFgo7QShStu0Eb5a0BPKD61JopuhwNQ8unrN+w8l3iwaGEf2+sha9qP2Ru8mF+WcYE0QLfrWywvTIksNEXSfp4aDgnM/BjeoAQjT43+vugfpJhg=="), - Base64.getDecoder().decode("JgBGS9Hf9ZSvrKaMTKhsQQ=="), - adApplicationScope, - 1690381157696L - ), - new EciesPayload( - Base64.getDecoder().decode("A24gBzKPxPtT//uKDEiI160TTGhUB7VjTFtR1BcjLhwn"), - Base64.getDecoder().decode("6OWAjWa3x4INPK0Y2iIYOsEFNcd0iS4tWkno9Jh5fCg="), - Base64.getDecoder().decode("nLQM7CASKSsjIRBwyvDQqFdWvk0Z3WoUtMCntHfM0hp1/dnuWqirsKz9l/c18aqF5wmYPZ4fmsOgiJxyRfVOUAfobcwRSeP1EMylBZ7ssnuIPGxzqpquGU+9tst1dwGhd0i6C9R9Cck7CQ6uncHhhqsqnvP3U/mIVgQRZv6WEvA="), - Base64.getDecoder().decode("wNLR9Bc0EEmziXzTavZhhA=="), - adActivationScope, - 1690381157696L - ), - new EciesPayload( - Base64.getDecoder().decode("A/DfHbntszB3ENFcxtGP3xlfm8LFO0dWFa4ercBICbCG"), - Base64.getDecoder().decode("0Ws+8YioBLrZuhVDocDL0aGAHPHlMJtKerIR4GqRKoc="), - Base64.getDecoder().decode("U25ylC3ssuNQBN+8Qh1iCiByQWCGpIgQqv9Mq5g7vqM6aY0BdLMFYHvZPgwgi/GJudO9jnu+RVm4sLOKBpCRm3m4nedUce8D0adoxVSUj+QYsdRAZi/H77NyqFaO7FnQ05MEA2TL+4EhJjZdAgZfwUhaLGwBz6vWcJ8DWX/GMZM="), - Base64.getDecoder().decode("ch+7PDKAM3gpfu58K8IS4w=="), - adApplicationScope, - 1690381157696L - ), - new EciesPayload( - Base64.getDecoder().decode("A1c7kdqAP5VTQxjLNJZ9kmOdfA+Q8gnXuYvfRy47JxCT"), - Base64.getDecoder().decode("XWswqkxS7XhScchyvwpOqyUIdhdO/wDTI0ctHUdbGbg="), - Base64.getDecoder().decode("hhmAfs/qaE2QXh/I3VXpfsdWe0xYQeCKWGrVGp9t5KlRtd7nEqeTwAbRecziy+v7CmGPBvPYJV2oKDjilhprUHkj44R/wmns8beP3+IFhrOiFytnw4U4FFt/63A3b/5qV0gt/d3L83c8AFkE/5Rvqw=="), - Base64.getDecoder().decode("pA+suKUEvjMvuN8MWBt1vg=="), - adActivationScope, - 1690381157697L - ), - new EciesPayload( - Base64.getDecoder().decode("A+ovm/YQ/VNO2ka9dtSVxMzsgU7yB1Bvf0mTm+Bs8h2a"), - Base64.getDecoder().decode("Qvl+f82XWeglQ9pRLvHQGgM4xUvWo3IehchYfjcH4AQ="), - Base64.getDecoder().decode("khEyzkx5RBy08DF+S2nL7sZ/dtMQjNqnu0dxgx5GfzBeXMFQAV/SkObtZIQQx8dwQRekOAz9yxHoxHhMaT7x/8DKRnKa4zhd6lrNDqGTpV0v6UlLJ3eh0TUCq8LMEPiU"), - Base64.getDecoder().decode("xNBFurMWs9Z0HKmSgY1GTw=="), - adApplicationScope, - 1690381157697L - ), - new EciesPayload( - Base64.getDecoder().decode("Apc/A8KReP/zD211szWyOEQ9Eqdz1LCEmJfO1y1HNly8"), - Base64.getDecoder().decode("7pao1xEpccSF4vLQWEtwuVsxuUb41UonDDUEdzX+7sk="), - Base64.getDecoder().decode("ptjUFFTgI2vYTCKCE4Fd45geQqdZmeP0Pv1Lj1ZD7YaGLi0sepvgxga16p97QuPGk4PN0Y7nXoJPjyxAn8m7pg=="), - Base64.getDecoder().decode("133AnnK6YlOJ7USrytCflg=="), - adActivationScope, - 1690381157698L - ), - new EciesPayload( - Base64.getDecoder().decode("Aw2tX6Yc2ktHzGwo5Lon8kmYS2H/Sl27lRf+KCGkc48U"), - Base64.getDecoder().decode("ZgvNtZljQLhF+JaQcO371aslra/UkYnMDnJcjrr5O8o="), - Base64.getDecoder().decode("oEEBsWR2Vx6BFQWLtHlD4QRJ7qy2GMcUyhub+E6gRhiFy+J8MPyIODbuiZM/LmsesH+bTMBEtIRwPwubRhBN9A=="), - Base64.getDecoder().decode("TSCu+xgUquceX7MqfxS5qA=="), - adApplicationScope, - 1690381157698L - ), - }; - // Responses - final EciesPayload[] encryptedResponse = { - new EciesPayload( - Base64.getDecoder().decode("Aga6rckjHaWqSfeEpdeX8cc4ad/eXzt3LJSkQ8MvUfPp"), - Base64.getDecoder().decode("0vlwPBdEBZ8+FQwdpR7zrVF5TWhqwxoPaMybukAzyVs="), - Base64.getDecoder().decode("D51pr69D8BiRrFZw0QFDpeLlFRH314Eb6ZO186jNqNHVQdvqf8JBX9q+jcx414w60NjaI2Pdv2jUXhzDVqDg/VoRU8F+rw59TiWmOrlmowpUucrgWXPqtD+prSzklgMHoBr44fCck86VmQTZNZg4wQ=="), - Base64.getDecoder().decode("/YRyO5KRJHgRsIyubm4P2g=="), - adActivationScope, - 1690381157692L - ), - new EciesPayload( - Base64.getDecoder().decode("Ao/CZ4yaBZv6OhJ8uN5qZDiRw1htXMt0/AH9uWbGdi2H"), - Base64.getDecoder().decode("dkYh8FTRICbx4Sft8Q/j6J6pjIpPJ/BvgzGySUk2i20="), - Base64.getDecoder().decode("D49D74QuRj/O46Zc3iSsjBul0eQR8PRnUfBlUhBW+lE7g3uSmyIblt4D+N+tY+oy"), - Base64.getDecoder().decode("m+GDRcxWm58sFNBYf1Xq2A=="), - adApplicationScope, - 1690381157693L - ), - new EciesPayload( - Base64.getDecoder().decode("AgIEqGGgYM42fN4R0b6MRE5jLvLZ2KjkLav5ezwbJ2Hk"), - Base64.getDecoder().decode("AWimw6w/8u5lFnrfYxN/+vwgNp2EVdd1SELRw0TQ4JM="), - Base64.getDecoder().decode("ii9ddXP9WPau2DA5Zx98xWFQFbcfHrRKe5DGDqF5BxJrdDWnE6m2pTi0QfKl2FVo"), - Base64.getDecoder().decode("9nx9W1k1RJ1535y9mYK7gA=="), - adActivationScope, - 1690381157693L - ), - new EciesPayload( - Base64.getDecoder().decode("Ail7ay0PzTo6MzyQd80HhqUBGZxLeT3YU3zPAXzhCUTm"), - Base64.getDecoder().decode("TX438XtBRcd9TZuo7FUWI0fciA87zfF70z4sF3u+tNU="), - Base64.getDecoder().decode("YKUtWjzFA4oKPaa1k8Uq+1YE/OdQ2BzihjhxjCVehJRHzdfhQOF0JiT2weSM+J9hosX4RAWgvhdVT6t8c8sMMg=="), - Base64.getDecoder().decode("mDAaOxKI3/u5dS6ZmiiAuQ=="), - adApplicationScope, - 1690381157694L - ), - new EciesPayload( - Base64.getDecoder().decode("ApXedOuRHsMGkyHchNof2oYTj3HpZP0NCO1iUDMIenis"), - Base64.getDecoder().decode("2qpYb93ULL00grSXmH3r2M0DpyhREbpKs+mFQbcE00A="), - Base64.getDecoder().decode("MIDViK4JgnIV3dGMNGJDOaCEbDslmh5MUP/VJJMHGDPPzaYkhXtzsixsNWPQr9HYYCF7jCMFbUtF7D+n3wGnDn2m+HIaynrfBAfN9WUR40c="), - Base64.getDecoder().decode("omxDzKPpElTD8eXM7CK9qA=="), - adActivationScope, - 1690381157694L - ), - new EciesPayload( - Base64.getDecoder().decode("AtMwe/j9aw2QeKueOxwO+hc69sEhThxicVSdhBkIVCZG"), - Base64.getDecoder().decode("iLtBG1OEJaqed9gzJTnAkzUDRKKf7mVtWkm/cMg4cgo="), - Base64.getDecoder().decode("TnRTeNVtY9nwTaT/S5+egPuHmTAICYG+6r8HaO2XnvClBFv3yBVhWDOdsVisvTFCfSWpZ17VN+MjKBpSxMatlg=="), - Base64.getDecoder().decode("X8Ofnn1xRt+xfLiHWBef7g=="), - adApplicationScope, - 1690381157694L - ), - new EciesPayload( - Base64.getDecoder().decode("AxAlsHW08Ne3tAo6099BQflhs6acnjrVN5DAso++fVIe"), - Base64.getDecoder().decode("6th5DV26C41vOFya0cRzHRtqG56TYV+q//GdmryOXu0="), - Base64.getDecoder().decode("up57gzrplQZ87M/UpCZHu7IRa13ARV4YoTBNc8QLFTU="), - Base64.getDecoder().decode("VsV+/lmLYRTSmCA+RerYxA=="), - adActivationScope, - 1690381157695L - ), - new EciesPayload( - Base64.getDecoder().decode("Awc2xjkKiB8Tk/sHpeL0sctO5/adEGgSrhBLgPZ9AunX"), - Base64.getDecoder().decode("lr9IH4RHGM8VhIgKswRmAXiHkuJNVhFV8VHfMUR1sG4="), - Base64.getDecoder().decode("CyOpIAj+mCpuL4281GBt4XBqDiminRJgMqZgYBMaoIbgbbbtOo6NcdGiPePM5gnpG2vozYZ0Gkkx15ULEG9ezw=="), - Base64.getDecoder().decode("S/6Xk+J+ZKHsjva/W+QYNg=="), - adApplicationScope, - 1690381157695L - ), - new EciesPayload( - Base64.getDecoder().decode("A+SG4WqpgLHxHwl9Mao4DhjWydhjY2/4vgkeoiZdOw77"), - Base64.getDecoder().decode("8/+zgaSyjPRHYHeOt+I6EAdN4TH5TH1pD63S3GFeGqE="), - Base64.getDecoder().decode("+3BnOO+Q9XEoGHvVjZs2bx0NQlS2wUnYL/4974NNApKlfj+2f+wd/BBuaANi65Tla4X7fDa5VUzgGFBxQDsBGUzMuZ+EmXi2Q0z3KoszzGdjLa/3hXe+d8Qr/2tg7MT2aSUb1OQ/WUMeSJsneBp5xw=="), - Base64.getDecoder().decode("cuBUVF83eioHwlhZtpdVqw=="), - adActivationScope, - 1690381157696L - ), - new EciesPayload( - Base64.getDecoder().decode("AlgQH6ZX8DsncUGWjDCdTFKIR01KGDqN5rXhS2+ItXeJ"), - Base64.getDecoder().decode("N7RCD+eXzg1FJtr8GP5o9ODByrI9ColHWIg1nnQNtxw="), - Base64.getDecoder().decode("rQyVNqz1pgj3dDxEioc42/SMiPeZVc0nqOb49mmUSJIqZOE9ECey9r5e91bdh97l"), - Base64.getDecoder().decode("98TOmmf6o1Xxyu33s1E+oA=="), - adApplicationScope, - 1690381157696L - ), - new EciesPayload( - Base64.getDecoder().decode("A24gBzKPxPtT//uKDEiI160TTGhUB7VjTFtR1BcjLhwn"), - Base64.getDecoder().decode("A313Gx/4OVSBm9CejqCY8raFSL7z6v60wI5tcOU+GdY="), - Base64.getDecoder().decode("lmhaCH1CyAw8eM3gmsNrWj5fu6YP5gKuHYcIuJkTBdisJLoHdxass7Voahn3xpVbVHQye8p3/6BkUrsEH5ma+g=="), - Base64.getDecoder().decode("zH605BoTKrMecRngM65HyA=="), - adActivationScope, - 1690381157696L - ), - new EciesPayload( - Base64.getDecoder().decode("A/DfHbntszB3ENFcxtGP3xlfm8LFO0dWFa4ercBICbCG"), - Base64.getDecoder().decode("AyH27WE+M94hp7rIcZlg+1+xwsaYFNPxB6Z4tnthUJk="), - Base64.getDecoder().decode("44DwIz0Jtbobb+GTWj2dZGmDXaUyVxhJMx52+RZwXdZmrx+V+S4CZtrwfXWWzfm0HpTbBySkXLBpA1gBDZA+M8TRJ1xtYk6vRQYKWf7Udck="), - Base64.getDecoder().decode("HhQrIBZoryQaefXxJW+6DA=="), - adApplicationScope, - 1690381157697L - ), - new EciesPayload( - Base64.getDecoder().decode("A1c7kdqAP5VTQxjLNJZ9kmOdfA+Q8gnXuYvfRy47JxCT"), - Base64.getDecoder().decode("I4gJ2UfOe/REFYwFdN3xiiaolzQ1BdbPXIw8ccm1PB4="), - Base64.getDecoder().decode("x+qPTNRzRUBjKLdb1G+6vPWVGNRd3R0fNlqLty84DlrQUe3JCJrsJjNQ5M3Z9ssL"), - Base64.getDecoder().decode("NhYl5OZYknWpqn+VTtPlvA=="), - adActivationScope, - 1690381157697L - ), - new EciesPayload( - Base64.getDecoder().decode("A+ovm/YQ/VNO2ka9dtSVxMzsgU7yB1Bvf0mTm+Bs8h2a"), - Base64.getDecoder().decode("9gckWLgv8P0aYxhqxr+HIEboYxrqcjDtR7cHDAn+zUc="), - Base64.getDecoder().decode("pX7C4VFCr1KwYbkYKd+NOmuXcp4vxWTBdN8dOqbt7aJtWHC1DvmQdFRAgfIvMdV7bM9upEeSRfzH861PGTO43heHgoQT1QcDdY3tE1Tz8XXAm+7omTJlD2gPynfJQbNu"), - Base64.getDecoder().decode("Zjpn840E4Re6aKXwB8h5fQ=="), - adApplicationScope, - 1690381157697L - ), - new EciesPayload( - Base64.getDecoder().decode("Apc/A8KReP/zD211szWyOEQ9Eqdz1LCEmJfO1y1HNly8"), - Base64.getDecoder().decode("MBTtW5Jewq87G2HzRTfFrKdPoAsEtVbk74if9EXbHNU="), - Base64.getDecoder().decode("uwD7wRrNrPlatTZjyfx/nnFvSY4J9YjqCUr0apJxqpX5BYSXq9hSihgEFEr2z6oAz7WIe9ckzk0NFt1inZbVtd1sCV38daTjYYYNp+kvHibv14gRJRIcW2yARBoOsBeEpq4kBBYnURjasSoo+Ls3iFaPgHOliV6M38AaeZ6W6+c="), - Base64.getDecoder().decode("Oic8pDcxzN7z5pAX9cEMmg=="), - adActivationScope, - 1690381157698L - ), - new EciesPayload( - Base64.getDecoder().decode("Aw2tX6Yc2ktHzGwo5Lon8kmYS2H/Sl27lRf+KCGkc48U"), - Base64.getDecoder().decode("WJpuoz5IPECiyJKqmLSmLt76ATna0q4iErfl0gRlpuw="), - Base64.getDecoder().decode("trDHfV6d5pea9+/y3gqrAsJ0f6Lk2MJLn43HZjzBTc/09Gpv+fErWtvqgW4oxtFywU+SDcPBYI/EveTLF/XsuXgsb4LjAolVleQCstDvndI="), - Base64.getDecoder().decode("cJ0D3LMsXxEQ5xhhlbCeHA=="), - adApplicationScope, - 1690381157698L - ), - }; - - // ---------------------------- - // Start of test - - for (int i = 0; i < encryptedRequest.length; i++) { - // Prepare values for this batch - final EciesPayload request = encryptedRequest[i]; - final EciesPayload response = encryptedResponse[i]; - final EciesScope scope = scopes[i]; - final EciesSharedInfo1 sh1 = sharedInfo1[i]; - final byte[] appSecret = applicationSecret.getBytes(StandardCharsets.UTF_8); - // Construct decryptor - final EciesDecryptor decryptor; - if (scope == EciesScope.APPLICATION_SCOPE) { - decryptor = eciesFactory.getEciesDecryptorForApplication((ECPrivateKey) masterServerPrivateKey, appSecret, sh1, request.getParameters(), request.getCryptogram().getEphemeralPublicKey()); - } else { - decryptor = eciesFactory.getEciesDecryptorForActivation((ECPrivateKey) serverPrivateKey, appSecret, transportKey, sh1, request.getParameters(), request.getCryptogram().getEphemeralPublicKey()); - } - // Decrypt request and compare to the expected value. - final byte[] decryptedRequestData = decryptor.decrypt(request); - assertArrayEquals(plainRequestData[i], decryptedRequestData); - // Construct encryptor from the decryptor - final EciesEncryptor encryptor = eciesFactory.getEciesEncryptor(scope, decryptor.getEnvelopeKey(), appSecret, transportKey, response.getParameters()); - // Encrypt the response. We're using already set parameters. - final EciesPayload encryptedPayload = encryptor.encrypt(plainResponseData[i], response.getParameters()); - // Compare values to expected - assertArrayEquals(response.getCryptogram().getEncryptedData(), encryptedPayload.getCryptogram().getEncryptedData()); - assertArrayEquals(response.getCryptogram().getMac(), encryptedPayload.getCryptogram().getMac()); - assertArrayEquals(response.getParameters().getNonce(), encryptedPayload.getParameters().getNonce()); - assertEquals(response.getParameters().getTimestamp(), encryptedPayload.getParameters().getTimestamp()); - } - } } diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/GeneralEncryptorTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/GeneralEncryptorTest.java new file mode 100644 index 000000000..637d95094 --- /dev/null +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/encryption/GeneralEncryptorTest.java @@ -0,0 +1,967 @@ +/* + * PowerAuth Crypto Library + * Copyright 2023 Wultra s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getlime.security.powerauth.crypto.encryption; + +import io.getlime.security.powerauth.crypto.lib.encryptor.EncryptorFactory; +import io.getlime.security.powerauth.crypto.lib.encryptor.RequestResponseValidator; +import io.getlime.security.powerauth.crypto.lib.encryptor.ServerEncryptor; +import io.getlime.security.powerauth.crypto.lib.encryptor.ClientEncryptor; +import io.getlime.security.powerauth.crypto.lib.encryptor.exception.EncryptorException; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.*; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.v3.ClientEncryptorSecrets; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.v3.ServerEncryptorSecrets; +import io.getlime.security.powerauth.crypto.lib.generator.KeyGenerator; +import io.getlime.security.powerauth.crypto.lib.util.ByteUtils; +import io.getlime.security.powerauth.crypto.lib.util.KeyConvertor; +import lombok.AllArgsConstructor; +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.nio.charset.StandardCharsets; +import java.security.KeyPair; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.Security; + +import java.util.Base64; +import java.util.List; +import java.util.UUID; + + +import static org.junit.jupiter.api.Assertions.*; + +/** + * Test to validate functionality of high level {@link ServerEncryptor} + * and {@link ClientEncryptor} classes. + */ +public class GeneralEncryptorTest { + + private final static EncryptorFactory encryptorFactory = new EncryptorFactory(); + private final static KeyGenerator keyGenerator = new KeyGenerator(); + private final static KeyConvertor keyConvertor = new KeyConvertor(); + + private final static List encryptorIds = List.of( + EncryptorId.APPLICATION_SCOPE_GENERIC, + EncryptorId.ACTIVATION_SCOPE_GENERIC, + EncryptorId.ACTIVATION_LAYER_2, + EncryptorId.CREATE_TOKEN, + EncryptorId.VAULT_UNLOCK, + EncryptorId.UPGRADE, + EncryptorId.CONFIRM_RECOVERY_CODE + ); + + @AllArgsConstructor + private static class TestConfiguration { + final String applicationKey; + final String applicationSecret; + final byte[] keyTransport; + final String activationId; + final KeyPair keyMasterServer; + final KeyPair keyServer; + } + + private TestConfiguration configuration; + + /** + * Add crypto providers. + */ + @BeforeAll + public static void setUp() { + // Add Bouncy Castle Security Provider + Security.addProvider(new BouncyCastleProvider()); + } + + /** + * Configure required cryptographic keys before the test. + */ + @BeforeEach + public void configureKeys() throws Exception { + configuration = new TestConfiguration( + Base64.getEncoder().encodeToString(keyGenerator.generateRandomBytes(16)), + Base64.getEncoder().encodeToString(keyGenerator.generateRandomBytes(16)), + keyGenerator.generateRandomBytes(16), + UUID.randomUUID().toString(), + keyGenerator.generateKeyPair(), + keyGenerator.generateKeyPair() + ); + } + + // Generic tests + + interface DataValidator { + /** + * Validate whether request data looks OK. + */ + void validateRequest(EncryptedRequest request) throws Exception; + /** + * Validate whether response data looks OK. + */ + void validateResponse(EncryptedResponse response) throws Exception; + } + + /** + * Common test function for generic encryptor. + * @param version Protocol version. + * @param validator Request and response validation. + * @throws Exception In case of failure. + */ + void testGenericEncryptor(String version, DataValidator validator) throws Exception { + for (EncryptorId encryptorId : encryptorIds) { + testRegularEncryptDecryptWithConfigureSecrets(version, validator, encryptorId); + testRegularEncryptDecryptWithKnownSecrets(version, validator, encryptorId); + testEncryptDecryptWithExternalEncryptor(version, validator, encryptorId); + testInvalidMacInRequest(version, validator, encryptorId); + testInvalidMacInResponse(version, validator, encryptorId); + testRequestResponseObjectValidation(version, encryptorId); + }; + } + + /** + * Function run one standard loop between server and client (e.g. encrypt request, decrypt request on server, encrypt response, + * decrypt response on client). The client and server encryptors are constructed with no secrets; secrets are configured separately. + * @param version Version of protocol. + * @param dataValidator Request and response validator. + * @param encryptorId Encryptor to use. + * @throws Exception In case of failure. + */ + void testRegularEncryptDecryptWithConfigureSecrets(String version, DataValidator dataValidator, EncryptorId encryptorId) throws Exception { + final RequestResponseValidator validator = encryptorFactory.getRequestResponseValidator(version); + final EncryptorParameters encryptorParameters = getParametersForEncryptor(encryptorId, version); + // Create client encryptor + final ClientEncryptor clientEncryptor = encryptorFactory.getClientEncryptor(encryptorId, encryptorParameters); + assertFalse(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + // Apply secrets + clientEncryptor.configureSecrets(getClientSecrets(encryptorId, version)); + assertTrue(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + // Encrypt request + final byte[] requestDataOriginal = generateRandomData(); + final EncryptedRequest request = clientEncryptor.encryptRequest(requestDataOriginal); + assertTrue(clientEncryptor.canEncryptRequest()); + assertTrue(clientEncryptor.canDecryptResponse()); + dataValidator.validateRequest(request); + + // Create server encryptor + final ServerEncryptor serverEncryptor = encryptorFactory.getServerEncryptor(encryptorId, encryptorParameters); + assertFalse(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + // Apply secrets + serverEncryptor.configureSecrets(getServerSecrets(encryptorId, version)); + assertTrue(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + // Decrypt request on server + assertTrue(validator.validateEncryptedRequest(request)); + final byte[] requestDataDecrypted = serverEncryptor.decryptRequest(request); + assertTrue(serverEncryptor.canDecryptRequest()); + assertTrue(serverEncryptor.canEncryptResponse()); + assertArrayEquals(requestDataOriginal, requestDataDecrypted); + // Encrypt response + final byte[] responseDataOriginal = generateRandomData(); + final EncryptedResponse response = serverEncryptor.encryptResponse(responseDataOriginal); + assertTrue(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + dataValidator.validateResponse(response); + + // Decrypt response on client + assertTrue(validator.validateEncryptedResponse(response)); + final byte[] responseDataDecrypted = clientEncryptor.decryptResponse(response); + assertTrue(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + assertArrayEquals(responseDataOriginal, responseDataDecrypted); + } + + /** + * Function run one standard loop between server and client (e.g. encrypt request, decrypt request on server, encrypt response, + * decrypt response on client). The client and server encryptors are constructed with known secrets. + * @param version Version of protocol. + * @param dataValidator Request and response validator. + * @param encryptorId Encryptor to use. + * @throws Exception In case of failure. + */ + void testRegularEncryptDecryptWithKnownSecrets(String version, DataValidator dataValidator, EncryptorId encryptorId) throws Exception { + final EncryptorParameters encryptorParameters = getParametersForEncryptor(encryptorId, version); + // Create client encryptor + final ClientEncryptor clientEncryptor = encryptorFactory.getClientEncryptor(encryptorId, encryptorParameters, getClientSecrets(encryptorId, version)); + assertTrue(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + // Encrypt request + final byte[] requestDataOriginal = generateRandomData(); + final EncryptedRequest request = clientEncryptor.encryptRequest(requestDataOriginal); + assertTrue(clientEncryptor.canEncryptRequest()); + assertTrue(clientEncryptor.canDecryptResponse()); + dataValidator.validateRequest(request); + + // Create server encryptor + final ServerEncryptor serverEncryptor = encryptorFactory.getServerEncryptor(encryptorId, encryptorParameters, getServerSecrets(encryptorId, version)); + assertTrue(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + // Decrypt request on server + final byte[] requestDataDecrypted = serverEncryptor.decryptRequest(request); + assertTrue(serverEncryptor.canDecryptRequest()); + assertTrue(serverEncryptor.canEncryptResponse()); + assertArrayEquals(requestDataOriginal, requestDataDecrypted); + // Encrypt response + final byte[] responseDataOriginal = generateRandomData(); + final EncryptedResponse response = serverEncryptor.encryptResponse(responseDataOriginal); + assertTrue(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + dataValidator.validateResponse(response); + + // Decrypt response on client + final byte[] responseDataDecrypted = clientEncryptor.decryptResponse(response); + assertTrue(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + assertArrayEquals(responseDataOriginal, responseDataDecrypted); + } + + /** + * Function run one standard loop between server and client (e.g. encrypt request, decrypt request on server, encrypt response, + * decrypt response on client). In this test the external encryptor is used on the server side to actual data decryption. + * @param version Version of protocol. + * @param dataValidator Request and response validator. + * @param encryptorId Encryptor to use. + * @throws Exception In case of failure. + */ + void testEncryptDecryptWithExternalEncryptor(String version, DataValidator dataValidator, EncryptorId encryptorId) throws Exception { + final EncryptorParameters encryptorParameters = getParametersForEncryptor(encryptorId, version); + // Create client encryptor + final ClientEncryptor clientEncryptor = encryptorFactory.getClientEncryptor(encryptorId, encryptorParameters, getClientSecrets(encryptorId, version)); + assertTrue(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + // Encrypt request + final byte[] requestDataOriginal = generateRandomData(); + final EncryptedRequest request = clientEncryptor.encryptRequest(requestDataOriginal); + assertTrue(clientEncryptor.canEncryptRequest()); + assertTrue(clientEncryptor.canDecryptResponse()); + dataValidator.validateRequest(request); + + // Create server encryptor + final ServerEncryptor serverEncryptor = encryptorFactory.getServerEncryptor(encryptorId, encryptorParameters, getServerSecrets(encryptorId, version)); + assertTrue(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + final EncryptorSecrets secretsForExternalEncryptor = serverEncryptor.calculateSecretsForExternalEncryptor(request); + // The state of encryptor should not be changed. + assertTrue(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + + // Now create external encryptor + final ServerEncryptor externalServerEncryptor = encryptorFactory.getServerEncryptor(encryptorId, encryptorParameters, secretsForExternalEncryptor); + assertTrue(externalServerEncryptor.canDecryptRequest()); + assertFalse(externalServerEncryptor.canEncryptResponse()); + + // Decrypt request on server + final byte[] requestDataDecrypted = externalServerEncryptor.decryptRequest(request); + assertTrue(externalServerEncryptor.canDecryptRequest()); + assertTrue(externalServerEncryptor.canEncryptResponse()); + assertArrayEquals(requestDataOriginal, requestDataDecrypted); + // Encrypt response + final byte[] responseDataOriginal = generateRandomData(); + final EncryptedResponse response = externalServerEncryptor.encryptResponse(responseDataOriginal); + assertTrue(externalServerEncryptor.canDecryptRequest()); + assertFalse(externalServerEncryptor.canEncryptResponse()); + dataValidator.validateResponse(response); + + // Decrypt response on client + final byte[] responseDataDecrypted = clientEncryptor.decryptResponse(response); + assertTrue(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + assertArrayEquals(responseDataOriginal, responseDataDecrypted); + } + + /** + * Test whether we can catch invalid MAC in request. + * @param version Version of protocol. + * @param dataValidator Request and response validator. + * @param encryptorId Encryptor to use. + * @throws Exception In case of failure. + */ + void testInvalidMacInRequest(String version, DataValidator dataValidator, EncryptorId encryptorId) throws Exception { + final EncryptorParameters encryptorParameters = getParametersForEncryptor(encryptorId, version); + // Create client encryptor + final ClientEncryptor clientEncryptor = encryptorFactory.getClientEncryptor(encryptorId, encryptorParameters, getClientSecrets(encryptorId, version)); + assertTrue(clientEncryptor.canEncryptRequest()); + assertFalse(clientEncryptor.canDecryptResponse()); + // Encrypt request + final byte[] requestDataOriginal = generateRandomData(); + final EncryptedRequest request = clientEncryptor.encryptRequest(requestDataOriginal); + request.setMac(Base64.getEncoder().encodeToString(keyGenerator.generateRandomBytes(16))); + assertTrue(clientEncryptor.canEncryptRequest()); + assertTrue(clientEncryptor.canDecryptResponse()); + dataValidator.validateRequest(request); + + // Create server encryptor + final ServerEncryptor serverEncryptor = encryptorFactory.getServerEncryptor(encryptorId, encryptorParameters, getServerSecrets(encryptorId, version)); + assertTrue(serverEncryptor.canDecryptRequest()); + assertFalse(serverEncryptor.canEncryptResponse()); + // Decrypt request on server + try { + serverEncryptor.decryptRequest(request); + fail("Request should not be decrypted"); + } catch (EncryptorException exception) { + System.out.println("!!! Invalid MAC correctly detected in request"); + } + } + + /** + * Test whether we can catch invalid MAC in response. + * @param version Version of protocol. + * @param dataValidator Request and response validator. + * @param encryptorId Encryptor to use. + * @throws Exception In case of failure. + */ + void testInvalidMacInResponse(String version, DataValidator dataValidator, EncryptorId encryptorId) throws Exception { + final EncryptorParameters encryptorParameters = getParametersForEncryptor(encryptorId, version); + // Create client encryptor + final ClientEncryptor clientEncryptor = encryptorFactory.getClientEncryptor(encryptorId, encryptorParameters, getClientSecrets(encryptorId, version)); + // Encrypt request + final byte[] requestDataOriginal = generateRandomData(); + final EncryptedRequest request = clientEncryptor.encryptRequest(requestDataOriginal); + dataValidator.validateRequest(request); + + // Create server encryptor + final ServerEncryptor serverEncryptor = encryptorFactory.getServerEncryptor(encryptorId, encryptorParameters, getServerSecrets(encryptorId, version)); + // Decrypt request on server + serverEncryptor.decryptRequest(request); + // Encrypt response + final byte[] responseDataOriginal = generateRandomData(); + final EncryptedResponse response = serverEncryptor.encryptResponse(responseDataOriginal); + response.setMac(Base64.getEncoder().encodeToString(keyGenerator.generateRandomBytes(16))); + dataValidator.validateResponse(response); + + // Decrypt response on client + try { + clientEncryptor.decryptResponse(response); + fail("Response should not be decrypted"); + } catch (EncryptorException exception) { + System.out.println("!!! Invalid MAC correctly detected in response"); + } + } + + /** + * Function test whether RequestResponseValidator implementation works correctly. + * @param version Protocol version to test. + * @param encryptorId Encryptor identifier. + * @throws Exception In case of failure. + */ + void testRequestResponseObjectValidation(String version, EncryptorId encryptorId) throws Exception { + final RequestResponseValidator validator = encryptorFactory.getRequestResponseValidator(version); + final EncryptorParameters encryptorParameters = getParametersForEncryptor(encryptorId, version); + // Create client encryptor + final ClientEncryptor clientEncryptor = encryptorFactory.getClientEncryptor(encryptorId, encryptorParameters, getClientSecrets(encryptorId, version)); + final ServerEncryptor serverEncryptor = encryptorFactory.getServerEncryptor(encryptorId, encryptorParameters, getServerSecrets(encryptorId, version)); + final EncryptedRequest validRequest = clientEncryptor.encryptRequest(new byte[0]); + serverEncryptor.decryptRequest(validRequest); + final EncryptedResponse validResponse = serverEncryptor.encryptResponse(new byte[0]); + + // Test for invalid requests + + assertTrue(validator.validateEncryptedRequest(validRequest)); + + EncryptedRequest request = copyRequest(validRequest); + request.setMac(null); + assertFalse(validator.validateEncryptedRequest(request)); + request = copyRequest(validRequest); + request.setEncryptedData(null); + assertFalse(validator.validateEncryptedRequest(request)); + request = copyRequest(validRequest); + request.setEphemeralPublicKey(null); + assertFalse(validator.validateEncryptedRequest(request)); + + if ("3.1".equals(version) || "3.2".equals(version)) { + request = copyRequest(validRequest); + request.setNonce(null); + assertFalse(validator.validateEncryptedRequest(request)); + } + if ("3.2".equals(version)) { + request = copyRequest(validRequest); + request.setTimestamp(null); + assertFalse(validator.validateEncryptedRequest(request)); + } + // Additional data in older protocols + if ("3.0".equals(version)) { + request = copyRequest(validRequest); + request.setNonce("AAA"); + assertFalse(validator.validateEncryptedRequest(request)); + request = copyRequest(validRequest); + request.setTimestamp(128L); + assertFalse(validator.validateEncryptedRequest(request)); + } + if ("3.1".equals(version)) { + request = copyRequest(validRequest); + request.setTimestamp(128L); + assertFalse(validator.validateEncryptedRequest(request)); + } + + // Test for invalid responses + + assertTrue(validator.validateEncryptedResponse(validResponse)); + + EncryptedResponse response = copyResponse(validResponse); + response.setMac(null); + assertFalse(validator.validateEncryptedResponse(response)); + response = copyResponse(validResponse); + response.setEncryptedData(null); + assertFalse(validator.validateEncryptedResponse(response)); + if ("3.2".equals(version)) { + response = copyResponse(validResponse); + response.setTimestamp(null); + assertFalse(validator.validateEncryptedResponse(response)); + response = copyResponse(validResponse); + response.setNonce(null); + assertFalse(validator.validateEncryptedResponse(response)); + } + // Additional data in older protocols + if ("3.0".equals(version) || "3.1".equals(version)) { + response = copyResponse(validResponse); + response.setNonce("AAA"); + assertFalse(validator.validateEncryptedResponse(response)); + response = copyResponse(validResponse); + response.setTimestamp(123L); + assertFalse(validator.validateEncryptedResponse(response)); + } + } + + /** + * Make new instance of encrypted response object with identical values copied from the provided object. + * @param response Response object to copy. + * @return Copy of provided response object. + */ + private EncryptedResponse copyResponse(EncryptedResponse response) { + return new EncryptedResponse(response.getEncryptedData(), response.getMac(), response.getNonce(), response.getTimestamp()); + } + + /** + * Make new instance of encrypted request object with identical values copied from the provided object. + * @param request Request object to copy. + * @return Copy of provided request object. + */ private EncryptedRequest copyRequest(EncryptedRequest request) { + return new EncryptedRequest(request.getEphemeralPublicKey(), request.getEncryptedData(), request.getMac(), request.getNonce(), request.getTimestamp()); + } + + /** + * Test general encrypt-decrypt routines with using protocol 3.0. + * @throws Exception In case of failure. + */ + @Test + public void testEncryptDecryptV30() throws Exception { + testGenericEncryptor("3.0", new DataValidator() { + @Override + public void validateRequest(EncryptedRequest request) throws Exception { + assertNotNull(request); + assertNotNull(request.getEphemeralPublicKey()); + assertNotNull(request.getEncryptedData()); + assertNotNull(request.getMac()); + assertNull(request.getNonce()); + assertNull(request.getTimestamp()); + } + + @Override + public void validateResponse(EncryptedResponse response) throws Exception { + assertNotNull(response); + assertNotNull(response.getEncryptedData()); + assertNotNull(response.getMac()); + assertNull(response.getNonce()); + assertNull(response.getTimestamp()); + } + }); + } + + /** + * Test general encrypt-decrypt routines with using protocol 3.1 + * @throws Exception In case of failure. + */ + @Test + public void testEncryptDecryptV31() throws Exception { + testGenericEncryptor("3.1", new DataValidator() { + @Override + public void validateRequest(EncryptedRequest request) throws Exception { + assertNotNull(request); + assertNotNull(request.getEphemeralPublicKey()); + assertNotNull(request.getEncryptedData()); + assertNotNull(request.getMac()); + assertNotNull(request.getNonce()); + assertNull(request.getTimestamp()); + } + + @Override + public void validateResponse(EncryptedResponse response) throws Exception { + assertNotNull(response); + assertNotNull(response.getEncryptedData()); + assertNotNull(response.getMac()); + assertNull(response.getNonce()); + assertNull(response.getTimestamp()); + } + }); + } + + /** + * Test general encrypt-decrypt routines with using protocol 3.2. + * @throws Exception In case of failure. + */ + @Test + public void testEncryptDecryptV32() throws Exception { + testGenericEncryptor("3.2", new DataValidator() { + @Override + public void validateRequest(EncryptedRequest request) throws Exception { + assertNotNull(request); + assertNotNull(request.getEphemeralPublicKey()); + assertNotNull(request.getEncryptedData()); + assertNotNull(request.getMac()); + assertNotNull(request.getNonce()); + assertNotNull(request.getTimestamp()); + } + + @Override + public void validateResponse(EncryptedResponse response) throws Exception { + assertNotNull(response); + assertNotNull(response.getEncryptedData()); + assertNotNull(response.getMac()); + assertNotNull(response.getNonce()); + assertNotNull(response.getTimestamp()); + } + }); + } + + // Tests against mobile SDK vectors + + /** + * Test encryptor with using test vectors generated by PowerAuth Mobile SDK (iOS). The protocol version is fixed to 3.2. + * @throws Exception In case of failure. + */ + @Test + public void testVectors_3_2() throws Exception { + // Paste vectors here (generated by iOS unit tests) + // ---------------------------- + + // Shared constants + final PrivateKey masterServerPrivateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(new byte[1], Base64.getDecoder().decode("0UWBQVv5sVJhKWV5JHX+d8t8qO55Cv7C0LTyB0Kj7H8="))); + final PublicKey masterServerPublicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("Ah7lqT0/foYC6eCUZtoiPFOycQBa2imdNE0HfvtGwaWk")); + final PrivateKey serverPrivateKey = keyConvertor.convertBytesToPrivateKey(ByteUtils.concat(new byte[1], Base64.getDecoder().decode("+f07IdgNmrBjmk0uvkQ1LkMA3MPZAHvutdq/mw7xWp4="))); + final PublicKey serverPublicKey = keyConvertor.convertBytesToPublicKey(Base64.getDecoder().decode("AiK5Ka6zZNvH0NAKB9H1eoGBLX48QmUz7eUPj9xzZDaf")); + final String activationId = "036CC14B-E4F8-4B01-A825-5129832ACDDB"; + final String applicationKey = "lceX5qe+O+Sb0t8TQqg35A=="; + final String applicationSecret = "m3JdVJMIu65fXXFi4VqjjA=="; + final byte[] transportKey = Base64.getDecoder().decode("kqeu5p9hTJCRRIL6Z3ZuqA=="); + // Original request data + final byte[][] plainRequestData = { + Base64.getDecoder().decode("PyZF8EKo90xFEIpTJGuL6uQVx6VyE62o2y3iAI0hkFH5WrSKuLDiLSlBdc1bSNJhiX2Iupe7XVtR6WUjl3ja5auSo+1CSjw22TZTJSnraKyC2Y7P5NdXX1ydO8l6DvH8XClIsMmxN0NKhU1jv80YLMotnqg="), + Base64.getDecoder().decode("HDZYhY7BswRNaz+kWNRe44+wJDxFaoygdrmfB1TH37yrKRxU"), + Base64.getDecoder().decode("NrkCKPoy0KSYy6BBSjnUFqY+a4N7mg89v5qAGn0jMV0rvBVjDpC1f6CpDW/9BdbSNeFDhsn6BhI16IkjDT6Q8gjHLQcphOR3CLH5nXmtIJh3iA=="), + Base64.getDecoder().decode("xLXAyu+7E2cm"), + Base64.getDecoder().decode("PD0kxR+y/Qxz9aKe6ELkV78="), + Base64.getDecoder().decode("AThxBRaaFKKJbuZ7v3LTQYIuqrbiLVz3QWFRTiGU6KK3Cqr2p4Ea4ju2wdrpiF8VDfLhdQ/zGfaj5TYGRURAx49kw8r/NuFbHFWc6z5Nz18HeItC++tfudOBE3qdfd7kgISA4Qut+vZDjw9NBcxkeg=="), + Base64.getDecoder().decode("vgoWJjf9JsVwt5valonsmUbKWNigad5IPnXT/OfEaWPQ78gF6O9472r4OzkTKNPQYmXun+R9epCfjZPEqqiDlZlPGLEPUYYTLgUeR2XlI8DGChBhbWPSZI6Ugwyd+X3Ro2w0VwHqm6U="), + Base64.getDecoder().decode("ekKYoHUzjn1mTMdyr8FjHHMrn7g8RbHIg8U96ZXm+13oRsH/i9cXfjui7wtOGD9iOBrUU/K3Tt3R4S4M8ltJ1HUs8JBWDIwFnsKW08vNNdA40W0wPAJxgwNqFIkU/U4P"), + Base64.getDecoder().decode("AUXZK/yMIz499r4hH7LOxyVZUfkayI6JO58ZRm+ogjhE8wpsIC46m8Cv0Vk/mdMT4GptjtacHMSV8KBeaPfvtSvLAhVuaVdh2/dI"), + Base64.getDecoder().decode("mCEVFpjmoVOUcymairmXbZ7F+EkVT8vSNSENdxRGoK7Np3I3BkqTxzYWIYrEcjLE0HggHeBBGgpN3H2Dp/jGBTgiYpRS"), + Base64.getDecoder().decode("MRslr4vEEEqxHLYqFuObzVkI4IBhcGkDfRdmy13KzS9iJO7D11XlADmqEssBlz4QnHFAh/kP4pvVT37sGoSJ6qtrsUT2IOmJPRjCYKkBKoE5oDpIpQyF+gmQ7j51wVbVuUw="), + Base64.getDecoder().decode("1do2gvR5EfaBJyjJvH1SmfpAuURNX1cJz6O4CjS/fFH5NeoEvSUSxAW+HcVRUzjesx9Pa3k="), + Base64.getDecoder().decode("Z/z9HTTMEsrB4CkAKTe7WG1bZ6nyrYjU7mI="), + Base64.getDecoder().decode("kqJI7eaR"), + Base64.getDecoder().decode("QfLUmc8aalHnOIdTAyvkSrN3SevHhZOQrG1121032T/lrA=="), + Base64.getDecoder().decode("d2c8IYfurWBv098GawTPIL8uAcqBz3EWPXp5yjGLX0PLU5oH6iE8BAfqo+pdD7NGBw=="), + }; + // Original response data + final byte[][] plainResponseData = { + Base64.getDecoder().decode("ZX74GcevJC9M683Oo4g2hxBbBVInpedTZyDvvMhBhlp4RI8xiJImSbHeYjKR+69YtQjej9Llnm22Sfw="), + Base64.getDecoder().decode("FLRp3SfS0YrXzRytpW9cFw=="), + Base64.getDecoder().decode("evLfjrto"), + Base64.getDecoder().decode("lhrPrbiUiQoydmb9tBfZoUNzRZ5Wl0xki7ULmWQmC0M3qpxSypGfn4isfBVl"), + Base64.getDecoder().decode("evMUiGvfLfjjUvHzLXC5qCQW9tgCKGqt8AbroYd2mSb8xVrXoxd7k01NDtihyyyuTlMxSy7VNqf1z7wM4Zw7W7K0nU7azkmdxET0i7toD1DQUrcyP4/Abnl0pfUqk2K8PcOd1iUFhbUi67lEfsQq6YbfradVi34="), + Base64.getDecoder().decode("HsnsnBC+N82xfkO46+PiDWzhoRufRzh59JN4bOA="), + Base64.getDecoder().decode("9HfVv0VqE17EupyWGlgttqo7gUp4VjeBGKkUNE/nkkZQN69z5YE2a88L804TjHRuL4+kwLQzDO9g"), + Base64.getDecoder().decode("vT3kacynb6mchKh0eltMtETOAiipgGknLJSRzGdfrLHSwNH2PMlwZpUluofzu2lJ+KyCgwnq6OW3osnYoQPvr8CpjZwH2Aych9xV19faL+Fr8I7usuM/3Gj5Vqbl7Rnisj7XwYuTK1u+n4TV8DEr"), + Base64.getDecoder().decode("x4kw5XrYEkYiTA8ZuatClZyoYhpXEqGQ3lSYQ9TgMp2JXpd9prHI9nRgfL8EumiaD50RvihBrYKLLt6UNnVr9BJV2suGBQGQx3lstXL07Zy1yTKGbgmEFeVYsWcZg03Xvli8pWTfVrld8reSGxQ="), + Base64.getDecoder().decode("umWWeeSu6MARxC9ens7ZS+gPaW31aMUsachmqBJWBfezMeRTUAQELxq2aSdGsZeGUF8sQwXOOt2hzcXh+2CFVzEA/KEppRSTdYWEZwcI1srMhWK5F5gZDP/PKppOZf/Y9KDj1ajI2BhpAlFvEMUF"), + Base64.getDecoder().decode("XcdjVOTzbr5XJnCIPoTCNDuvoW3EPv3/dKxlT2O+JpjIF299bdOurU962XZwZxhKb3sih+gunRbRgLCFOpCn/l9Ns3ixYd5I7KGkJSrxE8K7hqw4V20b+qZdfUCho5B38Pbn7ITYMS1yraDLnGCd"), + Base64.getDecoder().decode("kQ+I2V3qgG/i6/Z6TXh3ruz0sk+6cGNqZX+DAqu8TD6glLi9x8HD6WqFsf3fDnbrlWXobU+7zhzCNB2YQIAYSP1nKhaYi/A6SlvAkbxc4W9+LTUu1la1Arb9cYdqHzKNXUZ4f4hkQpQGoEfvCTTqwzITfHxyn6cLSllj5nZlK0U="), + Base64.getDecoder().decode("TI9WMf+xw9SBRFR2XfNdCsoC"), + Base64.getDecoder().decode("QwPihJJ9FttnQMM98n3hKF1zU/T7gZ7uN9zxnGO9lqtZTHbsrkSFpmEFwiSStk8yINZSGjmMIW8rtqOv2J1ihJeJpF0BJaXD3VR7mNk0Zg8HJO9C0SpmbW/ASeET9LhOB0WgW8+x5J+r+Krbqg=="), + Base64.getDecoder().decode("jL4KoKtOATckhTpEJ0UKBByXHFV5r0Y3jfydkV1i+GYfaD0+wKo5l/z0ToQlqBRsqMV7LA=="), + Base64.getDecoder().decode("Xv3f3dfp/hpF2USDCADoORMVNhwTzu0ID/30UK9dfkJlP+GFJ1ZrOInKiLckyce33CeYBDUYU5YYEnzpBMLZEU2IaUdPhFSnlINSKw2DfjgYm1i7LHekSVGxCR3k64RKHUtCLwDsEL3QRiE6ZVEKPi3FDg=="), + }; + // EncryptorIds + final EncryptorId[] encryptorIds = { + EncryptorId.APPLICATION_SCOPE_GENERIC, + EncryptorId.ACTIVATION_SCOPE_GENERIC, + EncryptorId.ACTIVATION_LAYER_2, + EncryptorId.UPGRADE, + EncryptorId.VAULT_UNLOCK, + EncryptorId.CREATE_TOKEN, + EncryptorId.CONFIRM_RECOVERY_CODE, + EncryptorId.APPLICATION_SCOPE_GENERIC, + EncryptorId.ACTIVATION_SCOPE_GENERIC, + EncryptorId.ACTIVATION_LAYER_2, + EncryptorId.UPGRADE, + EncryptorId.VAULT_UNLOCK, + EncryptorId.CREATE_TOKEN, + EncryptorId.CONFIRM_RECOVERY_CODE, + EncryptorId.APPLICATION_SCOPE_GENERIC, + EncryptorId.ACTIVATION_SCOPE_GENERIC, + }; + // Associated data + final byte[][] associatedData = { + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0="), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0="), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0="), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0="), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0="), + Base64.getDecoder().decode("AAAAAzMuMgAAABhsY2VYNXFlK08rU2IwdDhUUXFnMzVBPT0AAAAkMDM2Q0MxNEItRTRGOC00QjAxLUE4MjUtNTEyOTgzMkFDRERC"), + }; + // Envelope keys + final byte[][] envelopeKeys = { + Base64.getDecoder().decode("8BNzgMiTO9ELURm77VQD/72TCN3Cf6TlQWp57wUfe4boH2baIQ2z2eqqpWs6P+24"), + Base64.getDecoder().decode("wFdoVzNTn3tRElimPDuheWSYGbh+kG0NTEF08fkhMvMm8+Nsc4TnYWhCQYx12l0d"), + Base64.getDecoder().decode("smZ9wr2s80pA6n2xCUALKuuCjIU8/bTW2X+bW8o2iXeq0D5rQVRSSszfqaX+YJ1Q"), + Base64.getDecoder().decode("/OB2HgA2ZmsBx2AUQifDxIs91LraUt5TciHtgKYYwI3/Nd/svUY8VrAN5Qg5cn9P"), + Base64.getDecoder().decode("Y4Yde9z91lhdqsOYfALJT7LuB1VBDHhXL68bYa5Ia3onLy8PVLUKBm3+lGz1Si08"), + Base64.getDecoder().decode("BC+IYb9PlXskecV5pHZhv/vdlHa3YfwE4kZ/g0dO26W2/+bSI+LUOhZQr3xe/Yy7"), + Base64.getDecoder().decode("KfA0L0rOp7CYFJbWIslmU7ZnRHPYcZqnxT6WIqoqo3z211kWDmXfZjl1Ppji73aN"), + Base64.getDecoder().decode("hlSE7oddA9IUKuT+S/5+GJlN35i1fdZ8q8UXFVJr1b9Y0CTkMZyV85DDqnP/PQLI"), + Base64.getDecoder().decode("24bk9iBebrq2bTpY7x7kjZpA28xj5+IDn1+YmKEWKY6S4tRngOVsjX3yy9M0l4pW"), + Base64.getDecoder().decode("IxqrAPtP7jKfEUfADFS7XaOdg6chPr2mRof1Dz7mKTrjPYpTNaChY/28qzagHytv"), + Base64.getDecoder().decode("y3GCO2K/VeWLF1EBrfhmlx6Wuf+GeSssjnWyTT522wuBHWb0vsZCuP78pIbAAas6"), + Base64.getDecoder().decode("ujybVXEbKeU3M0WTk4Zb5rwDuWzDKTWBjAqZa6LMMzdZGhdl1lXfvl5W+PWc8m4R"), + Base64.getDecoder().decode("v0Vj+eDF5U3dhrfUYo+LVp5qa966gNdfwrlGArrgi/X3QKCRCiu2qkggSg3BiiKX"), + Base64.getDecoder().decode("8Se8sHPrASl83j/5BLHJeY8sHhwfJ6DLME1PXropkQClWoxkIV2J0o89y0Q1DO8O"), + Base64.getDecoder().decode("O7XcnEXwVYxBHP8ooQ5wBQ3/RWp813XuAL/nPsz7SuBAqTyKEc42HJax7BiTC2Fc"), + Base64.getDecoder().decode("RhijpnRtB71Pa3Okf0Suw4El/XhkaQ8nwopwRuqeFGp1K1qoI0OrMNQrLe2c73df"), + }; + // Requests + final EncryptedRequest[] encryptedRequest = { + new EncryptedRequest( + "Avlav7hfDwCA1zJq6gyczWtUn+MhNCebikIH7rkUkoHB", + "jZ1y4ZkJpvRTDHFXQ+J9jsWaFuV0AvqpUXFDCi3bH90YCutTufSamKXpEIhFfqBmhzYak2g6LBUfgmTJ7c74D+eOqGRn1EwZOcgVHKbaFjgthwSUnD8E7maEK9u5qmVdi52drt9vQ1Cye5jWn0vSTKmvSkfcQcmK42o/0r/8LXs=", + "ovJWPbaRr/+9nDLwHhej1u9iNVg0OVVNNO2zI88AM9g=", + "BKIsGcbgqAqEKhuEJFX25Q==", + 1691762307382L + ), + new EncryptedRequest( + "A97NlW0JPLJfpG0AUvaRHRGSHh+quZu+u0c+yxsK7Xji", + "qYLONkDWFpXefTKPbaKTA/PWdRYH5pk9uvGjUqSYbeK7Q0aOohK2MknTyviyNuSp", + "DNlZdsM1wgH8v2mAROjj3vmQu4DI4ZJnuTBzQMrHsew=", + "ZQxUjy/hSRyJ3xBtqyXBeQ==", + 1691762307384L + ), + new EncryptedRequest( + "AtSsPjiwbh3GnWYjCOejGIGg0LEbl1X6SY4f1F77PG2I", + "px6h9Hu+wyH38YySO6istbinaF3ALyrBraad0qhTCJZrYrVlTv1bEnfvElBupQzGUx3SikSqaOjR+UKzj9TVfa2rw36LkSIVFZYk1gG6xW3U852ZvJpuTtw6h7WhFYks", + "bySXBDU/9mDx9T8i9DFWX7Xn4O6HZK2EMLpA+ogv3eM=", + "6p2OQ20Ezjd+RcCAr2w34w==", + 1691762307384L + ), + new EncryptedRequest( + "AnjhcBNyzpyUs8TnvW164zfwVk6UQjof8zueumjUADlB", + "rQDj9EseF9GvJY6a0YCExA==", + "Mpu0lek/SXf7JvxnlEngv/Bx8nFhxi54vHVrBr0f7H8=", + "0qdMsQVKjhE8gwRm8It2Vg==", + 1691762307385L + ), + new EncryptedRequest( + "Aqa/2aW4VuZTXaFoc0rcc67RotG0rbiqpvontLsdoLIe", + "ic3LxIfwgK9XbckAxivYvMdwuAL9nOC/Kdry4w/1xRw=", + "OyQcPCU8opsBN88vCE/9Km53a8sNqamIMIwxNfOOyto=", + "6YzESLD7x6ANSxeirDAXZQ==", + 1691762307385L + ), + new EncryptedRequest( + "Aomhgt+8zAMsuRYgsVJMioFFPLP6eK+4omcLfftS/PHK", + "xNdtHsq28x+cFGxLGJbW6l7SscETdLRHejmXYETzU8670YyaqpiGOO5276vb3XDnxM6GjKHEztXruz8YBQzWKYqc6YVU4WqKMNHBu1A/9yKY8KGE+XsSxyrkZxoIM4oZuUp7p1ui+H87PPY8Vs/c9dMM5YUMYVUFZA1kBnzskKs=", + "z05w9DN9CKWtURAr0g7D5Kya8Jvp+CQFLNz2Fy1inaI=", + "fWn7lYWXckz72X4elEU+3g==", + 1691762307385L + ), + new EncryptedRequest( + "AoCXG9cbmKBSPP2zi3pOuJQV6dENZ751dUhEGoDqLWVB", + "fqsJXWuIt2rwwsWLu8TbPnCxwha6PTGTpzmsLq/Tdynt5YcrEBk9wlRaQIXzWi0KbES20BjJbgL7JIaY2qj/XlFU+vxB+vybUnHrtpe2NaDthaYgdEecX3W1uzpyd745ogDSGe19gOqwXCFCRFLF+w==", + "T/tx0z+61zPosCa2Y0oJBepFOOfn0O1lrMKkr9RSVNY=", + "YQwJfuPmImzyBhGqZ7QMNw==", + 1691762307386L + ), + new EncryptedRequest( + "A/5KJP3Cb8DhNjo8Cs2juYLwpswsUBJe6XXdwowIelP7", + "wUXXg0vgkZjqvqIfJm7YPgk+7bwgWSttizi+uSKAE4z8dOY8zUp0uvsvsUqDIvnhisnc82IyS/kGhSg1QWyzjAdfr5rWehl+aS+e8GPIu3Ok8n0qNG9TJ1n/UxuD6Ok/WTCHsRW2QoU2I8vB6BAMUw==", + "J88D9JrcVVmVlUNe5g6IzEHd3m+PqfSzBNyCfEb+UXg=", + "vr95iaeHXK4W0o0WU3MAkQ==", + 1691762307386L + ), + new EncryptedRequest( + "A3TP+jPFrRgQd563V8goh2wJgvRS9eMpwjo9tOivLboN", + "8MjZ4+3cUC7IkwyNK09WSDMOrMpNwfHrXUM3A/19sjyOVZJIAl9HYJySlN8h9A2qrG7l0Eu6nFUwjDH8+NHfqBHCdOAnpncwgANE5GetzgA=", + "pmWeeMSroONdztB05rb6932llfAJJo6+uqLvwYq01dw=", + "ecQuWdjhJB90a0vxXJCHDA==", + 1691762307386L + ), + new EncryptedRequest( + "A0w7WTl0Q3vhxlyKJWV1hM1YC484mysCqhjay9uFSmvG", + "K0Ep8dWNhD99yZm/mShFy53DYbTCntm582rlWwskPfcKTE7b/7gBFbXaGly1o9cmQ9Wv9RjBx8Ai4rda/KKbyMq3ZaX6ljAWFpOmqUIgMUQ=", + "Zr7vEn6WBYkFFZRAvq3UdRR/OWF2uOK0ABik9fytOUo=", + "20zLGrzcBPr6aPWQTOESuQ==", + 1691762307387L + ), + new EncryptedRequest( + "A4o3ZVufjyXvJnc98rvHxTbQgCpY1dwMkJs4mKkT78up", + "8hYJGXgHLD8tH9sFrRlU6fxGWU/JdlSBpPkL178OFRdORMXTY/ReMRbajQD3bXKzXjmhdYR5X13fHsmiuvHIQVPRFB0ZyS43HT/uEDpWh8SWByKjNB5je6ftEySsmpKGp0KvmjXgiIRX7TiRzwJ03g==", + "VX9TB4hPM7/6U/NQvBNR6VaP1loyq2ZhcmEu4NWCU7g=", + "Z5XV6HOqZ3ftaxEkdgjIwQ==", + 1691762307387L + ), + new EncryptedRequest( + "AhVR4QxfHA5resv8ppMANxzZwkaWphsmtA/EENi8Swjp", + "ASC8xiBSyjx8wGwf71U9Zk4nZT9w//8AafiZaT+9RtObUmb1HjguWv3Xpqejnf5kml3Z7sXDYgFemFYLklhL5A==", + "8wlb+Pz3UulREpbcBV4GfiY4bePugBPV6ywgaycvrpU=", + "Y6DDsiZb40xV1lhNNWloiw==", + 1691762307387L + ), + new EncryptedRequest( + "A9ok7XXLWWWtQAxERdvFv3I31D+pgZuY3cVSbjpJHLda", + "+b0Ki6WcoaoGJhBrGR28zeMqS91XMmCCtO/HU3xaKNg=", + "jmkaGcZ+qnrMXtD1R7YhRmJJU+d3y6/nATjNno7DA0A=", + "MrgNNwmotGQZspWUFNMuRw==", + 1691762307388L + ), + new EncryptedRequest( + "A24fQipKuaW7sOmXbpZDW+QetW/aBmS+2fkrkSdNDlQe", + "GaXg6TBM+H4ru/E25gvV0g==", + "xV19DEuOG+SGpT22GU55mVQqU4I7/+vgWNFKDq6tK5k=", + "mXHJkh/NUVzxLAXRH2r+9g==", + 1691762307388L + ), + new EncryptedRequest( + "ArzfJWjDZrjndvQg3aFxZme6w/Z5P4uV4mBClCbURJuv", + "cbG2zh4dp5Ig65/Gdz97ZLm1vWeLfSUbIIoLWQXQm5pUVLkHJ55Mrl4TwdK6kTG0", + "lawZCFwh0NTpNafMwC92/ndMnkryG4yxfAvp/4q1F3Y=", + "C48N0ekaenicTtsb6LEf1g==", + 1691762307388L + ), + new EncryptedRequest( + "At3TEHVJmtO+VPUtJ/ijXYhx1BAnjcDnQRk9AbhukeWa", + "4RPt1tswWfapZNWU7gFkuMyUADjsykdAQHQsMXHmghDE3l7dVYiMctKuj8RHFLAIsgI09toZelMAPRE1PLJz6g==", + "JgkwHwwwoDb14zokbecDQeqmOrJxRO0Lddv1sQp0bnQ=", + "fBHetJ5Z4ecTdnfJ9dD+Gg==", + 1691762307389L + ), + }; + // Responses + final EncryptedResponse[] encryptedResponse = { + new EncryptedResponse( + "6gIBzx28iqPFxtI/UjSLnR8FoFB6xFyshfMsCzOShY/5FN6rcKLtkD2r9M0ihKKW2bviC4HmLUJWXZtDUog9LA==", + "/giQrgL3pX+ziYaWBgLCLUiPH/D5/f31A5lRxVA12sI=", + "kpgl9EC9+4KiKsUFlwLidw==", + 1691762307384L + ), + new EncryptedResponse( + "UH04USDgyi9P36PtmGh7jNuAu7PbdayXnDEomzWiRQI=", + "4p++jQ7Ym3D3CwMBCs2+bOIfWfAF+aPZtuym48+5zsI=", + "rMhUf8cP0LS0r2WFFupW4A==", + 1691762307384L + ), + new EncryptedResponse( + "o82fufbAJinoRVKiMlAY9w==", + "ayU0uzZ7tTyc8Us4AR+nZcQ8ubAY8AslpSnJXtWLoIA=", + "TlXLxl3QzkvMiJcNPKqETw==", + 1691762307385L + ), + new EncryptedResponse( + "kKtNt76jdmC8ooSTxVhxl4Gm1eahP3tn3I5F4qE+rFv1vCgSfTP+BZq15mAtmPxX", + "4OCRqhwFd3ZzxOAYatNSW99FmehINKYl/u551IW+Li0=", + "Z7e1oAU+54be5c/UVd0I9A==", + 1691762307385L + ), + new EncryptedResponse( + "VQLfGVujKbLbjYDdiXHnc4nqOPo5IQO00o2IpJRuHOQylW5dciR52EFrPVNXiQL17rDVVMmldeGRzilbB938zb8t9QIpYyJsfdI8bTd4fNJrU274CZKjeW9bi0pZrSJ+KmgVW1Ie7oMJ0Nw/m6blUCxQHDdoQgL6ogTPY21GBRo=", + "3srmFyVru0ah43aoyuro1Ra0AZhPVZ/IRYrHLF+BaYg=", + "sN703PpZgrNxMEtyLqmUSA==", + 1691762307385L + ), + new EncryptedResponse( + "inCo5hDW9vy5b1/dFlxry8u5pSiKaTkewUeRudCRfp0=", + "SDeDv9TObKgyW1NgDmeBc4mTESWJfJReqPYiJLaO1i4=", + "V1EHs3fAn+E32kqp1MxwCg==", + 1691762307386L + ), + new EncryptedResponse( + "E0KBXTsjEB99tGzGNU6kijZArOQDA4XvoTscux6tefnSafXlHNpeAnORj59GaavEjWhNOoj65Ydd5/0LUUJhFw==", + "D/k+OwZ1EgEAfF7Slj8FpShAWHn2Ki8RRdA7wC41Fks=", + "2ilRIrI23/eJnUMeEcQg4Q==", + 1691762307386L + ), + new EncryptedResponse( + "yDq2+CANxqAlj9q1oG2hcOdHt72TCmQuufa3BS8GBNBZNb1xqBhZoTzDXmdmcdbSXKepUVxj6UFRCT9J3wSNQIKImwBVdPzkHTgdBW/Gc82lGgkSzQvCmAmLKOkSLJkVqB7az2JtEo7WsdB+GABViw==", + "LZMF/pM5g7o67AkDca2uHRDAXzhVf+FUmXhTXZAbOXM=", + "0ci+hsMP8mBYlsF5lJKvLg==", + 1691762307386L + ), + new EncryptedResponse( + "BTtWJFMupEQ4GlaFyEcaLi23YE8eZqDs+ZxQPz7suEDH691kchGJhfs10CqIPyyXlDGkOyAQT4cTRJHknbx6XongqOSyBImNaCW9UyS7+AE6mLK1YVcQFCppzd/YB5Zh0xGI9CbLI72O9FYZHGRGtQ==", + "08iGPB0MCqEpej4sh5CzKfAt8ktutN8ajeivkpushCo=", + "IKhsARWx99rpf/IoN16XbQ==", + 1691762307387L + ), + new EncryptedResponse( + "YGOcH+UPrtD6xL5wkSW9M5W5HPQgTT5qCapbC1rOH4k9Cv1sDpnMjCT4ePn2K1j80YyxU0KHuQJB/R7Rz/iUbNmnV8Ri+mvCjv5OthkD+P5vcWxUfeg1LCX5KLBROjPkbRejxO91+VmQiwy+gjBWoQ==", + "3oraw0O9CgIfTHJ4h08xEzVxHlLOXxjz9kajjaBp/7Q=", + "ucp8o29LdMCJd+1L1ulLAg==", + 1691762307387L + ), + new EncryptedResponse( + "FcwUzp8ee8of47XNQjQKDz9DjpzofDn6chMLiX7UvZaJn++hEpDfIN/v03qSKIOZiNf4cI1fgiC5WoSXDLXfZSjivJGLOiXzYW+TqGCkcr/DZzoo0/GvXH01/F3h7q5GhdDy+QH2TmKinz6Bbebziw==", + "ZE7JejfCs6hryHPg2OD1wl89kjt4wqxaTjuUoXueSI4=", + "5kv5XPhqzNxkbwlVSzwgBw==", + 1691762307387L + ), + new EncryptedResponse( + "QaVyHX4/Du7d6P9shxPgPhoerLYy7/Bj6iFMRbx2aIw/vU+E7n3tX07nEiM7r8hPdu2Y1jUmfpHUnorUqXRPMzsLdGz1Dcqy47p/JcVW0+sEKFOpT52r6BhNE4iU7lP1brVSjbhpiqCKf11H5HSZdCNKX+T/Sf21SftqP+UAQp44Lt84PPsszsRyOA6Vyntk", + "AWG6XZCD9cdNyAeRdKI3yiAaCnIbDkyCzOy/0Zro/Gg=", + "/vdhJZpeQ65k+rengkK1AA==", + 1691762307388L + ), + new EncryptedResponse( + "TxtxLvVlfQLBVIdc7E3S80I6hGdyhyVKGCtkv4pHnK8=", + "+en3LYRIkol8rMBBs0iV4WWsZoIfH8oVkNzg1Opyonk=", + "wLczqR8MsNZfwR1zk3cwBw==", + 1691762307388L + ), + new EncryptedResponse( + "rl/7v8+OtJ/Z9Sw14ixX6wmAHGDjfTcvqhc/7d08I1/0YhShhtMjY2tYfKZJMC2CgSr6sCUv6bWY0kAAZkkVroV6szQhfI30UMn+Oko20IU01VxCRQlmD3aOS6cD9xA7Qtz/uTZCOAbkZTXOUDPg+w==", + "hfPwRknzNUnULYgVEEfEKFbd8jdC7zPxc2DU8wC9ZnE=", + "/170WhIMeUiQ1D3jOkHTdA==", + 1691762307388L + ), + new EncryptedResponse( + "kRkbsDXXR27W9Ynvdwxm01rD609uAFXQTIRDthBNocZNkD/I9Own07JmzB6Zky7+4GupZokobr2UL6qyVSmZMg==", + "Jw/tdkpvAjxYyWs5/srIw/f+ge4at68Vi4sBx4GWGec=", + "VmdUQZcFRbKM5YzOGETrDQ==", + 1691762307389L + ), + new EncryptedResponse( + "3eIJBI864mTpLRDe+6EjBTyePGi90pZLBp2uDwKRfIi1gIzNUUEsyVvUCfVDlWpIhwmcBzrGQlfQe2yEY6srUuhuHyoMD1j/obos7TYnvgkWZ+UdC1kdaV6V+U28/OjnaLAZ+Wq7uOS3XwX7Ij+7uHRo9Mmasc+ULaX4i1lN1nE=", + "FQ5EZ3ns2GezvF+XgeLtzSPhrDNcopl8KK2DbtWTOtY=", + "RCSutPa+2dpHNyI1hCquYA==", + 1691762307389L + ), + }; + // ---------------------------- + // Start of test + + for (int i = 0; i < encryptedRequest.length; i++) { + // Prepare values for this batch + final EncryptedRequest request = encryptedRequest[i]; + final EncryptedResponse response = encryptedResponse[i]; + final EncryptorId eid = encryptorIds[i]; + final EncryptorScope scope = eid.scope(); + final byte[] sharedInfo1 = eid.getEciesSharedInfo1("3.2"); + final byte[] appSecret = applicationSecret.getBytes(StandardCharsets.UTF_8); + final byte[] envelopeKey = envelopeKeys[i]; + + // Construct Server's encryptor + final ServerEncryptor serverEncryptor; + if (scope == EncryptorScope.APPLICATION_SCOPE) { + serverEncryptor = encryptorFactory.getServerEncryptor(eid, + new EncryptorParameters("3.2", applicationKey, null), + new ServerEncryptorSecrets(masterServerPrivateKey, applicationSecret) + ); + } else { + serverEncryptor = encryptorFactory.getServerEncryptor(eid, + new EncryptorParameters("3.2", applicationKey, activationId), + new ServerEncryptorSecrets(serverPrivateKey, applicationSecret, transportKey) + ); + } + // Decrypt request and compare to the expected value. + final byte[] decryptedRequestData = serverEncryptor.decryptRequest(request); + assertArrayEquals(plainRequestData[i], decryptedRequestData); + } + } + + + /** + * Construct EncryptorParameters for given encryptor and protocol version. + * @param encryptorId Encryptor identifier. + * @param protocolVersion Protocol version. + * @return Instance of EncryptorParameters. + */ + private EncryptorParameters getParametersForEncryptor(EncryptorId encryptorId, String protocolVersion) { + if (encryptorId.scope() == EncryptorScope.ACTIVATION_SCOPE) { + return new EncryptorParameters(protocolVersion, configuration.applicationKey, configuration.activationId); + } else { + return new EncryptorParameters(protocolVersion, configuration.applicationKey, null); + } + } + + /** + * Construct encryptor secrets for given client encryptor and protocol version. + * @param encryptorId Encryptor identifier. + * @param protocolVersion Protocol version. + * @return Instance of EncryptorSecrets suitable for client encryptor. + * @throws Exception In case of failure. + */ + private EncryptorSecrets getClientSecrets(EncryptorId encryptorId, String protocolVersion) throws Exception { + final boolean appScope = encryptorId.scope() == EncryptorScope.APPLICATION_SCOPE; + if ("3.0".equals(protocolVersion) || "3.1".equals(protocolVersion) || "3.2".equals(protocolVersion)) { + return new ClientEncryptorSecrets( + appScope ? configuration.keyMasterServer.getPublic() : configuration.keyServer.getPublic(), + configuration.applicationSecret, + appScope ? null : configuration.keyTransport + ); + } + throw new Exception("Unsupported version " + protocolVersion); + } + + /** + * Construct encryptor secrets for given server encryptor and protocol version. + * @param encryptorId Encryptor identifier. + * @param protocolVersion Protocol version. + * @return Instance of EncryptorSecrets suitable for server encryptor. + * @throws Exception In case of failure. + */ + private EncryptorSecrets getServerSecrets(EncryptorId encryptorId, String protocolVersion) throws Exception { + final boolean appScope = encryptorId.scope() == EncryptorScope.APPLICATION_SCOPE; + if ("3.0".equals(protocolVersion) || "3.1".equals(protocolVersion) || "3.2".equals(protocolVersion)) { + return new ServerEncryptorSecrets( + appScope ? configuration.keyMasterServer.getPrivate() : configuration.keyServer.getPrivate(), + configuration.applicationSecret, + appScope ? null : configuration.keyTransport + ); + } + throw new Exception("Unsupported version " + protocolVersion); + } + + /** + * Generate random data with random length. + * @return Random data. + * @throws Exception In case that crypto provider is not properly configured. + */ + private byte[] generateRandomData() throws Exception { + byte[] randomSizeBytes = keyGenerator.generateRandomBytes(1); + int randomSize = 3 + 128 + randomSizeBytes[0]; + return keyGenerator.generateRandomBytes(randomSize); + } +} \ No newline at end of file diff --git a/powerauth-java-http/pom.xml b/powerauth-java-http/pom.xml index fa2c21305..515daa3f3 100644 --- a/powerauth-java-http/pom.xml +++ b/powerauth-java-http/pom.xml @@ -32,6 +32,11 @@ + + io.getlime.security + powerauth-java-crypto + ${project.version} + com.google.guava guava diff --git a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/PowerAuthEncryptionHttpHeaderValidator.java b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/PowerAuthEncryptionHttpHeaderValidator.java index 78e80972a..969dcfb08 100644 --- a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/PowerAuthEncryptionHttpHeaderValidator.java +++ b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/PowerAuthEncryptionHttpHeaderValidator.java @@ -16,6 +16,7 @@ */ package io.getlime.security.powerauth.http.validator; +import io.getlime.security.powerauth.crypto.lib.encryptor.model.EncryptorScope; import io.getlime.security.powerauth.http.PowerAuthEncryptionHttpHeader; /** @@ -28,9 +29,10 @@ public class PowerAuthEncryptionHttpHeaderValidator { /** * Validate PowerAuth encryption HTTP header. * @param header PowerAuth encryption HTTP header. + * @param encryptorScope Scope of the encryptor. * @throws InvalidPowerAuthHttpHeaderException Thrown in case PowerAuth encryption HTTP header is invalid. */ - public static void validate(PowerAuthEncryptionHttpHeader header) throws InvalidPowerAuthHttpHeaderException { + public static void validate(PowerAuthEncryptionHttpHeader header, EncryptorScope encryptorScope) throws InvalidPowerAuthHttpHeaderException { // Check if the parsing was successful if (header == null) { @@ -48,13 +50,25 @@ public static void validate(PowerAuthEncryptionHttpHeader header) throws Invalid throw new InvalidPowerAuthHttpHeaderException("POWER_AUTH_ENCRYPTION_APPLICATION_KEY_INVALID"); } + // Check activation ID presence in the header final String activationId = header.getActivationId(); - - // Activation ID is null in application scope, thus null value is allowed - if (activationId != null) { - // Check if activation ID has correct UUID format - if (!ValueTypeValidator.isValidUuid(activationId)) { - throw new InvalidPowerAuthHttpHeaderException("POWER_AUTH_ENCRYPTION_ACTIVATION_ID_INVALID"); + switch (encryptorScope) { + case ACTIVATION_SCOPE -> { + if (activationId != null) { + // Check if activation ID has correct UUID format + if (!ValueTypeValidator.isValidUuid(activationId)) { + throw new InvalidPowerAuthHttpHeaderException("POWER_AUTH_ENCRYPTION_ACTIVATION_ID_INVALID"); + } + } else { + // Activation ID is missing for activation scope + throw new InvalidPowerAuthHttpHeaderException("POWER_AUTH_ENCRYPTION_ACTIVATION_ID_MISSING"); + } + } + case APPLICATION_SCOPE -> { + if (activationId != null) { + // Activation ID is not expected in this situation. + throw new InvalidPowerAuthHttpHeaderException("POWER_AUTH_ENCRYPTION_ACTIVATION_ID_NOT_EXPECTED"); + } } } diff --git a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java index bfc7eab66..c496b5088 100644 --- a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java +++ b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java @@ -51,7 +51,7 @@ public class ValueTypeValidator { /** * Admissible protocol versions in the header. */ - private static final Set PROTOCOL_VERSIONS = Set.of("3.1", "3.0"); + private static final Set PROTOCOL_VERSIONS = Set.of("3.2", "3.1", "3.0"); /** * Admissible signature types in the header. From c602d35daf885aa8a9d77fa1d027094f05968022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20=C5=A0trobl?= Date: Wed, 23 Aug 2023 12:11:49 +0200 Subject: [PATCH 14/20] Fix #503: Prepare release page for release 2023.08 (#504) --- docs/PowerAuth-2023.08.md | 71 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 docs/PowerAuth-2023.08.md diff --git a/docs/PowerAuth-2023.08.md b/docs/PowerAuth-2023.08.md new file mode 100644 index 000000000..011b669c0 --- /dev/null +++ b/docs/PowerAuth-2023.08.md @@ -0,0 +1,71 @@ +# PowerAuth 2023.08 + +## Migration guides + +For updating to 2023.08, please follow these migration guides: + +- [PowerAuth Server - Migration from version 1.4.0 to version 1.5.0](https://github.com/wultra/powerauth-server/blob/develop/docs/PowerAuth-Server-1.5.0.md) +- [PowerAuth Push Server - Migration from version 1.4.0 to version 1.5.0](https://github.com/wultra/powerauth-push-server/blob/develop/docs/PowerAuth-Push-Server-1.5.0.md) +- [PowerAuth Web Flow - Migration from version 1.4.0 to version 1.5.0](https://github.com/wultra/powerauth-webflow/blob/develop/docs/Web-Flow-1.5.0.md) + +## Components for version 2023.08 + +### Back-End Applications + +| Component | Application Name | Version | Description | +|---|---|---|---| +| PowerAuth Server | `powerauth-java-server.war` | 1.5.0 | Core back-end component for PowerAuth stack. | +| PowerAuth Admin | `powerauth-admin.war` | 1.5.0 | Administration console for PowerAuth Server. | +| PowerAuth Push Server | `powerauth-push-server.war` | 1.5.0 | Simple to deploy push server for APNS and FCM. | +| Enrollment Server | `enrollment-server.war` | 1.5.0 | Enrollment server for PowerAuth. | +| PowerAuth Web Flow | `powerauth-webflow.war` | 1.5.0 | Central web authentication page. | +| PowerAuth Next Step | `powerauth-next-step.war` | 1.5.0 | Authorization server used for PowerAuth Web Flow component. | +| PowerAuth Data Adapter | `powerauth-data-adapter.war` | 1.5.0 | Customization component for PowerAuth Web Flow. | +| PowerAuth Tpp Engine | `powerauth-tpp-engine.war` | 1.5.0 | Third party provider registry and consent engine. | + +### Utilities + +| Component | Application Name | Version | Description | +|---|---|---|---| +| PowerAuth Command Line Tool | `powerauth-java-cmd.jar` | 1.5.0 | Command line tool for integration testing. | + +### Mobile Libraries + +| Platform | Package Name | Version | Description | +|---|---|---|---| +| iOS | `PowerAuth2` | 1.8.0 | A client library for iOS. | +| watchOS | `PowerAuth2ForWatch` | 1.8.0 | A limited library for watchOS. | +| iOS App Extensions | `PowerAuth2ForExtensions` | 1.8.0 | A limited library for iOS App Extensions. | +| Android | `com.wultra.android.powerauth:powerauth-sdk` | 1.8.0 | A client library for Android. | +| React Native | `react-native-powerauth-mobile-sdk` | 2.4.1 | React Native wrapper library for PowerAuth. | + +### Back-End Integration Libraries + +| Component | Library Name | Version | Description | +|---|---|---|---| +| PowerAuth RESTful Model | `powerauth-restful-model.jar` | 1.5.0 | Model classes for request and response objects used in PowerAuth Standard RESTful API. | +| PowerAuth RESTful API Security for Spring | `powerauth-restful-security-spring.jar` | 1.5.0 | High-level integration libraries for RESTful API security, build for Spring MVC. | +| PowerAuth REST Client for Spring | `powerauth-rest-client-spring.jar` | 1.5.0 | REST service client for PowerAuth Server service. | +| PowerAuth Push Server RESTful Model | `powerauth-push-model.jar` | 1.5.0 | Model classes for request and response objects used in PowerAuth Push Server. | +| PowerAuth Push Server RESTful Client | `powerauth-push-client.jar` | 1.5.0 | Client implementation that simplifies integration with PowerAuth Push Server service. | +| PowerAuth Data Adapter RESTful Model | `powerauth-data-adapter-model.jar` | 1.5.0 | Model classes for request and response objects used in PowerAuth Data Adapter component. | +| PowerAuth Data Adapter Client | `powerauth-data-adapter-client.jar` | 1.5.0 | Client implementation that simplifies integration with PowerAuth Data Adapter custom component. | +| PowerAuth Next Step RESTful Model | `powerauth-nextstep-model.jar` | 1.5.0 | Model classes for request and response objects used in PowerAuth Next Step service. | +| PowerAuth Next Step Client | `powerauth-nextstep-client.jar` | 1.5.0 | Client implementation that simplifies integration with PowerAuth Next Step service. | +| PowerAuth Mobile Token Model | `mtoken-model.jar` | 1.5.0 | Model classes for request and response objects used in PowerAuth Mobile Token. | + +### Technical Dependencies + +| Component | Library Name | Version | Description | +|---|---|---|---| +| PowerAuth Cryptography | `powerauth-java-crypto.jar` | 1.5.0 | Core cryptography implementation of the PowerAuth protocol. | +| PowerAuth HTTP Utilities | `powerauth-java-http.jar` | 1.5.0 | Utilities used for binding PowerAuth cryptography to HTTP technology. | +| PowerAuth Command-Line Tool Library | `powerauth-java-cmd-lib.jar` | 1.5.0 | Library used for implementation of the PowerAuth Command-Line Tool app, useful for unit testing. | +| PowerAuth RESTful Security Spring | `powerauth-restful-security-spring.jar` | 1.5.0 | Spring integration library for RESTful API security. | +| Wultra Java Networking Objects | `rest-model-base.jar` | 1.7.0 | Base classes for RESTful API networking, shared across all Wultra back-end projects. | +| Wultra REST Client | `rest-client-base.jar` | 1.7.0 | Base RESTful client implementation, shared across all Wultra back-end projects. | +| Wultra Auditing Library | `audit-base.jar` | 1.7.0 | Base auditing library, shared across all Wultra back-end projects. | + +## Known Issues When Updating From Older Versions + +_No known issues so far._ From a6471ba1a9fc6e52b5fb07970b77e4e9a3f09e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20=C4=8Eurech?= Date: Wed, 23 Aug 2023 13:13:26 +0200 Subject: [PATCH 15/20] Fixed H_K_DEVICE_PUBLIC calculation (unwanted key conversion) Use new basic definitions in pseudo code --- docs/Activation-via-Activation-Code.md | 10 +++++----- docs/MAC-Token-Based-Authentication.md | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/Activation-via-Activation-Code.md b/docs/Activation-via-Activation-Code.md index 73202eb12..ec50b05b5 100644 --- a/docs/Activation-via-Activation-Code.md +++ b/docs/Activation-via-Activation-Code.md @@ -43,7 +43,7 @@ This diagram shows how the Activation Code Delivery Application requests the act KeyPair keyPair = KeyGenerator.randomKeyPair() PrivateKey KEY_SERVER_PRIVATE = keyPair.getPrivate() PublicKey KEY_SERVER_PUBLIC = keyPair.getPublic() - byte[] DATA = ACTIVATION_CODE.getBytes("UTF-8") + byte[] DATA = ByteUtils.encode(ACTIVATION_CODE) byte[] ACTIVATION_SIGNATURE = ECDSA.sign(DATA, KEY_SERVER_MASTER_PRIVATE) ``` @@ -67,7 +67,7 @@ The Activation Code Delivery Application plays no active role in the process of 1. PowerAuth Mobile SDK verifies the `ACTIVATION_SIGNATURE` against `ACTIVATION_CODE` using `KEY_SERVER_MASTER_PUBLIC` and if the signature matches, it proceeds. ```java - byte[] DATA = ACTIVATION_CODE.getBytes("UTF-8") + byte[] DATA = ByteUtils.encode(ACTIVATION_CODE) boolean isOK = ECDSA.verify(DATA, ACTIVATION_SIGNATURE, KEY_SERVER_MASTER_PUBLIC) ``` @@ -121,9 +121,9 @@ Finally, the last diagram shows how the Activation Code Delivery Application pro 1. PowerAuth Mobile SDK displays `H_K_DEVICE_PUBLIC`, so that a user can visually verify the device public key correctness by comparing the `H_K_DEVICE_PUBLIC` value displayed in the Master Front-End Application. ```java - byte[] activationIdBytes = ACTIVATION_ID.getBytes("UTF-8") - byte[] fingerprintBytes = ByteUtils.concat(K_DEVICE_PUBLIC_BYTES, ByteUtils.concat(activationIdBytes, K_SERVER_PUBLIC_BYTES)) - byte[] truncatedBytes = ByteUtils.truncate(Hash.sha256(KeyConversion.getBytes(fingerprintBytes), 4) + byte[] activationIdBytes = ByteUtils.encode(ACTIVATION_ID) + byte[] fingerprintBytes = ByteUtils.concat(K_DEVICE_PUBLIC_BYTES, activationIdBytes, K_SERVER_PUBLIC_BYTES) + byte[] truncatedBytes = ByteUtils.truncate(Hash.sha256(fingerprintBytes), 4) int H_K_DEVICE_PUBLIC = ByteUtils.getInt(truncatedBytes) & 0x7FFFFFFF) % (10 ^ 8) ``` diff --git a/docs/MAC-Token-Based-Authentication.md b/docs/MAC-Token-Based-Authentication.md index 767a8ddb5..468f8a17f 100644 --- a/docs/MAC-Token-Based-Authentication.md +++ b/docs/MAC-Token-Based-Authentication.md @@ -52,15 +52,15 @@ The `token_digest` value is computed using a following algorithm: // '$timestamp' is a unix timestamp in milliseconds (to achieve required time // precision) converted to string and then to byte[] using UTF-8 // encoding -long unix_timestamp = getCurrentUnixTimestamp(); -byte[] timestamp = String.valueOf(unix_timestamp).getBytes("UTF-8"); +long timestamp = Time.getTimestamp(); +byte[] timestamp_bytes = ByteUtils.encode(String.valueOf(timestamp)); // '$nonce' value is 16B of random data byte[] nonce = Generator.randomBytes(16); // '$nonce' is concatenated to '$timestamp' using '&' character: // $nonce + '&' + $timestamp -byte[] data = ByteUtils.concat(ByteUtils.concat(nonce, '&'), timestamp); +byte[] data = ByteUtils.concat(nonce, ByteUtils.encode("&"), timestamp_bytes); // 'token_secret' is 16B of random data SecretKey key = KeyConversion.secretKeyFromBytes(token_secret); From 005b7b48c3ed9ac3db7684b386b450f1fe710d73 Mon Sep 17 00:00:00 2001 From: Lubos Racansky Date: Thu, 24 Aug 2023 11:07:05 +0200 Subject: [PATCH 16/20] Fix #507: Set release version to 1.5.0 --- pom.xml | 2 +- powerauth-java-crypto/pom.xml | 2 +- powerauth-java-http/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 7de07d89f..4d233853b 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ io.getlime.security powerauth-crypto-parent - 1.5.0-SNAPSHOT + 1.5.0 pom 2016 diff --git a/powerauth-java-crypto/pom.xml b/powerauth-java-crypto/pom.xml index 4feb80e0e..e48b325d8 100644 --- a/powerauth-java-crypto/pom.xml +++ b/powerauth-java-crypto/pom.xml @@ -26,7 +26,7 @@ io.getlime.security powerauth-crypto-parent - 1.5.0-SNAPSHOT + 1.5.0 diff --git a/powerauth-java-http/pom.xml b/powerauth-java-http/pom.xml index 515daa3f3..8e30eb60a 100644 --- a/powerauth-java-http/pom.xml +++ b/powerauth-java-http/pom.xml @@ -28,7 +28,7 @@ io.getlime.security powerauth-crypto-parent - 1.5.0-SNAPSHOT + 1.5.0 From 62455c231743716158f18ff0d274963a945cfeb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Aug 2023 05:09:32 +0000 Subject: [PATCH 17/20] Bump org.apache.maven.plugins:maven-surefire-plugin from 3.0.0 to 3.1.2 Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.0.0 to 3.1.2. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0...surefire-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7de07d89f..2e9ab328a 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ 3.1.1 3.5.0 3.2.1 - 3.0.0 + 3.1.2 32.1.2-jre 2.0.7 5.9.2 From d6aa4622f9f3c25dbbfb1223db44e3a12f370b07 Mon Sep 17 00:00:00 2001 From: "roman.strobl@wultra.com" Date: Tue, 29 Aug 2023 22:44:49 +0200 Subject: [PATCH 18/20] Fix #510: Remove references to SOAP from documentation --- docs/Development.md | 2 +- docs/Maven-Modules.md | 2 +- docs/PowerAuth-2020.11.md | 3 +-- docs/PowerAuth-2021.05.md | 2 +- docs/PowerAuth-2021.11.md | 2 +- docs/PowerAuth-2022.04.md | 2 +- docs/PowerAuth-2022.05.md | 2 +- docs/PowerAuth-2022.12.md | 2 +- 8 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/Development.md b/docs/Development.md index e8bfdfedb..d368125ad 100644 --- a/docs/Development.md +++ b/docs/Development.md @@ -27,7 +27,7 @@ You can build all PowerAuth Java projects using similar steps: - [SDK for RESTful APIs](https://github.com/wultra/powerauth-restful-integration) -Note: Make sure you are creating a new Maven project in your IDE, not just a freeform project from existing sources. Maven is required for dependency management and for proper project building (for example, `powerauth-server` project uses [`jaxb2-maven-plugin`](http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/) to generate SOAP/REST transport object from an XSD file, etc.). +Note: Make sure you are creating a new Maven project in your IDE, not just a freeform project from existing sources. Maven is required for dependency management and for proper project building. Read more about how Maven dependencies are organized at [Maven modules](./Maven-Modules.md) documentation. diff --git a/docs/Maven-Modules.md b/docs/Maven-Modules.md index ff4d65931..1de91ab7a 100644 --- a/docs/Maven-Modules.md +++ b/docs/Maven-Modules.md @@ -11,7 +11,7 @@ PowerAuth source code includes following Maven modules: PowerAuth backend services are composed of following applications: -- `powerauth-java-server` - A server application implementing a PowerAuth Server. It is responsible for publishing PowerAuth Server SOAP methods and RESTful API, and also for persistence of the data in a database. +- `powerauth-java-server` - A server application implementing a PowerAuth Server. It is responsible for publishing PowerAuth Server RESTful API, and also for persistence of the data in a database. - `enrollment-server` - A server application publishing the PowerAuth Standard RESTful API and allowing customization of the activation process. - `powerauth-admin` - A server application providing web user interface for managing PowerAuth applications and activations. - `powerauth-push-server` - A server application used for delivering push messages to iOS and Android devices. \ No newline at end of file diff --git a/docs/PowerAuth-2020.11.md b/docs/PowerAuth-2020.11.md index 99f88ee2b..91eac14b4 100644 --- a/docs/PowerAuth-2020.11.md +++ b/docs/PowerAuth-2020.11.md @@ -45,8 +45,7 @@ For updating to 2020.11, please follow these migration guides: | PowerAuth RESTful Model | `powerauth-restful-model.jar` | 1.0.0 | Model classes for request and response objects used in PowerAuth Standard RESTful API. | | PowerAuth RESTful API Security for Spring | `powerauth-restful-security-spring.jar` | 1.0.0 | High-level integration libraries for RESTful API security, build for Spring MVC. | | PowerAuth RESTful API Security for JAX-RS | `powerauth-restful-security-javaee.jar` | 1.0.0 | High-level integration libraries for RESTful API security, build for Java EE (JAX-RS). | -| PowerAuth SOAP Client for Spring WS | `powerauth-java-client-spring.jar` | 1.0.0 | SOAP service client for PowerAuth Server service, built using Spring WS. | -| PowerAuth SOAP Client for Axis2 | `powerauth-java-client-axis.jar` | 1.0.0 | SOAP service client for PowerAuth Server service, built using Axis2. | +| PowerAuth REST Client for Spring | `powerauth-rest-client-spring.jar` | 1.0.0 | REST service client for PowerAuth Server service. | | PowerAuth Push Server RESTful Model | `powerauth-push-model.jar` | 1.0.0 | Model classes for request and response objects used in PowerAuth Push Server. | | PowerAuth Push Server RESTful Client | `powerauth-push-client.jar` | 1.0.0 | Client implementation that simplifies integration with PowerAuth Push Server service. | | PowerAuth Data Adapter RESTful Model | `powerauth-data-adapter-model.jar` | 1.0.0 | Model classes for request and response objects used in PowerAuth Data Adapter component. | diff --git a/docs/PowerAuth-2021.05.md b/docs/PowerAuth-2021.05.md index 66dfcfa3d..650b8887f 100644 --- a/docs/PowerAuth-2021.05.md +++ b/docs/PowerAuth-2021.05.md @@ -44,7 +44,7 @@ For updating to 2021.05, please follow these migration guides: |---|---|---|---| | PowerAuth RESTful Model | `powerauth-restful-model.jar` | 1.1.0 | Model classes for request and response objects used in PowerAuth Standard RESTful API. | | PowerAuth RESTful API Security for Spring | `powerauth-restful-security-spring.jar` | 1.1.0 | High-level integration libraries for RESTful API security, build for Spring MVC. | -| PowerAuth SOAP Client for Spring WS | `powerauth-java-client-spring.jar` | 1.1.0 | SOAP service client for PowerAuth Server service, built using Spring WS. | +| PowerAuth REST Client for Spring | `powerauth-rest-client-spring.jar` | 1.1.0 | REST service client for PowerAuth Server service. | | PowerAuth Push Server RESTful Model | `powerauth-push-model.jar` | 1.1.0 | Model classes for request and response objects used in PowerAuth Push Server. | | PowerAuth Push Server RESTful Client | `powerauth-push-client.jar` | 1.1.0 | Client implementation that simplifies integration with PowerAuth Push Server service. | | PowerAuth Data Adapter RESTful Model | `powerauth-data-adapter-model.jar` | 1.1.0 | Model classes for request and response objects used in PowerAuth Data Adapter component. | diff --git a/docs/PowerAuth-2021.11.md b/docs/PowerAuth-2021.11.md index ce3ec0097..dba1be93f 100644 --- a/docs/PowerAuth-2021.11.md +++ b/docs/PowerAuth-2021.11.md @@ -44,7 +44,7 @@ For updating to 2021.11, please follow these migration guides: |---|---|---|---| | PowerAuth RESTful Model | `powerauth-restful-model.jar` | 1.2.0 | Model classes for request and response objects used in PowerAuth Standard RESTful API. | | PowerAuth RESTful API Security for Spring | `powerauth-restful-security-spring.jar` | 1.2.0 | High-level integration libraries for RESTful API security, build for Spring MVC. | -| PowerAuth SOAP Client for Spring WS | `powerauth-java-client-spring.jar` | 1.2.1 | SOAP service client for PowerAuth Server service, built using Spring WS. | +| PowerAuth REST Client for Spring | `powerauth-rest-client-spring.jar` | 1.2.1 | REST service client for PowerAuth Server service. | | PowerAuth Push Server RESTful Model | `powerauth-push-model.jar` | 1.2.1 | Model classes for request and response objects used in PowerAuth Push Server. | | PowerAuth Push Server RESTful Client | `powerauth-push-client.jar` | 1.2.1 | Client implementation that simplifies integration with PowerAuth Push Server service. | | PowerAuth Data Adapter RESTful Model | `powerauth-data-adapter-model.jar` | 1.2.2 | Model classes for request and response objects used in PowerAuth Data Adapter component. | diff --git a/docs/PowerAuth-2022.04.md b/docs/PowerAuth-2022.04.md index 8a542c93d..e9b34763d 100644 --- a/docs/PowerAuth-2022.04.md +++ b/docs/PowerAuth-2022.04.md @@ -41,7 +41,7 @@ For updating to 2022.04, please follow these migration guides: |---|---|---|---| | PowerAuth RESTful Model | `powerauth-restful-model.jar` | 1.2.5 | Model classes for request and response objects used in PowerAuth Standard RESTful API. | | PowerAuth RESTful API Security for Spring | `powerauth-restful-security-spring.jar` | 1.2.5 | High-level integration libraries for RESTful API security, build for Spring MVC. | -| PowerAuth SOAP Client for Spring WS | `powerauth-java-client-spring.jar` | 1.2.5 | SOAP service client for PowerAuth Server service, built using Spring WS. | +| PowerAuth REST Client for Spring | `powerauth-rest-client-spring.jar` | 1.2.5 | REST service client for PowerAuth Server service. | | PowerAuth Push Server RESTful Model | `powerauth-push-model.jar` | 1.2.5 | Model classes for request and response objects used in PowerAuth Push Server. | | PowerAuth Push Server RESTful Client | `powerauth-push-client.jar` | 1.2.5 | Client implementation that simplifies integration with PowerAuth Push Server service. | | PowerAuth Data Adapter RESTful Model | `powerauth-data-adapter-model.jar` | 1.2.5 | Model classes for request and response objects used in PowerAuth Data Adapter component. | diff --git a/docs/PowerAuth-2022.05.md b/docs/PowerAuth-2022.05.md index 0013af6cd..11d759159 100644 --- a/docs/PowerAuth-2022.05.md +++ b/docs/PowerAuth-2022.05.md @@ -44,7 +44,7 @@ For updating to 2022.05, please follow these migration guides: |---|---|---|---| | PowerAuth RESTful Model | `powerauth-restful-model.jar` | 1.3.0 | Model classes for request and response objects used in PowerAuth Standard RESTful API. | | PowerAuth RESTful API Security for Spring | `powerauth-restful-security-spring.jar` | 1.3.0 | High-level integration libraries for RESTful API security, build for Spring MVC. | -| PowerAuth SOAP Client for Spring WS | `powerauth-java-client-spring.jar` | 1.3.0 | SOAP service client for PowerAuth Server service, built using Spring WS. | +| PowerAuth REST Client for Spring | `powerauth-rest-client-spring.jar` | 1.3.0 | REST service client for PowerAuth Server service. | | PowerAuth Push Server RESTful Model | `powerauth-push-model.jar` | 1.3.0 | Model classes for request and response objects used in PowerAuth Push Server. | | PowerAuth Push Server RESTful Client | `powerauth-push-client.jar` | 1.3.0 | Client implementation that simplifies integration with PowerAuth Push Server service. | | PowerAuth Data Adapter RESTful Model | `powerauth-data-adapter-model.jar` | 1.3.0 | Model classes for request and response objects used in PowerAuth Data Adapter component. | diff --git a/docs/PowerAuth-2022.12.md b/docs/PowerAuth-2022.12.md index 7f3a51007..1171398b6 100644 --- a/docs/PowerAuth-2022.12.md +++ b/docs/PowerAuth-2022.12.md @@ -44,7 +44,7 @@ For updating to 2022.12, please follow these migration guides: |---|---|---|---| | PowerAuth RESTful Model | `powerauth-restful-model.jar` | 1.4.0 | Model classes for request and response objects used in PowerAuth Standard RESTful API. | | PowerAuth RESTful API Security for Spring | `powerauth-restful-security-spring.jar` | 1.4.0 | High-level integration libraries for RESTful API security, build for Spring MVC. | -| PowerAuth SOAP Client for Spring WS | `powerauth-java-client-spring.jar` | 1.4.0 | SOAP service client for PowerAuth Server service, built using Spring WS. | +| PowerAuth REST Client for Spring | `powerauth-rest-client-spring.jar` | 1.4.0 | REST service client for PowerAuth Server service. | | PowerAuth Push Server RESTful Model | `powerauth-push-model.jar` | 1.4.0 | Model classes for request and response objects used in PowerAuth Push Server. | | PowerAuth Push Server RESTful Client | `powerauth-push-client.jar` | 1.4.0 | Client implementation that simplifies integration with PowerAuth Push Server service. | | PowerAuth Data Adapter RESTful Model | `powerauth-data-adapter-model.jar` | 1.4.0 | Model classes for request and response objects used in PowerAuth Data Adapter component. | From 168c78d4479178c68afd8494842a2a452e36bb8a Mon Sep 17 00:00:00 2001 From: "roman.strobl@wultra.com" Date: Wed, 30 Aug 2023 11:44:14 +0200 Subject: [PATCH 19/20] Fix #512: Update comment for EciesPayload --- .../crypto/lib/encryptor/ecies/model/EciesPayload.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java index 704ce8dec..6bc50f71c 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/encryptor/ecies/model/EciesPayload.java @@ -32,7 +32,7 @@ public class EciesPayload { EciesParameters parameters; /** - * Constructor for V3.1 protocol version ECIES structure. + * Constructor for V3.0 and V3.1 protocol versions of ECIES structure. * @param ephemeralPublicKey Ephemeral public key. * @param mac Message authentication code. * @param encryptedData Encrypted data. @@ -44,7 +44,7 @@ public EciesPayload(byte[] ephemeralPublicKey, byte[] mac, byte[] encryptedData, } /** - * Constructor for V3.2 protocol version ECIES structure. + * Constructor for V3.2 protocol version of ECIES structure. * @param ephemeralPublicKey Ephemeral public key. * @param mac Message authentication code. * @param encryptedData Encrypted data. From 8dcab4abdee8f789ac0c02694e55d8fc31e8be16 Mon Sep 17 00:00:00 2001 From: "roman.strobl@wultra.com" Date: Wed, 30 Aug 2023 12:06:08 +0200 Subject: [PATCH 20/20] Fix #514: Remove versions 2.0 and 2.1 from sources, cleanup 3.x versions --- .../activation/PowerAuthClientActivation.java | 2 ++ .../crypto/client/vault/PowerAuthClientVault.java | 2 ++ .../lib/enums/PowerAuthSignatureFormat.java | 2 +- .../activation/PowerAuthServerActivation.java | 2 ++ .../crypto/server/vault/PowerAuthServerVault.java | 2 ++ .../activation/PowerAuthActivationTest.java | 8 ++++++-- .../crypto/lib/util/GenerateVectorDataTest.java | 15 ++++++++++----- .../crypto/signature/PowerAuthSignatureTest.java | 6 ++++-- .../powerauth/crypto/vault/VaultTest.java | 2 ++ .../http/validator/ValueTypeValidator.java | 2 +- 10 files changed, 32 insertions(+), 11 deletions(-) diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java index 2b97c1f47..a3be5e8a6 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/activation/PowerAuthClientActivation.java @@ -112,6 +112,8 @@ public boolean verifyServerDataSignature(String activationId, byte[] C_serverPub *

PowerAuth protocol versions: *

    *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @param devicePublicKey Device public key. diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java index 4e036ef00..f55c66baf 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/client/vault/PowerAuthClientVault.java @@ -43,6 +43,8 @@ public class PowerAuthClientVault { *

PowerAuth protocol versions: *

    *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @param cVaultEncryptionKey Encrypted vault encryption key KEY_ENCRYPTION_VAULT. diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java index 2bdd8cc6a..382edc091 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/lib/enums/PowerAuthSignatureFormat.java @@ -36,7 +36,7 @@ public enum PowerAuthSignatureFormat { *

* This type of formatting is currently used in the following scenarios: *

    - *
  • For legacy {@code 2.0}, {@code 2.1} and {@code 3.0} versions of online signatures.
  • + *
  • For legacy {@code 3.0} version of online signatures.
  • *
  • For all versions of offline signatures.
  • *
*/ diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java index c82c83889..ebd75f0b1 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/activation/PowerAuthServerActivation.java @@ -222,6 +222,8 @@ public byte[] computeServerDataSignature(String activationId, byte[] C_serverPub *

PowerAuth protocol versions: *

    *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @param devicePublicKey Device public key. diff --git a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java index 6163da2c5..620ab0be4 100644 --- a/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java +++ b/powerauth-java-crypto/src/main/java/io/getlime/security/powerauth/crypto/server/vault/PowerAuthServerVault.java @@ -45,6 +45,8 @@ public class PowerAuthServerVault { *

PowerAuth protocol versions: *

    *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @param serverPrivateKey Server private key KEY_SERVER_PRIVATE diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java index 6b83374cd..2fa1f402b 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/activation/PowerAuthActivationTest.java @@ -67,7 +67,9 @@ public void testGenerateKeys() throws CryptoProviderException { * *

PowerAuth protocol versions: *

    - *
  • 3.0
  • + *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case test fails @@ -125,7 +127,9 @@ public void testActivationProcessV3() throws Exception { * *

PowerAuth protocol versions: *

    - *
  • 3.0
  • + *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception When test fails. diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java index 28fdfab8c..67f43a53b 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/lib/util/GenerateVectorDataTest.java @@ -125,9 +125,9 @@ public void testVerifyActivationDataV3() throws Exception { * *

PowerAuth protocol versions: *

    - *
  • 2.0
  • - *
  • 2.1
  • *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case any unknown error occurs. @@ -163,9 +163,9 @@ public void testMasterKeyDerivation() throws Exception { * *

PowerAuth protocol versions: *

    - *
  • 2.0
  • - *
  • 2.1
  • *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case any unknown error occurs. @@ -323,12 +323,13 @@ public void testSignatureValidationV3() throws Exception { *

PowerAuth protocol versions: *

    *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case any unknown error occurs. */ @Test - public void testSignatureValidationV31() throws Exception { + public void testSignatureValidationV31Plus() throws Exception { TestSet testSet = new TestSet("signatures-v31.json", "Client must be able to compute PowerAuth signature (using 1FA, 2FA, 3FA signature keys) based on given data, counter and signature type"); @@ -528,6 +529,8 @@ public void testSignatureOfflineValidation() throws Exception { *

PowerAuth protocol versions: *

    *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case any unknown error occurs. @@ -575,6 +578,7 @@ public void testPublicKeyFingerprintV3() throws Exception { *

PowerAuth protocol versions: *

    *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case any unknown error occurs. @@ -609,6 +613,7 @@ public void testDeriveIvForActivationStatusEncryption() throws Exception { *

PowerAuth protocol versions: *

    *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case any unknown error occurs. diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java index d1c3e173d..91744160e 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/signature/PowerAuthSignatureTest.java @@ -202,12 +202,13 @@ public void testSignatureForDataV3() throws Exception { *

PowerAuth protocol versions: *

    *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws java.lang.Exception If the test fails. */ @Test - public void testSignatureForDataV31() throws Exception { + public void testSignatureForDataV31Plus() throws Exception { System.out.println("# PowerAuth Signature"); System.out.println(); @@ -336,12 +337,13 @@ public void testSignatureForDataV31() throws Exception { *

PowerAuth protocol versions: *

    *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws java.lang.Exception If the test fails. */ @Test - public void testOfflineSignatureForDataV31() throws Exception { + public void testOfflineSignatureForDataV31Plus() throws Exception { System.out.println("# PowerAuth Offline Signature"); System.out.println(); diff --git a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java index d7ad46f40..79a2cf1a7 100644 --- a/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java +++ b/powerauth-java-crypto/src/test/java/io/getlime/security/powerauth/crypto/vault/VaultTest.java @@ -60,6 +60,8 @@ public static void setUp() { *

PowerAuth protocol versions: *

    *
  • 3.0
  • + *
  • 3.1
  • + *
  • 3.2
  • *
* * @throws Exception In case the test fails. diff --git a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java index c496b5088..0af47f8af 100644 --- a/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java +++ b/powerauth-java-http/src/main/java/io/getlime/security/powerauth/http/validator/ValueTypeValidator.java @@ -134,7 +134,7 @@ public static boolean isValidSignatureValue(String signature) { if (signature != null) { switch (signature.length()) { case 8, 17, 26 -> { - // "2.0", "2.1", "3.0" signature version uses "DECIMAL" format + // "3.0" signature version uses "DECIMAL" format return signature.matches(SIGNATURE_REGEX); } case 24, 44, 64 -> {

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 diff --git a/docs/resources/images/ui_internetbanking_activation_web.png b/docs/resources/images/ui_internetbanking_activation_web.png index d2a28bd4141b19c1c42b426f25c9b06a33dba3fb..ff7e0a56e0cd4db8873740b5255858cb945ba1f2 100644 GIT binary patch literal 110425 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 P;CEWz^irg1cKta6%y1;O_34z~Jsaxc@^QdEe{% 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

V+gxFFb6?l{OxnHq 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 )CvG^{EIw1}1^GmtJ@fn$ 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 qk6)6N1xtrFV9+#L187ZR0!_lwZ65^nU?A7l%y% literal 338905 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

3Kvg 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�=;wikam@yfgQ*8DjRCxThH zR%+v_wo-bL=RymDr>8fVts3RzCYaS$5M;7Y;%cZDq+2$k=LPFJ*QKXm|GHh4wO&$H z>qMqy)x*EO-O=OIS^bw~%&kh>r%2-hv)wmk-6FD=q1o*(O$=#<^Xa|!>{ap;qBD#Y z<`*_SwcH(ES<~G3koCB}ReN)*A0{#ve~}v(=Nf{cr`3zTeOT>?o7R9XZ@?0{mvAR@ zpVLC6X&K3Iu}uW)EkzE65i;9hrtGKJX}kk|l-wrop1NO>-BgL*|y z>!-BWfn9i-z%)v7Hjvd^>8TQ_q=*7P8F0%^eTQI++8 z1}0&^H{E9IK;l#UkRnN2`iNToB~Ei}3)5;cE$7Q~^O3bif`r&w`=a9hQ)Pm0P=N%iN#!g=8qgR?~3!r#io8GM3JE;n4j&E zC)^pX%C~PocT2#NN|0_P%$;4b{d*HHWXMqIUHh|ltu6I>OR(VVgGZ91yC*~h_MA)5 z#kMx)?3>s%PDo7C4mWXfOX;1 zhs^AF;ABǺn%Sq4NJf{*H&|?>GP8W-BaS>^x<6=Td50?^=Z8y2Q+8 z7?34jAFWI|#Id=&h`M-6P6n16Wy z@xQD^`p@gPB>qc2b}gUOEeoU`F|vAR0~p)nSxV_;xxV1T^q{O=8j0p7kop}*bWEN|ioxPsO{u0Zi65`rk6MDlO9kr-?t Q3kS-|^1Bm^KVSIqSCyHI=l}o! literal 44199 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