24
Jul 07

Notas Egocentricas

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Notas Egocentricas
Date: Tue, 24 Jul 07 22:52:21 GMT

Notas rapidas do dia em que o meu pai faria 78
anos:

– mais uma entrada em producao de um projecto que
deu agua pela barba, o Casa Pronta. O protocolo do
costume, desta vez em Agueda. Recomenda-se o Joao
dos Leitoes, que nao sendo Mealhada tinha um tinto
espumante “razoaaaaavel”. O Sr Primeiro Ministro
acabou por ver o site publico online ja no meu E70.

http://www.casapronta.pt/

– como o Luis Sequeira e reincidente em publicar
artigos vergonhosos a arruinarem-me com a reputacao
de “SOB in a leather jacket” e a insinuarem que eu
sou boa pessoa, sou obrigado a divulgar as fotos que
ele quer manter escondidas.

http://pauloquerido.net/2007/06/o_triunfo_dos_geeks_nacional
http://mv.asterisco.pt/Images/modems.jpg (***)

– ja vou visitando a Usenet de forma irregular e mesmo
assim muito filtrada. Mas nao ha duvida que continua a
ser fonte de umas belas risadas; ha sempre um noob ou
kook para animar a festa…

http://groups.google.com/group/pt.comp.so.linux/msg/ef48a590fbff3412

— MV

*** Notas relativas a imagem dos modems:
– do lado esquerdo, com o autocolante da Esoterica,
esta o tower 486 que servia simultaneamente de email
server e de terminal server; note-se que logo ao lado
esta uma caixa com 16 interfaces RS232 que ligavam
aos modems brancos que estao no armario; as fontes de
alimentacao azul e vermelha foram construidas inhouse
para alimentarem os 16 modems (em vez de ter ligados os
16 transformadores respectivos)
– ainda do lado esquerdo nota-se um outro servidor que
salvo erro estava a fazer news; digo isto porque se nota
que esta sem a tampa (para arrefecer)
– ao fundo, na parede, veem-se as fichas RJ45 para as
varias linhas de telefone que tinhamos antes de percebermos
para que servia um primario RDIS e termos dinheiro para
comprar o equipamento terminal (um Ascend que o Sequeira
foi buscar a Londres numa 6a feira de manha e voltou ao
fim do dia com ele debaixo do braco)
– em cima do armario 2 Cisco 2500, um para a linha dedicada
Lisboa/Porto e outro para a linha dedicada Lisboa/Londres
– ao lado dos Cisco os respectivos CSU/DSU da PT
– em cima dos Cisco multiplos modems para linhas dedicadas
analogicas
– no fundo do armario 3 modems Motorola para linhas dedicadas
analogicas, os primeiros que tivemos e que o ICP/Anacom veio
dizer que estavam ilegais ate nos lhes apontarmos aonde e
que estavam na lista de modems aprovados… deles…
– a Esoterica (95) nao era muito mais do que o que se ve
na foto; a sala tinha 14m2 e para alem do que se ve tinha
mais 4 secretarias onde eu, o Sequeira, o Laureano e o
Goncalo nos acotovelava-mos…
– a minha fobia por fios e o interesse por wireless sao
resultados directos desta foto.


23
Jul 07

Separadores Enviesados

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Separadores Enviesados
Date: Sun, 22 Jul 07 23:35:21 GMT

Que a grande maioria da comunicacao social tem um
enviesamento a esquerda, ja e sabido. Mas a SIC Noticias,
nao sei porque, deve ter alguem a fazer os separadores
que e especialista.

Irrita-me particularmente um separador com referencia
a varios campos de morte e a varias atrocidades, com uma
musica de fundo funebre e acho que de origem arabe. Nao
tenho nada contra o separador ou a musica, mas contra a
escolha de “eventos”: todos relacionados com totalitarismos
de direita ou com os EUA. Gulags na Uniao Sovietica? Massacres
na China? Fome na Coreia do Norte? Nada; nenhuma referencia.

Se calhar, em termos de “peso”, era mais pratico colocar
no separador uma unica referencia: o Grande Salto em Frente
do camarada Mao e os seus resultados “praticos”:

http://www.mises.org/story/2652

— MV


22
Jul 07

Chaves, Assinaturas e Certificados

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Chaves, Assinaturas e Certificados
Date: Sun, 22 Jul 07 20:35:21 GMT

No ambito da montagem da PKI para o Cartao de
Cidadao e da PKI para o Ministerio da Justica, assim
como no ambito do uso do proprio Cartao e das chaves
e certificados que contem, tenho visto alguma confusao
sobre o que sao cada uma destas coisas, como funcionam
e para que servem. Chega-se a pensar que uma assinatura
digital e a digitalizacao (scanning) da assinatura
manuscrita…

Para tentar ajudar na compreensao da coisa, e na
sequencia de algumas explicacoes que ja dei sobre o
assunto, vou tentar reproduzir aqui as mesmas, sendo
que e certo que e mais facil de explicar em regime
presencial :-)

Comecando pelo principio e pelo problema base: como
e que o Antonio (A) envia uma mensagem ao Bruno (B)tendo
ambos (ou pelo menos o Bruno) a garantia de que a mensagem
nao foi falsificada e vem mesmo (mas mesmo, *mesmo*) do A?

A primeira opcao, desde os tempos dos imperadores romanos,
e codificar (criptar) a mensagem. Digamos que A quer enviar
a B o texto “A verdadeira mensagem”. Em vez de enviar assim
o texto, escrito a papo seco num bocado de papel, envia
antes o texto “B xfsebefjsb nfotbhfn”; o Bruno so tem de
saber que para obter a mensagem original basta andar uma
letra para tras no ABCdario.
Este “esquema”, com mais ou menos complexidades de metodo
e acrescido de palavras chave (passwords) e outros tantos,
sofre sempre de um problema: tem de haver a partilha entre
A e B sobre qual a forma/metodo usada para codificar a
mensagem. Isto significa que se C, um dos maus da fita,
souber essa forma ou metodo (nota: mais tarde ou mais cedo
acaba por saber), podera enviar mensagens codificadas da
mesma forma. E la se vai a garantia que o Bruno queria: ao
receber uma mensagem, ter a certeza de que esta nao foi
alterada de qualquer forma e que vem mesmo (*mesmo*) do
Antonio.

O sistema acima referido e tao mau que foi assim que os
Alemaes perderam a guerra…

Como resolver o problema? Sera que nao existe uma maneira
de obter uma especie de “impressao digital” de um documento,
uma especie de ADN do documento? Se houvesse, enviava-se o
documento junto com a sua “impressao digital” e qualquer
alteracao ao mesmo podia ser detectata reobtendo essa mesma
“impressao”.

Por exemplo: o Antonio passa a enviar todas as mensagens
ao Bruno acrescentadas do total de letras em cada mensagem.
Para enviar “A verdadeira mensagem”, escreve num papel
“A verdadeira mensagem – 19”. O Bruno recebe a mensagem,
conta as letras da mensagem, verifica que sao 19 e conclui
que a mensagem nao foi alterada. Se tivesse recebido um
papel a dizer “A falsa mensagem – 19”, sabia que o texto
original tinha sido alterado.

Pode parecer que o problema esta resolvido. Infelizmente
tem de se assumir que C (um dos maus da fita) teria, claro,
conhecimento desta historia de mandar com a mensagem o
numero de letras. E assim C, se quisesse enviar ou alterar
uma mensagem de A para B a dizer “A falsa mensagem”, trataria
de enviar “A falsa mensagem – 14”. E voltamos ao ponto zero:
o Bruno nao tem certezas quanto ao conteudo nem quanto a
proveniencia da mensagem.

No entanto o conceito acima (“impressao digital” de um
documento) e meio caminho andado na resolucao do problema.
Este numero (no exemplo acima “numero total de letras da
mensagem”) e aquilo que e chamado de checksum (somatorio
literalmente, embora seja mais uma especie de prova dos
nove; va, vao relembrar a aritmetica da 4a classe); este
numero e tambem chamado de hash (mistura) e muitas vezes
de fingerprint (impressao digital).

Obviamente que o metodo usado na realidade para calcular
a impressao digital de um documento nao e algo tao simplista
como “o total das letras da mensagem”. Quanto mais nao seja
porque este metodo tem varias colisoes possiveis: existem
varios documentos com 50 letras; portanto 50 nao seria com
certeza forma de “identificar” um documento de forma unica.

Os metodos usados para gerar “impressoes digitais” de
documentos tem nomes complicados como SHA, MD5, CRC32; e
sao tambem metodos mais complicados do que “o total de
letras da mensagem”; e geram resultados finais muito mais
complicados do que 50; geram coisas tipo 7213E1C0 ou
858997B06E6537A581C8ABB0019758C3. Numeros que de alguma
forma sao garantidos como unicos para aquele documento ou
aquela mensagem.

O problema no entanto mantem-se, mesmo complicando o
sistema: temos de assumir que C (e o Carlos, pronto) sabe
qual o sistema. E quando altera uma mensagem de A para B
ou envia uma mensagem falsa, enviara tambem o checksum/hash/
fingerprint da mensagem falsa. O Bruno continua sem garantias
de que uma mensagem recebida veio mesmo do Antonio.

A ideia de usar uma password/chave para codificar o
checksum enferma do mesmo problema. Se o Antonio combinar
que envia ao Bruno as mensagens com o total das letras mas
somado com 7 (aqui o 7 funciona como chave/password partilhada),
temos de assumir que a mensagem “A verdadeira mensagem – 25”
(25=19+7), vai continuar a correr o risco de que a mensagem
seja alterada pelo Carlos para “A falsa mensagem – 21″…

Mas imagine-se que o Antonio envia a mensagem para o
Bruno na seguinte forma: “A verdadeira mensagem – 703”; e
diz ao Bruno “para obteres o checksum/hash/fingerprint
da mensagem multiplica por 0,027027”. O Bruno recebe a
mensagem “A verdadeira mensagem – 703”, pega no 703 e
multiplica por 0,027027, obtem 19 e como isso e igual
ao numero de letras da mensagem sabe que a mesma nao foi
alterada.

O que e que o Carlos pode fazer? Pode tentar alterar
a mensagem. Pode saber que o metodo para fazer o
checksum e “o total de letras”. Mas ja nao e tao simples
descobrir como colocar o valor final correcto (checksum +
calculo). Ja nao e tao simples perceber que valor colocar
no fim de “A falsa mensagem”. Mesmo que saiba que o
metodo usado e “multiplicar o total de letras pelo tamanho
do sapato” (e o Antonio calca o 37; 19*37=703), nao serve
a C multiplicar 14 (o total de letras da falsa mensagem)
por 38 (o seu tamanho de sapato). “A falsa mensagem – 532”
e uma mensagem valida, mas quando 532 e multiplicado por
0,027027 obtem-se 14,37 que nao coincide direito com o
numero de letras da mensagem. A mesma nao veio, portanto,
do Antonio. Se fosse multiplicada por 0,0263, obter-se-ia
14.

Para todos os efeitos o que foi descrito acima e um
sistema de chaves publicas e chaves privadas (PKI).
A chave privada do Antonio e 37 (o tamanho do sapato);
a sua chave publica e 0,027027. Quem receber mensagens
do Antonio, codificadas com a sua chave privada, pode
descodifica-las com a sua (do Antonio) chave publica.

Como e obvio este metodo de criacao de chaves privadas
(o tamanho do sapato) e de criacao de chaves publicas
(a chave publica, caso ainda nao tenham deduzido, e o
inverso do tamanho do sapato) e fraco. Primeiro porque
tem uma serie de colisoes (varias pessoas calcam o mesmo
tamanho, logo teriam a mesma chave privada); segundo porque
sendo mais complicado, e relativamente facil partir de
uma chave publica (0,027027 por exemplo) e inverter a
mesma com uma calculadora com a funcao 1/x.

Os sistemas de PKI utilizados na vida real usam metodos
muito mais complexos para criacao de chaves privadas. As
chaves geradas sao linhas e linhas de valores alfanumericos
tipo “00:f6:9c:64:49:18:7f:c7:47:db:07:b6:a3:43:2e” cujo
conjunto e garantido unico para cada utilizador (ao contrario
do tamanho do sapato) e cuja inversao (ou seja, passar da
chave publica para a chave privada) e completamente impossivel
em termos matematicos.

O que temos entao ate agora? Temos que para cada
cidadao portugues, no momento da emissao do Cartao
de Cidadao, e emitido um par de chaves: a sua chave
publica e a sua chave privada. A chave publica, como
e obvio, e publica, pode ser divulgada e e legivel
directamente do cartao. A chave privada apenas e do
conhecimento e posse do cidadao, sendo apenas possivel
de ser gerada pelo seu cartao (aquele cartao) e com
a introducao do seu PIN. Nao e possivel, a partir da
chave publica, obter a chave privada.

O Antonio, na posse do Cartao de Cidadao, pode agora
enviar um documento ao Bruno, com “A verdadeira mensagem”,
assinando-o digitalmente.
O que isto significa e que, para o documento em causa,
sera calculado o checksum/hash/fingerprint (um 19 mais
complicado) e o mesmo sera codificado usando a chave
privada do Antonio (tamanho 37, mais complicado). O Bruno,
ao receber a mensagem, pode descodificar o valor final
(703, mais complicado) usando a chave publica do Antonio
(0,027027, mas mais complicado). Se o resultado nao for
igual ao checksum (19), que o Bruno tambem pode calcular,
entao a mensagem nao vem do Antonio ou entao foi alterada.
Se o resultado for 19 entao o documento nao foi alterado
e veio, garantidamente, do Antonio.

Note-se: para o documento em causa. O que significa que
nao existe uma assinatura digital igual para todos os
documentos. Cada documento sera assinado digitalmente
por cada cidadao de forma diferente; cada cidadao tera
diferentes assinaturas por cada documento (o que faz
sentido: uma assinatura num cheque nao e o mesmo que
uma assinatura num contrato ou num recado); cada documento
tera uma assinatura diferente quando assinado por
diferentes cidadaos (esta era obvia).

Falta explicar o que e um certificado digital: um
certificado digital nao e mais do que um documento,
com um conjunto de texto e propriedades, assinado (de
forma digital, obviamente; vide acima) por alguem
que garante que a informacao contida nesse documento
e verdadeira. Assim, o Cartao de Cidadao, para alem
de conter as chaves publicas e privadas de cada cidadao
(o que lhe permite assinar documentos digitalmente),
contem tambem um texto/documento/bloco, com os seus
dados pessoais (basicamente numero BI e nome), sendo
este documento assinado digitalmente pelo Ministerio
da Justica que garante assim a verdade desses dados.
Este “bloco de informacao”, assinado por uma entidade
que garante a verdade da mesma, e o certificado digital.
Os dados sao assinados com uma chave privada (a chave
privada do sistema de PKI do Cartao de Cidadao, guardada
a sete chaves na Casa da Moeda) podendo qualquer cidadao
ou qualquer sistema verificar a validade dos dados do
certificado digital usando a chave publica correspondente.

Desta forma, com a existencia do certificado digital e
com a existencia das chaves (e portanto possibilidade de
assinaturas), vamos passar a ter em Portugal um sistema
de autenticacao (por via do certificado) e de prova (por
via das chaves e das assinaturas digitais) para todas
as comunicacoes elctronicas que trara um maior nivel de
seguranca e privacidade as mesmas.

— MV

PS – Porque privacidade? Porque a chave privada de cada
cidadao pode tambem ser usada para codificar/criptar
documentos, mensagens e emails. A quem recebe a mensagem
basta usar a chave publica do emissor para descodificar
a mensagem criptada e obter a mensagem original.


22
Jul 07

Best Cover-s Ever

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Best Cover(s) Ever
Date: Sun, 22 Jul 07 00:35:21 GMT

This was supposed to be a simple small post
about the “Best Cover Ever”:

Devo – Satisfaction (Rolling Stones)
http://www.youtube.com/watch?v=CvcuaJy9OwI

But since I’m a sucker for covers, it quickly
got into the top 10 + 1 covers:

Alanis Morissette – “My Humps” (Black Eyed Peas)
http://www.youtube.com/watch?v=W91sqAs-_-g

Obadiah Parker – Hey Ya (Outkast )
http://www.youtube.com/watch?v=8-8nkkOA_AM

Ether&Aether – Crazy (Gnarls Barkley)
http://www.youtube.com/watch?v=mW0B1sipLBI

The Mike Flowers Pops – Wonderwall (Oasis)
http://www.youtube.com/watch?v=Vy1ueZf1WMQ

Living Colour – Should I stay or should I go (Clash)
http://www.youtube.com/watch?v=46UbH6D1K5w

Tom Jones & EMF – “Unbelieveable” (EMF)
http://www.youtube.com/watch?v=6ioT2WUbf_g

Tom Jones & Cardigans – Burnin’ Down The House (Talking Heads)
http://www.youtube.com/watch?v=4Vh3SmpAcVg

Alien Ant Farm – Smooth Criminal (Michael Jackson)
http://www.youtube.com/watch?v=hxeNZOLNh4c

OZZY OSBORNE & DWEEZEL ZAPPA – Staying Alive (Bee Gees)
http://www.youtube.com/watch?v=5xxJLPMpobw

I wanted to put in Skin and their cover of Madonna’s
“Express Yourself” but didnt find any reference. And
that wasnt the +1…. *This* is the +1; I couldnt
resist listing it:

The Gauchos – The Trooper (Iron Maiden)
http://www.youtube.com/watch?v=s_4aGXTHo7w

— MV

PS – One of these days I’ll post here the unreleased
cover of “No Teu Poema” by Taboo, a portuguese
unreleased band, which would actually top all of
the above. I just have to find where the MP3 is…


21
Jul 07

Weekly Link Selection

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Weekly Link Selection
Date: Sat, 18 Jul 07 14:59:21 GMT

Or should we say weakly link selection? Its a slow week…

We Worship MD5, the GOD of HASH
http://www.skrenta.com/2007/08/md5_tutorial.html

Hashes (and hash tables and distributed hash tables)
are unfortunately not well known and misunderstood by
a lot of techies…

And yet there are people building amazing stuff using
them…

Using S3 as an infinitely large disk device (that never breaks)
http://developer.amazonwebservices.com/connect/thread.jspa?threadID=10271

Taking on a simpler view of technology, this might be of
use to simpler non-enterprisey projects:

KirbyBase For Python
http://www.netpromi.com/kirbybase_python.html

“KirbyBase is a simple database management system, written in
pure-Python, that stores its data in plain-text files.”

— MV