<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Just another console cowboy.
GnuPG Key ID: 0x18B4AA48

This blog is mostly tech rantings. If you know me, subscribe to my other blog for updates on my adventures.</description><title>.:[ a broken lcd ]:.</title><generator>Tumblr (3.0; @brokenlcd)</generator><link>http://brokenlcd.tumblr.com/</link><item><title>The Smart Card Project</title><description>&lt;p&gt;For the past two weeks, I have been working on a new smart card project. I’m using a low-end card for development and testing; it is certainly not a cryptographically strong card. The card is a ZeitControl Professional BasicCard ZC5.4; it has a processor supporting public key cryptography using elliptic curves over the field GF(2^167) which in theory provides the same cryptographic strength as 1024-bit RSA keys, 128-bit AES for session keys, and SHA-1 as a message digest algorithm. As previously stated, not cryptographically very secure but at 6 USD per card, financially affordable to develop a basic smart card platform. Unfortunately, it uses a modified form of BASIC (called ZC-BASIC) as the card language (which may also be used to develop the terminal aka PC-side application). Fortunately, it includes a Java API to use for terminal applications.&lt;/p&gt;&#13;
&#13;
&lt;p&gt;I’ve finished writing 90% of the card software at this point, with only encryption and decryption routines needing to be finished. I also have a terminal driver written in ZC-BASIC done, which merely allows testing of finished card commands.&lt;/p&gt;&#13;
&#13;
&lt;p&gt;The current phase of the project is researching some methods for implementing encryption / decryption, and writing the Java terminal software. At this point, I have the card service finished to implement all the card commands currently coded. Unfortunately, my Java skills are weak so I still need some work learning Swing and more Java to finish the terminal.&lt;/p&gt;&#13;
&#13;
&lt;p&gt;For those interested, there is a &lt;a title="BasicCard Elliptic Curve PKS" target="_blank" href="https://sourceforge.net/projects/bcecpks/"&gt;sourceforge page&lt;/a&gt; up; the ZeitControl IDE (which is woefully simple) is available from the &lt;a title="ZeitControl BasicCard page" target="_blank" href="http://www.basiccard.com"&gt;ZeitControl website&lt;/a&gt;.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/196455044</link><guid>http://brokenlcd.tumblr.com/post/196455044</guid><pubDate>Fri, 25 Sep 2009 08:23:00 +0100</pubDate></item><item><title>So close...</title><description>&lt;p&gt;I picked up an episode of a TV show off the iTunes store. I figured since the music was all DRM free, so would the videos. That is definitely not the case. Fortunately, a while back, I had torrented Requiem; however, the latest versions of iTunes render Requiem useless. Using an archival site, I found iTunes version 8.0, installed it on the Windows virtual machine I have on my laptop, and tried running Requiem. Nothing. Kept getting the error that the file could not be decrypted.Then I realized that I had forgotten to authorize that iTunes instance with my ITMS account. Once that was done, I was able to start decrypting the file. About five minutes (or less) later, my .MP4 was ready and worked fine on my eeePC running Linux, although mplayer didn’t have the h.264 codec while VLC worked just fine.&lt;/p&gt;
&lt;p&gt;Now, what could an honest, law-abiding citizen such as myself possibly want with circumventing DRM? That’s stealing, isn’t it? Well the problem is that I only run Windows in a virtual machine. Sure, I buy music from ITMS, but that’s in a virtual machine where I then copy the (now) DRM-free music to my Linux music library, load it on to my iPod, and generally also transfer it to my OpenSolaris install on my laptop. Trying to play movies on the virtual machine is like trying to watch YouTube on dialup. Ain’t gonna happen. A decrypted file is necessary for me to actually watch the video files on anything other than a tiny iPod Classic screen.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/176411493</link><guid>http://brokenlcd.tumblr.com/post/176411493</guid><pubDate>Mon, 31 Aug 2009 19:24:28 +0100</pubDate></item><item><title>the Java Tutorials</title><description>&lt;p&gt;I started learning Java this week for a project idea I had. I’m using the Java Tutorials bundled with the NetBeans IDE StarterKit DVD. This is the first time in learning a new language (and I’ve used C, C++, perl, python, various flavours of BASIC, PHP, and assembly on a couple different platforms) that I’ve learned about inheritance before learning about basic I/O. Well, to be fair, I know how to output things to the screen. I just don’t know how to input them. That lesson comes in the second trail, “Essential Classes,” right after Exception Handling. What a crazy world.&lt;/p&gt;

&lt;p&gt;*** DANGER: HERE BE POLITICAL RAMBLINGS ***&lt;/p&gt;

&lt;p&gt;*** DON’T PANIC ***&lt;/p&gt;
&lt;p&gt;Also, Japan has a different political party in power for the first time in 50 years. I’m skeptical, as I always am of polichickens as I find they’re the same the world over, but hopefully Japan doesn’t get screwed over by the promise of change as we seem to have been. All this last election did for me was reinforce the knowledge that both major political parties are different faces of the same coin, two poisons of different flavors, blah blah blah. You know, the Republicrat party.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/175913163</link><guid>http://brokenlcd.tumblr.com/post/175913163</guid><pubDate>Mon, 31 Aug 2009 03:09:52 +0100</pubDate></item><item><title>Here is the second track, as promised. I guess I should mention...</title><description>&lt;embed type="application/x-shockwave-flash" src="http://brokenlcd.tumblr.com/swf/audio_player.swf?audio_file=http://www.tumblr.com/audio_file/174864224/tumblr_kp5j395uCT1qznpq0&amp;color=FFFFFF" height="27" width="207" quality="best"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Here is the second track, as promised. I guess I should mention that this one is called Arpanet (that’s right, a song called Arpanet!), and is the second track on the album.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/174864224</link><guid>http://brokenlcd.tumblr.com/post/174864224</guid><pubDate>Sat, 29 Aug 2009 19:52:00 +0100</pubDate></item><item><title>I just picked up a new CD today called “Hackers Versus...</title><description>&lt;embed type="application/x-shockwave-flash" src="http://brokenlcd.tumblr.com/swf/audio_player.swf?audio_file=http://www.tumblr.com/audio_file/174362023/tumblr_kp49bzspVc1qznpq0&amp;color=FFFFFF" height="27" width="207" quality="best"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I just picked up a new CD today called “Hackers Versus Crackers” by Arthur Dellea. So far it seems like real good material and the best part is, it only costs $8. So I’m posting the last track (Unix And Linux) as a preview. The CD is a mix of electronica and some classic kind of rock type tunes. I’ll post another track tomorrow with a more rocky tune to it. And yes, I bought it based on the title (and previewing a couple of tracks).&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/174362023</link><guid>http://brokenlcd.tumblr.com/post/174362023</guid><pubDate>Sat, 29 Aug 2009 03:23:59 +0100</pubDate></item><item><title>// wrote these on the bus headed in and out of Golden, didn’t get a chance to // submit them...</title><description>&lt;p&gt;// wrote these on the bus headed in and out of Golden, didn’t get a chance to &lt;br/&gt;// submit them before now.&lt;br/&gt;&lt;br/&gt;Current Location: on the bus in Downtown Denver (39.737 N / 104.993 W )&lt;br/&gt;20090825 - 1100 MST / 1700 UTC&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Listening to Vernor Vinge’s SALT (Seminars on Long Term Thinking) talk on why &lt;br/&gt;the Singularity* might not happen. To risk restating the podcast, which is &lt;br/&gt;available online (check out, as a matter of fact, The Long Now organization at&lt;br/&gt;&lt;a href="http://www.longnow.org" target="_blank"&gt;http://www.longnow.org&lt;/a&gt;), Vinge gives the following as reasons why the &lt;br/&gt;Singularity might not in fact occur:&lt;br/&gt;&lt;br/&gt; 1. Mutually assured destruction actually does occur,&lt;br/&gt; 2. Our civilization enters into a golden age, and we enter into a form&lt;br/&gt; of transhumanism that obsoletes the idea of the Singularity, or&lt;br/&gt; 3. A wheel of time scenario in which humanity cycles through periods&lt;br/&gt; of long runs, only to suffer near extinctions requiring the rebuilding&lt;br/&gt; of society (i.e. the Roman Empire on a global scale, a real mind twister&lt;br/&gt; when you look at how globally interdependent the planent is now).&lt;br/&gt;&lt;br/&gt;I’ve been tossing around the idea of the Singularity as being a force or major&lt;br/&gt;event in the cyberpunk novel I’m very slowly working on, and it certainly &lt;br/&gt;provides some food for thought concerning the future. He notes that “younger &lt;br/&gt;older people”, with their wisdom, would be good for humanity, and that research &lt;br/&gt;into productive longevity of the human race would be a good policy decision. &lt;br/&gt;Their insights into events of the past and the course of history to that point &lt;br/&gt;through their lives would help with the aims of the Long Now. This could be an &lt;br/&gt;interesting scenario, much like the character of Conover, the sumggler lord, in&lt;br/&gt;the cyberpunk novel Metrophage.&lt;br/&gt;&lt;br/&gt;I’ve also noted preparations for my upcoming business trip do not take all of my&lt;br/&gt;time or even always most. Operating under this parameter, I’ve decided to start &lt;br/&gt;using some of my free and currently unemployed time to earnestly study Java and &lt;br/&gt;how to write webapps, and integrating Java, PHP, and possibly perl or python or &lt;br/&gt;(my ultimate goal), lisp. Definitely not Ruby though. &lt;br/&gt;&lt;br/&gt;I have two small projects I want to develop first:&lt;br/&gt;&lt;br/&gt; 1. a java SFTP program to provide a unified, cross-platform tool for &lt;br/&gt; providing a free SFTP GUI for whatever operating system being run (as&lt;br/&gt; long as said OS runs Java) to learn some secure network programming &lt;br/&gt; techniques in Java, and&lt;br/&gt; 2. a tumblr notepad like program to write new posts from your desktop &lt;br/&gt; (maybe some sort of desktop widget) to learn how to do HTTP interfacing.&lt;br/&gt;&lt;br/&gt;Both of these will work towards a program that was originally suggested to me&lt;br/&gt;by a systems administrator at my last job (where I worked as a student network&lt;br/&gt;administrator) that could provide the first real cash flow and name for Epic&lt;br/&gt;Secure Data Systems, but I need to come up with some intermediate projects to &lt;br/&gt;work on to lead me there.&lt;br/&gt;&lt;br/&gt;We’ll see what happens down the road.&lt;br/&gt;&lt;br/&gt;————————————————————————————————————————&lt;br/&gt;&lt;br/&gt;Current Location: The bus (headed back to Denver) (39.738 N / 105.156 W)&lt;br/&gt;20090825 - 1536 MST / 2136 UTC&lt;br/&gt;&lt;br/&gt;Had a few more thoughts based on things that Vinge mentioned in the Q&amp;A section&lt;br/&gt;of his speech. Some of these he ended up more or less saying anyways.  There are&lt;br/&gt;certainly some interesting perspectives here though:&lt;br/&gt;&lt;br/&gt; 1. The possibility that the Singularity occurs as a rapid chain reaction,&lt;br/&gt; or, as Vinge put it, “an explosion rather than progress.”&lt;br/&gt;&lt;br/&gt; 2.Think about the idea that the Singularity could (at least initially)&lt;br/&gt; be isolated to the military-industrial complex.&lt;br/&gt;&lt;br/&gt; 3. The Singularity may be the byproduct of a new type of arms races.&lt;br/&gt;&lt;br/&gt; 4. If one side in an arms race gets to it first fast enough to take &lt;br/&gt; advantage, could we end up with a one-sided singularity? If both get to&lt;br/&gt; it at the same time, could an informational form of MAD (not necessarily&lt;br/&gt; limited to the originl MAD idea of deterrence) take place? Either way.&lt;br/&gt; how does this affect the outcome / situation regarding the Singularity?&lt;br/&gt;&lt;br/&gt; 5. One thing Vinge does talk about is a possibility assuming we begin the &lt;br/&gt; colonoization of extraterrestrial locations (asteroids, planets, other&lt;br/&gt; star systems): how does the Singularity propagate through to the remotest&lt;br/&gt; systems? What effect does this have on the scenario and on society?&lt;br/&gt;&lt;br/&gt; 6. If the Singularity dominates mankind, how will that change the &lt;br/&gt; social power structure? Maybe the Singularity won’t dominate, but “simply”&lt;br/&gt; overthrow the status quo. &lt;br/&gt;&lt;br/&gt;I’m falling asleep as I type, the result of no sleep last night. Hopefully, the &lt;br/&gt;skipping of a night will allow to at least temporarily reset my sleep schedule.&lt;br/&gt;Also I would like to expand more on this, but I’m barely coherent as it is. So&lt;br/&gt;this will be it for now, and I will definitely be spell-checking again tomorrow.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/171646956</link><guid>http://brokenlcd.tumblr.com/post/171646956</guid><pubDate>Wed, 26 Aug 2009 00:45:00 +0100</pubDate></item><item><title>Long Time No Post</title><description>&lt;p&gt;Owing to my not-hacker adventures, I haven’t done much with the computer lately. But last night, due to a large bout of insomnia, I reinstalled OpenSolaris on my laptop (I was running kubuntu) and I saved 15G for OpenBSD. We’ll see how things turn out…&lt;/p&gt;

&lt;p&gt;Sometimes, Wally, I wonder if I’m like you. Except instead of changing hardware, I change operating systems.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/171309073</link><guid>http://brokenlcd.tumblr.com/post/171309073</guid><pubDate>Tue, 25 Aug 2009 15:11:00 +0100</pubDate></item><item><title>The Saga of the Secure Data Haven, Act III</title><description>&lt;p&gt;With the Soekris and some OpenBSD network security projects that jumped up, I haven’t had time to work on the Secure Data Haven.&lt;/p&gt;
&lt;p&gt;One of my fellow HOTSC hackers was able to get Gentoo installed (no hardened kernel yet) by sitting down and finangling with the kernel. The harddrives are currently being encrypted, a process that has taken over 24 hours so far and will likely take up to three days.&lt;/p&gt;
&lt;p&gt;Once this is finished, with tor, OTR, freenet and the rest installed, then will come the part of the show where we get the hardened kernel working.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/90806062</link><guid>http://brokenlcd.tumblr.com/post/90806062</guid><pubDate>Sun, 29 Mar 2009 03:41:46 +0100</pubDate></item><item><title>Useful BIOS Settings for the Soekris net4501</title><description>&lt;p&gt;I am using my Soekris net4501 as an OpenBSD VPN / firewall / router (still getting it set up and configured, I hate it when school gets in the way of hacking) and found the following BIOS settings useful:&lt;/p&gt;
&lt;p&gt;&gt; set BootDelay=2&lt;/p&gt;
&lt;p&gt;&gt; set FastBoot=Enabled&lt;/p&gt;
&lt;p&gt;With FastBoot enabled, you need to hit Control + P to enter the monitor pretty much while it’s posting, otherwise you’ll miss it. It boots a lot faster this way.&lt;/p&gt;
&lt;p&gt;Other useful settings may be to change the baud rate or CPU speed. As per the manual, to display a list of parameters and their values, issue the command ‘show’.&lt;/p&gt;
&lt;p&gt;That’s all for now, folks.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/90744582</link><guid>http://brokenlcd.tumblr.com/post/90744582</guid><pubDate>Sat, 28 Mar 2009 22:22:26 +0000</pubDate></item><item><title>Updating the Soekris net4501 BIOS</title><description>&lt;p&gt;It’s always best practice to make sure your device firmware is up to date. So, when I got my Soekris net4501 and saw it came with BIOS version 1.26a and the latest version is 1.33, I decided to update the firmware. I used the following software (keep in mind I am running OpenBSD 4.4 on the laptop I’m doing this from):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;picocom - not in ports but on the web. My terminal software of choice.&lt;/li&gt;
&lt;li&gt;lrzsz - needs to be installed from ports. It is under comms. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;First thing is to download the latest image from the soekris website, which is named something along the lines of b4501_133.bin. Next, pull open the terminal, ensuring of course that your connection settings are correct. For the net4501, it’s 19200 baud, 8N1, no flow control. Also, you need to set your send command when starting picocom (—send-cmd). In this case, since we are using lrzsz, that means we use lsx.  Make sure to pass the following options: -vv (verbose mode), -b (we are transferring a binary file, not an ASCII one!), and -X (use the Xmodem protocol).&lt;/p&gt;
&lt;p&gt;Armed with this, I set out to update the BIOS. Obviously, upon booting you will need to drop into the monitor and use the download command. However, I kept getting NAK errors and the updates failed, looking like:&lt;/p&gt;
&lt;p&gt;*** file: /usr/export/home/brokenlcd/b4501_133.bin&lt;br/&gt;lsx -X -b  -vv  /usr/export/home/brokenlcd/b4501_133.bin &lt;br/&gt;Sending /usr/export/home/brokenlcd/b4501_133.bin, 608 blocks: Give your local XMODEM receive command now.&lt;br/&gt;Xmodem sectors/kbytes sent:   0/ 0kRetry 0: NAK on sector&lt;br/&gt;Retry 0: Got 72 for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 6f for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 6f for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 6f for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 6f for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 6f for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 6f for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 2a for sector ACK&lt;br/&gt;Retry 0: NAK on sector&lt;br/&gt;Retry 0: Got 6f for sector ACK&lt;/p&gt;
&lt;p&gt;While searching out the possible errors online, I discovered that there is an undocumented option to the download command. When I told the BIOS to ‘download -‘, it worked like a charm. It uploaded the 76k BIOS update and then I ran flashupdate. Now:&lt;/p&gt;
&lt;p&gt;comBIOS ver. 1.33  20080103  Copyright (C) 2000-2007 Soekris Engineering.&lt;br/&gt;&lt;br/&gt;and shortly thereafter, OpenBSD boots. Mission accomplished, batman.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/90734217</link><guid>http://brokenlcd.tumblr.com/post/90734217</guid><pubDate>Sat, 28 Mar 2009 21:45:00 +0000</pubDate></item><item><title>The Advanced Projects Lab</title><description>&lt;p&gt;I started setting up the advanced projects lab. Pictures and descriptions available at &lt;a href="http://picasaweb.google.com/brokenlcd/" target="_blank"&gt;http://picasaweb.google.com/brokenlcd/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a joint effort by the Hackers of the Sacred Code and Epic Secure Data Systems.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/89903102</link><guid>http://brokenlcd.tumblr.com/post/89903102</guid><pubDate>Thu, 26 Mar 2009 03:02:29 +0000</pubDate></item><item><title>Insecure Programming Techniques in Security Programs</title><description>&lt;p&gt;They say a chain is only as strong as it’s weakest link, and there’s a problem when your security software is your weakest link.&lt;/p&gt;
&lt;p&gt;I’m a huge fan of netcat for it’s sheer usefulness in doing network stuff (for a fun night of crossing your fingers, try dd | nc … ). Recently, I was going through the security folder of the OpenBSD ports tree, seeing what was available, and I came across cryptcat. I built it and was warned:&lt;/p&gt;
&lt;p&gt;c++ -O2 -pipe -DGAPING_SECURITY_HOLE -DNETBSD -static -o cryptcat netcat.o farm9crypt.o twofish2.o -lstdc++&lt;br/&gt;netcat.o(.text+0x33e): In function `gethostpoop’:&lt;br/&gt;: warning: strcpy() is almost always misused, please use strlcpy()&lt;br/&gt;netcat.o(.text+0x5e3): In function `getportpoop’:&lt;br/&gt;: warning: sprintf() is often misused, please use snprintf()&lt;br/&gt;netcat.o(.text+0xdd1): In function `dolisten’:&lt;br/&gt;: warning: strcat() is almost always misused, please use strlcat()&lt;/p&gt;
&lt;p&gt;(-DGAPING_SECURITY_HOLE allows you to bind a shell to cryptcat, useful when exploiting a system…)&lt;/p&gt;
&lt;p&gt;I went through and audited the cryptcat source for these insecure functions, and came up with the following:&lt;/p&gt;
&lt;p&gt;straylight% grep -n strcpy *.c  &gt; audit_report.txt&lt;br/&gt;straylight% grep -n strcat *.c  » audit_report.txt&lt;br/&gt;straylight% grep -n sprintf *.c  » audit_report.txt&lt;br/&gt;straylight% wc audit_report.txt &lt;br/&gt; 12      99     702 audit_report.txt&lt;br/&gt;straylight%&lt;/p&gt;
&lt;p&gt;12 function calls where software (which can be potentially be bound to a shell!) utilizes a *known* insecure function. Go figure.&lt;/p&gt;

&lt;p&gt;I think it’ll be an interesting exercise to attempt to overhaul the code. This will give me some experience securing existing code and opening my eyes to current security issues.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/89520944</link><guid>http://brokenlcd.tumblr.com/post/89520944</guid><pubDate>Tue, 24 Mar 2009 23:40:49 +0000</pubDate></item><item><title>The Saga of the Secure Data Haven Part Deus</title><description>&lt;p&gt;I could not get the hardened kernel to boot, and even the genkernel panicked on me. I ended up going with CentOS, where I may not have a working hardened kernel, but I do have a strong firewall, basic UNIX security, and an enforcing strict SELinux policy. (And yes, I am working on getting the kernel working, so it will work. Eventually.)&lt;/p&gt;

&lt;p&gt;I managed to get dmcrypt working with aes-cbc-essiv:sha256, although I want to move (eventually) to serpent-ctr-essiv:sha256, which I feel provides stronger protection. Once I get truecrypt working, I may try a dual-layer or even triple-layer disk encryption, so if one ciphersystem is broken, the system will have another. Paranoia? Yes. But that’s the target audience of this machine anyhow.&lt;/p&gt;

&lt;p&gt;After this is all done I think I’m going to roll it up into a custom Epic Secure Data Systems - Hardened CentOS distro to make life easier, as I’ve already had to pull stuff from other repos (tor, tsocks, apg, etc…) and custom compile other software (i.e. TrueCrypt and S/Key authentication, not to mention the kernel).&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/87351088</link><guid>http://brokenlcd.tumblr.com/post/87351088</guid><pubDate>Tue, 17 Mar 2009 20:35:36 +0000</pubDate></item><item><title>Setting Up A Secure Data Haven Machine Part 1</title><description>&lt;p&gt;One of my latest projects has been setting up a secure data haven, which is basically a system to satisfy the following goals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;provide an anonymous tor / freenet proxy with encrypted streams into the system (ssh / ssl)&lt;/li&gt;
&lt;li&gt;strengthen the tor and freenet networks by providing more traffic to throw in the mix, and, in the case of freenet, a large encrypted data store for use on the network&lt;/li&gt;
&lt;li&gt;provide encrypted file storage for users (current plan is 256-bit Serpent encryption in CTR (ESSIV) mode or possibly truecrypt triple-cascade, i.e. Serpent-Twofish-AES)&lt;/li&gt;
&lt;li&gt;provide encrypted network transport for users&lt;/li&gt;
&lt;li&gt;provide a system with a high enough security level to withstand The Internet’s various assaults and provide customers / clients with the peace of mind for their data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first step was determining network hardware to be used. In this case, I’m using a gigabit switch with a fiber run to the storage machine (eventually the machines will be moved from an Asante 7-port copper / 1-port GBIC interface simple switch to an 8-port GBIC Cisco 3505). The machine will however have a pair of twisted pair copper interfaces as an alternative and providing a secondary connection to a (future) backup switch.&lt;/p&gt;
&lt;p&gt;The next step is determining hard drive requirements. For this particular machine, I went with the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a 60G system drive (originally a 20G but that hard drive failed and the 60 was the only other size I had readily on hand).&lt;/li&gt;
&lt;li&gt;a 40G freenet anonymous store hard drive (encrypted hard drive space to be added to the freenet anonymous data pool)&lt;/li&gt;
&lt;li&gt;a 120G encrypted hard drive for users to store data on&lt;/li&gt;
&lt;li&gt;a 160G encrypted backup drive, split between a 35G system backup partition and a 125G backup drive for user data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The gentoo installation proceeds fairly normally, except that I haven’t set up the home partition as I will do that when I hit the encryption phase. I emerged the hardened-sources, pciutils, and then configured the kernel. Then I rebuilt the toolchain. I am currently in the process of working the kinks out of the kernel and once I get that working I will post more details.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/85742398</link><guid>http://brokenlcd.tumblr.com/post/85742398</guid><pubDate>Thu, 12 Mar 2009 05:04:00 +0000</pubDate></item><item><title>Encrypting a Hard Drive: the Down and Dirty</title><description>&lt;p&gt;I’ve been working on a file server for a data haven project, which happens to have three encrypted hard drives and a fourth encrypted partition. Since a lot of time goes between when I encrypt hard drives (and I tend to write scripts to automate opening and closing encrypted filesystems), I always forget how to do it. So here’s the quick and dirty guide to encrypting filesystems / partitions in linux using dmcrypt / luks / cryptsetup (a nice descriptive sentence for the search engines).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cryptsetup luksFormat -y -c &lt;insert cipher here&gt; -h &lt;insert hash here&gt; -s &lt;key size&gt; &lt;DEVICE&gt;&lt;/li&gt;
&lt;li&gt;cryptsetup luksOpen &lt;DEVICE&gt; &lt;MAPPING&gt;&lt;/li&gt;
&lt;li&gt;mkfs.&lt;HOLY CHOSEN FILESYSTEM&gt; &lt;DEVICE&gt;&lt;/li&gt;
&lt;li&gt;mount /dev/mapper/&lt;MAPPING&gt; &lt;MOUNTPOINT&gt;&lt;/li&gt;
&lt;li&gt;cryptsetup luksClose /dev/mapper/&lt;MAPPING&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This of course assumes you have cryptsetup with LUKS support installed.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;My preference for a cipher happens to be serpent-ctr-essiv:sha256 but you can use whatever ciphers you have compiled into the kernel. By not including -s the key defaults to a size of 128 bits; my preference is 256.&lt;/p&gt;
&lt;p&gt;Another option is to use truecrypt.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/85631615</link><guid>http://brokenlcd.tumblr.com/post/85631615</guid><pubDate>Wed, 11 Mar 2009 20:52:00 +0000</pubDate></item><item><title>Changing the Theme</title><description>&lt;p&gt;Courtesy of Wally (&lt;a href="http://imwally.tumblr.com" target="_blank"&gt;http://imwally.tumblr.com&lt;/a&gt;) I have a new theme called Nigredo (&lt;a href="http://nigredotheme.tumblr.com/" target="_blank"&gt;http://nigredotheme.tumblr.com/&lt;/a&gt;).&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/81190733</link><guid>http://brokenlcd.tumblr.com/post/81190733</guid><pubDate>Tue, 24 Feb 2009 22:00:58 +0000</pubDate></item><item><title>Impressions of OpenSolaris 2008.11 - One Week In</title><description>&lt;p&gt;I’ve been running OpenSolaris on my Lenovo T61 ThinkPad for about a week now, so I figured I’d write about my first impressions.

The first thing to mention is that I installed mainly for the development tools and ZFS performance, so my needs will not be the same as everyone else’s. 

In a nutshell, however, I will note the following points:
    * mp3 support, which requires the Fluendo codec to be downloaded and installed (and mostly likely you will need to read the README that comes with the download in order to pull this off), is very easy to pull off. Rhythmbox and Songbird both work fine with mp3 files now. AAC support, however, is not something I have gotten working.
    * I have video support through an installation of mplayer and vlc via the blastwave repository (&lt;a href="http://www.blastwave.com" target="_blank"&gt;http://www.blastwave.com&lt;/a&gt;) which requires some work to get running, namely in setting up the blastwave repo and in modifying the path to look for binaries in the csw directory. I do not have DVD support yet, however.
    * CD burning works perfectly.
    * I am quite comfortable using the installation for school - I don’t have any issues with firefox or openoffice not being able to do things.
    * I have 2G of RAM in my laptop, and yet my RAM usage is generally &gt; 65 - 80%, quite often nearly maxed out. I plan on upgrading to 4G (mostly due to the fact that I run windows in a VM to have access to VisualStudio for some school projects).
     * Speaking of VMs, VirtualBox is amazing, especially with the addons CD installed and seamless mode engaged. 
     * Power management required editing a file and rebooting the laptop, but once I got it working it works perfectly.
     * The default print manager was a headache; I had to install CUPS (which I did a quick writeup on, it should be the previous post) but once I got CUPS installed I have no problems with printing both to my school’s network printers or to my USB Brother laserjet printer.
     * The development environment is beautiful. I am now hooked on netbeans, although I still use jEdit for Perl and FORTRAN (for my FORTRAN class). Netbeans is a very rich development environment, and I even started using sun[cC][cC] over gcc/g++ (mostly because I’m not a huge fan of GNU - only because I don’t particularly care for the GPL or some of its leaders). I spent a while trying to find a decent IDE with profiling and memory allocation debugging support in Linux and found everything else lacking. I never really got into Eclipse, kdevelop is decent, geany had a few quirks I didn’t like, anjuta was a pain, so I was sticking to jEdit and a terminal window. Now not only have I found an IDE I like, it’s also cross-platform. Looks like I win.
     * I’ve had a hard time using my external 40G USB hard drive on the machine.
     * Generally wireless works well, however I sometimes have difficulty getting it to reacquire a connection after waking up from sleep and occasionally it will lose the connection. 

All in all, I really enjoy OpenSolaris and find it to be my laptop operating system replacement for ubuntu. I have ubuntu installed on the second partition on the laptop but I hardly ever use it. In fact, I think the last time I used it was to install netbeans.  It definitely could use some work to make it more useable and approacheable to new users, but I’m hooked. &lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/74723950</link><guid>http://brokenlcd.tumblr.com/post/74723950</guid><pubDate>Sun, 01 Feb 2009 07:31:36 +0000</pubDate></item><item><title>Enabling Power Management and CUPS Printing in OpenSolaris</title><description>&lt;p&gt;The source documentation I used for these are:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://opensolaris.org/os/community/printing/Documentation/cupsprint/" target="_blank"&gt;http://opensolaris.org/os/community/printing/Documentation/cupsprint/&lt;/a&gt; (CUPS printing)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.sun.com/randyf/entry/solaris_suspend_and_resume_how" target="_blank"&gt;http://blogs.sun.com/randyf/entry/solaris_suspend_and_resume_how&lt;/a&gt; (power management)&lt;/p&gt;

&lt;p&gt;First let me say that both are now working perfectly, and that in Linux and BSD both I’ve had issues doing both. I’d say it took me 15 minutes a piece at most to get both working well.&lt;/p&gt;
&lt;p&gt;Second, as a reference, I am using a Thinkpad T61 (7658-01U) so obviously, YMMV.&lt;/p&gt;

&lt;p&gt;Power management:&lt;/p&gt;
&lt;p&gt;Very straightforward: as root, edit /etc/power.conf and add the line&lt;/p&gt;
&lt;p&gt;S3-support          enable&lt;/p&gt;
&lt;p&gt;(I added it right below the auto S3 line). Then run “pmconfig” and reboot. Once I rebooted, the system worked just fine. Every now and then, my wireless card acts a little funny or a takes a little longer to reacquire the AP, but that was a problem I had in both gentoo and Ubuntu, so it’s not surprising. The system takes at most 10-15 seconds to go into standby, and that’s with NetBeans, firefox, IRC, pidgin, evince with several PDFs, and Songbird open. As a quirk, I do have to hit the power button to resume again, it doesn’t autoresume on opening the laptop. C’est la vie. It comes up quickly and with xscreensaver installed, session locking works fine.&lt;/p&gt;

&lt;p&gt;CUPS printing:&lt;/p&gt;
&lt;p&gt;The source document will get you running with CUPS right away. Basically, make sure you install both CUPS packages via the package manager, add yourself to both “sys” and “adm” groups (my default group was sysadmin), and run the following:&lt;/p&gt;
&lt;p&gt;print-service -s cups&lt;/p&gt;
&lt;p&gt;svcadm enable svc:/application/cups/scheduler&lt;br/&gt;svcadm enable svc:/application/cups/in-lpd&lt;/p&gt;
&lt;p&gt;Then pull open firefox to http://localhost:631. For my printer (an HP LaserJet 9050) I had to download the PPD file from openprinting (&lt;a href="http://www.linuxfoundation.org/en/OpenPrinting" target="_blank"&gt;http://www.linuxfoundation.org/en/OpenPrinting&lt;/a&gt; - for once the Linux Foundation was useful for something…) in order to get my print options working properly. The whole reason I switched to CUPS is that this printer requires you to print to tray 4 and the default GNOME print manager wouldn’t let me select a print tray. (Another side note, I use LPD printing for this printer…)&lt;/p&gt;

&lt;p&gt;After filling in the add printer settings and selecting the custom PPD I had saved to a tmp folder, I entered my username and password in the authorization dialog and everything worked.&lt;/p&gt;

&lt;p&gt;I hope this helps someone else…&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/73557111</link><guid>http://brokenlcd.tumblr.com/post/73557111</guid><pubDate>Tue, 27 Jan 2009 19:12:42 +0000</pubDate></item><item><title>NetBeans 6.5 loading on my laptop.</title><description>&lt;img src="http://7.media.tumblr.com/cLrI6tyNfj7dnpp9004J5YP2o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;NetBeans 6.5 loading on my laptop.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/73355857</link><guid>http://brokenlcd.tumblr.com/post/73355857</guid><pubDate>Tue, 27 Jan 2009 00:31:08 +0000</pubDate></item><item><title>This is the first time I installed OpenSolaris, during which I...</title><description>&lt;img src="http://6.media.tumblr.com/cLrI6tyNfj7djr6tpKYsknFuo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;This is the first time I installed OpenSolaris, during which I managed to botch my grub install so badly (I was dual-booting Ubuntu and OpenSolaris) and had to re-install. Fortunately I didn’t lose any data in the process (that I know of, at least…) Larger version &lt;a target="_blank" title="OpenSolaris Development" href="http://twitpic.com/16tpj"&gt;here&lt;/a&gt;.&lt;/p&gt;</description><link>http://brokenlcd.tumblr.com/post/73355313</link><guid>http://brokenlcd.tumblr.com/post/73355313</guid><pubDate>Tue, 27 Jan 2009 00:28:03 +0000</pubDate></item></channel></rss>
