Просмотр полной версии : PowerАnalysis
що саме треба доробити в рідері щоб робити аналіз по живленю? яку найкраще використовувати для цьої справи програму?
П.С. може в когось(крім Unixoida:)) є вже якісь результати?
переклад:
что именно нужно доделать в ридери, чтобы делать анализ по питанию? какую лучше всего использовать для этого дела программу?
П.С. может у кого-то(кроме Unixoida:)) есть уже какие-то результаты?
Sergey_Od
21.03.2007, 16:26
Думаю, что программу придется писать самому. А вот для анализа питания можно использовать какой-то АЦП.
юниксоид брал тупо землю ридера и к входу звуковой карты, и записывал звук:).
Не так все просто. В разрыв между "землей" карты и ридера ставим резистор (5 - 25 Ом) и с него снимаем падение напряжения. Так как сигнал очень слабый, то его необходимо усилить малошумящим усилителем, после этого уже подаем на звуковую карту или на АЦП и от него на УСБ порт РС. Также нужно гармотно "развести" плату всего устройства, чтобы не было помех от элементов самого ридера (так называемая "грязная" и "чистая" земля).
Программу 100% придется писать самому, так как необходимо записывать данные буквально в щитанные миллисекунды, то придется потрудится... Далее - мат обработка.
В свое время я что-то такое сделал... Все получалось довольно красиво, но звуковая карта сильно искажает сигнал (наверное на входе стоят какие-то емкости). Сейчас пока-что отложил на время это все - нету времени, но обязательно продолжим!!!
nuken а если делать без усилителя, можна будет хоть отличить два разных алгоритма?
Амплитуда сигнала очень маленькая, отличить от помех будет сложно... Ты посчитай сам, падение напряжения на 5 - 25 Ом-ах - очень мало.
Собственно, раз тема поднялась, то у меня вопрос: кто-то пробовал удачно сделать работу с смарт картой на микроконтроллере (желательно PIC)? Идея проста - отправлять через микроконтроллер данный карте и принимать от не ответ, если при этом микроконтроллеру будет указано, что нужно оцифровывать колебания питания, то он будет врубать АЦП и программа будет вести запись данных.
goblin_maks
26.03.2007, 01:29
была у меня както похожая идея...решил для начала сделать скан с помощью контроллера без вмешательства компа....в различных целях...взял для начала интел8051 потомучто он с УАРТОМ!но на этом фсе и стало!
To goblin_maks: ну микроконтроллеры PIC тоже с UART-ом, но тем не менее ты второй человек, с которым я на эту тему общаюсь и тоже 8051 выбрал. Чем вызван выбор именно этого микропроцессора, кроме того, что там есть UART? Можешь выложить схемку подключения и в чем была проблема, из-за которой "фсе и стало"?
У меня на PIC-е получается считать АТР, посылаю команду карте, карта ее понимает правильно, а вот принимать не полдучается, максимум пару байт считываю и все... толи я криво пишу код, толи PIC не успевает (PIC16F628A, 20 MHz).
goblin_maks
28.03.2007, 01:19
8051 был выбран потомучто таков был под рукой...все стало по причине краха винчестера...тоесть компа не было месяца 3...а потом все както отошло...в любом случае идея жива...и надо ее реализовывать... и вот есче...в ответ внатуре сыпалась какаято ерунда...чтото похожее на АТР можна было разобрать....но не в полном составе...с кучей лишних значений и непонятных символов...
Мусор получается, если не соблюдаешь временные интервалы, тогда и считываешь с порта не то или если УАРТ настроен не так, как нужно для работы с картой. У меня вобще было, что если УАРТ настроен не так, как нужно для работы с картой, то PIC просто вешался...
Была идейка - микроконтроллер AVR. Две проблемы - первая - нельзя использовать микроконтроллер для анализа скачков питания на той же линии по которой он сам питается (это очевидно!). То есть надо два различных источника питания. Вторая - для снижения шума преобразования контроллер надо усыплять на время прохождения преобразования. Тут тоже не все так просто...
Жаль, что нет времени все это продолжить...
такая схема должна быть, если без усилителя?
Была идейка - микроконтроллер AVR. Две проблемы - первая - нельзя использовать микроконтроллер для анализа скачков питания на той же линии по которой он сам питается (это очевидно!). То есть надо два различных источника питания.
а если АВР питать от батарейки?
To Wert: странно, но у меня на девайсе стоял PIC, который давал тактовую карте, все питалось от одного блока питания и никаких помех не было... И потом, фильтры надо ставить... На крайняк после сбора данных мат обработка с вырезом соотв. частоты...
To Lestat: вот так:
странно, так подключил но одни шумы, использовал програму NeroWaveEditor.
странно, так подключил но одни шумы, использовал програму NeroWaveEditor.
1) Как образец использовал SoundForge7.1 (16 бит, 96 кГц)
2) Усилитель нужен обязательно
3) LineIn не особо чувствительный (как вход для микрофона, например, но тут надо согласовывать по сопротивлению)
4) Вот пример общения с картой, запись SoundForge (http://www.sc-research.hut1.ru/SIMCardPowerTrace.JPG). Как видно, шумов практически нет при работающем PIC-е в качестве источника тактовой для карты.
5) Вот пример записи общения моей программой - запись через саунд карту (16 бит, 96 кГц) (http://www.sc-research.hut1.ru/SCPSA_By_Nuken.jpg). На экране видно, что посылалось и соотв. запись по питанию.
1) Как образец использовал SoundForge7.1 (16 бит, 96 кГц)
2) Усилитель нужен обязательно
3) LineIn не особо чувствительный (как вход для микрофона, например, но тут надо согласовывать по сопротивлению)
4) Вот пример общения с картой, запись SoundForge (http://www.sc-research.hut1.ru/SIMCardPowerTrace.JPG). Как видно, шумов практически нет при работающем PIC-е в качестве источника тактовой для карты.
5) Вот пример записи общения моей программой - запись через саунд карту (16 бит, 96 кГц) (http://www.sc-research.hut1.ru/SCPSA_By_Nuken.jpg). На экране видно, что посылалось и соотв. запись по питанию.
а можете выложыть схемку усилителя, и исходник програмы?
П.С. ваша прогама роботает напрямую с ридером?
To Lestat: исходник нет, так как это уж слишком... но направить в нужном направлении в написании софта могу; сразу оговорюсь, что пишу на Дельфи, так что в С++ я слаб... все надо делать в разных потоках, иначе тормоза или в общении с картой или в записи звука, в потоке для записи звука ставить бОльший приоритет, чем в работе с картой...
схема взята из даташита от AD623, его стандартное подключение, только там на входе надо выкинуть резисторы фильтра, или вобще фильтр... уже не помню, эти резисторы ослабляют и так слабый сигнал... опорное напряжение лучше сделать от соотв. микросхемы-источника опорки... ну или на "землю" кинуть, но с нее могут идти помехи от всей схемы...
вобщем спрашивай - буду отвечать по ходу дела...
дауж, в потоках я не рулю, запись звука тоже не очень, и роботать напрямую с ком портом неумею, роботал в делфи только с ЛПТ портом, очень много времени потребуется для изучения...
1) Работать с СОМ портом плевое дело. Возьми нормальный компонент для работы с СОМ портом под дельфи и не имей проблем. Как обрабатывать данные для карт с инверсным и прямым режимом передачи данных можешь у меня на сайте посмотреть в соотв. статье...
2) По поводу программирования - ну учить азам я не могу, тут главное идея, направление... а код уже сами пишите... меня никто даже в этом не учил, только били по рукам за неправильную работу с типами данных, от чего в принципе и большинство ошибок 8)
3) По поводу исходника: для анализа алгоритма шифрования Ки СИМ карты он не подойдет, так как слишком малое разрешение (всего 96 000 сэмплов/с), надо иметь хотябы 300 000 сэмплов/с, чтобы анализировать работу карты...
... роботал в делфи только с ЛПТ портом, очень много времени потребуется для изучения...
Если работал с LPT, то с COM точно проблем не возникнет. Если работать в обычном, синхронном режиме, то это ничем не отличается от работы с файлом. Единственное отличие, перед тем, как начинать писать-читать, нужно выставить параметры (скорость, стоп биты и т.д.). Примеров в нете, как грязи.
Настройку порта можно увидеть при помощи любого монитора СОМ порта, когда с картой работает тот же SimScan или WinExplorer.
3) По поводу исходника: для анализа алгоритма шифрования Ки СИМ карты он не подойдет, так как слишком малое разрешение (всего 96 000 сэмплов/с), надо иметь хотябы 300 000 сэмплов/с, чтобы анализировать работу карты...
мне анализ не нужен, я просто для себя хочу розличать алгоритм В1, В2, В3, хз, .... юниксоид так делал.
В таком случае тебе и программа не нужна. Паяй железо, записывай все в SoundForge и по виду графика будешь различать карты с разной версией алгоритма.
В таком случае тебе и программа не нужна. Паяй железо, записывай все в SoundForge и по виду графика будешь различать карты с разной версией алгоритма.
Так и "защиту от спама" легко узреть ?
YoKeL,
Юниксоид так и делал
Подскажите тогда пожалуста со схемкой! AD623 вот так включать ?
В даташите рис. 43. Там на входе убрать резисторы, конденсаторы оставить. Если все равно будет слабый сигнал, то убрать весь фильтр на входе. Для начала Vref = "эемля". Gain = 20...50, иначе искажения сигнала. Емкости по питанию обязательны!!!
Gain = 20...50, иначе искажения сигнала. Rg от 2К до 5к ? Ты его однополярно питаешь или двуполярно ?
Когда Vref был "земля", то питал от однополярки, когда сделал опорку 2В, то поставил двуполярку. Питанию уделять особое внимание, так как от него зависит все. Rg смотреть по даташиту - не помню я уже.
Какие еще рекомендации будут? На макете же нельзя собирать, нужно на печатке с минимальной длиной проводников ?
У меня как раз все и было на макетке.
Гы. А идея с батарейкой - это гуд. Получилось примерно следующее - вся схема питается от 2-х батарей 6V 3Ah (от УПС-ов). От одной батарейки питаются 2 микроконтроллера АВР и усилитель, от второй - карточка (через КРЕНки и большие конденсаторы). Тактовую для карты дает один контроллер, он же пишет результаты обработки и передает их в комп. Второй контроллер замеряет падение напряжения на резисторе почти постоянно находясь в режиме sleep-adc. Что из всего этого получилось...
1. Тактуя контроллеры частотой 20Мгц мы можем получить разрешение выборки до ~750.000 в секунду, а то и больше. Реально, правда все это запускается у меня на 16Мгц устойчиво, выше - лезут какие-то грабли с синхронизацией контроллеров - надо копать...
1а. Минимальная частота тактовой карточки на которой она работает (Мегафоновская) - ~950КГц...
2. Такой поток данных в com-порт не просунешь. То есть надо писать все во внутреннюю/внешнюю память контроллера, а потом сливать в комп. То есть линейно писать не получится, но это и не надо, так как алгоритм ведь быстро отрабатывает...
3. Сигнал снимаемый с резистора слишком слаб даже после усилителя. Чтобы не потерять точность надо чтобы размах сигнала был хотябы до 2.5В (для низковольтных АВР-ов, но их не запустишь на 20Мгц, только на 10) или до 3.3В (для обычных АВРов). Вот тут пока засада...
Вот такие пироги...
И самое главное - внимание, вопрос! Получив запись сигнала с частотой выборки = частоте карты (в ИДЕАЛЕ!), что мы с ним дальше делать будем??? У меня вот идей пока нет...
To Wert: по поводу конструкции с контроллерами у меня немного другое вИдение, но я не спец в этом, так что пока не дошло до конкретики - помолчу... А вот общие соображения могу высказать:
1) Минимальная частота тактовой карточки на которой она работает (Мегафоновская) - ~950КГц
Так и есть, но!!! это минимально подаваемая на карту, если же она внутри еще делится, например на 4, то фактическая еще ниже...
2) Тактуя контроллеры частотой 20Мгц мы можем получить разрешение выборки до ~750.000... Такой поток данных в com-порт не просунешь. То есть надо писать все во внутреннюю/внешнюю память контроллера, а потом сливать в комп.
Это какой микроконтроллер 750 000 измерений/с может выдать при своей тактовой 20МГц??
Пусть АЦП 8 бит, тогда в секунду имеем больше 700 кБайт данных. Ну пусть запись длится 0,1 с, тогда все равно 70 кБайт!!! Куда столько пихать? В какую внутренню память микроконтроллера? Если учесть, что возможна запись не одну секунду (мало ли что и кому захочется записать), а подольше, то данных еще больше... И потом, будет ли успевать контроллер закидывать в память полученные данные, прежде чем появяться новые?
А что с сигналом делать: будет сигнал - будут идеи.
И самое главное - внимание, вопрос! Получив запись сигнала с частотой выборки = частоте карты (в ИДЕАЛЕ!), что мы с ним дальше делать будем??? У меня вот идей пока нет...
висловлю свою думку:
якщо відомо алгоритм В1, тоді взяти одинакові карточки, одного виробника з захистом В1 і В2(це для того щоб були одні мікроконтролери, напевно в різних мікроконтролерах при одинакових алгоритмах вийде інший графік споживання енергії), і на одинакових швидкостях записати споживання енергії двох сім карт, і там де в нас за один такт співпадуть графіки В1 і В2, ми будемо знати яку операція виконує мікроконтролер з алго В2. таким чином напевно можна буде отримати алгоритм В2. от така в мене ідея. но як то кажуть пезді... то не мішки носити:).
переклад:
выражу свое мнение: если известно алгоритм В1, тогда взять одинаковые карточки, одного производителя с защитой В1 и В2(это для того, чтобы были однинаковые микроконтроллеры, наверно в разных микроконтроллерах при одинакових алгоритмах выйдет разный график потребления энергии), и на одинакових скоростях записать потребление энергии двух сим карт, и там где у нас за один такт совпадют графики В1 и В2, мы будем знать которую операция выполняет микроконтроллер с алго В2. таким образом наверно можно будет получить алгоритм В2. вот такова у меня идея.
но як то кажуть пезді... то не мішки носити:).
Wert,
вот такой скромный вопрос:), а графики разных карт(разных операторов) с защитой В1 похожые?
не глазами надо смотреть,а наналитически.
похожи,еще как. железо имть надо,во первых толковое. и железный offset-remover.