Category Archives: PKI

Installing Cisco ACS 5.2 in a VMware Virtual Machine

Cisco Secure Access Control Server merupakan salah satu produk Cisco yang berguna bagi security administrators yang menangani dan memaintain network dan application security. Software ini berlisensi dan untuk bisa mendownload harus memiliki partner dengan Cisco. Software ini saya download dari login perusahaan di Cisco sebagai salah satu partner. Versi yang saya download adalah ACS_v5.2.0.26 iso file dan saya deploy di Blade server dengan Vmware Esxi 5.  Prosenya saya create new virtual guest dan assign requirement dan arahkan booting up ke file iso tersebut untuk memulai instalasi.

Continue reading

Setup Enterprise Security Client, ACR38 SmartCard Reader, Starcoss SPK2.3

Enterprise Security Client (ESC) adalah user interface untuk dapat memformat dan memanage smart cards. Bagian ini merupakan bagian front end untuk user dalam sebuah lingkup pekerjaan Certificate System, yang dalam hal ini saya menggunakan Dogtag Certificate System. ESC dapat digunakan pada smart Card yang sudah mendukung Javacard 2.1 / Global Platform 2.0.1 compliant. Saya masih menunggu kiriman Java Card dari India dan Eropa, yaitu SmartCafeExpert 3.2 dan JCOP 31 V 2.2, saat ini masih menggunakan card Starcoss SPK2.3 produksi Jerman.

Untuk membaca smart cards diperlukan reader dalam hal ini menggunakan ACR38 SmartCard Reader USB yang dapat diinstall pada OS Windows dan OS Linux. Kali ini saya coba pada distro Fedora 13 (Codename: Goddard)

Instalasi ESC,ACR38, pada sistem operasi Linux distro  Fedora 13 :

Continue reading

Setup Public Key Infrastructure dengan Dog Tag Certificate System

Asimetrik Kriptografi sangat penting dalam menjaga keamanan dalam berkomunikasi di internet. Sistem Asimetrik Kriptografi menggunakan kunci public dan kunci private. Keduanya diperlukan dalam transaksi dan digital signature di internet. Sebelumnya saya menggunakan EJBCA maka kali ini saya menggunakan Dog Tag Certificate System keluaran Red Hat inc.

Dogtag memiliki features seperti : Certificate issuance, revocation, dan retrieval, Certificate Revocation List (CRL) generation dan publishing, Certificate profiles, Simple Certificate Enrollment Protocol (SCEP), Local Registration Authority (LRA) for organizational authentication and policies, Encryption key archival and recovery, dan Smartcard lifecycle management Token profiles,Token enrollment, on-hold, key recovery, and format, Face-to-face enrollment with the security officer workstation interface.

Disamping dipakai untuk smart card, Dog Tag Certification system juga dipakai oleh Militer Amerika Serikat untuk mengidentifikasi semua tentaranya.  Pernah kan, lihat film perang Hollywood kalau tentara Amerika Serikat itu selalu memakai 2 kalung dilehernya yang dinamakan Dog Tag seperti gambar logo diatas,  Indentitas/Data didalam kalung(dog tag) tersebut berisi nama, Social Security number, blood type dan religion. Jadi jika tentaranya mati, satu dog tag nya diambil dan satu lagi tetap tinggal di lehernya.  Satu kalung yang diambil itu untuk  update data identitas tentara tersebut disemua sistem komputer militer Amerika Serikat. Dog Tag dapat dipakai juga sebagai  password/identitas tentara jika sedang mengunakan fasilitas militer dan sebagainya.

Dogtag Certificate System memiliki 6 subsystems :
-Certificate Authority (CA) – implemented in Java
-Data Recovery Manager (DRM) – implemented in Java
-Online Status Procotol Protocol Manager (OCSP) – implemented in Java
-Token Key Service (TKS) – implemented in Java
-Registration Authority (RA) – implemented in Perl
-Token Processing System (TPS) – implemented in C and C++

Pembuatan Public Key Infrastructure dengan Dog Tag Certificate System kali ini terdiri dari Instalasi dan Konfigurasi dengan environment :

-Sistem operasi pada server : OS Linux distro Centos 5.4
-389 Directory Server (Open Source LDAP)
-Dog Tag Certificate System 1.3 (repo EPEL)
-Java,Tomcat Web Server,Perl,Ant,Apache,mod_nss

Berikut proses instalasi dan konfigurasi, saya menggunakan OS Linux distro Centos 5.4 32 bit dan sudah terinstall dengan baik :

Instalasi Tools :

[root@i ~]# rpm -ev tomcat-native.i386

[root@i ~]# yum install db4-devel gzip rpm rpm-build subversion tar wget zip

[root@i ~]# yum install perl

[root@i ~]# yum install ant

[root@i ~]# yum install ant-junit

[root@i ~]# java -version
java version “1.6.0”
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK Client VM (build 1.6.0-b09, mixed mode)

Jika belum terinstall bisa install menggunakan yum install java-1.6.0-openjdk.

Continue reading

Red Hat Certificate System

Salah satu project Red Hat yang sudah open source adalah software Certificate System. Red Hat Certificate System berawal dari Netscape Certificate Management System yang di peroleh Redhat dari AOL(America On Line). AOL seperti kita ketahui telah membeli Netscape seharga $4.2 billion.  Kemudian Red Hat, Inc.  mengambil alih Certificate Management System melalui agreement  dengan AOL.

Versi terakhir Netscape Certificate Management System adalah versi 7.0, kemudian Red Hat mengembangkannya menjadi Red Hat Certificate System 7.1,7.2,7.3, dan sampai saat ini 8.0  Untuk Certificate System versi Fedora Core lahir dengan nama Dogtag Certificate System yang sampai penulisan ini sudah versi 1.3

Pengembangan Certificate System tersebut dipakai untuk bisnis Public Key Infrastructure(PKI), Certificate Authority(CA), keuntungannya karena open source jadi bisa diimplementasikan dengan software opensoucre lainnya.

Pada artikel sebelumnya saya menggunakan software PKI/CA yaitu EJBCA(Enterprise Java Bean Certificate Authority),maka pada artikel selanjutnya akan menggunakan Dogtag Certificate System untuk membuat public key infrastructure dan integrasi dengan smart card. Dog Tag dapat berjalan pada distro menggunakan Centos 5.x dan Fedora Core 12,13 release.

stores userCertificate in Openldap

Artikel ini merupakan kelanjutan dari artikel sebelumnya berjudul : Membuat Certification Authority dengan EJBCA,OCSP,JBOSS,Java,OpenLDAP.

Implementasi ini untuk membuat Open Source PKI Certificate Authority menggunakan EJBCA(Enterprise Java Bean Certificate Authority).  Openldap merupakan directory services yang populer, dan biasanya digunakan untuk  management user dan password pada Openldap. Masalahnya Openldap tidak memiliki fungsi sebagai pembuat certificate dan tidak memiliki ssl certificate, untuk itulah dibutuhkan software third party lain untuk menyempurnakan fungsi LDAP(Lightweight Directory Access Protocol).  Disini EJBCA sebagai ldap client dan difungsikan untuk membuat ldap entries dan publish/stores certificates didalam LDAP.

Hal ini dilakukan jika EJBCA sebagai CA sudah terinstall baik, dan Openldap sudah terinstall baik dan juga sudah memiliki struktur DN(Distinguished Name) dan user existing. Untuk mengadminister pekerjaan ini saya menggunakan Admin web EJBCA dan Userweb EJBCA serta phpLDAPadmin sebagai interface Openldap. EJBCA dan Openldap berbeda mesin menggunaan Linux Debian Server.

Pada Adminweb EJBCA kita sudah membuat Certificate Authority dengan langkah :

-Edit Certificate Authority
-Edit Certificate Profiles
-Edit Publisher
-Edit End Entitiy Profiles
-Add End Entity

Pada phpldapadmin kita sudah terkoneksi baik pada openldap dan struktur user sudah ada dengan user-user didalamnya. Tinggal menunggu pekerjaan EJBCA meletakkan(stores) certificate ke openldap.

Continue reading

Instalasi OCSP Responder

Artikel ini merupakan kelanjutan dari artikel sebelumnya berjudul : Membuat Certification Authority dengan EJBCA,OCSP,JBOSS,Java,OpenLDAP.

Online Certificate Status Protocol (OCSP) sangat dibutuhkan dalam pembuatan public key infrastructure, OCSP merupakan protocol query(relying parties).  OCSP adalah sebuah status protocol yang dapat menghasilkan informasi status certificate secara real time, termasuk data-data yang berisi certificate revocation lists (CRLs).  Instalasi OCSP kali ini masih menggunakan software open source EJBCA.

Server OCSP bisa ditempatkan diluar server EJBCA yang berfungsi sebagai CA(certificateion authority).

Proses instalasi ini berada pada mesin berbeda dengan EJBCA.
Tahapannya :

– Install Java JDK, Ant,JBOSS,EJBCA(ocsp-deploy)

-Install mysql-server dan create username databse ejbca, dan allow grant privileges IP dari server EJBCA., settingan ini pada ocsp-database di server EJBCA. Jadi mysql di server OCSP akan berisi informasi CRLs dari server EJBCA.

ocsp-svr:/ejbca# ant -version
Apache Ant version 1.7.1 compiled on June 27 2008

ocsp-svr:/ejbca# java -version
java version “1.6.0_19”
Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
Java HotSpot(TM) Client VM (build 16.2-b04, mixed mode, sharing)

– Deploy OCSP, source binary EJBCA sudah diekstrak ke /ejbca :

ocsp-svr:/ejbca# cp properties sample ke properties di /ejbca/conf

Continue reading

Setup Certification Authority dengan EJBCA,OCSP,JBOSS,Java,OpenLDAP

Jika diminta membuat Public Key Infrastruktur(PKI) maka saya akan pakai EJBCA(Enterprise Java Bean Certificate Authority) sebagai alternatif pertama dan Dog Tag sebagai alternatif kedua, karena berbasis open sources dapat digunakan pada sistem operasi Linux.  PKI yang berbasis Windows seperti PKI Windows 2003 Server, juga memiliki kelebihan, tapi masih lebih unggul EJBCA karena EJBCA memiliki kelebihan di sisi multiplatform operating system, aspek kriptografis maupun administrasi.

Kali ini tutorial pada salah satu mesin produksi menggunakan EJBCA pada Linux Debian. Adapun requirement yang dibutuhkan dalam instalasi ini adalah :

-Linux Debian 5.0.4
EJBCA 3.9.6, CA dan OCSP deploy.
JBOSS 5.1.0
Java jdk 6 update 19
JCE Unlimited Strength Jurisdiction Policy Files 6
-Apache Ant 1.7.0
-OpenLDAP: slapd 2.4.11

Instalasi dan Konfigurasi :

Linux Debian 5.0.4 dengan kode Lenny sudah terinstall dengan standart system. EJBCA,JBOSS,JAVA JDK,JCE harus didownload dari situs nya dan diinstall manual di Debian, Untuk Ant,OpenLDAP menggunakan apt-get.

svr:/home/gtoms# wget  http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u19-linux-i586.bin?BundledLineItemUUID=0AdIBe.liu0AAAEnpPtoLfW6&OrderID=kExIBe.lavIAAAEnmftoLfW6&ProductID=8ihIBe.nLjEAAAEnh3cZVnKo&FileName=/jdk-6u19-linux-i586.bin

Continue reading

Membuat PKI Certificate Authority(CA)

Setelah cukup lama mengolah server-server linux utuk segmentasi Internet Service Provider/IT seperti DNS,SMTP,Webserver,Radius,Proxy,Mysql,Routing,Bandwidth Management,dsb rasanya perlu dikembangkan ke hal lain yang masih seputar open sources dan bersifat enterprise.

Di Indonesia sedikit rasanya yang bermain dengan Public Key Infrastuktur yang dapat menghasilkan Certificate Authority(CA).  Untuk itu saya kembali berkutat tentang konsep dan teknik kriptografi kunci publik. Tentu hal ini ada motivasinya, kalau tidak dan hanya sebatas riset saja pastilah lupa lagi. Kalau kuliah di Departemen Teknik Informatika ITB materi ini ada pada bahan kuliah Kriptografi. Tapi hanya membahas secara umum definisi dan konsep-konsep saja. Implementasi/instalasinya sangat sedikit di internet, mungkin karena tidak tau manfaatnya atau mahal ilmunya pada sungkan nulis di internet. Untuk itulah saya mencoba berbagi melalui blog ini, apalagi masih berbau linux sangat sedap untuk di deploy pada server testing dan kemudian ke server produksi.

PKI adalah Public Key Infrastructure sebuah infrastruktur sekuriti yang diimplementasikan menggunakan konsep dan teknik kriptografi kunci publik.  Public Key tersebut akan diberikan sertifikat digital  oleh sebuah sistem/perusahaan CA (Certificate Authority) dan merupakan institusi terpecaya. Biasanya situs-situs perbankan seperti klikbca.com ib.bankmandiri.co.id dan lainnya memiliki sistem tersebut. Untuk perusahaan CA yang cukup terkenal seperti verisign.com thawte.com

Nah dalam tuorial ini saya membangun sistem Certificate Authority seperti yang dimiliki verisign.com thawte.com atau lainnnya yang dapat digunakan untuk sebuah perusahaan yang ingin memiliki sistem CA sendiri. Pengembangannya sampai implementasi Online Certificate Status Protocol(OCSP).

Software enterprise untuk PKI Certificate Authority adalah EJBCA (Enterprise Java Bean Certificate Authority) dibangun menggunakan J2EE technology. EJBCA dapat berfungsi sebagai unruk mengauthentikasi user dalam mengakses  intranet/extranet/internet resources, Secure communication with SSL servers and SSL clients, Smart card logon to Windows and/or Linux, Signing and encrypting email,VPN connections by issuing certificates to your VPN routers such as OpenVPN, Cisco, Juniper etc, Client VPN access with certificates in users VPN clients, Single sign-on by using a single certificate to secure logon to web applications, Creating signed documents, Issue citizen certificates for access to government resources, used in passports etc, Create CVCAs and DVs and issue CV certificates (CVC) to Document Verifiers and Inspection Systems for EU EAC ePassports. Konesp jaringannya bisa dilihat di images diatas. Nilai plusnya kita bisa menggunakan smart card pada PKI ini.

Kita mulai instalasi dan konfigurasi, software yang dibutuhkan :
-Sistem operasi Linux GNU Debian
-Java JDK 1.5 – Java 2 Platform Standard Development Kit.
-Apache Ant – Java Build Utility, used to compile and build Java programs.
-JBoss 4.0.5 – J2EE Application Server EJBCA download
-Mysql
-EJBCA dan OCSP external.
-OpenLDAP.
-OpenSSL.
-Apache Project.
-Apache mod_ssl.

Kondisi sistem operasi Linux Debian 5 sudah terinstall dengan update terakhir.

Install JAVA JDK ,Ant

ejbca:/home/gtoms# apt-get install openjdk-6-jdk ant ant-optional
Continue reading