Авторизация в Jabber (XMPP)

Тема в разделе "WASM.NETWORKS", создана пользователем Alexander_N, 19 ноя 2008.

  1. Alexander_N

    Alexander_N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    16
    Подскажите пожайлуста, как происходит весь процесс авторизации в Jabber. Ниже привожу текст обмена данными между клиентом и сервером. Я так понимаю алгоритм шифрования MD5. Так вот, каким образом формируются 3 ключа представленные ниже? Нет ли у кого уже готового исходника на ассемблере (или на С) который бы формировал эти ключи? Зараннее спасибо.


    Код (Text):
    1. <stream:stream to="jtalk.ru" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="ru" version="1.0" />
    2. ­
    3. <stream:features>
    4. <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
    5. <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
    6. <mechanism>DIGEST-MD5</mechanism>
    7. <mechanism>PLAIN</mechanism>
    8. </mechanisms>
    9. <register xmlns="http://jabber.org/features/iq-register" />
    10. </stream:features>
    11. ­
    12. <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5" />
    13. ­
    14. <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">bm9uY2U9IjEwMDEwMTA4NSIscW9wPSJhdXRoIixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw==</challenge>
    15. ­
    16. <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9ImpvcmdvIixyZWFsbT0iIixub25jZT0iMTAwMTAxMDg1Iixjbm9uY2U9IjYyNDU2NzE0MGZlY2M0MDE2M2ZlZDNjNDVhOTU5YTdjIixuYz0wMDAwMDAwMSxxb3A9YXV0aCxkaWdlc3QtdXJpPSJ4bXBwL2p0YWxrLnJ1IixjaGFyc2V0PXV0Zi04LHJlc3BvbnNlPTY5MzExYjUzYjY2ZjFlMWYwMTNmZmNlN2ZlMjgwNjI2</response>
    17. ­
    18. <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kNTFkOTI1N2NjMDBjODczYzQzOTk1NzE1ZjdmYjY4Mg==</challenge>
    19. ­
    20. <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />
    21. ­
    22. <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />
     
  2. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    на гугле забанили?
     
  3. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Alexander_N
    это алгоритм хеширования
    и гугли как тебе уже сказали
     
  4. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Протокол XMPP (Jabber) является полностью открытым. Для него куча всякой документации, а также куча OpenSource клиентов.
    Фот глянь например это :
    http://xmpp.org/rfcs/rfc3921.html
     
  5. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Название механизма в общих RFC поискать. Наверняка отдельной докой описано.
     
  6. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Какой-нибудь MD5 от конекта соли и пароля... вот смотри что у тебя под mime кодами висит:

    nonce="100101085",qop="auth",charset=utf-8,algorithm=md5-sess

    username="jorgo",realm="",nonce="100101085",cnonce="624567140fecc40163fed3c45a959a7c",nc=00000001,qop=auth,digest-uri="xmpp/jtalk.ru",charset=utf-8,response=69311b53b66f1e1f013ffce7fe280626

    rspauth=d51d9257cc00c873c43995715f7fb682

    Если бы пароль свой дал, угадать механизм наверное можно было бы секунд за 10 =)
     
  7. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Хотя поля такие я в IP телефонии видел:
    Пакостная вещь. В принципе ничего сложно. Но пока правильный результат нарисовать сможешь, очень много нервов испортишь....
     
  8. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
  9. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763