<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TacAck - My security journey! &#187; Network Information Store</title>
	<atom:link href="http://tacack.com/category/network-information-store/feed/" rel="self" type="application/rss+xml" />
	<link>http://tacack.com</link>
	<description></description>
	<lastBuildDate>Mon, 06 Jun 2011 05:49:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>POTD #1 &#8211; TCP &#8211; Transmission Control Protocol</title>
		<link>http://tacack.com/2009/09/08/potd-1-tcp-transmission-control-protocol/</link>
		<comments>http://tacack.com/2009/09/08/potd-1-tcp-transmission-control-protocol/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 09:05:11 +0000</pubDate>
		<dc:creator>TacAck</dc:creator>
				<category><![CDATA[Network Information Store]]></category>

		<guid isPermaLink="false">http://tacack.com/?p=97</guid>
		<description><![CDATA[ 
 
SIZE : 20-60 Bytes ( 20 min + 40 options )
USE : In services which require accuracy and error-checking.
ADVANTAGE : requests retransmission of lost packets, rearranges out-of-order packets, and even helps minimize network congestion, accurate delivery of data , reliable because of acknowledgements.
DISADVANTAGE : Slower, not real-time. Cannot be used for VoIP , streaming ,etc.
PACKET [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-107 aligncenter" title="TCP Header" src="http://tacack.com/wp-content/uploads/2009/09/tcp.jpg" alt="TCP Header" width="733" height="308" /> </p>
<p> </p>
<p>SIZE : 20-60 Bytes ( 20 min + 40 options )</p>
<p>USE : In services which require accuracy and error-checking.</p>
<p>ADVANTAGE : requests retransmission of lost packets, rearranges out-of-order packets, and even helps minimize network congestion, accurate delivery of data , reliable because of acknowledgements.</p>
<p>DISADVANTAGE : Slower, not real-time. Cannot be used for VoIP , streaming ,etc.</p>
<p>PACKET STRUCTURE :</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="2" width="127" valign="top">
<p align="center">Field</p>
</td>
<td width="144" valign="top">                Size( bits )</td>
<td width="367" valign="top">                Significance</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">
<p align="center"> </p>
</td>
<td width="144" valign="top">
<p align="center"> </p>
</td>
<td width="367" valign="top">
<p align="center"> </p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Source Port</td>
<td width="144" valign="top">
<p align="center">16</p>
</td>
<td width="367" valign="top">
<p align="center">Identifies the sending port</p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Destinaton Port</td>
<td width="144" valign="top">
<p align="center">16</p>
</td>
<td width="367" valign="top">
<p align="center">identifies the receiving port</p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Sequence number</td>
<td width="144" valign="top">
<p align="center">32</p>
</td>
<td width="367" valign="top">
<ul>
<li>If the SYN flag is set, then this is the initial sequence number. The sequence number of the actual first data byte will then be this sequence number plus 1.</li>
<li>If the SYN flag is not set, then this is the sequence number of the first data byte</li>
</ul>
<p align="center"> </p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Ack number</td>
<td width="144" valign="top">
<p align="center">32</p>
</td>
<td width="367" valign="top">
<p align="center">if the <tt>ACK</tt> flag is set then the value of this field is the next expected sequence number that the receiver is expecting<strong> </strong></p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Data offest</td>
<td width="144" valign="top">
<p align="center">4</p>
</td>
<td width="367" valign="top">
<p align="center">specifies the size of the TCP header in 32-bit words. The minimum size header is 5 words and the maximum is 15 words thus giving the minimum size of 20 bytes and maximum of 60 bytes, allowing for up to 40 bytes of options in the header. This field gets its name from the fact that it is also the offset from the start of the TCP segment to the actual data.<strong> </strong></p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Reserved</td>
<td width="144" valign="top">
<p align="center">4</p>
</td>
<td width="367" valign="top">
<p align="center">for future use and should be set to zero</p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Flags</td>
<td width="144" valign="top">
<p align="center"> </p>
</td>
<td width="367" valign="top">
<p align="center"> </p>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">CWR</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">
<p align="center">Congestion Window Reduced (CWR) flag is set by the sending host to indicate that it received a TCP segment with the <tt>ECE</tt> flag set and had responded in congestion control mechansim (added to header by <a title="http://tools.ietf.org/html/rfc3168" href="http://tools.ietf.org/html/rfc3168">RFC 3168</a>).</p>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">ECE</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">   indicates</p>
<ul>
<li>that the TCP peer is <a title="Explicit Congestion Notification" href="http://en.wikipedia.org/wiki/Explicit_Congestion_Notification">ECN</a> capable if the <tt>SYN</tt> flag is also set</li>
<li>that a packet with Congestion Experienced flag in IP header set is received during normal transmission(added to header by <a title="http://tools.ietf.org/html/rfc3168" href="http://tools.ietf.org/html/rfc3168">RFC 3168</a>).</li>
</ul>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">URG</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">
<p align="center">indicates that the URGent pointer field is significant</p>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">ACK</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">
<p align="center">indicates that the ACKnowledgment field is significant. All packets after the initial <tt>SYN</tt> packet sent by the client should have this flag set</p>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">PSH</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">
<p align="center">Push function</p>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">RST</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">
<p align="center">Reset the connection</p>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">SYN</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">
<p align="center">Synchronize sequence numbers</p>
</td>
</tr>
<tr>
<td width="64" valign="top">
<p align="center"> </p>
</td>
<td width="64" valign="top">
<p align="center">FIN</p>
</td>
<td width="144" valign="top">
<p align="center">1</p>
</td>
<td width="367" valign="top">
<p align="center">No more data from sender</p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Window Size</td>
<td width="144" valign="top">
<p align="center">16</p>
</td>
<td width="367" valign="top">
<p align="center">the size of the <strong>receive window</strong>, which specifies the number of bytes (beyond the sequence number in the acknowledgment field) that the receiver is currently willing to receive</p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Checksum</td>
<td width="144" valign="top">
<p align="center">16</p>
</td>
<td width="367" valign="top">
<p align="center">The 16-bit <a title="Checksum" href="http://en.wikipedia.org/wiki/Checksum">checksum</a> field is used for error-checking of the header <em>and data</em></p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Urgent Pointer</td>
<td width="144" valign="top">
<p align="center">16</p>
</td>
<td width="367" valign="top">
<p align="center">if the URG flag is set, then this 16-bit field is an offset from the sequence number indicating the last urgent data byte</p>
</td>
</tr>
<tr>
<td colspan="2" width="127" valign="top">Options</td>
<td width="144" valign="top">
<p align="center">0-320</p>
</td>
<td width="367" valign="top">
<p align="center">The length of this field is determined by the data offset field. Options 0 and 1 are a single byte (8 bits) in length. The remaining options indicate the total length of the option (expressed in bytes) in the second byte.</p>
</td>
</tr>
</tbody>
</table>
<p>I&#8217;ve mooched everything of Wikipedia.. This would&#8217;ve been a personal document, but i thought sharing it would be a better idea.</p>
<p>Tomorrow -&gt; UDP.</p>
]]></content:encoded>
			<wfw:commentRss>http://tacack.com/2009/09/08/potd-1-tcp-transmission-control-protocol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Certificates before Certifications! (2/2)</title>
		<link>http://tacack.com/2009/07/17/certificates-before-certifications-22/</link>
		<comments>http://tacack.com/2009/07/17/certificates-before-certifications-22/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 10:54:16 +0000</pubDate>
		<dc:creator>TacAck</dc:creator>
				<category><![CDATA[Network Information Store]]></category>

		<guid isPermaLink="false">http://tacack.com/?p=40</guid>
		<description><![CDATA[Alrighty, we know how certificates work  and what they do, yadda yadda&#8230; Now Lets&#8217;s go into the &#8220;CERTIFICATE&#8221;. Let&#8217;s explore the fields present in a certificate , what they mean and how they&#8217;re significant.
A Certificate maybe used for many applications  like VPN setup ( a big aloha to fellow CCSP&#8217;s ), NAC , s-mime, online banking [...]]]></description>
			<content:encoded><![CDATA[<p>Alrighty, we know how certificates work  and what they do, yadda yadda&#8230; Now Lets&#8217;s go into the &#8220;CERTIFICATE&#8221;. Let&#8217;s explore the fields present in a certificate , what they mean and how they&#8217;re significant.</p>
<p>A Certificate maybe used for many applications  like VPN setup ( a big aloha to fellow CCSP&#8217;s ), NAC , s-mime, online banking , etc  : but they all comply to the ITU-T X.509 standard. Meaning that the format of the certificate is dictated by X.509. PKI uses X.509 version 3 certificates to achieve this.  So i went ahead and tried to learn the fields in the X.509 certificate. I found this . Or better yet, let me take a sample certificate and explain the fields to you.</p>
<p> I have with me here the Ceritificate of Thawte Consultancy. (This is a Root CA )</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="213" valign="top">Field</td>
<td width="213" valign="top">Value</td>
<td width="213" valign="top">Meaning</td>
</tr>
<tr>
<td colspan="3" width="638" valign="top"> </td>
</tr>
<tr>
<td width="213" valign="top">Version</td>
<td width="213" valign="top">V3</td>
<td width="213" valign="top">This certificate follows the X.509 <strong>v3</strong> hence the Value of “V3”.</td>
</tr>
<tr>
<td width="213" valign="top">Serial Number</td>
<td width="213" valign="top">00</td>
<td width="213" valign="top">This field represents the serial number of the certificate generated by the CA. If it’s the first Certificate generated , then the serial no is 00 and so on . Here it’s 00, because this is the CA certificate ( certificate of the CA)  which will obviously be the first certificate generated</td>
</tr>
<tr>
<td width="213" valign="top">Signature Algorithm</td>
<td width="213" valign="top">Md5RSA</td>
<td width="213" valign="top">This is the algorithm used by the CA to sign the certificate.</td>
</tr>
<tr>
<td width="213" valign="top">Issuer</td>
<td width="213" valign="top">E = personal-basic@thawte.comCN = Thawte Personal Basic CAOU = Certification Services DivisionO = Thawte Consulting</p>
<p>L = Cape Town</p>
<p>S = Western Cape</p>
<p>C = ZA</td>
<td width="213" valign="top">This fields represent the details of the CA who has issued this certificate . Here since it’s the CA’s certificate, it is obvious that it has been issued by itself.This Is a distinguished name.  E -&gt; Email address of the issuerCN -&gt; Common Name</p>
<p>OU -&gt; Organisational Unit?? Unsure!</p>
<p>O -&gt; Organization</p>
<p>L -&gt; Location ( city )</p>
<p>S -&gt; State</p>
<p>C &#8211; &gt;Country</td>
</tr>
<tr>
<td width="213" valign="top">Valid from</td>
<td width="213" valign="top">Monday, January 01, 1996 5:30:00 AM</td>
<td width="213" valign="top">Date from which the certificate is valid</td>
</tr>
<tr>
<td width="213" valign="top">Valid To</td>
<td width="213" valign="top">Friday, January 01, 2021 5:29:59 AM</td>
<td width="213" valign="top">Date until which the certificate is valid</td>
</tr>
<tr>
<td width="213" valign="top">Subject</td>
<td width="213" valign="top">E = personal-basic@thawte.comCN = Thawte Personal Basic CAOU = Certification Services DivisionO = Thawte Consulting</p>
<p>L = Cape Town</p>
<p>S = Western Cape</p>
<p>C = ZA</td>
<td width="213" valign="top">This is the details of the owner of the CA. Here this is same as the issuer because for this certificate the issuer and the subject are the same.</td>
</tr>
<tr>
<td width="213" valign="top">Public Key</td>
<td width="213" valign="top">30 81 89 02 81 81 00 bc bc 93 53 6d c0 50 4f 82 15 e6 48 94 35 a6 5a be 6f 42 fa 0f 47 ee 77 75 72 dd 8d 49 9b 96 57 a0 78 d4 ca 3f 51 b3 69 0b 91 76 17 22 07 97 6a c4 51 93 4b e0 8d ef 37 95 a1 0c 4d da 34 90 1d 17 89 97 e0 35 38 57 4a c0 f4 08 70 e9 3c 44 7b 50 7e 61 9a 90 e3 23 d3 88 11 46 27 f5 0b 07 0e bb dd d1 7f 20 0a 88 b9 56 0b 2e 1c 80 da f1 e3 9e29 ef 14 bd 0a 44 fb 1b 5b 18 d1 bf 23 93 21 02 03 01 00 01 </td>
<td width="213" valign="top">This is the Public key of Thawte Personal Basic A. ( Comparing this to our example in part one, this would be the public key of B used for encryption.)   </td>
</tr>
<tr>
<td width="213" valign="top">Thumbprint Algorithm</td>
<td width="213" valign="top">Sha1</td>
<td width="213" valign="top">Algorithm used for hashing the certificate. This is to ensure that the certificate has not been tampered with during it’s travel.</td>
</tr>
<tr>
<td width="213" valign="top">Thumbprint</td>
<td width="213" valign="top">40 e7 8c 1d 52 3d 1c d9 95 4f ac 1a 1a b3 bd 3c ba a1 5b fc </td>
<td width="213" valign="top">This is the HASH value of the certificate. When A receives this certificate, he does a hash of the certificate and compares it with this hash-value. If it’ s identical the certificate is processed further, otherwise rejected.</td>
</tr>
</tbody>
</table>
<p>There is also another important field in a X.509 v3 certificate which gives the certificate hierarchy. If this certificate was issued by an Intermediate-CA, then the certificate path would contain All the intermediate-CA&#8217;s above the issuer along with the topmost ( a.k.a  Root CA) . This indicates how the certification process takes place.</p>
<p>I&#8217;m in a hurry now, i&#8217;m rushing home in a couple of mins, hence the shabby post.  I will do some plastic surgery on it once i get back.</p>
<p>Hope you understood atleast half i wanted you to understand. If not, please hit wiki or google .</p>
]]></content:encoded>
			<wfw:commentRss>http://tacack.com/2009/07/17/certificates-before-certifications-22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Certificates before Certifications! (1/2)</title>
		<link>http://tacack.com/2009/07/17/certificates-before-certifications/</link>
		<comments>http://tacack.com/2009/07/17/certificates-before-certifications/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 09:45:00 +0000</pubDate>
		<dc:creator>TacAck</dc:creator>
				<category><![CDATA[Network Information Store]]></category>

		<guid isPermaLink="false">http://tacack.com/?p=36</guid>
		<description><![CDATA[The concept of certificates was something i thought i was &#8220;iffy&#8221; about. Meaning-&#62; I&#8217;d a fair idea what it was but i wouldn&#8217;t dare explain it to anyone. You know the feeling right?! So i sat today and looked through some articles about Certificates. And here are my findings.
The magic question : What are certificates?
The not [...]]]></description>
			<content:encoded><![CDATA[<p>The concept of certificates was something i thought i was &#8220;iffy&#8221; about. Meaning-&gt; I&#8217;d a fair idea what it was but i wouldn&#8217;t dare explain it to anyone. You know the feeling right?! So i sat today and looked through some articles about Certificates. And here are my findings.</p>
<p>The magic question : What are certificates?</p>
<p>The not so magical answer : They are ways of identifying people, devices, websites or institutions.</p>
<p>So we know that certificates are used to verify if the other party are who they claim they are. CA&#8217;s are the dudes who act as the &#8220;verification reference&#8221;. Ok here&#8217;s an example. If A wants to talk to B  but is not sure if the person responding to his questions are actually B, it asks for some proof. B provides a certificate issued by X ( a person that both A and B trust ). Once A gets this certificate and if the certificate is verified to be issued by X, A starts trusting B. So X here is a Certificate Authority ( because he has the authority to issue certificates ). If this clear lets dive in .</p>
<p>The certificate uses public-key encryption technique. To be specific  RSA. I&#8217;m assuming that you know PKI is.  This comes into play in two places.</p>
<p>1) For A to verify that B is producing a certificate assigned to it by X ( who is trusted by A ), X signs the certificate sent to B with the private-key of X. As soon as A gets the certificate , it decrypts it by using X&#8217;s public key. If this decryption is successful, A now knows that X created this certificate and assigned it to B.  This is because the public-key can only Decrypt data signed by it&#8217;s sister Private-key. The private-key is only and Only known by the person it is created for ( X in this case ). So by decrypting the certificate using X&#8217;s public key, A confirms that it was encrypted using X&#8217;s private key.</p>
<p>2) Now A has authenticated that the certificate is genuine. In order to start communications with B over a insecure network, it has to encrypt the data. The encryption of data must be done by using B&#8217;s public key. This is to ensure that upon receiving the encrypted messages from A, B can decrypt it using B&#8217;s Private key. This ensures that data confidentiality is achieved. So you might get the question( if you are understand all of this ) , where the F*** does A get the public key of B from? Answer, B&#8217;s certificate. Yes, the public key of B is one of the fields in the certificate that B sends over to A .</p>
<p>Ok, to end the introduction, we can now say that the following things happen</p>
<ul>
<li>B creates it&#8217;s public and private key-pair and sends the public key over the the CA ( X ).</li>
<li>It begs the CA to issue it a certificate ( ok, beg&#8217;s a little too dramatic! )</li>
<li>CA verifies that B is who he says he is and issues the certificate to B.</li>
<li>One of the payloads in the certificate is B&#8217;s public-key.</li>
<li>This certificate is signed by X&#8217;s private-key for verification of X.</li>
</ul>
<p> </p>
<p>If this is all an overload, re-read. Next article we go into X.509 certificates and their fields&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://tacack.com/2009/07/17/certificates-before-certifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

