Social Icons

Wednesday, 18 June 2014

Introduction to Mobile IP Concept


Last time, home computer systems are desktop. We always can't carry desktop computer systems to wherever we go. They can't move easily from one place to another. To access internet, they need an address which is Internet Protocol address (IP address). 

Nowadays, modern computer systems are becoming smaller than old models. They can be any consumer devices which have different size such as laptops, smart phones, PDAs, tablets, etc. We can bring them with us. Their nature is mobile. It should have an extraordinary protocol to define their location which are not fixed. it is "Mobile IP".

Supposedly my home is in Ygn, according to the following figure. I can collect the letters which destination is my home address.


The problem is how I should get letters while I am on the business trip. It means that how to handle the situation while I am away from my hometown. But, it is possible to solve the issue if we can apply "Mail Forwarding".

Before I move out, I could inform my new address to Ygn Post Office. And then, Ygn Post Office would forward my letters to my new address which is Mdy. It would be "Mail Forwarding" untill I get home and inform Ygn Post Office to cancel the service.

In this example, there are two Agents mainly. 
Ygn Post Office (Home Agent) provides sending mail to my ygn home regularly.
When I am at my mdy home, it would have mail forwarding via Mdy Post Office (Foreign Agent).

To start Mail Forwarding,

1. Registration to home agent about mail forwarding 
I would inform Ygn Post Office about my new address to start mail forwarding

2. Home agent would forward letters encapsulated by a new address, to foreign agent
According to the registration of mail forwarding, Ygn Post Office will forward my letters to Mdy Post Office which can send it to my mdy home. 

Actually, home agent applies encapsulation technique via foreign agent. Encapsulation is the real world phenomenon that we can see most of the times. Encapsulation is an isolation, and it can cover difficulties to provide convenience.

I believe we all have seen capsules (pharmacy) and tablets (pharmacy). For example, if I have option to take capsules or tablets to cure my pain, I will select capsules because capsule is a container which can keep bitter medicine powder inside and it's easier to take. It provides convenience by an isolation layer between medicine powder and patient. 

This time, let's see our electronic TV. We don't understand about complex electronic circuits but we can use TV. Why? They apply encapsulation. By placing inside it, they hide complexity and also cover their property, avoid to be seen by others. 

When I get ygn home back, I would inform my ygn post office to deactivate mail forwarding. And then I will get letter as usual as before I move out.

In this scenario, we will find the following concept.

Mobile Node:         I, myself
Home Agent:         Ygn Post Office
Home Address:     Ygn Home Address
Foreign Agent:      Mdy Post Office
Care of Address:  Mdy Home Address
Binding:                  Registration of Mail forwarding with Care of Address

Now, the above example will reflect to the mobile internet protocol addressing. According to the following figure, we will find mobile node, home agent, and foreign agent mainly.

Mobile Node:          Laptop
Home Agent:           Router (London)
Home Address:      London IP Address
Foreign Agent:        Router (Japan)
Care of Address:    Japan IP Address
Binding:                    Binding Home Address with Care of Address





Hopefully you will get and enjoy the idea of Mobile IP. 

Reference: 
mobile ip in wiki
tcp/ip guide

Friday, 13 June 2014

Cryptographic techniques



          For computer students, one time we all will need to participate in security world. Today, modern technologies in communication networks have been influenced in our daily activities. So we need to cover the fundamental cryptographic techniques that allow for encrypting communication, authenticating the party with whom one is communicating and ensuring message integrity.
            We can identify the following desirable properties of secure communication.
  • Confidentiality: Only the sender and intended receiver should be able to understand the contents of the transmitted message. Because eavesdroppers may intercept the message, this necessarily requires that the message be somehow encrypted so that an intercepted  message cannot be decrypted by an interceptor.
  •  Message integrity: Even if the sender and receiver are able to authenticate each other, they also want to ensure that the content of their communication is not altered.
  •  End - point authentication: Both the sender and receiver should be able to confirm the identity of the other party is indeed who or what they claim to be.
  • Operational security: Almost all organizations today have networks that are attached to the public Internet. These networks can potentially be compromised by attackers who gain access to the networks via the public Internet. Attackers can attempt to deposit worms into the hosts into the host in the network, obtain corporate secrets, map the internal network configurations, and launch DoS(Denial -of-Service ) [1].
The actual implementation of security goals needs some techniques. Today, the two prevalent techniques are the one is very general (cryptography) and another one is specific (steganography). [4]

What is Cryptography?
            Cryptography is the science of using mathematics to encrypt and decrypt data. Cryptography enables you to store sensitive information or transmit it across insecure networks (like the Internet) so that it cannot be read by anyone except the intended recipient [2].The simple meaning of Cryptography is secret writing.

What is Steganography?
            The word steganography comes from the Greek Steganos, which mean covered or secret and –graphy mean writing or drawing. Therefore, steganography means, literally, “covered writing”. Steganography become more important as more people join the cyberspace revolution. Steganography is the art of concealing information in ways that prevent the detection of hidden messages. Steganography include an array of secret communication methods that hide the message from being seen or discovered. The goal of steganography is to avoid drawing suspicion to the existence of a hidden message.[3]

Cryptography Vs Steganography
            Steganography is defined by Markus Kahn [5] as follows, "Steganography is the art and science of communicating in a way which hides the existence of the communication. In contrast to Cryptography, where the enemy is allowed to detect, intercept and modify messages without being able to violate certain security premises guaranteed by a cryptosystem, the goal of Steganography is to hide messages inside other harmless messages in a way that does not allow any enemy to even detect that there is a second message present. 

Cryptographic  techniques
           Data that can be read and understood without any special measures is called plaintextor cleartext. The method of disguising plaintext in such a way as to hide its substance is called encryption. Encrypting plaintext results in unreadable gibberish called ciphertext. You use encryption to ensure that information is hidden from anyone for whom it is not intended, even those who can see the encrypted data. The process of reverting ciphertext to its original plaintext is called decryption [2].
           The most basic cryptographic techniques for confidentiality and data integrity are symmetric encryption techniques and asymmetric encryption techniques. Another cryptographic technique is hashing. Hash functions are a curious type of cryptographic algorithm. In its simplest form a hash function is an algorithm that takes an input of any size and outputs a fixed-length hash code that is, in some sense, difficult to predict in advance. The odd thing about the use of hash functions in cryptography is that they do not usually depend on any secret keys, and so they can only provide a limited set of security services on their own [6].
           We can now split encryption schemes into two types. If the message sender knows this secret key then the scheme is said to be symmetric (the example symmetric  key algorithm is Caesar cipher). If the message sender does not know the secret key then the scheme is said to be asymmetric or public-key. In other words encryption algorithms transform data, sometimes called messages or plaintext, into ciphertext, which can be transmitted over a public network(non secure channel) and from which no unauthorized entity can determine any information about the message (except, possibly, its length). When the ciphertext reaches its intended recipient, he or she can undo the encryption operation and recover the message from the ciphertext. It is easy to see that in order to do this, the recipient must have some kind of extra, secret information that is not known to any unauthorized person. This is known as a key.


Useful Acronyms for Computer Students

International Standardization Organizations
1.      ISO (International Standard Organization)
2.      IEC (International Electrotechnical Commission)
3.      ITU (International Telecommunication Union)
National Standardization Organizations
1.      ANSI (American National Standards Insti)
2.      BSI (British Standard Institute)
3.      NIST (National Institute of Standards and Technology)
Industrial Standardization Organizations
1.      3GPP (Third Generation Partnership Project)
2.      ETSI(European Telecommunications Standard Institute)
3.      IEEE (Institute of Electrical and Electronic Engineering)
4.      IETF (Internet Engineering Task Force)
5.      SECG (Standards for Efficient Cryptography Group)
6.      PKCSs (Public-Key Cryptography Standards)


References:
[1]. COMPUTER NETWORKING [Top Down Approach] by JAMES    F.KUROSE ,KEITH W.ROSS [FOURTH EDITION]
[2]. An Introduction to Cryptography
[3]. A Novel Steganographic Method for Gray-Level Images by Ahmad T. Al-   Taani and Abdullah M. AL-Issa
[4]. Cryptography and Network Security by Behrouz A. Forouzan (McGRAW-   HILL INTERNATIONAL EDITION)
[5] .Johnson, Neil F., “Steganography”, 2000, URL: http://www.jjtc.com/ stegdoc/index2.html
[6]. User’s Guide to Cryptography and Standards by Alexander W. Dent
      Chris J. Mitchell




Tuesday, 20 May 2014

RMI-IIOP


Supposedly I want to create a client-server communication model like the following figure.


We use the word "tier" in software development. what does "tier" mean? Tier, (pronunciation: Tee ya), is a layer.

Here, you may rise the question - "why do you want to create application client?". Let's say, I am a backend programmer who usually write programs to solve complicated business workflows.

The problem is how we do testing effectively the programs what we write, before users use it. We don't want to wait for the frontend programmers who normally design web pages of web tier. It is not productive.

If I can access and test without web tier, I don't need to wait for frontend programmers' work done. we need to create a communication between client and server without any web page. Which protocol does it need to establish that kind of communication? It is RMI-IIOP.

RMI-IIOP (Remote Method Invocation Internet Inter-Orb Protocol) which comes out from CORBA (Common Object Request Broker Architecture) distributed computing capabilities to the Java Platform.

In Java Platform, we call components of business tier, as EJB (Enterprise Beans). They are powerful in EJB 3.0 and later. RMI-IIOP is a bridge to connect Application Client and EJB. RMI-IIOP is developed by Sun Micro and IBM.  What are advantages?

Previously java developers created RMI (Remote Method Invocation). RMI has some limitations. RMI's native protocol, JRMP (Java Remote Method Protocol), can't connect with different other protocols.


It's the main story RMI-IIOP born.  RMI-IIOP supports both JRMP and IIOP.


To switch from JRMP to IIOP, or vice versa, it needs only to change some parameters in java coding. It is the transparency of RMI-IIOP. And also, it supports to maintain java memo 'Write once, Run anywhere anytime forever'.

Reference




Wednesday, 14 May 2014

Common port numbers



For students who studying in computer network should know and familiar in port numbers used networking system. I would like to introduce some port numbers that are useful for computer students.
Main article: List of TCP and UDP port numbers
The Internet Assigned Numbers Authority (IANA) is responsible for the global coordination of the DNS Root, IP addressing, and other Internet protocol resources. This includes the registration of commonly used port numbers for well-known Internet services. The concept of port numbers was established by the early developers of the ARPANET(Advance Research Project Agency Network) in informal cooperation of software authors and system administrators.
The port numbers are divided into three ranges: the well-known ports, the registered ports, and the dynamic or private ports. The well-known ports are those from 0 through 1023. Examples include:
  • 20 & 21: File Transfer Protocol (FTP)
  • 22: Secure Shell (SSH)
  • 23: Telnet remote login service
  • 25: Simple Mail Transfer Protocol (SMTP)
  • 53: Domain Name System (DNS) service
  • 80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web
  • 110: Post Office Protocol (POP3)
  • 119: Network News Transfer Protocol (NNTP)
  • 143: Internet Message Access Protocol (IMAP)
  • 161: Simple Network Management Protocol (SNMP)
  • 443: HTTP Secure (HTTPS)
The registered ports are those from 1024 through 49151. IANA maintains the official list.The dynamic or private ports are those from 49152 through 65535. One common use is for ephemeral ports.
The term port number was not yet used at this time. It was preceded by the use of the term socket number  in the early development stages of the network. A socket number for a remote host was a 40-bit quantity. The first 32 bits were similar to today's IPv4 address, but at the time the most-significant 8 bits were the host number. The least-significant portion of the socket number (bits 33 through 40) was an entity called Another Eightbit Number, abbreviated AEN, today's port number.
On March 26, 1972, Vint Cerf and Jon Postel called for documenting the then current usages and establishing a socket number catalog in RFC 322. Network administrators were asked to submit a note or place a phone call, "describing the function and socket numbers of network service programs at each HOST".
The 256 values of the AEN were divided into the following ranges:
  • 0 through 63: network-wide standard functions
  • 64 through 127: host-specific functions
  • 128 through 239: reserved for future use
  • 240 through 255: any experimental function
The Telnet service received the first official assignment of the value 1. In detail, the first set of assignments was:
1. Telnet
3  File transfer
5  Remote job entry
7  Echo
9  Discard
In the early ARPANET, the AEN was also called a socket name, and was used with the Initial Connection Protocol (ICP), a component of the Network Control Program (NCP) NCP was the forerunner of the modern Internet protocols. Today the terminology service name is still closely connected with port numbers, the former being text strings used in some network functions to represent a numerical port number.
 I will try later to post “well – known ports”.
Reference:wikipedia