리눅스 2.6을 위한 SEED 패치

한국정보보호진흥원(KISA)의 지원으로 리눅스 2.6을 위한 SEED 패치를 만들었습니다.

커널에 넣는 패치이기 때문에 주 목적은 파일시스템을 암호화하는 경우와 IPsec같이 커널에 스택이 있는 네트워크 프로토콜을 사용하는 경우입니다. 항상 이슈가 되어왔던 인터넷 클라이언트로써의 접근성 문제와는 거의 전혀 상관없다고 보셔도 무방합니다. ^^;

그런데, 사실 IPsec이나 cryptfs 양쪽 모두 SEED가 AES에 비해 성능이 좋은 편이 아니기 때문에, 개인이 SEED를 쓸 일은 거의 없을 것 같고, 금융결제원이나 국정원과 관련된 뭔가를 할 때 쓰일 것 같네요. (VPN업체들에서 SEED기반 IPsec을 주로 쓴다고 합니다.)

여하간, 리눅스에 익숙하신 분들은 한번쯤 컴파일하실 일이 있으시면 패치를 해서 해봐주세요~ 🙂 modprobe seed; modprobe tcrypt하고 나서 dmesg를 봐서 seed 관련된 부분에서 모두 pass 했다고 하면 정상동작하는 것입니다. 특히 빅엔디안 머신이나 64비트, 쿼드코어 등등 독특한 환경을 쓰시는 분들 꼭 한번 도와주세요 -ㅇ-; (패치 리뷰도 대환영!)

리눅스에 첫 패치 보내서 들여보내는 작업이 끝나면, 지금 갖고 있는 어셈블리 코드도 적용해서 다시 패치를 보내고 그 다음에는 FreeBSD에도 넣어 볼 생각입니다~

10 thoughts on “리눅스 2.6을 위한 SEED 패치”

  1. testing ecb(seed) decryption
    test 1 (128 bit key):
    000102030405060708090a0b0c0d0e0f
    pass
    test 2 (128 bit key):
    fa1a14f9b57646446047a0eac92eb400
    fail

    test 3 (128 bit key):
    83a2f8a288641fb9a4e9a5cc2f131c7d
    pass
    test 4 (128 bit key):
    b41e6be2eba84a148e2eed84593c5ec7
    pass

    테스트 한 시스템
    AMD Opteron 270 x2 (쿼드) : Fedora Core 5 (linux 2.6.20-1.2300.fc5smp)
    Intel Pentium4 3.2G (듀얼) : Gentoo (linux 2.6.20-gentoo)

    둘다 동일한 결과가 나옵니다.

  2. testing ecb(seed) encryption
    test 1 (128 bit key):
    5ebac6e0054e166819aff1cc6d346cdb
    pass
    test 2 (128 bit key):
    c11f22f20140505084483597e4370f43
    pass
    test 3 (128 bit key):
    ee54d13ebcae706d226bc3142cd40d4a
    pass
    test 4 (128 bit key):
    9b9b7bfcd1813cb95d0b3618f40f5122
    pass

    testing ecb(seed) encryption across pages (chunking)

    testing ecb(seed) decryption
    test 1 (128 bit key):
    000102030405060708090a0b0c0d0e0f
    pass
    test 2 (128 bit key):
    00000000000000000000000000000000
    pass
    test 3 (128 bit key):
    83a2f8a288641fb9a4e9a5cc2f131c7d
    pass
    test 4 (128 bit key):
    b41e6be2eba84a148e2eed84593c5ec7
    pass

    testing ecb(seed) decryption across pages (chunking)

    테스트한 시스템 (노트북)
    Linux notebook 2.6.20-gentoo #1 Fri Feb 16 10:25:34 KST 2007 i686 Mobile Intel(R) Pentium(R) 4 CPU 2.30GHz GenuineIntel GNU/Linux

    이상없이 Pass를 보여줍니다. seed쪽은 문제없는데 그동안 사용하지도 않고 모듈로 넣어 놓았던
    다른 것들이 문제를 일으키네요. 🙂

  3. 저도 Camellia 메일보구 바로 일루 왔습니다.
    퍼키님이 만들어주시면, 정욱님이 넣어주시는 거죠?
    저는 저와 개인적 친분있으신 gnn 형님께 말해놓겠습니다. ^^

Leave a Comment