+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : novembre 2009
    Messages : 377
    Points : 563
    Points
    563

    Par défaut OTP quelle solution ?

    Je lisais de la documentation sur l'OTP et j'ai vu quelques implémentations (sur linux) mais rien que je trouve transcendant.

    Premier résultat sur google :
    OPIE.

    Je trouve que le système s/key est tout juste utile afin d'éviter le rejeu et l'écoute, mais pas de façon satisfaisante, un petit rappel du protocoles :

    1. Demande de connexion
    2. Envoie numéro de séquence, plus un seed
    3. Génération du mot de passe du côté utilisateur avec hash^nSeq(seed + password)

    La protection réside sur un nombre de répétition faible (999 max), un hash en md5 qui se calcul très rapidement, et un sel de 40 bits.

    En écoutant une transaction on a déjà

    1. Le sel
    2. Le numéro de séquence

    Il nous manque donc juste la pass-phrase. Comme l'utilisateur se sent "rassuré", par l'otp il aura tendance à utiliser des mots de passes plus faible. Ce qui en fait un protocole qui peut-être cassé off-line.

    Source :
    http://www.securiteinfo.com/cryptographie/otp.shtml

    Deuxième résultats : OTPW

    Cette fois une implémentation que je trouve largement meilleur :

    1. Demande de connexion
    2. Envoie d'un numéro de séquence
    3. Récupération dans la liste de ce numéro de séquence

    Mais je ne la trouve pas optimal :
    - On doit désactiver le stack protector, pour une librairie partagé je trouve pas ça incroyable.

    - On obtient pas une authentification forte, (un seul facteur d'authentification).

    Et vous qu'utilisez-vous et pourquoi ?

    Dans l'idéal, je cherche une solution qui fournit une authentification forte, avec une génération de mot de passe indépendant.

    Je m'intéresse principalement à linux et des solutions gratuite, mais si vous avez d'autres pistes et retour d'expérience je suis aussi preneur.







    Particulièrement celle d'OPIE qui utilise un s/key, je la trouve un peu inutile, et je me demande si ma source est fiable :

    Le principe que j'ai compris est le suivant :



    Donc il founit juste

  2. #2
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    février 2007
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : février 2007
    Messages : 520
    Points : 653
    Points
    653

    Par défaut

    Salut,

    Je reponds, sans avoir a donner de vraie solution, ni connaitre les procoles/implementations que tu cites. Je me base un peu sur ce que tu decris + le lien, et un peu de lecture sur OTPW, qui semble effectivement meilleur. Mais ce que je dis est a prendre avec des pincettes.

    Citation Envoyé par manticore Voir le message
    En écoutant une transaction on a déjà

    1. Le sel
    2. Le numéro de séquence

    Il nous manque donc juste la pass-phrase. Comme l'utilisateur se sent "rassuré", par l'otp il aura tendance à utiliser des mots de passes plus faible. Ce qui en fait un protocole qui peut-être cassé off-line.
    J'ai pas regarde de tres pres, mais le brute force offline semble un peu cher (pas fait de calcul). On dirait un peu un PBKDF2 du pauvre, ou les iterations sur le hash sont fonctions du numero de sequence. En gros, plus tu chopes un numero de sequence bas, moins le craquage offline prends de temps.
    Mais je suis d'accord avec toi, c'est pas grandiose.

    Citation Envoyé par manticore Voir le message
    Deuxième résultats : OTPW

    Cette fois une implémentation que je trouve largement meilleur :

    1. Demande de connexion
    2. Envoie d'un numéro de séquence
    3. Récupération dans la liste de ce numéro de séquence

    Mais je ne la trouve pas optimal :
    - On doit désactiver le stack protector, pour une librairie partagé je trouve pas ça incroyable.
    Oui, ca effectivement c'est vraiment pas terrible.
    Apres si tu peux compiler le tout en pie ou avec relro tout en ayant ASLR et X^W actives, tu reduis les risques completement. Actuellement, je connais pas de techniques pour bypasser ASLR + X^W si la GOT est read only ou si .text est randomise (pie). Mais bon mieux vaut etre prudent .

    Citation Envoyé par manticore Voir le message
    - On obtient pas une authentification forte, (un seul facteur d'authentification).
    Ca apres c'est pas directement du a OTPW. Tu peux utiliser OTPW en seconde authentification si ton service le permet. C'est plus de la responsabilite du service de proposer le 2 factor.

    Citation Envoyé par manticore Voir le message
    Et vous qu'utilisez-vous et pourquoi ?

    Dans l'idéal, je cherche une solution qui fournit une authentification forte, avec une génération de mot de passe indépendant.

    Je m'intéresse principalement à linux et des solutions gratuite, mais si vous avez d'autres pistes et retour d'expérience je suis aussi preneur.
    Ca depend des services et de si ils permettent 2 factor. Tu cherches a implementer ca pour quels services?
    De mon cote, je connais pas les solutions open source. Je peux te dire ce que l'on utilise cote VPN remote access si ca te donnes une indication, mais c'est full proprio. On utilise un firewall (ASA pour ne pas le nommer) comme headend. Pour les clients VPN on fait authentification par certificat, puis extraction du username a partir du CN, puis OTP base sur RSA securID. Mais bon, tout ca c'est que du proprio (pour faire 2 factors avec IKEv1 tu dois utiliser XAUTH qui est Cisco proprio.)
    IKEv2 doit permettre de faire ca a l'aide de n/import quel protocol EAP (se passer d'XAUTH), mais c'est encore a l'etude de notre cote.
    Pour le reste (router, switch, serveurs critiques...) on fait radius (qui utilise AD comme backend), puis RSA pour le 2 factor.

    J'ai pas regarde, mais si OTPW offre une interface SDI (protocole proprio RSA), y'a des bonnes chance de l'integrer avec n'importe quel service. Mais je n'en sais pas plus.

    Citation Envoyé par manticore Voir le message
    Particulièrement celle d'OPIE qui utilise un s/key, je la trouve un peu inutile, et je me demande si ma source est fiable :

    Le principe que j'ai compris est le suivant :

    Donc il founit juste
    Manque pas mal de bouts

  3. #3
    Membre expérimenté

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : novembre 2009
    Messages : 377
    Points : 563
    Points
    563

    Par défaut

    J'ai pas regarde de tres pres, mais le brute force offline semble un peu cher (pas fait de calcul). On dirait un peu un PBKDF2 du pauvre, ou les iterations sur le hash sont fonctions du numero de sequence. En gros, plus tu chopes un numero de sequence bas, moins le craquage offline prends de temps.
    Mais je suis d'accord avec toi, c'est pas grandiose.
    Oui mais le numéro de séquence est d'environ 500, ce qui est super bas. Il me semble de mémoire que pour le sha1 il faut 128'000 itérations, et le md5 est plus rapide à calculer.

    J'ai lu un peu de doc et avec deux cartes graphiques, en programmation GPU on arrive à des valeurs proches de 17M hash/s en MD5. Donc avec un vrai cluster ou des FPGA, même sans avoir des budgets important on arrive à attaquer ce système.

    Ca apres c'est pas directement du a OTPW. Tu peux utiliser OTPW en seconde authentification si ton service le permet. C'est plus de la responsabilite du service de proposer le 2 factor.
    Oui en faite je me suis planté, je pensais que je pouvais pas activer via pam le mot de passe unix, mais j'avais une erreur de configuration.


    Code :
    Ca depend des services et de si ils permettent 2 factor. Tu cherches a implementer ca pour quels services?
    En faite, j'ai du conseiller des collègues qui faisais un développement sur système embarqué, et je trouvais rien de génial en libre. Et je me demandais si j'avais louper une librairie libre dans mes recherches.

    Code :
    1
    2
    3
    4
    De mon cote, je connais pas les solutions open source. Je peux te dire ce que l'on utilise cote VPN remote access si ca te donnes une indication, mais c'est full proprio. On utilise un firewall (ASA pour ne pas le nommer) comme headend. Pour les clients VPN on fait authentification par certificat, puis extraction du username a partir du CN, puis OTP base sur RSA securID. Mais bon, tout ca c'est que du proprio (pour faire 2 factors avec IKEv1 tu dois utiliser XAUTH qui est Cisco proprio.)
    IKEv2 doit permettre de faire ca a l'aide de n/import quel protocol EAP (se passer d'XAUTH), mais c'est encore a l'etude de notre cote.
    Pour le reste (router, switch, serveurs critiques...) on fait radius (qui utilise AD comme backend), puis RSA pour le 2 factor.
    [/QUOTE]
    Merci pour le retour, très intéressant C'est un peu un contexte différent du mien, avec une architecture réseau complète, comparé à mon pauvre système qui tourne tout seul dans son coin.

    J'ai pas regarde, mais si OTPW offre une interface SDI (protocole proprio RSA), y'a des bonnes chances de l’intégrer avec n'importe quel service. Mais je n'en sais pas plus.
    J'ai cherché un peu, mais il me semble pas qu'OTPW possède d'interface SDI.

    Merci encore pour ta réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •