API .NET
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
OATH

Descrição detalhada

Autenticação padrão OATH.

Consulte a documentação técnica do HSM.

Funções

bool OATHCheck (string masterKeyId, string otp, ref byte[] bBlob)
 Check OTP value.
 
bool OATHCheck (string masterKeyId, string otp, ref byte[] bBlob, int dwFlag)
 Check OTP value.
 
bool OATHCheck (string masterKeyId, string otp, byte[] bBlob)
 
bool OATHCheck (string masterKeyId, string otp, byte[] bBlob, int dwFlag)
 
byte[] OATHBlobResync (string szMasterKeyId, string szOTP1, string szOTP2, byte[] bOATHBlob)
 Re-sincroniza um blob OATH através da apresentação de dois valores de OTP contínuos.
 
byte[] OATHGetKey (string szMasterKey, byte[] pbInBlob)
 Recupera a semente da chave geradora do blob de OATH.
 
DinamoApi.OATH_PSKC_TRANSLATE_OUTPUT[] OATHPskcTranslate (string szMasterKeyId, string szPSK, byte[] pbPSKC)
 Importa sementes envelopadas no padrão PSKC (Portable Symmetric Key Container), RFC 6030.
 
byte[] OATHIssueGenerateHOTP (string szMasterKeyId)
 Gera um blob HOATH, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.
 
byte[] OATHIssueGenerateHOTP (string szMasterKeyId, byte seedLen)
 Gera um blob HOATH, ou seja, um token de evento a partir de um tamanho de semente.
 
byte[] OATHIssueImportHOTP (string szMasterKeyId, byte[] bSeed)
 Immporta um blob HOATH, ou seja, um token de evento a partir de uma semente fornecida.
 
byte[] OATHIssueGenerateTOTP (string szMasterKeyId)
 Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.
 
byte[] OATHIssueGenerateTOTP (string szMasterKeyId, short step)
 Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.
 
byte[] OATHIssueGenerateTOTP (string szMasterKeyId, short step, ulong offset)
 Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.
 
byte[] OATHIssueGenerateTOTP (string szMasterKeyId, short step, ulong offset, byte seedLen)
 Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.
 
byte[] OATHIssueImportTOTP (string szMasterKeyId, byte[] bSeed)
 Immporta um blob TOTP, ou seja, um token de evento a partir de uma semente fornecida.
 
byte[] OATHIssueImportTOTP (string szMasterKeyId, byte[] bSeed, short step)
 Immporta um blob TOTP, ou seja, um token de evento a partir de uma semente fornecida.
 
byte[] OATHIssueImportTOTP (string szMasterKeyId, byte[] bSeed, short step, ulong offset)
 Importa um blob TOTP, ou seja, um token de evento a partir de uma semente fornecida.
 
string EncodeBase32 (byte[] data)
 Função utilitária para codificar Base32. Codificação padrão para geradores de OATH em sofware.
 
string OATHGetNext (string szMasterKeyId, byte lenOTP, byte[] bBlob)
 Recupera o próximo valor para o OTP.
 

Funções

◆ OATHCheck() [1/4]

bool OATHCheck ( string masterKeyId,
string otp,
ref byte[] bBlob )
inline

Check OTP value.

Parâmetros
masterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN.
otpOTP a ser verificado de tamanho mínimo DinamoApi.ISSUE_OATH_MIN_OTP_LEN e máximo DinamoApi.ISSUE_OATH_MAX_OTP_LEN.
bBlobArray de bytes contendo o blob que será utilizado para a geração do OTP. Este buffer será reescrito com o blob atualizado.
Exceções
DinamoException.DinamoExceptionEm caso de erro
Retorna
>Verdadeiro se o OTP passado no parâmetro da função for válido. Nesse caso, é importante a persistência do bBlob retornado para evitar ataques de REPLAY.
Exemplos
oath.cs.

◆ OATHCheck() [2/4]

bool OATHCheck ( string masterKeyId,
string otp,
ref byte[] bBlob,
int dwFlag )
inline

Check OTP value.

Parâmetros
masterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN.
otpOTP a ser verificado de tamanho mínimo DinamoApi.ISSUE_OATH_MIN_OTP_LEN e máximo DinamoApi.ISSUE_OATH_MAX_OTP_LEN.
bBlobArray de bytes contendo o blob que será utilizado para a geração do OTP. Este buffer será reescrito com o blob atualizado.
dwFlagA partir da versão 4.0.2 do firmware pode-se passar, neste parâmetro, o tamanho da janela de look-ahead de autenticação. O padrão é de 10 intervalos para mais ou para menos. No caso de tokens HOTP os intervalos serão contados por quantidade de eventos, no caso dos tokens TOTP serão contados por quantidade de time-steps.
Valor Significado
0 Utiliza o valor default de 10 intervalos.
DinamoApi.MAX_OTP_LOOK_AHEAD_INTERVAL Define o valor da janela de look-ahead de autenticação.
Retorna
Verdadeiro se o OTP passado no parâmetro da função for válido. Nesse caso, é importante a persistência do bBlob retornado para evitar ataques de REPLAY.
Exceções
DinamoException.DinamoExceptionEm caso de erro

◆ OATHCheck() [3/4]

bool OATHCheck ( string masterKeyId,
string otp,
byte[] bBlob )
inline
Obsoleto(a)
Usar OATHCheck com bBlob como referência.

◆ OATHCheck() [4/4]

bool OATHCheck ( string masterKeyId,
string otp,
byte[] bBlob,
int dwFlag )
inline
Obsoleto(a)
Usar OATHCheck com bBlob como referência.

◆ OATHBlobResync()

byte[] OATHBlobResync ( string szMasterKeyId,
string szOTP1,
string szOTP2,
byte[] bOATHBlob )
inline

Re-sincroniza um blob OATH através da apresentação de dois valores de OTP contínuos.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN.
szOTP1Primeiro valor do OATH.
szOTP2Segundo valor do OATH
bOATHBlobBlob do OATH
Retorna
Blob do OATH resincronizado, resultado da operação.
Exceções
DinamoException.DinamoExceptionEm caso de erro

◆ OATHGetKey()

byte[] OATHGetKey ( string szMasterKey,
byte[] pbInBlob )
inline

Recupera a semente da chave geradora do blob de OATH.

Parâmetros
szMasterKeyNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN.
pbInBlobConteúdo do blob
Retorna
Semente da chave na forma de array de bytes.
Exceções
DinamoException.DinamoExceptionEm caso de erro
Exemplos
oath.cs.

◆ OATHPskcTranslate()

DinamoApi.OATH_PSKC_TRANSLATE_OUTPUT[] OATHPskcTranslate ( string szMasterKeyId,
string szPSK,
byte[] pbPSKC )
inline

Importa sementes envelopadas no padrão PSKC (Portable Symmetric Key Container), RFC 6030.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN.
szPSKChave de transporte que protege as sementes informadas em pbPSKC.
pbPSKCConteúdo do arquivo contendo as sementes que serão transformadas em blobs no formato do HSM
Retorna
Array de estruturas DinamoApi.OATH_PSKC_TRANSLATE_OUTPUT. Esta estrutura conterá internamente os blobs das sementes traduzidas para o formato do HSM e o identificador de cada semente.
Exceções
DinamoException.DinamoExceptionEm caso de erro

◆ OATHIssueGenerateHOTP() [1/2]

byte[] OATHIssueGenerateHOTP ( string szMasterKeyId)
inline

Gera um blob HOATH, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoException.DinamoExceptionEm caso de erro

Esta função é utilizada quando é possível atribuir uma semente a um soft token. Será gerada uma semente com o tamanho de um SHA1

◆ OATHIssueGenerateHOTP() [2/2]

byte[] OATHIssueGenerateHOTP ( string szMasterKeyId,
byte seedLen )
inline

Gera um blob HOATH, ou seja, um token de evento a partir de um tamanho de semente.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
seedLenSemente no formato binário.
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoException.DinamoExceptionEm caso de erro

Esta função é utilizada quando a semente é fornecida por um dispositivo de software soft token (por exemplo um app de celular) ou de hadware hard_token (por exemplo um chaveiro gerador de sequencia)

◆ OATHIssueImportHOTP()

byte[] OATHIssueImportHOTP ( string szMasterKeyId,
byte[] bSeed )
inline

Immporta um blob HOATH, ou seja, um token de evento a partir de uma semente fornecida.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
bSeedSemente no formato binário.
Exceções
DinamoException.DinamoExceptionEm caso de erro
Retorna
Blob do OATH, resultado da operação.

◆ OATHIssueGenerateTOTP() [1/4]

byte[] OATHIssueGenerateTOTP ( string szMasterKeyId)
inline

Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoExceptionEm caso de erro

Esta função é utilizada quando é possível atribuir uma semente a um soft token

Exemplos
oath.cs.

◆ OATHIssueGenerateTOTP() [2/4]

byte[] OATHIssueGenerateTOTP ( string szMasterKeyId,
short step )
inline

Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
stepIntevalo de tempo usado no cálculo, também conhecido como janela de tempo para mudança de valor.
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoException.DinamoExceptionEm caso de erro

◆ OATHIssueGenerateTOTP() [3/4]

byte[] OATHIssueGenerateTOTP ( string szMasterKeyId,
short step,
ulong offset )
inline

Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
stepIntevalo de tempo usado no cálculo, também conhecido como janela de tempo para mudança de valor.
offsetAtraso do relógio a ser considerado.
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoExceptionEm caso de erro

◆ OATHIssueGenerateTOTP() [4/4]

byte[] OATHIssueGenerateTOTP ( string szMasterKeyId,
short step,
ulong offset,
byte seedLen )
inline

Gera um blob TOTP, ou seja, um token de evento. A semente será gerada de forma aleatória pelo HSM.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
stepIntevalo de tempo usado no cálculo, também conhecido como janela de tempo para mudança de valor.
offsetAtraso do relógio a ser considerado.
seedLenTamanho da semente.
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoExceptionEm caso de erro

◆ OATHIssueImportTOTP() [1/3]

byte[] OATHIssueImportTOTP ( string szMasterKeyId,
byte[] bSeed )
inline

Immporta um blob TOTP, ou seja, um token de evento a partir de uma semente fornecida.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
bSeedSemente no formato binário.
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoException.DinamoExceptionEm caso de erro

◆ OATHIssueImportTOTP() [2/3]

byte[] OATHIssueImportTOTP ( string szMasterKeyId,
byte[] bSeed,
short step )
inline

Immporta um blob TOTP, ou seja, um token de evento a partir de uma semente fornecida.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
bSeedSemente no formato binário.
stepIntevalo de tempo usado no cálculo, também conhecido como janela de tempo para mudança de valor.
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoException.DinamoExceptionEm caso de erro

◆ OATHIssueImportTOTP() [3/3]

byte[] OATHIssueImportTOTP ( string szMasterKeyId,
byte[] bSeed,
short step,
ulong offset )
inline

Importa um blob TOTP, ou seja, um token de evento a partir de uma semente fornecida.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
bSeedSemente no formato binário.
stepIntevalo de tempo usado no cálculo, também conhecido como janela de tempo para mudança de valor.
offsetAtraso do relógio a ser considerado.
Retorna
Blob do OATH, resultado da operação.
Exceções
DinamoException.DinamoExceptionEm caso de erro

◆ EncodeBase32()

string EncodeBase32 ( byte[] data)
inline

Função utilitária para codificar Base32. Codificação padrão para geradores de OATH em sofware.

Derived from https://github.com/google/google-authenticator-android/blob/master/AuthenticatorApp/src/main/java/com/google/android/apps/authenticator/Base32String.java

Parâmetros
dataSemente gerada
Retorna
Dados codificados em BASE32.
Exemplos
oath.cs.

◆ OATHGetNext()

string OATHGetNext ( string szMasterKeyId,
byte lenOTP,
byte[] bBlob )
inline

Recupera o próximo valor para o OTP.

Parâmetros
szMasterKeyIdNome da chave mestre, utilizada para proteger os blobs, de tamanho máximo DinamoApi.MAX_OBJ_ID_FQN_LEN
lenOTPTamanho do OTP que será gerado, podendo ser um valor entre DinamoApi.ISSUE_OATH_MIN_OTP_LEN e DinamoApi.ISSUE_OATH_MAX_OTP_LEN.
bBlobArray de bytes contendo o blob que será utilizado para a geração do OTP.
Retorna
Valor do próximo token
Exceções
DinamoExceptionLança exceção em caso de erro.