Microsoft открывает U-prove



    Коротко:
    C# code.msdn.microsoft.com/uprovesdkcsharp
    Java code.msdn.microsoft.com/uprovesdkjava

    UPD Нашел хорошую статью 2-годичной давности



    Для тех, кто не слышал про U-prove, небольшое введение.

    Проблема
    Для любых онлайн покупок сегодня нам покупателям приходится открывать слишком много информации о себе: имя, фамилию, адрес, телефон, естественно номер кредитной карточки. Таким образом, если эта информация становится доступной злоумышленнику, то можно нажить себе немало головной боли. Эта проблема становится еще более злободневной с внедрением так называемых one-click покупок (амазон, если мне не изменяет память, даже патентовал данный способ). В таком случае онлайн магазины хранят абсолютно всю информацию в своих базах данных до скончания веков.

    Статус-кво
    К сожалению, на рынке существует не так много альтернатив. Я отношу к ним OpenID (типичный пример использования — Google Checkout), Windows Live ID. Но эти решения в несколько иной (на мой взгляд) области — аутенификации. В то время как хотелось бы иметь простой, надежный и криптостойкий метод для верификации некоторой информации, например, денежной транзакции. Самое главное, «продавец» должен знать ровно столько информации сколько нужно для совершения корректной транзакции.

    Решение
    Технология U-prove, созданная Стэфаном Брэндсом (из компании Credentica, купленной компанией Майкрософт 2 года назад www.credentica.com), сочетает в себе де-факто индустриальный стандарт — криптосистемы на основе открытого/закрытого ключа и, самое интересное, возможность не давать доступа к некоторым элементам переданной информации (что невозможно в RSA).

    Иными словами, я могу создать некоторый токен, содержащий информацию о единовременной(!) транзакции без необходимости открывать некоторые персональные данные о себе. Если же для покупок алкоголя или табачной продукции мне нужно указать свой возраст, я могу открыть свой возраст и, например, адрес доставки.

    За остальным отсылаю к часовому видео
    channel9.msdn.com/shows/Identity/Deep-Dive-into-U-Prove-Cryptographic-protocols

    и/или бесплатной книге
    www.credentica.com/the_mit_pressbook.html

    Выпущенный в свободное плавание SDK под «свободной лицензией» позволяет нам поиграться с данной технологией децентрализованно (без привязки к «крупным игрокам»).
    Поделиться публикацией

    Комментарии 17

    • НЛО прилетело и опубликовало эту надпись здесь
        0
        Да, да, будет смеяться отдел К :) правда до определенного момента, когда им станет просто интересно
        0
        А чем это принципиально отличается от обычного подписывания документа? Ну создал себе XMLку с теми данными что надо, да и подписал ее. Или это и делается, но уже «под громким именем»?
          0
          подпись нужна для аутенификации.
          В общем случае смысл подписи в том, чтобы удостовериться в целостности письма и подтверждения авторства. Здесь задачи несколько иные.
            0
            Смотря кто подписывает и как.
              0
              загадочный комментарий =)

              под «обычным подписыванием документа» я, например, имею в виду следующее: добавить нюанс к тексту, вычислить хэш (текст+нюанс), подписать с помощью своего закрытого ключа и отослать адресату.

              Как подписываете вы?
                –1
                Да я не об этом. Я говорил о том что если кусок данных подписывает пользователь то это:

                * Доказательное подтверждение авторства документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
                * Контроль целостности передаваемого документа. При любом случайном или преднамеренном изменении документа изменится подпись, следовательно, она станет недействительной.
                * Защиту от изменений (подделки) документа.
                * Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, то владелец не может отказаться от своей подписи под документом.

                Когда документ (уже подписанный пользователем) подписывает третья сторона (банк, серт. центр, Вася Пупкин) — то он уже выступает гарантом валидности со своей стороны (под свою ответственность).

                С технической т.з., это одно и то же. А с логики нет разумеется.
                  0
                  хаха, вы это сейчас со мной так спорите?

                  смотрим мой начальный коммент:
                  >>подпись нужна для аутенификации.
                  >>В общем случае смысл подписи в том, чтобы удостовериться в целостности письма и
                  >>подтверждения авторства. Здесь задачи несколько иные.

                  на что вы отвечаете «смотря кто и как подписывает» и далее просто подтверждаете мои слова более общими формулировками =)

                  ну да ладно, это не суть важно. Но вы все равно не видите разницы между даже «вашим вариантом» подписи документа и протоколом u-prove? ;)
            0
            Полагаю, там будет скорее цепочка вроде «подготовка данных в XML» — «шифрование открытым ключом карточного процессинг-центра, добавление открытых данных, подписывание своим ключом» — «передача результата продавцу» — «подписывание данных частным ключом продавца» — «передача в процессинг-центр».

            Хотя что сочинять. Надо почитать и посмотреть, кто угадал )
              0
              Ну примерно это я и представлял. Другое дело что тут нет принципиально новых идей, а подается чуть ли не как новый криптографический протокол :)

              Все это уже миллион лет применялось. Конечно не в единой стандартной форме, но было. Зная же «любовь» Микрософта к всякого рода стандартам, боюсь предположить, во что вылилось бы глобальное использование.
                0
                вы основываете свой разоблачительный комментарий на догадке (ошибочной, кстати), прозвучавшей в другом комментарии =)

                посмотрите лучше видео.
                0
                не совсем так, точнее совсем не так =)
                там используется более интересная схема, потому что в вашем случае нет гарантии аутентичности покупателя. Я же могу добавить все что угодно в таком случае.
                0
                Всем отличается.
                Тут достоверность информации подтверждается третьей стороной.
                «Создавая XML-ку» вы можете положить туда любую информацию. При применении описываемой технологии неизменность информации гарантируется.
                  –2
                  Так блин я же сказал что она подписывается.
              • НЛО прилетело и опубликовало эту надпись здесь
                  +1
                  и что ещё более неожиданно (по крайней мере для меня) они даже добавили реализацию на Java
                  а у SDK на C# ненавязчиво так написано что надо VS2010 :)
                  0
                  В направлении верификации при онлайн-платежах ещё работает компания Jumio (сайт, en.wikipedia). Про один из её сервисов писали в статье на хабре «Сервис Jumio предлагает использовать веб-камеру в качестве POS-терминала». Возможно кому-нибудь эта информация пригодится.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое