Home

Cryptography Fundamental

Leave a comment

Kali ini gw akan bahas…apa sih enkripsi itu? Apa itu 3DES? PKI? SHA-1? MD5? Dan lain-lain

===============================

Cryptography pasti berkaitan dengan security, dan security pasti selalu berhubungan dengan yang namanya “C.I.A”

C.I.A: Confidentiality, Integrity, dan Authentication (juga Availability)

Confidentiality = ensure supaya data ga bisa dibaca (“tbzb hboufoh“)

Integrity = ensure data remain unchanged dari “EXPECTED USER” (“please do not accept if the seal is broken“, wah..uda pernah masuk mulut orang nih minuman haha)

Authentication = ensure data yang dikirim sampai ke “EXPECTED USER” (“please input your PIN“…lo memang punya kartu ATM-nya, tapi belum tentu lo bisa bajak uang-nya)

Availability = udah itu data ga bisa dibaca, ga bisa dirubah, dan ga punya hak…dah lah, gw matiin aja servernya (DoS alias denial of service)

===============================

Confidentiality

The First One…Encryption

Pasti klo bahas kriptografi…the first thing come into mind is Encryption

Enkripsi berguna untuk mencegah data kita dibaca (dengan mudah tentunya), Contoh: “tbzb hboufoh”…bisa baca ga loe??

Nah, untuk bisa meng-enkripsi dan men-dekripsi suatu data…kita perlu mekanisme, Mekanisme untuk decrypt dan encrypt disebut KEY

The Second One…Key

gw butuh kunci untuk ngebuka brankas“…analogi yang sama juga bisa diaplikasikan kedalam Network Security, kita butuh key untuk encrypt dan decrypt

Contoh gw pake algoritma “Offset 1″…jadi klo ada huruf A akan dirubah jadi B, B -> C, D -> E, dan so on…

Hasilnya adalah “tbzb hboufoh” dengan Offset Key “1” akan dibaca …*tebak sendiri wkwkw*

Data Clear Text yang sudah di-enkripsi disebut Cipher Text

Jadi pihak sender dan pihak receiver harus punya key untuk nge-buka itu Cipher text, Proses pembuatan key butuh algoritma yang rumit (karena klo gampang…ga secure data-nya ya ga?!)

Klo mo coba2 maen enkripsi…bisa ke sini

Gimana cara receiver tau, harus pake Key Algorithm yang mana? Trus gimana cara buat-nya?

The Third One…Key, The Making Of

Ada 2 Tipe Key:

  • Symmetrical Key: Both Sender and Receiver use the Same Key

Artinya mereka berdua punya “shared secret”, “cui…gw kasi message ke elu ya…offset-nya 3

Tapi jadi ga secure dong…klo ada yang bisa nangkep pesannya, kan ngasi tau secretnya juga?? Makanya…ada Pre-Shared Key (jadi sebelum tuker2an data…negosiasi dulu pake key apa)

Contohnya apa: DES, 3DES, AES, RC4, Blowfish

Tapi klo pas tuker2an Key trus kebaca gimana? There are hero called MD5/SHA and RSA (we discuss it right below)

  • Asymmetrical Key: Sender and Receiver use different Key

Artinya mereka berdua punya different key (public dan private key), lah..cara bukanya gimana klo beda key?!

Anologinya kira2 begini:

A dan B mau tuker2dan data pake Asymmetrical Key, nah…yang pertama kali mereka lakukan adalah kirim brankas dengan gembok punya dia

A: “oi B, kirim message (public key) lo ke brankas gw, nih sekalian gemboknya…klo uda selesai tolong digembok ya

B: “ok, gw juga ya….kirim brankas ke elo, nih gembok nya

Pas naro message ke brankas dan digembok, guess who have the key?? Baik A dan B ga bisa buka brankas yang uda digembok

Masing2 orang cuma ngirim gemboknya…ga ama kuncinya (Private Key) !!! cocok dipake oleh IKE (Internet Key Exchange, fundamental component of IPsec VPN), SSH, SSL dan TLS (Transport Layer Security, updated version of SSL)

Contohnya: RSA dan DH

nah, Enkripsi yang menggunakan Asymmetrical Key ini biasanya makan proses CPU dan aga lama, jadi ada tipe enkripsi yang dipake untuk enkripsi data payload, ada enkripsi yang dipake untuk enkripsi data authentikasi (contohnya ya RSA dan DH1/2/5)

The Fourth One…Cipher Method Type

Ketika data mau di Cipher…ada 2 metode untuk Ciphering, mau tiap bit di-enkripsi (stream)…ato tiap 64/128 bit baru dienkripsi (block)

  • Block Cipher: enkripsi datanya tiap 64 ato 128 bit blok (makanya namanya block cipher)
    • Contohnya: DES, 3DES, AES, RSA (bisa lebih dari 512 bit)
  • Stream Cipher: enkripsinya bit-per-bit, biasanya di GSM cell phone
    • Contohnya: DES, 3DES, RC4

========================

Difference between Encryption Standard

DES = Data Encryption Standard

  • Key: 56 bit
  • Cracking the Encryption: Days
  • Resource and Speed of Encryption: Medium

Disini bisa diliat…DES gampang di crack dalam hitungan hari (itu uda pake komputer khusus hacking loh)

Nah, dibentuklah algoritma baru berdasarkan DES…yaitu 3DES

3DES = Triple DES

  • Key: 112 ato pake 168 bit
  • Cracking: ga usa dipikirin…, eh ga bisa dong..gw pengen tau!! jutaan tahun, eww…, wkwkwk
  • Resource and Speed: Medium and Low

3DES itu adalah enkripsi DES, yang hasil enkripsinya di decrypt pake DES dengan key beda, yang hasilnya itu dienkripsi lagi pake DES pake key yang bedalagi (3x enkripsi dengan algoritma yang sama)

Tapi klo kita liat…proses speed enkripsinya malah jadi lama (iyalah 3x)…jadi aga kurang favorable

AES = Advanced Encryption Standard

  • Key: 128, 192, atau 256bit
  • Cracking: ga usa dipikirin…masi mau gw sebut?? Ga bang..
    wkwkw
  • Resource and Speed: Low and High

AES inilah yang sekarang more favorable for encryption

RC = Rivest Code

DH = Diffe-Hellman

  • Key: 512, 1024, atau 2048 bit
  • Cracking: ga usa dipikirin…
  • Resource and Speed: Medium and Low

biasanya untuk authentikasi key exchange

RSA = Rivest, Shamir, and Adleman

  • Key: 512, 1024, atau 2048 bit
  • Cracking: ga usa dipikirin…
  • Resource and Speed: Low

Ini yang “katanya” paling susah di jebol,suksesornya DH…semakin susah dijebol artinya semakin lama prosesnya…semakin lama dan berat pula makan CPU nya

Biasanya RSA ini buat Enkripsi Data untuk Signature Generation di PKI (apaan ini signature generation, we’ll see below)

========================

Integrity

Well…data bole bisa dibaca (sebenernya jangan sampe deh), tapi bagaimana kita memproteksi data itu agar tidak bisa dirubah KALO KEBACA…

Bayangin klo kita transfer duit 1 juta ke nyokap, dibajak paketnya, trus dirubah…kirim ke rekening pembajak…

Nah, mekanisme untuk proteksi integritas data disebut Hashing

Ada 2 metode hashing yang terkenal

  • MD5: Message Digest 5 (fast but less secure)
  • SHA-1: Secure Hashing Algorithm 1(slow to process but more secure)

Ga usa pusing tentang algoritma nya (kecuali lo mau thesis pake ini)

Sekarang gimana sih cara kita nge-cek ini paket bener apa kaga? Ada web bagus untuk liat hashing

Sekarang gw coba praktekin

Di output kita bisa liat…untuk menjaga integritas data yang berisi text “Saya Ganteng” (wkwkwk), MD5 akan melakukan algoritma dia untuk menghasilkan hashing value (dalam Hex)

Sekarang coba kita rubah Text-nya jadi “saya ganteng” (huruf kecil semua)

Take a look…different hashing value…tandanya itu text sudah dirubah

Biasanya pas kita download (torrent misalkan) pasti ada kek gini dibawah

Ato check kata2 “checksum” dalam suatu website…itu juga hashing

Nah, pas kita selesai download…coba cek hashingnya…sama ga antara file yang ada PC kita dengan Web itu (dengan catatan torrent itu pake MD5, kita juga ya..)

Tapi bisa aja kan…itu hacker ambil datanya…TRUS KASI HASHING DIA SENDIRI (pake MD5 misalkan)…toh nanti di penerima juga ga tau, si penerima kan tinggal “un-hash”…pasti sama nilai hashing-nya sma hacker…bisa dong?? Yup…

That’s when Hash Message Authentication Code (HMAC) comes into play my friend

Konsep nya gimana? Jadi selain kirim Hashing…sender juga kirim “hashing key”…jadi begitu algoritmanya hashing dan hashing Key ini digabung…dia pasti bikin value baru

So..hacker ga bisa steal data trus pake key dia sendiri dan kirim ke destination…hasil algoritma yang di proses oleh si penerima pasti beda

WOI…KEY NYA SALAH….ADA YANG HACK ENEEEH

Mau based on apa key nya?? Pake MD5, kita bisa pake HMAC-MD5…pake SHA-1, kita pake HMAC-SHA-1

Biasanya HMAC ini comes into play ketika kita develop IPsec VPN

===========================

Bro…masa iya gw mo kirim message aja harus di enkripsi, trus di enkripsi lagi..trus di enkripsi lagi..(ENKRIPSI-ception *yo dawg*)

Males lah gw…kelamaan prosesnya…orang mau kirim say hai doang

That’s why we need some Public Infrastucture that produce Key/Certificate…any packet that comes from this Public Infrastructure Devices is trusted

The detail is below…

==========================

Authentication

HMAC tadi diatas udah

Now, PKI – Public Key Infrastructure

Klo lo mau buka akun di Bank, emang bisa pake tanda tangan lo doang??

eh nih gw kasi tanda tangan gw…gw terpercaya kok” (emang siapeee loeee, pede betsss)

Tapi klo lo kasi KTP/SIM/Passport….orang pasti nerima, karena apa? Organisasi yang buat KTP/SIM/Passport ini adalah organisasi yang terpercaya oleh semua bank (Pemerintah gitu lohhh)

Nah, begitu pula dengan Computer Network…tiap Device bisa generate “his own signature”…tapi apakah device lain percaya? Engga kan??

Oleh karena itu kita perlu semacam IT Governance untuk generate Certificate Authorities (CA, semacam KTP-nya Computer lah) yang disebut Public Key Infrastructure (PKI)

Makanya kita sering liat kek gini:

Contoh PKI yang ada sekarang siapa aja? Liat dibawah

Di browser lo uda ter-install siapa2 aja PKI yang dipercaya (dipercaya oleh browser lo tentunya…belum tentu IE sama dengan Mozilla)

Nah, Certificate yang dikasi ke Router/Switch/Server/PC kita adalah Hashing yang terenkripsi

Hashing (MD5) value  Encrypted  with Private Key (RSA) = Digital Signature

Trus gimana cara User Device tau bahwa itu Digital Signature  Asli dari Hongkong *ehm* dari PKI yang ASLI? ngaku2 tanda tangan artis lagi jangan2

Nah, begitu certificate diterima…di cek hashing nya…”ok…sama2 MD5 dengan value ABCXYZ

Gw akan DECRYPT shared public key yang dikasi PKI Server ke gw…klo hasilnya sama dengan ABCXYZ…artinya ini sertifikat ASELI POENYAAA

Gimana…oke kan algoritmanya…pusing2 da loe (gw juga pusing sih gimana caranya bisa begono)..

Hash Message Authentication Code (HMAC) juga bisa dijadikan alternative for Digital Signature klo lo ga ada PKI Server

HIDUP ITU PEDIH JENDRAL” *sala…ini bukan partai PKI, tapi server PKI….

=========================================

Tapi penting kaga sih belajar semuanya ini?? Mana banyak bener lagi standard encryption nya

Penting, terutama untuk IPsec VPN Site-to-Site

Jadi gini:

Ketika router A dan B mau building VPN antara PC1 dan PC2, mereka harus menegosiasikan semua hal

A: “oi B, gw support data encryption pake AES ama DES, pake AES bisa ga?

B: “bisa…gw malah support DES biasa

A: “ok…untuk data encryption kita pake AES

B: “cui…hashingnya pake apa? Sepakat pake SHA-1 aja yaks??

A: “siapppp

B: “deal….encryption using AES, Hashing using SHA-1

A: “trus otentikasinya pake apa? Pre-Shared Key? Ato RSA?

B: “pake RSA cui…lebih aman

A: “done…we’re using RSA…PHASE 1 DONE

B: “eh…kita mo bikin IPsec pake apa? HMAC-SHA ato HMAC-MD5?

A: “yang secure dong…HMAC-SHA-1

B: “deal…PHASE 2 DONE

Noh….ampir semuanya disetting nanti pas develop IPsec VPN (ntar kapan2 gw publish de config IPsec VPN)

Notice gw pake istilah PHASE 1 and PHASE 2? Jadi IPsec development itu terbagi jadi 2 Phase…

Phase 1 – IKE (Internet Key Exchange) Phase, most of it done with RSA / DH2 / DH5 algorithm

Phase 2 – IPsec Phase

Cisco PPDIOO Approach for Network Design

3 Comments

Apaan ini PPDIOO?!? PPDIOO ini adalah metode pendekatan Cisco tentang bagaimana merancang jaringan yang baik, termasuk lifecycle-nya

PPDIOO adalah singkatan dari Prepare, Planning, Design, Implement, Operate, and Optimize

(now I’m starting to write about Network Design Course….biasa…takut lupa apa aja yang gw pelajarin, biar ga ilang percuma)

PPDIOO ini methodology punya Cisco kan? Iya, berarti ada yang versi “open source”-nya dong? Ada

Apa? ITIL (IT Infrastucture Library), tapi ini lebih general…lebih kearah IT Service Secara Keseluruhan

Ini perbandingan antara PPDIOO dengan ITIL

PPDIOO dan ITIL itu kek OSI Layer dengan TCP/IP Layer

=====================================

PPDIOO Phase in detail:

Prepare: biasanya CIO, CTO, CEO…pokoknya yang ada kata “C” (Chief) ato Direktur yang bahas ini, karena mereka yang tau mau dibawa kemana ini perusahaan, mereka yang punya visi dan misi (plus duit/budget nya hahahaha)

Apa aja yang dibahas disini…

  • Why = kenapa kita butuh upgrade network service?
  • Why = Mau ganti dari PABX ke VoIP kah?
  • Why = Mau bangun data center kah?
  • Why = Uda ga ideal lagi kah network yang ada sekarang?
  • Etc.

Plan: setelah kita tau apa aja konsep yang diinginkan perusahaan, kita akan membahas

  • What = Initial Requirement for Upgrading the Service (IT Service, Network Service, dll), contoh
    • Untuk upgrade ke VoIP, kita perlu apa aja?
    • Udah bisa belum perusahaan ini bikin Data Center sendiri berdasarkan equipment yang ada?
    • Perusahaan mo upgrade link jadi Fiber 40Gbps…mendukung ga alatnya?
  • Where = where the money will be spent…haha, biasanya detail planning untuk spend money ada di phase ini (rapat tentang berapa banyak total budget biasanya dibahas di Prepare Phase)
  • Where = dimana aja area yang harus kita upgrade, keep, ato “lembiru” (lempar ganti baru wkwk)
  • When = kapan (date/tanggal) mau mulai upgrade ini Service

*note: gw nyebut Service berarti Network Service/Network Infrastructure

Design: nah…disinilah CCDA,CCDP, CCDE berperan, “capturing consumer requirements into technical one” (and giving the hard work to CCNA,CCNP, CCIE…hahahaha)

Klo mo ngeledek…orang2 CCDA/Consulting itu kek gini

ok..
bisa..
gampang itu
*angguk2 kepala*
*angguk2 lagi*“…

udah gitu doang?? Sekarang kasi gw duit…” ahahhahaha

Mass…saya mo beli 1 router untuk konek ke Branch (simple requirement)” “oh bisa pak…Catalyst 6500 aja pak…ada fungsi Router, bisa jadi Switch, tambahan modulnya banyak

(biasa…prinsip sales…klo bisa jual yang mahal..kenapa jual yang murah…wwkwk)

  • How = gimana cara implementasi VoIP? Yang bagus gimana?
  • How = perusahaan perlu failover ASA/Firewall biar ga ditembus hacker klo salah satu ASA/Firewall mati, harus pake apa? Bisa ga pake alat ini?

Setelah kita mendengar “keluh kesah” konsumen…mereka butuhnya apa…maunya apa…kita “translate” kebutuhan mereka kedalam sesuatu yang technical

eh…tapi untuk seorang Designer Network bisa nyaranin pake Failover, pake OSPF Multiarea, pake technology macem2…berarti dia harus minimal ngerti dulu dong technical nya??

Betooeeel…makanya dulu Cisco pengen orang2 yang mau CCDA MINIMAL harus CCNA dulu…(ntar ngibul lagi…angguk2 ga jelas padahal ga tau apa2, saranin yang aneh2 malah ahaha)

Rata2 CCDA itu di Vendor jadi Network Consultant ato Pre-Sales

Implement: disinilah para “buruh” network bekerja…ya itu…CCNA,CCNP, dan CCIE (dia mah turun klo pas Tshoot udah parah ama Provision doang paling)

Setelah para CCDA/P/E selesai capture requirement…tugas IMPLEMENTASI apa yang sudah di design itu dilaksanakan oleh CCNA/P/E

Tapi untuk Vendor2 kelas menengah…rata2 Consulting/Designing sama Implementing-nya digabung (dia yang Design..dia juga yang implementasi…yang design dan implementasi orangnya itu2 juga ahaha)

  • Who: siapa yang implement
  • Who: siapa yang punya expertise apa (idealnya, jgn sampe CCNA RS disuru develop Wireless yang harusnya untuk CCNA Wireless)

Operate: simple…Operation and Maintenance

Kadang ada orang vendor yang di masukin ke perusahaan client (kek model out-source padahal bukan) buat controlling and maintenancing

  • Who: siapa yang operate dan maintenancing

Optimize: biasanya Network Audititing

  • What: apa aja yang bisa di ‘secure’
  • What: apa aja yang masih bisa di tingkatkan lagi performance-nya

===============================================

Design Methodology Approach

  • Top-Down Design
  • Bottom-Up Design

Top-to-Down Design: design-nya ngikutin OSI Layer

First, we define Apps that run in the network (is it B/W Killer or not, must use QoS or not), then define the topology, what transport should we handle (TCP/UDP/RTP), IP Addressing Scheme, WAN Selection (MetroE, MPLS, VPN, etc.), and last…the Medium (Wire or Wireless, Fiber or Copper)

Tapi jangan salah…OSI Layer dalam Network BERBEDA dengan OSI Layer dalam organisasi, here’s the PIC

Dalam Design…Layer 8,9 10 itu penting (itu layer 9 dan 10 bisa digabung ama layer 8…almost same definition)

Kita harus liat orangnya…baik dia manager atau bukan, mesti kita training lagi apa engga (Sistem Baru..training lagi..makan waktu)

Kita harus liat Goal dari Organisasi/Company nya…dan Government Regulation (yang paling rese bagi Telco Provider ya ini)

Benefit and Disadvantages of Top-Down:

  • Design terstruktur
  • Able to Cope with Company Requirement Perfectly
  • Klo Design ga bener dan ada problem…lama betulinnya (uda salah diawal2 soalnya)

Bottom-Up: biasanya klo Design ga bagus…pakenya ini

  • Fast reaction to problem…”yang penting bener dulu” mindset
  • Bikin kacau design yang uda ada

Bottom-Up dipake oleh small-to-medium company, yang biasanya IT-nya Cuma 1..dan SUPERMAN (dia semua yang handle jaringan, OS, database, ampe benerin printer…hahaha)

=============================================

Reference:

ARCH (842-674) “Designing Cisco Network Service Architectures” Course

http://en.wikipedia.org/wiki/Layer_8

Managing a Large Network Installation Using ITIL and PPDIOO

Older Entries