#asn1 — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #asn1, aggregated by home.social.
-
ITU X.680 was clearly written by a very large committee: it defines approximately 35 different string types, base 2 and base 10 floating point numbers, an unbounded integer type. But no natural number type 🤷♂️
-
ITU X.680 was clearly written by a very large committee: it defines approximately 35 different string types, base 2 and base 10 floating point numbers, an unbounded integer type. But no natural number type 🤷♂️
-
ITU X.680 was clearly written by a very large committee: it defines approximately 35 different string types, base 2 and base 10 floating point numbers, an unbounded integer type. But no natural number type 🤷♂️
-
ITU X.680 was clearly written by a very large committee: it defines approximately 35 different string types, base 2 and base 10 floating point numbers, an unbounded integer type. But no natural number type 🤷♂️
-
ITU X.680 was clearly written by a very large committee: it defines approximately 35 different string types, base 2 and base 10 floating point numbers, an unbounded integer type. But no natural number type 🤷♂️
-
-
-
-
-
-
[Перевод] Хороший, Плохой, Расширенный: SS7 атака с использованием расширенных тэгов
Есть два типа операций в SS7, друг мой: безобидные... и те, что держат револьвер... ... Это, конечно, утрирование. Однако, как и герои спагетти-вестернов, операции в SS7 предстают перед нами в полном своем разнообразии и глубине, и иногда их сложно распарсить, а главное - обработать безопасно для абонента. Неверная обработка операций (команд) в SS7 (они же PDUs), несет за собой серьезные риски и потенциально может привести к угрозам уровня уязвимостей нулевого дня, открывая широкий спектр возможных атак.
-
[Перевод] Хороший, Плохой, Расширенный: SS7 атака с использованием расширенных тэгов
Есть два типа операций в SS7, друг мой: безобидные... и те, что держат револьвер... ... Это, конечно, утрирование. Однако, как и герои спагетти-вестернов, операции в SS7 предстают перед нами в полном своем разнообразии и глубине, и иногда их сложно распарсить, а главное - обработать безопасно для абонента. Неверная обработка операций (команд) в SS7 (они же PDUs), несет за собой серьезные риски и потенциально может привести к угрозам уровня уязвимостей нулевого дня, открывая широкий спектр возможных атак.
-
[Перевод] Хороший, Плохой, Расширенный: SS7 атака с использованием расширенных тэгов
Есть два типа операций в SS7, друг мой: безобидные... и те, что держат револьвер... ... Это, конечно, утрирование. Однако, как и герои спагетти-вестернов, операции в SS7 предстают перед нами в полном своем разнообразии и глубине, и иногда их сложно распарсить, а главное - обработать безопасно для абонента. Неверная обработка операций (команд) в SS7 (они же PDUs), несет за собой серьезные риски и потенциально может привести к угрозам уровня уязвимостей нулевого дня, открывая широкий спектр возможных атак.
-
[Перевод] Хороший, Плохой, Расширенный: SS7 атака с использованием расширенных тэгов
Есть два типа операций в SS7, друг мой: безобидные... и те, что держат револьвер... ... Это, конечно, утрирование. Однако, как и герои спагетти-вестернов, операции в SS7 предстают перед нами в полном своем разнообразии и глубине, и иногда их сложно распарсить, а главное - обработать безопасно для абонента. Неверная обработка операций (команд) в SS7 (они же PDUs), несет за собой серьезные риски и потенциально может привести к угрозам уровня уязвимостей нулевого дня, открывая широкий спектр возможных атак.
-
I have a working prototype of an #ASN1 to #Haskell compiler. It can't do a lot yet; but it does translate enum types.
(Built on top of a lot of great existing work.)
```
ghci> Prelude.putStr =<< Prelude.readFile "./asn1-modules/bar.asn1"
BarFramework { 1 }DEFINITIONS ::=
BEGINBar ::= ENUMERATED {red, blue, yellow}
END -- BarFramework
ghci> _ = () ; $(spliceFromModuleOrDie "./asn1-modules/bar.asn1")
ghci> :i Bar
type Bar :: *
data Bar = Red | Blue | Yellow
-- Defined at <interactive>:137:11
ghci>
``` -
I have a working prototype of an #ASN1 to #Haskell compiler. It can't do a lot yet; but it does translate enum types.
(Built on top of a lot of great existing work.)
```
ghci> Prelude.putStr =<< Prelude.readFile "./asn1-modules/bar.asn1"
BarFramework { 1 }DEFINITIONS ::=
BEGINBar ::= ENUMERATED {red, blue, yellow}
END -- BarFramework
ghci> _ = () ; $(spliceFromModuleOrDie "./asn1-modules/bar.asn1")
ghci> :i Bar
type Bar :: *
data Bar = Red | Blue | Yellow
-- Defined at <interactive>:137:11
ghci>
``` -
I have a working prototype of an #ASN1 to #Haskell compiler. It can't do a lot yet; but it does translate enum types.
(Built on top of a lot of great existing work.)
```
ghci> Prelude.putStr =<< Prelude.readFile "./asn1-modules/bar.asn1"
BarFramework { 1 }DEFINITIONS ::=
BEGINBar ::= ENUMERATED {red, blue, yellow}
END -- BarFramework
ghci> _ = () ; $(spliceFromModuleOrDie "./asn1-modules/bar.asn1")
ghci> :i Bar
type Bar :: *
data Bar = Red | Blue | Yellow
-- Defined at <interactive>:137:11
ghci>
``` -
I have a working prototype of an #ASN1 to #Haskell compiler. It can't do a lot yet; but it does translate enum types.
(Built on top of a lot of great existing work.)
```
ghci> Prelude.putStr =<< Prelude.readFile "./asn1-modules/bar.asn1"
BarFramework { 1 }DEFINITIONS ::=
BEGINBar ::= ENUMERATED {red, blue, yellow}
END -- BarFramework
ghci> _ = () ; $(spliceFromModuleOrDie "./asn1-modules/bar.asn1")
ghci> :i Bar
type Bar :: *
data Bar = Red | Blue | Yellow
-- Defined at <interactive>:137:11
ghci>
``` -
I have a working prototype of an #ASN1 to #Haskell compiler. It can't do a lot yet; but it does translate enum types.
(Built on top of a lot of great existing work.)
```
ghci> Prelude.putStr =<< Prelude.readFile "./asn1-modules/bar.asn1"
BarFramework { 1 }DEFINITIONS ::=
BEGINBar ::= ENUMERATED {red, blue, yellow}
END -- BarFramework
ghci> _ = () ; $(spliceFromModuleOrDie "./asn1-modules/bar.asn1")
ghci> :i Bar
type Bar :: *
data Bar = Red | Blue | Yellow
-- Defined at <interactive>:137:11
ghci>
``` -
La semaine dernière, j'ai eu la chance d'aller à @UYBHYS , où j'ai rencontré quelques fans - et quelques détracteurs qui ne voyaient pas le crocodile en moi, mais une mouette (ils ont trop mangé de palourdes !).
Ca méritait bien un petit dessin avec des tas de clins d'oeil que je vais laisser à chacun le plaisir de découvrir ;)
PS. Rien qu'avec les crêpes du jeudi soir, j'étais déjà content d'être venu à la conférence - et elle n'avait pas encore débuté. C'est dire.#UYBHYS25 #blagues #conférence #sécurité #rump #ASN1 #latrodectus #frigo #CIRCL #qemu
-
La semaine dernière, j'ai eu la chance d'aller à @UYBHYS , où j'ai rencontré quelques fans - et quelques détracteurs qui ne voyaient pas le crocodile en moi, mais une mouette (ils ont trop mangé de palourdes !).
Ca méritait bien un petit dessin avec des tas de clins d'oeil que je vais laisser à chacun le plaisir de découvrir ;)
PS. Rien qu'avec les crêpes du jeudi soir, j'étais déjà content d'être venu à la conférence - et elle n'avait pas encore débuté. C'est dire.#UYBHYS25 #blagues #conférence #sécurité #rump #ASN1 #latrodectus #frigo #CIRCL #qemu
-
La semaine dernière, j'ai eu la chance d'aller à @UYBHYS , où j'ai rencontré quelques fans - et quelques détracteurs qui ne voyaient pas le crocodile en moi, mais une mouette (ils ont trop mangé de palourdes !).
Ca méritait bien un petit dessin avec des tas de clins d'oeil que je vais laisser à chacun le plaisir de découvrir ;)
PS. Rien qu'avec les crêpes du jeudi soir, j'étais déjà content d'être venu à la conférence - et elle n'avait pas encore débuté. C'est dire.#UYBHYS25 #blagues #conférence #sécurité #rump #ASN1 #latrodectus #frigo #CIRCL #qemu
-
La semaine dernière, j'ai eu la chance d'aller à @UYBHYS , où j'ai rencontré quelques fans - et quelques détracteurs qui ne voyaient pas le crocodile en moi, mais une mouette (ils ont trop mangé de palourdes !).
Ca méritait bien un petit dessin avec des tas de clins d'oeil que je vais laisser à chacun le plaisir de découvrir ;)
PS. Rien qu'avec les crêpes du jeudi soir, j'étais déjà content d'être venu à la conférence - et elle n'avait pas encore débuté. C'est dire.#UYBHYS25 #blagues #conférence #sécurité #rump #ASN1 #latrodectus #frigo #CIRCL #qemu
-
La semaine dernière, j'ai eu la chance d'aller à @UYBHYS , où j'ai rencontré quelques fans - et quelques détracteurs qui ne voyaient pas le crocodile en moi, mais une mouette (ils ont trop mangé de palourdes !).
Ca méritait bien un petit dessin avec des tas de clins d'oeil que je vais laisser à chacun le plaisir de découvrir ;)
PS. Rien qu'avec les crêpes du jeudi soir, j'étais déjà content d'être venu à la conférence - et elle n'avait pas encore débuté. C'est dire.#UYBHYS25 #blagues #conférence #sécurité #rump #ASN1 #latrodectus #frigo #CIRCL #qemu
-
In new #ASN1js version2.1.0I changed the logic of the shown #ASN1 field names due to research started with GitHub issue #102:
Previously it would have shown simply asissuer, but fixing another issue I had a (kinda) regression and it shown only the CHOICE identifier (in this caserdnSequence).
In the end, I think that probably the best choice is to show both names, the base one as it usually is more useful to identify the field, but the CHOICE name to know which sub-case this is. This leads to a bit of uninteresting info such as thenotBefore utcTime UTCTime, but that's the (small) price to be paid.
This was a delicate change, so first thing I extended the test harness in order to check that a few important examples decode to what is expected. -
In new #ASN1js version2.1.0I changed the logic of the shown #ASN1 field names due to research started with GitHub issue #102:
Previously it would have shown simply asissuer, but fixing another issue I had a (kinda) regression and it shown only the CHOICE identifier (in this caserdnSequence).
In the end, I think that probably the best choice is to show both names, the base one as it usually is more useful to identify the field, but the CHOICE name to know which sub-case this is. This leads to a bit of uninteresting info such as thenotBefore utcTime UTCTime, but that's the (small) price to be paid.
This was a delicate change, so first thing I extended the test harness in order to check that a few important examples decode to what is expected. -
In new #ASN1js version2.1.0I changed the logic of the shown #ASN1 field names due to research started with GitHub issue #102:
Previously it would have shown simply asissuer, but fixing another issue I had a (kinda) regression and it shown only the CHOICE identifier (in this caserdnSequence).
In the end, I think that probably the best choice is to show both names, the base one as it usually is more useful to identify the field, but the CHOICE name to know which sub-case this is. This leads to a bit of uninteresting info such as thenotBefore utcTime UTCTime, but that's the (small) price to be paid.
This was a delicate change, so first thing I extended the test harness in order to check that a few important examples decode to what is expected. -
In new #ASN1js version2.1.0I changed the logic of the shown #ASN1 field names due to research started with GitHub issue #102:
Previously it would have shown simply asissuer, but fixing another issue I had a (kinda) regression and it shown only the CHOICE identifier (in this caserdnSequence).
In the end, I think that probably the best choice is to show both names, the base one as it usually is more useful to identify the field, but the CHOICE name to know which sub-case this is. This leads to a bit of uninteresting info such as thenotBefore utcTime UTCTime, but that's the (small) price to be paid.
This was a delicate change, so first thing I extended the test harness in order to check that a few important examples decode to what is expected. -
KEKS кодек и криптографические сообщения
Данная статья напоминает о проблемах X.509 PKI и реализаций ASN.1. Предлагает компактный, быстрый, детерминированный, потоковый и простой формат кодирования данных KEKS, а также криптографические сообщения для подписи и шифрования данных с поддержкой пост-квантовых алгоритмов.
https://habr.com/ru/articles/923810/
#c #go #python #keks #asn1 #x509 #openssl #криптография #pqc #hpke #pgp #cms
-
KEKS кодек и криптографические сообщения
Данная статья напоминает о проблемах X.509 PKI и реализаций ASN.1. Предлагает компактный, быстрый, детерминированный, потоковый и простой формат кодирования данных KEKS, а также криптографические сообщения для подписи и шифрования данных с поддержкой пост-квантовых алгоритмов.
https://habr.com/ru/articles/923810/
#c #go #python #keks #asn1 #x509 #openssl #криптография #pqc #hpke #pgp #cms
-
KEKS кодек и криптографические сообщения
Данная статья напоминает о проблемах X.509 PKI и реализаций ASN.1. Предлагает компактный, быстрый, детерминированный, потоковый и простой формат кодирования данных KEKS, а также криптографические сообщения для подписи и шифрования данных с поддержкой пост-квантовых алгоритмов.
https://habr.com/ru/articles/923810/
#c #go #python #keks #asn1 #x509 #openssl #криптография #pqc #hpke #pgp #cms
-
KEKS кодек и криптографические сообщения
Данная статья напоминает о проблемах X.509 PKI и реализаций ASN.1. Предлагает компактный, быстрый, детерминированный, потоковый и простой формат кодирования данных KEKS, а также криптографические сообщения для подписи и шифрования данных с поддержкой пост-квантовых алгоритмов.
https://habr.com/ru/articles/923810/
#c #go #python #keks #asn1 #x509 #openssl #криптография #pqc #hpke #pgp #cms
-
Oh joy, another thrilling #update in the world of ASN.1 #APIs for #Python. 🙄 Because nothing screams excitement like deep dives into #cryptography protocols and the potential for catastrophic memory corruption, right? 🎉
https://blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/ #ASN1 #MemoryCorruption #HackerNews #ngated -
Oh joy, another thrilling #update in the world of ASN.1 #APIs for #Python. 🙄 Because nothing screams excitement like deep dives into #cryptography protocols and the potential for catastrophic memory corruption, right? 🎉
https://blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/ #ASN1 #MemoryCorruption #HackerNews #ngated -
Oh joy, another thrilling #update in the world of ASN.1 #APIs for #Python. 🙄 Because nothing screams excitement like deep dives into #cryptography protocols and the potential for catastrophic memory corruption, right? 🎉
https://blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/ #ASN1 #MemoryCorruption #HackerNews #ngated -
Oh joy, another thrilling #update in the world of ASN.1 #APIs for #Python. 🙄 Because nothing screams excitement like deep dives into #cryptography protocols and the potential for catastrophic memory corruption, right? 🎉
https://blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/ #ASN1 #MemoryCorruption #HackerNews #ngated -
ASN.1 Разбираемся с пакетами
ASN.1 (Abstract Syntax Notation One) представляет из себя язык для описания структур данных. По сути — это набор правил, для преобразования значений определённого типа в поток байтов для их последующей отправки по каналу связи. По мере развития языка, улучшались методы кодирования. Так помимо методов определения структур данных ASN.1 появились так же различные методы кодирования (BER, CER, DER, PER и др.). Одним из самых компактных методов кодирования ASN.1 (в плане результирующей байтовой последовательности), является «Packed Encoding Rules (PER)». Дело в том, что типы в BER (CER, DER), кодируются в виде последовательности TLV (Tag Length Value), в то время как в PER используются последовательности V (Value) или LV (Length Value). Такой подход позволяет уменьшить закодированную последовательность, однако, если BER можно декодировать без доступа к источнику ASN.1, получив "голые" результирующие данные (тип данных, плюс значение), то с PER такой фокус не пройдёт, без источника, какие-либо осмысленные результаты получить не получится (я не рассматриваю вариант глубокого анализа, с набором статистики по большому количеству реализаций). В этой статье, я хотел бы рассказать о принципах кодирования структур данных при использовании правил кодирования PER.
-
ASN.1 Разбираемся с пакетами
ASN.1 (Abstract Syntax Notation One) представляет из себя язык для описания структур данных. По сути — это набор правил, для преобразования значений определённого типа в поток байтов для их последующей отправки по каналу связи. По мере развития языка, улучшались методы кодирования. Так помимо методов определения структур данных ASN.1 появились так же различные методы кодирования (BER, CER, DER, PER и др.). Одним из самых компактных методов кодирования ASN.1 (в плане результирующей байтовой последовательности), является «Packed Encoding Rules (PER)». Дело в том, что типы в BER (CER, DER), кодируются в виде последовательности TLV (Tag Length Value), в то время как в PER используются последовательности V (Value) или LV (Length Value). Такой подход позволяет уменьшить закодированную последовательность, однако, если BER можно декодировать без доступа к источнику ASN.1, получив "голые" результирующие данные (тип данных, плюс значение), то с PER такой фокус не пройдёт, без источника, какие-либо осмысленные результаты получить не получится (я не рассматриваю вариант глубокого анализа, с набором статистики по большому количеству реализаций). В этой статье, я хотел бы рассказать о принципах кодирования структур данных при использовании правил кодирования PER.
-
ASN.1 Разбираемся с пакетами
ASN.1 (Abstract Syntax Notation One) представляет из себя язык для описания структур данных. По сути — это набор правил, для преобразования значений определённого типа в поток байтов для их последующей отправки по каналу связи. По мере развития языка, улучшались методы кодирования. Так помимо методов определения структур данных ASN.1 появились так же различные методы кодирования (BER, CER, DER, PER и др.). Одним из самых компактных методов кодирования ASN.1 (в плане результирующей байтовой последовательности), является «Packed Encoding Rules (PER)». Дело в том, что типы в BER (CER, DER), кодируются в виде последовательности TLV (Tag Length Value), в то время как в PER используются последовательности V (Value) или LV (Length Value). Такой подход позволяет уменьшить закодированную последовательность, однако, если BER можно декодировать без доступа к источнику ASN.1, получив "голые" результирующие данные (тип данных, плюс значение), то с PER такой фокус не пройдёт, без источника, какие-либо осмысленные результаты получить не получится (я не рассматриваю вариант глубокого анализа, с набором статистики по большому количеству реализаций). В этой статье, я хотел бы рассказать о принципах кодирования структур данных при использовании правил кодирования PER.
-
ASN.1 Разбираемся с пакетами
ASN.1 (Abstract Syntax Notation One) представляет из себя язык для описания структур данных. По сути — это набор правил, для преобразования значений определённого типа в поток байтов для их последующей отправки по каналу связи. По мере развития языка, улучшались методы кодирования. Так помимо методов определения структур данных ASN.1 появились так же различные методы кодирования (BER, CER, DER, PER и др.). Одним из самых компактных методов кодирования ASN.1 (в плане результирующей байтовой последовательности), является «Packed Encoding Rules (PER)». Дело в том, что типы в BER (CER, DER), кодируются в виде последовательности TLV (Tag Length Value), в то время как в PER используются последовательности V (Value) или LV (Length Value). Такой подход позволяет уменьшить закодированную последовательность, однако, если BER можно декодировать без доступа к источнику ASN.1, получив "голые" результирующие данные (тип данных, плюс значение), то с PER такой фокус не пройдёт, без источника, какие-либо осмысленные результаты получить не получится (я не рассматриваю вариант глубокого анализа, с набором статистики по большому количеству реализаций). В этой статье, я хотел бы рассказать о принципах кодирования структур данных при использовании правил кодирования PER.
-
Python, CryptoAPI и российские криптопровайдеры
В статье описывается работа в Python с криптопровайдерами, прежде всего российскими, через CryptoAPI. Особое внимание уделено получению штампа времени - рассмотрено взаимодействие между клиентом и Time-Stamp сервером и формирование запроса в соответствии с Time-Stamp протоколом.
-
Python, CryptoAPI и российские криптопровайдеры
В статье описывается работа в Python с криптопровайдерами, прежде всего российскими, через CryptoAPI. Особое внимание уделено получению штампа времени - рассмотрено взаимодействие между клиентом и Time-Stamp сервером и формирование запроса в соответствии с Time-Stamp протоколом.